@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
@@ -5,12 +5,6 @@ import { cn, Box } from '@hanzo/ui';
5
5
  import { jsx, Fragment, jsxs } from 'react/jsx-runtime';
6
6
 
7
7
  var __defProp = Object.defineProperty;
8
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
9
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
10
- }) : x)(function(x) {
11
- if (typeof require !== "undefined") return require.apply(this, arguments);
12
- throw Error('Dynamic require of "' + x + '" is not supported');
13
- });
14
8
  var __export = (target, all) => {
15
9
  for (var name in all)
16
10
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -24,14 +18,14 @@ function useConstant(init) {
24
18
  return ref.current;
25
19
  }
26
20
 
27
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/is-browser.mjs
21
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/is-browser.mjs
28
22
  var isBrowser = typeof window !== "undefined";
29
23
 
30
- // ../../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
24
+ // ../../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
31
25
  var useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;
32
26
  var PresenceContext = /* @__PURE__ */ createContext(null);
33
27
 
34
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/array.mjs
28
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/array.mjs
35
29
  function addUniqueItem(arr, item) {
36
30
  if (arr.indexOf(item) === -1)
37
31
  arr.push(item);
@@ -51,7 +45,7 @@ function moveItem([...arr], fromIndex, toIndex) {
51
45
  return arr;
52
46
  }
53
47
 
54
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/clamp.mjs
48
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/clamp.mjs
55
49
  var clamp = (min, max, v) => {
56
50
  if (v > max)
57
51
  return max;
@@ -60,12 +54,12 @@ var clamp = (min, max, v) => {
60
54
  return v;
61
55
  };
62
56
 
63
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/format-error-message.mjs
57
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/format-error-message.mjs
64
58
  function formatErrorMessage(message, errorCode) {
65
59
  return errorCode ? `${message}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${errorCode}` : message;
66
60
  }
67
61
 
68
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/errors.mjs
62
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/errors.mjs
69
63
  var warning = () => {
70
64
  };
71
65
  var invariant = () => {
@@ -83,21 +77,19 @@ if (typeof process !== "undefined" && process.env?.NODE_ENV !== "production") {
83
77
  };
84
78
  }
85
79
 
86
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/global-config.mjs
80
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/global-config.mjs
87
81
  var MotionGlobalConfig = {};
88
82
 
89
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
83
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
90
84
  var isNumericalString = (v) => /^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(v);
91
85
 
92
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-object.mjs
93
- function isObject(value) {
94
- return typeof value === "object" && value !== null;
95
- }
86
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-object.mjs
87
+ var isObject = (value) => typeof value === "object" && value !== null;
96
88
 
97
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
89
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
98
90
  var isZeroValueString = (v) => /^0[^.\s]+$/u.test(v);
99
91
 
100
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/memo.mjs
92
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/memo.mjs
101
93
  // @__NO_SIDE_EFFECTS__
102
94
  function memo(callback) {
103
95
  let result;
@@ -108,20 +100,19 @@ function memo(callback) {
108
100
  };
109
101
  }
110
102
 
111
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/noop.mjs
103
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/noop.mjs
112
104
  var noop = /* @__NO_SIDE_EFFECTS__ */ (any) => any;
113
105
 
114
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/pipe.mjs
115
- var combineFunctions = (a, b) => (v) => b(a(v));
116
- var pipe = (...transformers) => transformers.reduce(combineFunctions);
106
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/pipe.mjs
107
+ var pipe = (...transformers) => transformers.reduce((a, b) => (v) => b(a(v)));
117
108
 
118
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/progress.mjs
109
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/progress.mjs
119
110
  var progress = /* @__NO_SIDE_EFFECTS__ */ (from, to, value) => {
120
- const toFromDifference = to - from;
121
- return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;
111
+ const range = to - from;
112
+ return range ? (value - from) / range : 1;
122
113
  };
123
114
 
124
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
115
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
125
116
  var SubscriptionManager = class {
126
117
  constructor() {
127
118
  this.subscriptions = [];
@@ -151,16 +142,14 @@ var SubscriptionManager = class {
151
142
  }
152
143
  };
153
144
 
154
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/time-conversion.mjs
145
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/time-conversion.mjs
155
146
  var secondsToMilliseconds = /* @__NO_SIDE_EFFECTS__ */ (seconds) => seconds * 1e3;
156
147
  var millisecondsToSeconds = /* @__NO_SIDE_EFFECTS__ */ (milliseconds) => milliseconds / 1e3;
157
148
 
158
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
159
- function velocityPerSecond(velocity, frameDuration) {
160
- return frameDuration ? velocity * (1e3 / frameDuration) : 0;
161
- }
149
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
150
+ var velocityPerSecond = /* @__NO_SIDE_EFFECTS__ */ (velocity, frameDuration) => frameDuration ? velocity * (1e3 / frameDuration) : 0;
162
151
 
163
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/warn-once.mjs
152
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/warn-once.mjs
164
153
  var warned = /* @__PURE__ */ new Set();
165
154
  function warnOnce(condition, message, errorCode) {
166
155
  if (condition || warned.has(message))
@@ -169,7 +158,7 @@ function warnOnce(condition, message, errorCode) {
169
158
  warned.add(message);
170
159
  }
171
160
 
172
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
161
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
173
162
  var calcBezier = (t, a1, a2) => (((1 - 3 * a2 + 3 * a1) * t + (3 * a2 - 6 * a1)) * t + 3 * a1) * t;
174
163
  var subdivisionPrecision = 1e-7;
175
164
  var subdivisionMaxIterations = 12;
@@ -188,6 +177,7 @@ function binarySubdivide(x, lowerBound, upperBound, mX1, mX2) {
188
177
  } while (Math.abs(currentX) > subdivisionPrecision && ++i < subdivisionMaxIterations);
189
178
  return currentT;
190
179
  }
180
+ // @__NO_SIDE_EFFECTS__
191
181
  function cubicBezier(mX1, mY1, mX2, mY2) {
192
182
  if (mX1 === mY1 && mX2 === mY2)
193
183
  return noop;
@@ -195,39 +185,39 @@ function cubicBezier(mX1, mY1, mX2, mY2) {
195
185
  return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);
196
186
  }
197
187
 
198
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
199
- var mirrorEasing = (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
188
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
189
+ var mirrorEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
200
190
 
201
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
202
- var reverseEasing = (easing) => (p) => 1 - easing(1 - p);
191
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
192
+ var reverseEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => 1 - easing(1 - p);
203
193
 
204
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/back.mjs
194
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/back.mjs
205
195
  var backOut = /* @__PURE__ */ cubicBezier(0.33, 1.53, 0.69, 0.99);
206
196
  var backIn = /* @__PURE__ */ reverseEasing(backOut);
207
197
  var backInOut = /* @__PURE__ */ mirrorEasing(backIn);
208
198
 
209
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
199
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
210
200
  var anticipate = (p) => p >= 1 ? 1 : (p *= 2) < 1 ? 0.5 * backIn(p) : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));
211
201
 
212
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/circ.mjs
202
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/circ.mjs
213
203
  var circIn = (p) => 1 - Math.sin(Math.acos(p));
214
204
  var circOut = reverseEasing(circIn);
215
205
  var circInOut = mirrorEasing(circIn);
216
206
 
217
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/ease.mjs
207
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/ease.mjs
218
208
  var easeIn = /* @__PURE__ */ cubicBezier(0.42, 0, 1, 1);
219
209
  var easeOut = /* @__PURE__ */ cubicBezier(0, 0, 0.58, 1);
220
210
  var easeInOut = /* @__PURE__ */ cubicBezier(0.42, 0, 0.58, 1);
221
211
 
222
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
223
- var isEasingArray = (ease2) => {
212
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
213
+ var isEasingArray = /* @__NO_SIDE_EFFECTS__ */ (ease2) => {
224
214
  return Array.isArray(ease2) && typeof ease2[0] !== "number";
225
215
  };
226
216
 
227
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
228
- var isBezierDefinition = (easing) => Array.isArray(easing) && typeof easing[0] === "number";
217
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
218
+ var isBezierDefinition = /* @__NO_SIDE_EFFECTS__ */ (easing) => Array.isArray(easing) && typeof easing[0] === "number";
229
219
 
230
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
220
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
231
221
  var easingLookup = {
232
222
  linear: noop,
233
223
  easeIn,
@@ -256,7 +246,7 @@ var easingDefinitionToFunction = (definition) => {
256
246
  return definition;
257
247
  };
258
248
 
259
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/order.mjs
249
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/order.mjs
260
250
  var stepsOrder = [
261
251
  "setup",
262
252
  // Compute
@@ -276,8 +266,8 @@ var stepsOrder = [
276
266
  // Compute
277
267
  ];
278
268
 
279
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
280
- function createRenderStep(runNextFrame, stepName) {
269
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
270
+ function createRenderStep(runNextFrame) {
281
271
  let thisFrame = /* @__PURE__ */ new Set();
282
272
  let nextFrame = /* @__PURE__ */ new Set();
283
273
  let isProcessing = false;
@@ -339,7 +329,7 @@ function createRenderStep(runNextFrame, stepName) {
339
329
  return step;
340
330
  }
341
331
 
342
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
332
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
343
333
  var maxElapsed = 40;
344
334
  function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
345
335
  let runNextFrame = false;
@@ -402,10 +392,10 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
402
392
  return { schedule, cancel, state, steps };
403
393
  }
404
394
 
405
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/frame.mjs
395
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/frame.mjs
406
396
  var { schedule: frame, cancel: cancelFrame, state: frameData, steps: frameSteps } = /* @__PURE__ */ createRenderBatcher(typeof requestAnimationFrame !== "undefined" ? requestAnimationFrame : noop, true);
407
397
 
408
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
398
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
409
399
  var now;
410
400
  function clearTime() {
411
401
  now = void 0;
@@ -423,7 +413,7 @@ var time = {
423
413
  }
424
414
  };
425
415
 
426
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
416
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
427
417
  var checkStringStartsWith = (token) => (key) => typeof key === "string" && key.startsWith(token);
428
418
  var isCSSVariableName = /* @__PURE__ */ checkStringStartsWith("--");
429
419
  var startsAsVariableToken = /* @__PURE__ */ checkStringStartsWith("var(--");
@@ -440,7 +430,7 @@ function containsCSSVariable(value) {
440
430
  return value.split("/*")[0].includes("var(--");
441
431
  }
442
432
 
443
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
433
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
444
434
  var number = {
445
435
  test: (v) => typeof v === "number",
446
436
  parse: parseFloat,
@@ -455,21 +445,21 @@ var scale = {
455
445
  default: 1
456
446
  };
457
447
 
458
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
448
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
459
449
  var sanitize = (v) => Math.round(v * 1e5) / 1e5;
460
450
 
461
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
451
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
462
452
  var floatRegex = /-?(?:\d+(?:\.\d+)?|\.\d+)/gu;
463
453
 
464
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
454
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
465
455
  function isNullish(v) {
466
456
  return v == null;
467
457
  }
468
458
 
469
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
459
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
470
460
  var singleColorRegex = /^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu;
471
461
 
472
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
462
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
473
463
  var isColorString = (type, testProp) => (v) => {
474
464
  return Boolean(typeof v === "string" && singleColorRegex.test(v) && v.startsWith(type) || testProp && !isNullish(v) && Object.prototype.hasOwnProperty.call(v, testProp));
475
465
  };
@@ -485,7 +475,7 @@ var splitColor = (aName, bName, cName) => (v) => {
485
475
  };
486
476
  };
487
477
 
488
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
478
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
489
479
  var clampRgbUnit = (v) => clamp(0, 255, v);
490
480
  var rgbUnit = {
491
481
  ...number,
@@ -497,7 +487,7 @@ var rgba = {
497
487
  transform: ({ red, green, blue, alpha: alpha$1 = 1 }) => "rgba(" + rgbUnit.transform(red) + ", " + rgbUnit.transform(green) + ", " + rgbUnit.transform(blue) + ", " + sanitize(alpha.transform(alpha$1)) + ")"
498
488
  };
499
489
 
500
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
490
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
501
491
  function parseHex(v) {
502
492
  let r = "";
503
493
  let g = "";
@@ -531,7 +521,7 @@ var hex = {
531
521
  transform: rgba.transform
532
522
  };
533
523
 
534
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
524
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
535
525
  var createUnitType = /* @__NO_SIDE_EFFECTS__ */ (unit) => ({
536
526
  test: (v) => typeof v === "string" && v.endsWith(unit) && v.split(" ").length === 1,
537
527
  parse: parseFloat,
@@ -548,7 +538,7 @@ var progressPercentage = /* @__PURE__ */ (() => ({
548
538
  transform: (v) => percent.transform(v * 100)
549
539
  }))();
550
540
 
551
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
541
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
552
542
  var hsla = {
553
543
  test: /* @__PURE__ */ isColorString("hsl", "hue"),
554
544
  parse: /* @__PURE__ */ splitColor("hue", "saturation", "lightness"),
@@ -557,7 +547,7 @@ var hsla = {
557
547
  }
558
548
  };
559
549
 
560
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/index.mjs
550
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/index.mjs
561
551
  var color = {
562
552
  test: (v) => rgba.test(v) || hex.test(v) || hsla.test(v),
563
553
  parse: (v) => {
@@ -579,10 +569,10 @@ var color = {
579
569
  }
580
570
  };
581
571
 
582
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
572
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
583
573
  var colorRegex = /(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;
584
574
 
585
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
575
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
586
576
  function test(v) {
587
577
  return isNaN(v) && typeof v === "string" && (v.match(floatRegex)?.length || 0) + (v.match(colorRegex)?.length || 0) > 0;
588
578
  }
@@ -667,7 +657,7 @@ var complex = {
667
657
  getAnimatableNone
668
658
  };
669
659
 
670
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
660
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
671
661
  function hueToRgb(p, q, t) {
672
662
  if (t < 0)
673
663
  t += 1;
@@ -705,17 +695,17 @@ function hslaToRgba({ hue, saturation, lightness, alpha: alpha2 }) {
705
695
  };
706
696
  }
707
697
 
708
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
698
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
709
699
  function mixImmediate(a, b) {
710
700
  return (p) => p > 0 ? b : a;
711
701
  }
712
702
 
713
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/number.mjs
703
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/number.mjs
714
704
  var mixNumber = (from, to, progress2) => {
715
705
  return from + (to - from) * progress2;
716
706
  };
717
707
 
718
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/color.mjs
708
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/color.mjs
719
709
  var mixLinearColor = (from, to, v) => {
720
710
  const fromExpo = from * from;
721
711
  const expo = v * (to * to - fromExpo) + fromExpo;
@@ -750,7 +740,7 @@ var mixColor = (from, to) => {
750
740
  };
751
741
  };
752
742
 
753
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
743
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
754
744
  var invisibleValues = /* @__PURE__ */ new Set(["none", "hidden"]);
755
745
  function mixVisibility(origin, target) {
756
746
  if (invisibleValues.has(origin)) {
@@ -760,7 +750,7 @@ function mixVisibility(origin, target) {
760
750
  }
761
751
  }
762
752
 
763
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
753
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
764
754
  function mixNumber2(a, b) {
765
755
  return (p) => mixNumber(a, b, p);
766
756
  }
@@ -830,7 +820,7 @@ var mixComplex = (origin, target) => {
830
820
  }
831
821
  };
832
822
 
833
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/index.mjs
823
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/index.mjs
834
824
  function mix(from, to, p) {
835
825
  if (typeof from === "number" && typeof to === "number" && typeof p === "number") {
836
826
  return mixNumber(from, to, p);
@@ -839,7 +829,7 @@ function mix(from, to, p) {
839
829
  return mixer(from, to);
840
830
  }
841
831
 
842
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
832
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
843
833
  var frameloopDriver = (update) => {
844
834
  const passTimestamp = ({ timestamp }) => update(timestamp);
845
835
  return {
@@ -853,7 +843,7 @@ var frameloopDriver = (update) => {
853
843
  };
854
844
  };
855
845
 
856
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
846
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
857
847
  var generateLinearEasing = (easing, duration, resolution = 10) => {
858
848
  let points = "";
859
849
  const numPoints = Math.max(Math.round(duration / resolution), 2);
@@ -863,7 +853,7 @@ var generateLinearEasing = (easing, duration, resolution = 10) => {
863
853
  return `linear(${points.substring(0, points.length - 2)})`;
864
854
  };
865
855
 
866
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
856
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
867
857
  var maxGeneratorDuration = 2e4;
868
858
  function calcGeneratorDuration(generator) {
869
859
  let duration = 0;
@@ -876,7 +866,7 @@ function calcGeneratorDuration(generator) {
876
866
  return duration >= maxGeneratorDuration ? Infinity : duration;
877
867
  }
878
868
 
879
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
869
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
880
870
  function createGeneratorEasing(options, scale2 = 100, createGenerator) {
881
871
  const generator = createGenerator({ ...options, keyframes: [0, scale2] });
882
872
  const duration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);
@@ -889,7 +879,7 @@ function createGeneratorEasing(options, scale2 = 100, createGenerator) {
889
879
  };
890
880
  }
891
881
 
892
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
882
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
893
883
  var springDefaults = {
894
884
  // Default spring physics
895
885
  stiffness: 100,
@@ -1128,14 +1118,14 @@ spring.applyToOptions = (options) => {
1128
1118
  return options;
1129
1119
  };
1130
1120
 
1131
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
1121
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
1132
1122
  var velocitySampleDuration = 5;
1133
1123
  function getGeneratorVelocity(resolveValue, t, current) {
1134
1124
  const prevT = Math.max(t - velocitySampleDuration, 0);
1135
1125
  return velocityPerSecond(current - resolveValue(prevT), t - prevT);
1136
1126
  }
1137
1127
 
1138
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
1128
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
1139
1129
  function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstant = 325, bounceDamping = 10, bounceStiffness = 500, modifyTarget, min, max, restDelta = 0.5, restSpeed }) {
1140
1130
  const origin = keyframes2[0];
1141
1131
  const state = {
@@ -1199,7 +1189,7 @@ function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstan
1199
1189
  };
1200
1190
  }
1201
1191
 
1202
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/interpolate.mjs
1192
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/interpolate.mjs
1203
1193
  function createMixers(output, ease2, customMixer) {
1204
1194
  const mixers = [];
1205
1195
  const mixerFactory = customMixer || MotionGlobalConfig.mix || mix;
@@ -1244,7 +1234,7 @@ function interpolate(input, output, { clamp: isClamp = true, ease: ease2, mixer
1244
1234
  return isClamp ? (v) => interpolator(clamp(input[0], input[inputLength - 1], v)) : interpolator;
1245
1235
  }
1246
1236
 
1247
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
1237
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
1248
1238
  function fillOffset(offset, remaining) {
1249
1239
  const min = offset[offset.length - 1];
1250
1240
  for (let i = 1; i <= remaining; i++) {
@@ -1253,19 +1243,19 @@ function fillOffset(offset, remaining) {
1253
1243
  }
1254
1244
  }
1255
1245
 
1256
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
1246
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
1257
1247
  function defaultOffset(arr) {
1258
1248
  const offset = [0];
1259
1249
  fillOffset(offset, arr.length - 1);
1260
1250
  return offset;
1261
1251
  }
1262
1252
 
1263
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
1253
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
1264
1254
  function convertOffsetToTimes(offset, duration) {
1265
1255
  return offset.map((o) => o * duration);
1266
1256
  }
1267
1257
 
1268
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
1258
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
1269
1259
  function defaultEasing(values, easing) {
1270
1260
  return values.map(() => easing || easeInOut).splice(0, values.length - 1);
1271
1261
  }
@@ -1294,7 +1284,7 @@ function keyframes({ duration = 300, keyframes: keyframeValues, times, ease: eas
1294
1284
  };
1295
1285
  }
1296
1286
 
1297
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
1287
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
1298
1288
  var isNotNull = (value) => value !== null;
1299
1289
  function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyframe, speed = 1) {
1300
1290
  const resolvedKeyframes = keyframes2.filter(isNotNull);
@@ -1303,7 +1293,7 @@ function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyf
1303
1293
  return !index || finalKeyframe === void 0 ? resolvedKeyframes[index] : finalKeyframe;
1304
1294
  }
1305
1295
 
1306
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
1296
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
1307
1297
  var transitionTypeMap = {
1308
1298
  decay: inertia,
1309
1299
  inertia,
@@ -1317,7 +1307,7 @@ function replaceTransitionType(transition) {
1317
1307
  }
1318
1308
  }
1319
1309
 
1320
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
1310
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
1321
1311
  var WithPromise = class {
1322
1312
  constructor() {
1323
1313
  this.updateFinished();
@@ -1343,7 +1333,7 @@ var WithPromise = class {
1343
1333
  }
1344
1334
  };
1345
1335
 
1346
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
1336
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
1347
1337
  var percentToProgress = (percent2) => percent2 / 100;
1348
1338
  var JSAnimation = class extends WithPromise {
1349
1339
  constructor(options) {
@@ -1622,14 +1612,14 @@ var JSAnimation = class extends WithPromise {
1622
1612
  }
1623
1613
  };
1624
1614
 
1625
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
1615
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
1626
1616
  function fillWildcards(keyframes2) {
1627
1617
  for (let i = 1; i < keyframes2.length; i++) {
1628
1618
  keyframes2[i] ?? (keyframes2[i] = keyframes2[i - 1]);
1629
1619
  }
1630
1620
  }
1631
1621
 
1632
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
1622
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
1633
1623
  var radToDeg = (rad) => rad * 180 / Math.PI;
1634
1624
  var rotate = (v) => {
1635
1625
  const angle = radToDeg(Math.atan2(v[1], v[0]));
@@ -1709,7 +1699,7 @@ function convertTransformToNumber(value) {
1709
1699
  return parseFloat(value.trim());
1710
1700
  }
1711
1701
 
1712
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
1702
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
1713
1703
  var transformPropOrder = [
1714
1704
  "transformPerspective",
1715
1705
  "x",
@@ -1729,9 +1719,9 @@ var transformPropOrder = [
1729
1719
  "skewX",
1730
1720
  "skewY"
1731
1721
  ];
1732
- var transformProps = /* @__PURE__ */ (() => new Set(transformPropOrder))();
1722
+ var transformProps = /* @__PURE__ */ (() => /* @__PURE__ */ new Set([...transformPropOrder, "pathRotation"]))();
1733
1723
 
1734
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
1724
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
1735
1725
  var isNumOrPxType = (v) => v === number || v === px;
1736
1726
  var transformKeys = /* @__PURE__ */ new Set(["x", "y", "z"]);
1737
1727
  var nonTranslationalTransformKeys = transformPropOrder.filter((key) => !transformKeys.has(key));
@@ -1767,7 +1757,7 @@ var positionalValues = {
1767
1757
  positionalValues.translateX = positionalValues.x;
1768
1758
  positionalValues.translateY = positionalValues.y;
1769
1759
 
1770
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
1760
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
1771
1761
  var toResolve = /* @__PURE__ */ new Set();
1772
1762
  var isScheduled = false;
1773
1763
  var anyNeedsMeasurement = false;
@@ -1893,27 +1883,27 @@ var KeyframeResolver = class {
1893
1883
  }
1894
1884
  };
1895
1885
 
1896
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
1886
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
1897
1887
  var isCSSVar = (name) => name.startsWith("--");
1898
1888
 
1899
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
1889
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
1900
1890
  function setStyle(element, name, value) {
1901
1891
  isCSSVar(name) ? element.style.setProperty(name, value) : element.style[name] = value;
1902
1892
  }
1903
1893
 
1904
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
1894
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
1905
1895
  var supportsFlags = {};
1906
1896
 
1907
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
1897
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
1908
1898
  function memoSupports(callback, supportsFlag) {
1909
1899
  const memoized = memo(callback);
1910
1900
  return () => supportsFlags[supportsFlag] ?? memoized();
1911
1901
  }
1912
1902
 
1913
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
1903
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
1914
1904
  var supportsScrollTimeline = /* @__PURE__ */ memoSupports(() => window.ScrollTimeline !== void 0, "scrollTimeline");
1915
1905
 
1916
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
1906
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
1917
1907
  var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
1918
1908
  try {
1919
1909
  document.createElement("div").animate({ opacity: 0 }, { easing: "linear(0, 1)" });
@@ -1923,10 +1913,10 @@ var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
1923
1913
  return true;
1924
1914
  }, "linearEasing");
1925
1915
 
1926
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
1916
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
1927
1917
  var cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`;
1928
1918
 
1929
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
1919
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
1930
1920
  var supportedWaapiEasing = {
1931
1921
  linear: "linear",
1932
1922
  ease: "ease",
@@ -1939,7 +1929,7 @@ var supportedWaapiEasing = {
1939
1929
  backOut: /* @__PURE__ */ cubicBezierAsString([0.33, 1.53, 0.69, 0.99])
1940
1930
  };
1941
1931
 
1942
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
1932
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
1943
1933
  function mapEasingToNativeEasing(easing, duration) {
1944
1934
  if (!easing) {
1945
1935
  return void 0;
@@ -1954,7 +1944,7 @@ function mapEasingToNativeEasing(easing, duration) {
1954
1944
  }
1955
1945
  }
1956
1946
 
1957
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
1947
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
1958
1948
  function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0, duration = 300, repeat = 0, repeatType = "loop", ease: ease2 = "easeOut", times } = {}, pseudoElement = void 0) {
1959
1949
  const keyframeOptions = {
1960
1950
  [valueName]: keyframes2
@@ -1974,16 +1964,15 @@ function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0
1974
1964
  };
1975
1965
  if (pseudoElement)
1976
1966
  options.pseudoElement = pseudoElement;
1977
- const animation = element.animate(keyframeOptions, options);
1978
- return animation;
1967
+ return element.animate(keyframeOptions, options);
1979
1968
  }
1980
1969
 
1981
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
1970
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
1982
1971
  function isGenerator(type) {
1983
1972
  return typeof type === "function" && "applyToOptions" in type;
1984
1973
  }
1985
1974
 
1986
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
1975
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
1987
1976
  function applyGeneratorOptions({ type, ...options }) {
1988
1977
  if (isGenerator(type) && supportsLinearEasing()) {
1989
1978
  return type.applyToOptions(options);
@@ -1994,7 +1983,7 @@ function applyGeneratorOptions({ type, ...options }) {
1994
1983
  return options;
1995
1984
  }
1996
1985
 
1997
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
1986
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
1998
1987
  var NativeAnimation = class extends WithPromise {
1999
1988
  constructor(options) {
2000
1989
  super();
@@ -2144,7 +2133,7 @@ var NativeAnimation = class extends WithPromise {
2144
2133
  }
2145
2134
  };
2146
2135
 
2147
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
2136
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
2148
2137
  var unsupportedEasingFunctions = {
2149
2138
  anticipate,
2150
2139
  backInOut,
@@ -2159,7 +2148,7 @@ function replaceStringEasing(transition) {
2159
2148
  }
2160
2149
  }
2161
2150
 
2162
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
2151
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
2163
2152
  var sampleDelta = 10;
2164
2153
  var NativeAnimationExtended = class extends NativeAnimation {
2165
2154
  constructor(options) {
@@ -2202,7 +2191,7 @@ var NativeAnimationExtended = class extends NativeAnimation {
2202
2191
  }
2203
2192
  };
2204
2193
 
2205
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
2194
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
2206
2195
  var isAnimatable = (value, name) => {
2207
2196
  if (name === "zIndex")
2208
2197
  return false;
@@ -2216,7 +2205,7 @@ var isAnimatable = (value, name) => {
2216
2205
  return false;
2217
2206
  };
2218
2207
 
2219
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
2208
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
2220
2209
  function hasKeyframesChanged(keyframes2) {
2221
2210
  const current = keyframes2[0];
2222
2211
  if (keyframes2.length === 1)
@@ -2243,24 +2232,22 @@ function canAnimate(keyframes2, name, type, velocity) {
2243
2232
  return hasKeyframesChanged(keyframes2) || (type === "spring" || isGenerator(type)) && velocity;
2244
2233
  }
2245
2234
 
2246
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
2235
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
2247
2236
  function makeAnimationInstant(options) {
2248
2237
  options.duration = 0;
2249
2238
  options.type = "keyframes";
2250
2239
  }
2251
2240
 
2252
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
2241
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
2253
2242
  var acceleratedValues = /* @__PURE__ */ new Set([
2254
2243
  "opacity",
2255
2244
  "clipPath",
2256
2245
  "filter",
2257
- "transform"
2258
- // TODO: Can be accelerated but currently disabled until https://issues.chromium.org/issues/41491098 is resolved
2259
- // or until we implement support for linear() easing.
2260
- // "background-color"
2246
+ "transform",
2247
+ "backgroundColor"
2261
2248
  ]);
2262
2249
 
2263
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
2250
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
2264
2251
  var browserColorFunctions = /^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;
2265
2252
  function hasBrowserOnlyColors(keyframes2) {
2266
2253
  for (let i = 0; i < keyframes2.length; i++) {
@@ -2271,7 +2258,7 @@ function hasBrowserOnlyColors(keyframes2) {
2271
2258
  return false;
2272
2259
  }
2273
2260
 
2274
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
2261
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
2275
2262
  var colorProperties = /* @__PURE__ */ new Set([
2276
2263
  "color",
2277
2264
  "backgroundColor",
@@ -2288,7 +2275,7 @@ var supportsWaapi = /* @__PURE__ */ memo(() => Object.hasOwnProperty.call(Elemen
2288
2275
  function supportsBrowserAnimation(options) {
2289
2276
  const { motionValue: motionValue2, name, repeatDelay, repeatType, damping, type, keyframes: keyframes2 } = options;
2290
2277
  const subject = motionValue2?.owner?.current;
2291
- if (!(subject instanceof HTMLElement)) {
2278
+ if (!(subject instanceof HTMLElement) && !(subject instanceof SVGElement)) {
2292
2279
  return false;
2293
2280
  }
2294
2281
  const { onUpdate, transformTemplate } = motionValue2.owner.getProps();
@@ -2303,7 +2290,7 @@ function supportsBrowserAnimation(options) {
2303
2290
  !onUpdate && !repeatDelay && repeatType !== "mirror" && damping !== 0 && type !== "inertia";
2304
2291
  }
2305
2292
 
2306
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
2293
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
2307
2294
  var MAX_RESOLVE_DELAY = 40;
2308
2295
  var AsyncMotionValueAnimation = class extends WithPromise {
2309
2296
  constructor({ autoplay = true, delay: delay2 = 0, type = "keyframes", repeat = 0, repeatDelay = 0, repeatType = "loop", keyframes: keyframes2, name, motionValue: motionValue2, element, ...options }) {
@@ -2444,7 +2431,7 @@ var AsyncMotionValueAnimation = class extends WithPromise {
2444
2431
  }
2445
2432
  };
2446
2433
 
2447
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
2434
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
2448
2435
  function calcChildStagger(children, child, delayChildren, staggerChildren = 0, staggerDirection = 1) {
2449
2436
  const index = Array.from(children).sort((a, b) => a.sortNodePosition(b)).indexOf(child);
2450
2437
  const numChildren = children.size;
@@ -2453,202 +2440,7 @@ function calcChildStagger(children, child, delayChildren, staggerChildren = 0, s
2453
2440
  return delayIsFunction ? delayChildren(index, numChildren) : staggerDirection === 1 ? index * staggerChildren : maxStaggerDuration - index * staggerChildren;
2454
2441
  }
2455
2442
 
2456
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2457
- var splitCSSVariableRegex = (
2458
- // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2459
- /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2460
- );
2461
- function parseCSSVariable(current) {
2462
- const match = splitCSSVariableRegex.exec(current);
2463
- if (!match)
2464
- return [,];
2465
- const [, token1, token2, fallback] = match;
2466
- return [`--${token1 ?? token2}`, fallback];
2467
- }
2468
- var maxDepth = 4;
2469
- function getVariableValue(current, element, depth = 1) {
2470
- invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2471
- const [token, fallback] = parseCSSVariable(current);
2472
- if (!token)
2473
- return;
2474
- const resolved = window.getComputedStyle(element).getPropertyValue(token);
2475
- if (resolved) {
2476
- const trimmed = resolved.trim();
2477
- return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2478
- }
2479
- return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2480
- }
2481
-
2482
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2483
- var underDampedSpring = {
2484
- type: "spring",
2485
- stiffness: 500,
2486
- damping: 25,
2487
- restSpeed: 10
2488
- };
2489
- var criticallyDampedSpring = (target) => ({
2490
- type: "spring",
2491
- stiffness: 550,
2492
- damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2493
- restSpeed: 10
2494
- });
2495
- var keyframesTransition = {
2496
- type: "keyframes",
2497
- duration: 0.8
2498
- };
2499
- var ease = {
2500
- type: "keyframes",
2501
- ease: [0.25, 0.1, 0.35, 1],
2502
- duration: 0.3
2503
- };
2504
- var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2505
- if (keyframes2.length > 2) {
2506
- return keyframesTransition;
2507
- } else if (transformProps.has(valueKey)) {
2508
- return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2509
- }
2510
- return ease;
2511
- };
2512
-
2513
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2514
- function resolveTransition(transition, parentTransition) {
2515
- if (transition?.inherit && parentTransition) {
2516
- const { inherit: _, ...rest } = transition;
2517
- return { ...parentTransition, ...rest };
2518
- }
2519
- return transition;
2520
- }
2521
-
2522
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2523
- function getValueTransition(transition, key) {
2524
- const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2525
- if (valueTransition !== transition) {
2526
- return resolveTransition(valueTransition, transition);
2527
- }
2528
- return valueTransition;
2529
- }
2530
-
2531
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2532
- var orchestrationKeys = /* @__PURE__ */ new Set([
2533
- "when",
2534
- "delay",
2535
- "delayChildren",
2536
- "staggerChildren",
2537
- "staggerDirection",
2538
- "repeat",
2539
- "repeatType",
2540
- "repeatDelay",
2541
- "from",
2542
- "elapsed"
2543
- ]);
2544
- function isTransitionDefined(transition) {
2545
- for (const key in transition) {
2546
- if (!orchestrationKeys.has(key))
2547
- return true;
2548
- }
2549
- return false;
2550
- }
2551
-
2552
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2553
- var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2554
- const valueTransition = getValueTransition(transition, name) || {};
2555
- const delay2 = valueTransition.delay || transition.delay || 0;
2556
- let { elapsed = 0 } = transition;
2557
- elapsed = elapsed - secondsToMilliseconds(delay2);
2558
- const options = {
2559
- keyframes: Array.isArray(target) ? target : [null, target],
2560
- ease: "easeOut",
2561
- velocity: value.getVelocity(),
2562
- ...valueTransition,
2563
- delay: -elapsed,
2564
- onUpdate: (v) => {
2565
- value.set(v);
2566
- valueTransition.onUpdate && valueTransition.onUpdate(v);
2567
- },
2568
- onComplete: () => {
2569
- onComplete();
2570
- valueTransition.onComplete && valueTransition.onComplete();
2571
- },
2572
- name,
2573
- motionValue: value,
2574
- element: isHandoff ? void 0 : element
2575
- };
2576
- if (!isTransitionDefined(valueTransition)) {
2577
- Object.assign(options, getDefaultTransition(name, options));
2578
- }
2579
- options.duration && (options.duration = secondsToMilliseconds(options.duration));
2580
- options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2581
- if (options.from !== void 0) {
2582
- options.keyframes[0] = options.from;
2583
- }
2584
- let shouldSkip = false;
2585
- if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2586
- makeAnimationInstant(options);
2587
- if (options.delay === 0) {
2588
- shouldSkip = true;
2589
- }
2590
- }
2591
- if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations) {
2592
- shouldSkip = true;
2593
- makeAnimationInstant(options);
2594
- options.delay = 0;
2595
- }
2596
- options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2597
- if (shouldSkip && !isHandoff && value.get() !== void 0) {
2598
- const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2599
- if (finalKeyframe !== void 0) {
2600
- frame.update(() => {
2601
- options.onUpdate(finalKeyframe);
2602
- options.onComplete();
2603
- });
2604
- return;
2605
- }
2606
- }
2607
- return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2608
- };
2609
-
2610
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2611
- function getValueState(visualElement) {
2612
- const state = [{}, {}];
2613
- visualElement?.values.forEach((value, key) => {
2614
- state[0][key] = value.get();
2615
- state[1][key] = value.getVelocity();
2616
- });
2617
- return state;
2618
- }
2619
- function resolveVariantFromProps(props, definition, custom, visualElement) {
2620
- if (typeof definition === "function") {
2621
- const [current, velocity] = getValueState(visualElement);
2622
- definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2623
- }
2624
- if (typeof definition === "string") {
2625
- definition = props.variants && props.variants[definition];
2626
- }
2627
- if (typeof definition === "function") {
2628
- const [current, velocity] = getValueState(visualElement);
2629
- definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2630
- }
2631
- return definition;
2632
- }
2633
-
2634
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2635
- function resolveVariant(visualElement, definition, custom) {
2636
- const props = visualElement.getProps();
2637
- return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2638
- }
2639
-
2640
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2641
- var positionalKeys = /* @__PURE__ */ new Set([
2642
- "width",
2643
- "height",
2644
- "top",
2645
- "left",
2646
- "right",
2647
- "bottom",
2648
- ...transformPropOrder
2649
- ]);
2650
-
2651
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/index.mjs
2443
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/index.mjs
2652
2444
  var MAX_VELOCITY_DELTA = 30;
2653
2445
  var isFloat = (value) => {
2654
2446
  return !isNaN(parseFloat(value));
@@ -2899,46 +2691,241 @@ var MotionValue = class {
2899
2691
  }
2900
2692
  this.clearAnimation();
2901
2693
  }
2902
- /**
2903
- * Returns `true` if this value is currently animating.
2904
- *
2905
- * @public
2906
- */
2907
- isAnimating() {
2908
- return !!this.animation;
2694
+ /**
2695
+ * Returns `true` if this value is currently animating.
2696
+ *
2697
+ * @public
2698
+ */
2699
+ isAnimating() {
2700
+ return !!this.animation;
2701
+ }
2702
+ clearAnimation() {
2703
+ delete this.animation;
2704
+ }
2705
+ /**
2706
+ * Destroy and clean up subscribers to this `MotionValue`.
2707
+ *
2708
+ * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2709
+ * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2710
+ * created a `MotionValue` via the `motionValue` function.
2711
+ *
2712
+ * @public
2713
+ */
2714
+ destroy() {
2715
+ this.dependents?.clear();
2716
+ this.events.destroy?.notify();
2717
+ this.clearListeners();
2718
+ this.stop();
2719
+ if (this.stopPassiveEffect) {
2720
+ this.stopPassiveEffect();
2721
+ }
2722
+ }
2723
+ };
2724
+ function motionValue(init, options) {
2725
+ return new MotionValue(init, options);
2726
+ }
2727
+
2728
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2729
+ function resolveTransition(transition, parentTransition) {
2730
+ if (transition?.inherit && parentTransition) {
2731
+ const { inherit: _, ...rest } = transition;
2732
+ return { ...parentTransition, ...rest };
2733
+ }
2734
+ return transition;
2735
+ }
2736
+
2737
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2738
+ function getValueTransition(transition, key) {
2739
+ const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2740
+ if (valueTransition !== transition) {
2741
+ return resolveTransition(valueTransition, transition);
2742
+ }
2743
+ return valueTransition;
2744
+ }
2745
+
2746
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2747
+ var underDampedSpring = {
2748
+ type: "spring",
2749
+ stiffness: 500,
2750
+ damping: 25,
2751
+ restSpeed: 10
2752
+ };
2753
+ var criticallyDampedSpring = (target) => ({
2754
+ type: "spring",
2755
+ stiffness: 550,
2756
+ damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2757
+ restSpeed: 10
2758
+ });
2759
+ var keyframesTransition = {
2760
+ type: "keyframes",
2761
+ duration: 0.8
2762
+ };
2763
+ var ease = {
2764
+ type: "keyframes",
2765
+ ease: [0.25, 0.1, 0.35, 1],
2766
+ duration: 0.3
2767
+ };
2768
+ var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2769
+ if (keyframes2.length > 2) {
2770
+ return keyframesTransition;
2771
+ } else if (transformProps.has(valueKey)) {
2772
+ return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2773
+ }
2774
+ return ease;
2775
+ };
2776
+
2777
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2778
+ var orchestrationKeys = /* @__PURE__ */ new Set([
2779
+ "when",
2780
+ "delay",
2781
+ "delayChildren",
2782
+ "staggerChildren",
2783
+ "staggerDirection",
2784
+ "repeat",
2785
+ "repeatType",
2786
+ "repeatDelay",
2787
+ "from",
2788
+ "elapsed"
2789
+ ]);
2790
+ function isTransitionDefined(transition) {
2791
+ for (const key in transition) {
2792
+ if (!orchestrationKeys.has(key))
2793
+ return true;
2794
+ }
2795
+ return false;
2796
+ }
2797
+
2798
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2799
+ var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2800
+ const valueTransition = getValueTransition(transition, name) || {};
2801
+ const delay2 = valueTransition.delay || transition.delay || 0;
2802
+ let { elapsed = 0 } = transition;
2803
+ elapsed = elapsed - secondsToMilliseconds(delay2);
2804
+ const options = {
2805
+ keyframes: Array.isArray(target) ? target : [null, target],
2806
+ ease: "easeOut",
2807
+ velocity: value.getVelocity(),
2808
+ ...valueTransition,
2809
+ delay: -elapsed,
2810
+ onUpdate: (v) => {
2811
+ value.set(v);
2812
+ valueTransition.onUpdate && valueTransition.onUpdate(v);
2813
+ },
2814
+ onComplete: () => {
2815
+ onComplete();
2816
+ valueTransition.onComplete && valueTransition.onComplete();
2817
+ },
2818
+ name,
2819
+ motionValue: value,
2820
+ element: isHandoff ? void 0 : element
2821
+ };
2822
+ if (!isTransitionDefined(valueTransition)) {
2823
+ Object.assign(options, getDefaultTransition(name, options));
2824
+ }
2825
+ options.duration && (options.duration = secondsToMilliseconds(options.duration));
2826
+ options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2827
+ if (options.from !== void 0) {
2828
+ options.keyframes[0] = options.from;
2829
+ }
2830
+ let shouldSkip = false;
2831
+ if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2832
+ makeAnimationInstant(options);
2833
+ if (options.delay === 0) {
2834
+ shouldSkip = true;
2835
+ }
2836
+ }
2837
+ if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations || valueTransition.skipAnimations) {
2838
+ shouldSkip = true;
2839
+ makeAnimationInstant(options);
2840
+ options.delay = 0;
2841
+ }
2842
+ options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2843
+ if (shouldSkip && !isHandoff && value.get() !== void 0) {
2844
+ const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2845
+ if (finalKeyframe !== void 0) {
2846
+ frame.update(() => {
2847
+ options.onUpdate(finalKeyframe);
2848
+ options.onComplete();
2849
+ });
2850
+ return;
2851
+ }
2852
+ }
2853
+ return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2854
+ };
2855
+
2856
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2857
+ var splitCSSVariableRegex = (
2858
+ // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2859
+ /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2860
+ );
2861
+ function parseCSSVariable(current) {
2862
+ const match = splitCSSVariableRegex.exec(current);
2863
+ if (!match)
2864
+ return [,];
2865
+ const [, token1, token2, fallback] = match;
2866
+ return [`--${token1 ?? token2}`, fallback];
2867
+ }
2868
+ var maxDepth = 4;
2869
+ function getVariableValue(current, element, depth = 1) {
2870
+ invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2871
+ const [token, fallback] = parseCSSVariable(current);
2872
+ if (!token)
2873
+ return;
2874
+ const resolved = window.getComputedStyle(element).getPropertyValue(token);
2875
+ if (resolved) {
2876
+ const trimmed = resolved.trim();
2877
+ return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2878
+ }
2879
+ return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2880
+ }
2881
+
2882
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2883
+ function getValueState(visualElement) {
2884
+ const state = [{}, {}];
2885
+ visualElement?.values.forEach((value, key) => {
2886
+ state[0][key] = value.get();
2887
+ state[1][key] = value.getVelocity();
2888
+ });
2889
+ return state;
2890
+ }
2891
+ function resolveVariantFromProps(props, definition, custom, visualElement) {
2892
+ if (typeof definition === "function") {
2893
+ const [current, velocity] = getValueState(visualElement);
2894
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2909
2895
  }
2910
- clearAnimation() {
2911
- delete this.animation;
2896
+ if (typeof definition === "string") {
2897
+ definition = props.variants && props.variants[definition];
2912
2898
  }
2913
- /**
2914
- * Destroy and clean up subscribers to this `MotionValue`.
2915
- *
2916
- * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2917
- * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2918
- * created a `MotionValue` via the `motionValue` function.
2919
- *
2920
- * @public
2921
- */
2922
- destroy() {
2923
- this.dependents?.clear();
2924
- this.events.destroy?.notify();
2925
- this.clearListeners();
2926
- this.stop();
2927
- if (this.stopPassiveEffect) {
2928
- this.stopPassiveEffect();
2929
- }
2899
+ if (typeof definition === "function") {
2900
+ const [current, velocity] = getValueState(visualElement);
2901
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2930
2902
  }
2931
- };
2932
- function motionValue(init, options) {
2933
- return new MotionValue(init, options);
2903
+ return definition;
2904
+ }
2905
+
2906
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2907
+ function resolveVariant(visualElement, definition, custom) {
2908
+ const props = visualElement.getProps();
2909
+ return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2934
2910
  }
2935
2911
 
2936
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2912
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2913
+ var positionalKeys = /* @__PURE__ */ new Set([
2914
+ "width",
2915
+ "height",
2916
+ "top",
2917
+ "left",
2918
+ "right",
2919
+ "bottom",
2920
+ ...transformPropOrder
2921
+ ]);
2922
+
2923
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2937
2924
  var isKeyframesTarget = (v) => {
2938
2925
  return Array.isArray(v);
2939
2926
  };
2940
2927
 
2941
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2928
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2942
2929
  function setMotionValue(visualElement, key, value) {
2943
2930
  if (visualElement.hasValue(key)) {
2944
2931
  visualElement.getValue(key).set(value);
@@ -2959,15 +2946,15 @@ function setTarget(visualElement, definition) {
2959
2946
  }
2960
2947
  }
2961
2948
 
2962
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2949
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2963
2950
  var isMotionValue = (value) => Boolean(value && value.getVelocity);
2964
2951
 
2965
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2952
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2966
2953
  function isWillChangeMotionValue(value) {
2967
2954
  return Boolean(isMotionValue(value) && value.add);
2968
2955
  }
2969
2956
 
2970
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2957
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2971
2958
  function addValueToWillChange(visualElement, key) {
2972
2959
  const willChange = visualElement.getValue("willChange");
2973
2960
  if (isWillChangeMotionValue(willChange)) {
@@ -2979,21 +2966,22 @@ function addValueToWillChange(visualElement, key) {
2979
2966
  }
2980
2967
  }
2981
2968
 
2982
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2969
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2983
2970
  function camelToDash(str) {
2984
2971
  return str.replace(/([A-Z])/g, (match) => `-${match.toLowerCase()}`);
2985
2972
  }
2986
2973
 
2987
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2974
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2988
2975
  var optimizedAppearDataId = "framerAppearId";
2989
2976
  var optimizedAppearDataAttribute = "data-" + camelToDash(optimizedAppearDataId);
2990
2977
 
2991
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
2978
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
2992
2979
  function getOptimisedAppearId(visualElement) {
2993
2980
  return visualElement.props[optimizedAppearDataAttribute];
2994
2981
  }
2995
2982
 
2996
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2983
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2984
+ var isBrowser2 = typeof window !== "undefined";
2997
2985
  function shouldBlockAnimation({ protectedKeys, needsAnimating }, key) {
2998
2986
  const shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true;
2999
2987
  needsAnimating[key] = false;
@@ -3004,10 +2992,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3004
2992
  const defaultTransition = visualElement.getDefaultTransition();
3005
2993
  transition = transition ? resolveTransition(transition, defaultTransition) : defaultTransition;
3006
2994
  const reduceMotion = transition?.reduceMotion;
2995
+ const skipAnimations = transition?.skipAnimations;
3007
2996
  if (transitionOverride)
3008
2997
  transition = transitionOverride;
3009
2998
  const animations2 = [];
3010
2999
  const animationTypeState = type && visualElement.animationState && visualElement.animationState.getState()[type];
3000
+ const path = transition?.path;
3001
+ if (path) {
3002
+ path.animateVisualElement(visualElement, target, transition, delay2, animations2);
3003
+ }
3011
3004
  for (const key in target) {
3012
3005
  const value = visualElement.getValue(key, visualElement.latestValues[key] ?? null);
3013
3006
  const valueTarget = target[key];
@@ -3018,13 +3011,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3018
3011
  delay: delay2,
3019
3012
  ...getValueTransition(transition || {}, key)
3020
3013
  };
3014
+ if (skipAnimations)
3015
+ valueTransition.skipAnimations = true;
3021
3016
  const currentValue = value.get();
3022
3017
  if (currentValue !== void 0 && !value.isAnimating() && !Array.isArray(valueTarget) && valueTarget === currentValue && !valueTransition.velocity) {
3023
3018
  frame.update(() => value.set(valueTarget));
3024
3019
  continue;
3025
3020
  }
3026
3021
  let isHandoff = false;
3027
- if (window.MotionHandoffAnimation) {
3022
+ if (isBrowser2 && window.MotionHandoffAnimation) {
3028
3023
  const appearId = getOptimisedAppearId(visualElement);
3029
3024
  if (appearId) {
3030
3025
  const startTime = window.MotionHandoffAnimation(appearId, key, frame);
@@ -3055,7 +3050,7 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3055
3050
  return animations2;
3056
3051
  }
3057
3052
 
3058
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3053
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3059
3054
  function animateVariant(visualElement, variant, options = {}) {
3060
3055
  const resolved = resolveVariant(visualElement, variant, options.type === "exit" ? visualElement.presenceContext?.custom : void 0);
3061
3056
  let { transition = visualElement.getDefaultTransition() || {} } = resolved || {};
@@ -3087,7 +3082,7 @@ function animateChildren(visualElement, variant, delay2 = 0, delayChildren = 0,
3087
3082
  return Promise.all(animations2);
3088
3083
  }
3089
3084
 
3090
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3085
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3091
3086
  function animateVisualElement(visualElement, definition, options = {}) {
3092
3087
  visualElement.notify("AnimationStart", definition);
3093
3088
  let animation;
@@ -3105,20 +3100,20 @@ function animateVisualElement(visualElement, definition, options = {}) {
3105
3100
  });
3106
3101
  }
3107
3102
 
3108
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/auto.mjs
3103
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/auto.mjs
3109
3104
  var auto = {
3110
3105
  test: (v) => v === "auto",
3111
3106
  parse: (v) => v
3112
3107
  };
3113
3108
 
3114
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/test.mjs
3109
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/test.mjs
3115
3110
  var testValueType = (v) => (type) => type.test(v);
3116
3111
 
3117
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3112
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3118
3113
  var dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto];
3119
3114
  var findDimensionValueType = (v) => dimensionValueTypes.find(testValueType(v));
3120
3115
 
3121
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3116
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3122
3117
  function isNone(value) {
3123
3118
  if (typeof value === "number") {
3124
3119
  return value === 0;
@@ -3129,7 +3124,7 @@ function isNone(value) {
3129
3124
  }
3130
3125
  }
3131
3126
 
3132
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3127
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3133
3128
  var maxDefaults = /* @__PURE__ */ new Set(["brightness", "contrast", "saturate", "opacity"]);
3134
3129
  function applyDefaultFilter(v) {
3135
3130
  const [name, value] = v.slice(0, -1).split("(");
@@ -3153,7 +3148,7 @@ var filter = {
3153
3148
  }
3154
3149
  };
3155
3150
 
3156
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3151
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3157
3152
  var mask = {
3158
3153
  ...complex,
3159
3154
  getAnimatableNone: (v) => {
@@ -3163,15 +3158,21 @@ var mask = {
3163
3158
  }
3164
3159
  };
3165
3160
 
3166
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/int.mjs
3161
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/int.mjs
3167
3162
  var int = {
3168
3163
  ...number,
3169
3164
  transform: Math.round
3170
3165
  };
3171
3166
 
3172
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3167
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3173
3168
  var transformValueTypes = {
3174
3169
  rotate: degrees,
3170
+ /**
3171
+ * Internal channel for `transition.path` orientToPath. Composed onto
3172
+ * `rotate` at the transform-build sites so the user's `rotate` is
3173
+ * never read or overwritten. Not part of `transformPropOrder`.
3174
+ */
3175
+ pathRotation: degrees,
3175
3176
  rotateX: degrees,
3176
3177
  rotateY: degrees,
3177
3178
  rotateZ: degrees,
@@ -3197,7 +3198,7 @@ var transformValueTypes = {
3197
3198
  originZ: px
3198
3199
  };
3199
3200
 
3200
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3201
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3201
3202
  var numberValueTypes = {
3202
3203
  // Border props
3203
3204
  borderWidth: px,
@@ -3262,7 +3263,7 @@ var numberValueTypes = {
3262
3263
  numOctaves: int
3263
3264
  };
3264
3265
 
3265
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3266
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3266
3267
  var defaultValueTypes = {
3267
3268
  ...numberValueTypes,
3268
3269
  // Color props
@@ -3284,7 +3285,7 @@ var defaultValueTypes = {
3284
3285
  };
3285
3286
  var getDefaultValueType = (key) => defaultValueTypes[key];
3286
3287
 
3287
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3288
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3288
3289
  var customTypes = /* @__PURE__ */ new Set([filter, mask]);
3289
3290
  function getAnimatableNone2(key, value) {
3290
3291
  let defaultValueType = getDefaultValueType(key);
@@ -3293,7 +3294,7 @@ function getAnimatableNone2(key, value) {
3293
3294
  return defaultValueType.getAnimatableNone ? defaultValueType.getAnimatableNone(value) : void 0;
3294
3295
  }
3295
3296
 
3296
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3297
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3297
3298
  var invalidTemplates = /* @__PURE__ */ new Set(["auto", "none", "0"]);
3298
3299
  function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name) {
3299
3300
  let i = 0;
@@ -3312,7 +3313,7 @@ function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, n
3312
3313
  }
3313
3314
  }
3314
3315
 
3315
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3316
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3316
3317
  var DOMKeyframesResolver = class extends KeyframeResolver {
3317
3318
  constructor(unresolvedKeyframes, onComplete, name, motionValue2, element) {
3318
3319
  super(unresolvedKeyframes, onComplete, name, motionValue2, element, true);
@@ -3410,7 +3411,15 @@ var DOMKeyframesResolver = class extends KeyframeResolver {
3410
3411
  }
3411
3412
  };
3412
3413
 
3413
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3414
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/border-radius.mjs
3415
+ var cornerRadiusProps = [
3416
+ "borderTopLeftRadius",
3417
+ "borderTopRightRadius",
3418
+ "borderBottomRightRadius",
3419
+ "borderBottomLeftRadius"
3420
+ ];
3421
+
3422
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3414
3423
  function resolveElements(elementOrSelector, scope, selectorCache) {
3415
3424
  if (elementOrSelector == null) {
3416
3425
  return [];
@@ -3425,20 +3434,20 @@ function resolveElements(elementOrSelector, scope, selectorCache) {
3425
3434
  return Array.from(elementOrSelector).filter((element) => element != null);
3426
3435
  }
3427
3436
 
3428
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3437
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3429
3438
  var getValueAsType = (value, type) => {
3430
3439
  return type && typeof value === "number" ? type.transform(value) : value;
3431
3440
  };
3432
3441
 
3433
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3442
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3434
3443
  function isHTMLElement(element) {
3435
3444
  return isObject(element) && "offsetHeight" in element && !("ownerSVGElement" in element);
3436
3445
  }
3437
3446
 
3438
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3447
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3439
3448
  var { schedule: microtask} = /* @__PURE__ */ createRenderBatcher(queueMicrotask, false);
3440
3449
 
3441
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3450
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3442
3451
  var isDragging = {
3443
3452
  x: false,
3444
3453
  y: false
@@ -3447,7 +3456,7 @@ function isDragActive() {
3447
3456
  return isDragging.x || isDragging.y;
3448
3457
  }
3449
3458
 
3450
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3459
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3451
3460
  function setDragLock(axis) {
3452
3461
  if (axis === "x" || axis === "y") {
3453
3462
  if (isDragging[axis]) {
@@ -3470,7 +3479,7 @@ function setDragLock(axis) {
3470
3479
  }
3471
3480
  }
3472
3481
 
3473
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3482
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3474
3483
  function setupGesture(elementOrSelector, options) {
3475
3484
  const elements = resolveElements(elementOrSelector);
3476
3485
  const gestureAbortController = new AbortController();
@@ -3483,7 +3492,7 @@ function setupGesture(elementOrSelector, options) {
3483
3492
  return [elements, eventOptions, cancel];
3484
3493
  }
3485
3494
 
3486
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/hover.mjs
3495
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/hover.mjs
3487
3496
  function isValidHover(event) {
3488
3497
  return !(event.pointerType === "touch" || isDragActive());
3489
3498
  }
@@ -3542,7 +3551,7 @@ function hover(elementOrSelector, onHoverStart, options = {}) {
3542
3551
  return cancel;
3543
3552
  }
3544
3553
 
3545
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3554
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3546
3555
  var isNodeOrChild = (parent, child) => {
3547
3556
  if (!child) {
3548
3557
  return false;
@@ -3553,7 +3562,7 @@ var isNodeOrChild = (parent, child) => {
3553
3562
  }
3554
3563
  };
3555
3564
 
3556
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3565
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3557
3566
  var isPrimaryPointer = (event) => {
3558
3567
  if (event.pointerType === "mouse") {
3559
3568
  return typeof event.button !== "number" || event.button <= 0;
@@ -3562,7 +3571,7 @@ var isPrimaryPointer = (event) => {
3562
3571
  }
3563
3572
  };
3564
3573
 
3565
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3574
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3566
3575
  var keyboardAccessibleElements = /* @__PURE__ */ new Set([
3567
3576
  "BUTTON",
3568
3577
  "INPUT",
@@ -3578,10 +3587,10 @@ function isElementTextInput(element) {
3578
3587
  return textInputElements.has(element.tagName) || element.isContentEditable === true;
3579
3588
  }
3580
3589
 
3581
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3590
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3582
3591
  var isPressing = /* @__PURE__ */ new WeakSet();
3583
3592
 
3584
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3593
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3585
3594
  function filterEvents(callback) {
3586
3595
  return (event) => {
3587
3596
  if (event.key !== "Enter")
@@ -3611,7 +3620,7 @@ var enableKeyboardPress = (focusEvent, eventOptions) => {
3611
3620
  element.addEventListener("blur", () => element.removeEventListener("keydown", handleKeydown), eventOptions);
3612
3621
  };
3613
3622
 
3614
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3623
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3615
3624
  function isValidPressEvent(event) {
3616
3625
  return isPrimaryPointer(event) && !isDragActive();
3617
3626
  }
@@ -3629,9 +3638,10 @@ function press(targetOrSelector, onPressStart, options = {}) {
3629
3638
  claimedPointerDownEvents.add(startEvent);
3630
3639
  }
3631
3640
  const onPressEnd = onPressStart(target, startEvent);
3641
+ const endEventOptions = { ...eventOptions, capture: true };
3632
3642
  const onPointerEnd = (endEvent, success) => {
3633
- window.removeEventListener("pointerup", onPointerUp);
3634
- window.removeEventListener("pointercancel", onPointerCancel);
3643
+ window.removeEventListener("pointerup", onPointerUp, endEventOptions);
3644
+ window.removeEventListener("pointercancel", onPointerCancel, endEventOptions);
3635
3645
  if (isPressing.has(target)) {
3636
3646
  isPressing.delete(target);
3637
3647
  }
@@ -3648,8 +3658,8 @@ function press(targetOrSelector, onPressStart, options = {}) {
3648
3658
  const onPointerCancel = (cancelEvent) => {
3649
3659
  onPointerEnd(cancelEvent, false);
3650
3660
  };
3651
- window.addEventListener("pointerup", onPointerUp, eventOptions);
3652
- window.addEventListener("pointercancel", onPointerCancel, eventOptions);
3661
+ window.addEventListener("pointerup", onPointerUp, endEventOptions);
3662
+ window.addEventListener("pointercancel", onPointerCancel, endEventOptions);
3653
3663
  };
3654
3664
  targets.forEach((target) => {
3655
3665
  const pointerDownTarget = options.useGlobalTarget ? window : target;
@@ -3664,12 +3674,12 @@ function press(targetOrSelector, onPressStart, options = {}) {
3664
3674
  return cancelEvents;
3665
3675
  }
3666
3676
 
3667
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3677
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3668
3678
  function isSVGElement(element) {
3669
3679
  return isObject(element) && "ownerSVGElement" in element;
3670
3680
  }
3671
3681
 
3672
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3682
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3673
3683
  var resizeHandlers = /* @__PURE__ */ new WeakMap();
3674
3684
  var observer;
3675
3685
  var getSize = (borderBoxAxis, svgAxis, htmlAxis) => (target, borderBoxSize) => {
@@ -3727,7 +3737,7 @@ function resizeElement(target, handler) {
3727
3737
  };
3728
3738
  }
3729
3739
 
3730
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3740
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3731
3741
  var windowCallbacks = /* @__PURE__ */ new Set();
3732
3742
  var windowResizeHandler;
3733
3743
  function createWindowResizeHandler() {
@@ -3757,17 +3767,17 @@ function resizeWindow(callback) {
3757
3767
  };
3758
3768
  }
3759
3769
 
3760
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/index.mjs
3770
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/index.mjs
3761
3771
  function resize(a, b) {
3762
3772
  return typeof a === "function" ? resizeWindow(a) : resizeElement(a, b);
3763
3773
  }
3764
3774
 
3765
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3775
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3766
3776
  function isSVGSVGElement(element) {
3767
3777
  return isSVGElement(element) && element.tagName === "svg";
3768
3778
  }
3769
3779
 
3770
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/transform.mjs
3780
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/transform.mjs
3771
3781
  function transform(...args) {
3772
3782
  const useImmediate = !Array.isArray(args[0]);
3773
3783
  const argOffset = useImmediate ? 0 : -1;
@@ -3779,11 +3789,11 @@ function transform(...args) {
3779
3789
  return useImmediate ? interpolator(inputValue) : interpolator;
3780
3790
  }
3781
3791
 
3782
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3792
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3783
3793
  var valueTypes = [...dimensionValueTypes, color, complex];
3784
3794
  var findValueType = (v) => valueTypes.find(testValueType(v));
3785
3795
 
3786
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3796
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3787
3797
  var createAxisDelta = () => ({
3788
3798
  translate: 0,
3789
3799
  scale: 1,
@@ -3800,20 +3810,20 @@ var createBox = () => ({
3800
3810
  y: createAxis()
3801
3811
  });
3802
3812
 
3803
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/store.mjs
3813
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/store.mjs
3804
3814
  var visualElementStore = /* @__PURE__ */ new WeakMap();
3805
3815
 
3806
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3816
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3807
3817
  function isAnimationControls(v) {
3808
3818
  return v !== null && typeof v === "object" && typeof v.start === "function";
3809
3819
  }
3810
3820
 
3811
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3821
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3812
3822
  function isVariantLabel(v) {
3813
3823
  return typeof v === "string" || Array.isArray(v);
3814
3824
  }
3815
3825
 
3816
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3826
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3817
3827
  var variantPriorityOrder = [
3818
3828
  "animate",
3819
3829
  "whileInView",
@@ -3825,7 +3835,7 @@ var variantPriorityOrder = [
3825
3835
  ];
3826
3836
  var variantProps = ["initial", ...variantPriorityOrder];
3827
3837
 
3828
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3838
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3829
3839
  function isControllingVariants(props) {
3830
3840
  return isAnimationControls(props.animate) || variantProps.some((name) => isVariantLabel(props[name]));
3831
3841
  }
@@ -3833,7 +3843,7 @@ function isVariantNode(props) {
3833
3843
  return Boolean(isControllingVariants(props) || props.variants);
3834
3844
  }
3835
3845
 
3836
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3846
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3837
3847
  function updateMotionValuesFromProps(element, next, prev) {
3838
3848
  for (const key in next) {
3839
3849
  const nextValue = next[key];
@@ -3863,15 +3873,15 @@ function updateMotionValuesFromProps(element, next, prev) {
3863
3873
  return next;
3864
3874
  }
3865
3875
 
3866
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3876
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3867
3877
  var prefersReducedMotion = { current: null };
3868
3878
  var hasReducedMotionListener = { current: false };
3869
3879
 
3870
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3871
- var isBrowser2 = typeof window !== "undefined";
3880
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3881
+ var isBrowser3 = typeof window !== "undefined";
3872
3882
  function initPrefersReducedMotion() {
3873
3883
  hasReducedMotionListener.current = true;
3874
- if (!isBrowser2)
3884
+ if (!isBrowser3)
3875
3885
  return;
3876
3886
  if (window.matchMedia) {
3877
3887
  const motionMediaQuery = window.matchMedia("(prefers-reduced-motion)");
@@ -3883,7 +3893,7 @@ function initPrefersReducedMotion() {
3883
3893
  }
3884
3894
  }
3885
3895
 
3886
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3896
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3887
3897
  var propEventHandlers = [
3888
3898
  "AnimationStart",
3889
3899
  "AnimationComplete",
@@ -4072,8 +4082,6 @@ var VisualElement = class {
4072
4082
  removeOnChange();
4073
4083
  if (removeSyncCheck)
4074
4084
  removeSyncCheck();
4075
- if (value.owner)
4076
- value.stop();
4077
4085
  });
4078
4086
  }
4079
4087
  sortNodePosition(other) {
@@ -4284,7 +4292,7 @@ var VisualElement = class {
4284
4292
  }
4285
4293
  };
4286
4294
 
4287
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4295
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4288
4296
  var DOMVisualElement = class extends VisualElement {
4289
4297
  constructor() {
4290
4298
  super(...arguments);
@@ -4317,7 +4325,7 @@ var DOMVisualElement = class extends VisualElement {
4317
4325
  }
4318
4326
  };
4319
4327
 
4320
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/Feature.mjs
4328
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/Feature.mjs
4321
4329
  var Feature = class {
4322
4330
  constructor(node) {
4323
4331
  this.isMounted = false;
@@ -4327,7 +4335,7 @@ var Feature = class {
4327
4335
  }
4328
4336
  };
4329
4337
 
4330
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4338
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4331
4339
  function convertBoundingBoxToBox({ top, left, right, bottom }) {
4332
4340
  return {
4333
4341
  x: { min: left, max: right },
@@ -4350,7 +4358,7 @@ function transformBoxPoints(point, transformPoint2) {
4350
4358
  };
4351
4359
  }
4352
4360
 
4353
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4361
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4354
4362
  function isIdentityScale(scale2) {
4355
4363
  return scale2 === void 0 || scale2 === 1;
4356
4364
  }
@@ -4367,7 +4375,7 @@ function is2DTranslate(value) {
4367
4375
  return value && value !== "0%";
4368
4376
  }
4369
4377
 
4370
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4378
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4371
4379
  function scalePoint(point, scale2, originPoint) {
4372
4380
  const distanceFromOrigin = point - originPoint;
4373
4381
  const scaled = scale2 * distanceFromOrigin;
@@ -4443,7 +4451,7 @@ function transformBox(box, transform2, sourceBox) {
4443
4451
  transformAxis(box.y, resolveAxisTranslate(transform2.y, resolveBox.y), transform2.scaleY, transform2.scale, transform2.originY);
4444
4452
  }
4445
4453
 
4446
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4454
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4447
4455
  function measureViewportBox(instance, transformPoint2) {
4448
4456
  return convertBoundingBoxToBox(transformBoxPoints(instance.getBoundingClientRect(), transformPoint2));
4449
4457
  }
@@ -4457,7 +4465,7 @@ function measurePageBox(element, rootProjectionNode2, transformPagePoint) {
4457
4465
  return viewportBox;
4458
4466
  }
4459
4467
 
4460
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4468
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4461
4469
  var translateAlias = {
4462
4470
  x: "translateX",
4463
4471
  y: "translateY",
@@ -4492,6 +4500,11 @@ function buildTransform(latestValues, transform2, transformTemplate) {
4492
4500
  }
4493
4501
  }
4494
4502
  }
4503
+ const pathRotation = latestValues.pathRotation;
4504
+ if (pathRotation) {
4505
+ transformIsDefault = false;
4506
+ transformString += `rotate(${getValueAsType(pathRotation, numberValueTypes.pathRotation)}) `;
4507
+ }
4495
4508
  transformString = transformString.trim();
4496
4509
  if (transformTemplate) {
4497
4510
  transformString = transformTemplate(transform2, transformIsDefault ? "" : transformString);
@@ -4501,7 +4514,7 @@ function buildTransform(latestValues, transform2, transformTemplate) {
4501
4514
  return transformString;
4502
4515
  }
4503
4516
 
4504
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4517
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4505
4518
  function buildHTMLStyles(state, latestValues, transformTemplate) {
4506
4519
  const { style, vars, transformOrigin } = state;
4507
4520
  let hasTransform2 = false;
@@ -4537,7 +4550,7 @@ function buildHTMLStyles(state, latestValues, transformTemplate) {
4537
4550
  }
4538
4551
  }
4539
4552
 
4540
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4553
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4541
4554
  function renderHTML(element, { style, vars }, styleProp, projection) {
4542
4555
  const elementStyle = element.style;
4543
4556
  let key;
@@ -4550,7 +4563,7 @@ function renderHTML(element, { style, vars }, styleProp, projection) {
4550
4563
  }
4551
4564
  }
4552
4565
 
4553
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4566
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4554
4567
  function pixelsToPercent(pixels, axis) {
4555
4568
  if (axis.max === axis.min)
4556
4569
  return 0;
@@ -4573,7 +4586,7 @@ var correctBorderRadius = {
4573
4586
  }
4574
4587
  };
4575
4588
 
4576
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4589
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4577
4590
  var correctBoxShadow = {
4578
4591
  correct: (latest, { treeScale, projectionDelta }) => {
4579
4592
  const original = latest;
@@ -4595,16 +4608,11 @@ var correctBoxShadow = {
4595
4608
  }
4596
4609
  };
4597
4610
 
4598
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4611
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4599
4612
  var scaleCorrectors = {
4600
4613
  borderRadius: {
4601
4614
  ...correctBorderRadius,
4602
- applyTo: [
4603
- "borderTopLeftRadius",
4604
- "borderTopRightRadius",
4605
- "borderBottomLeftRadius",
4606
- "borderBottomRightRadius"
4607
- ]
4615
+ applyTo: [...cornerRadiusProps]
4608
4616
  },
4609
4617
  borderTopLeftRadius: correctBorderRadius,
4610
4618
  borderTopRightRadius: correctBorderRadius,
@@ -4613,12 +4621,12 @@ var scaleCorrectors = {
4613
4621
  boxShadow: correctBoxShadow
4614
4622
  };
4615
4623
 
4616
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4624
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4617
4625
  function isForcedMotionValue(key, { layout: layout2, layoutId }) {
4618
4626
  return transformProps.has(key) || key.startsWith("origin") || (layout2 || layoutId !== void 0) && (!!scaleCorrectors[key] || key === "opacity");
4619
4627
  }
4620
4628
 
4621
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4629
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4622
4630
  function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4623
4631
  const style = props.style;
4624
4632
  const prevStyle = prevProps?.style;
@@ -4633,7 +4641,7 @@ function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4633
4641
  return newValues;
4634
4642
  }
4635
4643
 
4636
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4644
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4637
4645
  function getComputedStyle2(element) {
4638
4646
  return window.getComputedStyle(element);
4639
4647
  }
@@ -4643,6 +4651,10 @@ var HTMLVisualElement = class extends DOMVisualElement {
4643
4651
  this.type = "html";
4644
4652
  this.renderInstance = renderHTML;
4645
4653
  }
4654
+ mount(instance) {
4655
+ invariant(Boolean(instance.style), "motion.create() components must forward their ref to a HTML or SVG element", "custom-component-ref");
4656
+ super.mount(instance);
4657
+ }
4646
4658
  readValueFromInstance(instance, key) {
4647
4659
  if (transformProps.has(key)) {
4648
4660
  return this.projection?.isProjecting ? defaultTransformValue(key) : readTransformValue(instance, key);
@@ -4663,7 +4675,7 @@ var HTMLVisualElement = class extends DOMVisualElement {
4663
4675
  }
4664
4676
  };
4665
4677
 
4666
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4678
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4667
4679
  var dashKeys = {
4668
4680
  offset: "stroke-dashoffset",
4669
4681
  array: "stroke-dasharray"
@@ -4679,8 +4691,10 @@ function buildSVGPath(attrs, length, spacing = 1, offset = 0, useDashCase = true
4679
4691
  attrs[keys.array] = `${length} ${spacing}`;
4680
4692
  }
4681
4693
 
4682
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4683
- var cssMotionPathProperties = [
4694
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4695
+ var cssStyleProperties = [
4696
+ "transform",
4697
+ "opacity",
4684
4698
  "offsetDistance",
4685
4699
  "offsetPath",
4686
4700
  "offsetRotate",
@@ -4706,9 +4720,11 @@ function buildSVGAttrs(state, {
4706
4720
  state.attrs = state.style;
4707
4721
  state.style = {};
4708
4722
  const { attrs, style } = state;
4709
- if (attrs.transform) {
4710
- style.transform = attrs.transform;
4711
- delete attrs.transform;
4723
+ for (const key of cssStyleProperties) {
4724
+ if (attrs[key] !== void 0) {
4725
+ style[key] = attrs[key];
4726
+ delete attrs[key];
4727
+ }
4712
4728
  }
4713
4729
  if (style.transform || attrs.transformOrigin) {
4714
4730
  style.transformOrigin = attrs.transformOrigin ?? "50% 50%";
@@ -4718,12 +4734,6 @@ function buildSVGAttrs(state, {
4718
4734
  style.transformBox = styleProp?.transformBox ?? "fill-box";
4719
4735
  delete attrs.transformBox;
4720
4736
  }
4721
- for (const key of cssMotionPathProperties) {
4722
- if (attrs[key] !== void 0) {
4723
- style[key] = attrs[key];
4724
- delete attrs[key];
4725
- }
4726
- }
4727
4737
  if (attrX !== void 0)
4728
4738
  attrs.x = attrX;
4729
4739
  if (attrY !== void 0)
@@ -4735,7 +4745,7 @@ function buildSVGAttrs(state, {
4735
4745
  }
4736
4746
  }
4737
4747
 
4738
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4748
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4739
4749
  var camelCaseAttributes = /* @__PURE__ */ new Set([
4740
4750
  "baseFrequency",
4741
4751
  "diffuseConstant",
@@ -4762,10 +4772,10 @@ var camelCaseAttributes = /* @__PURE__ */ new Set([
4762
4772
  "lengthAdjust"
4763
4773
  ]);
4764
4774
 
4765
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4775
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4766
4776
  var isSVGTag = (tag) => typeof tag === "string" && tag.toLowerCase() === "svg";
4767
4777
 
4768
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4778
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4769
4779
  function renderSVG(element, renderState, _styleProp, projection) {
4770
4780
  renderHTML(element, renderState, void 0, projection);
4771
4781
  for (const key in renderState.attrs) {
@@ -4773,7 +4783,7 @@ function renderSVG(element, renderState, _styleProp, projection) {
4773
4783
  }
4774
4784
  }
4775
4785
 
4776
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4786
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4777
4787
  function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4778
4788
  const newValues = scrapeMotionValuesFromProps(props, prevProps, visualElement);
4779
4789
  for (const key in props) {
@@ -4785,7 +4795,7 @@ function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4785
4795
  return newValues;
4786
4796
  }
4787
4797
 
4788
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4798
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4789
4799
  var SVGVisualElement = class extends DOMVisualElement {
4790
4800
  constructor() {
4791
4801
  super(...arguments);
@@ -4801,6 +4811,12 @@ var SVGVisualElement = class extends DOMVisualElement {
4801
4811
  const defaultType = getDefaultValueType(key);
4802
4812
  return defaultType ? defaultType.default || 0 : 0;
4803
4813
  }
4814
+ if (cssStyleProperties.includes(key)) {
4815
+ const computedStyle = getComputedStyle(instance);
4816
+ const value = computedStyle[key];
4817
+ if (typeof value === "string" && value)
4818
+ return value.trim();
4819
+ }
4804
4820
  key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;
4805
4821
  return instance.getAttribute(key);
4806
4822
  }
@@ -4819,7 +4835,7 @@ var SVGVisualElement = class extends DOMVisualElement {
4819
4835
  }
4820
4836
  };
4821
4837
 
4822
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4838
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4823
4839
  var numVariantProps = variantProps.length;
4824
4840
  function getVariantContext(visualElement) {
4825
4841
  if (!visualElement)
@@ -4842,7 +4858,7 @@ function getVariantContext(visualElement) {
4842
4858
  return context;
4843
4859
  }
4844
4860
 
4845
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4861
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4846
4862
  function shallowCompare(next, prev) {
4847
4863
  if (!Array.isArray(prev))
4848
4864
  return false;
@@ -4856,7 +4872,7 @@ function shallowCompare(next, prev) {
4856
4872
  return true;
4857
4873
  }
4858
4874
 
4859
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4875
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4860
4876
  var reversePriorityOrder = [...variantPriorityOrder].reverse();
4861
4877
  var numAnimationTypes = variantPriorityOrder.length;
4862
4878
  function createAnimateFunction(visualElement) {
@@ -4949,7 +4965,7 @@ function createAnimationState(visualElement) {
4949
4965
  continue;
4950
4966
  let valueHasChanged = false;
4951
4967
  if (isKeyframesTarget(next) && isKeyframesTarget(prev)) {
4952
- valueHasChanged = !shallowCompare(next, prev);
4968
+ valueHasChanged = !shallowCompare(next, prev) || variantDidChange;
4953
4969
  } else {
4954
4970
  valueHasChanged = next !== prev;
4955
4971
  }
@@ -5068,7 +5084,7 @@ function createState() {
5068
5084
  };
5069
5085
  }
5070
5086
 
5071
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5087
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5072
5088
  function copyAxisInto(axis, originAxis) {
5073
5089
  axis.min = originAxis.min;
5074
5090
  axis.max = originAxis.max;
@@ -5084,7 +5100,7 @@ function copyAxisDeltaInto(delta, originDelta) {
5084
5100
  delta.origin = originDelta.origin;
5085
5101
  }
5086
5102
 
5087
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5103
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5088
5104
  var SCALE_PRECISION = 1e-4;
5089
5105
  var SCALE_MIN = 1 - SCALE_PRECISION;
5090
5106
  var SCALE_MAX = 1 + SCALE_PRECISION;
@@ -5132,7 +5148,7 @@ function calcRelativePosition(target, layout2, parent, anchor) {
5132
5148
  calcRelativeAxisPosition(target.y, layout2.y, parent.y, anchor?.y);
5133
5149
  }
5134
5150
 
5135
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5151
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5136
5152
  function removePointDelta(point, translate, scale2, originPoint, boxScale) {
5137
5153
  point -= translate;
5138
5154
  point = scalePoint(point, 1 / scale2, originPoint);
@@ -5165,7 +5181,7 @@ function removeBoxTransforms(box, transforms, originBox, sourceBox) {
5165
5181
  removeAxisTransforms(box.y, transforms, yKeys, originBox ? originBox.y : void 0, sourceBox ? sourceBox.y : void 0);
5166
5182
  }
5167
5183
 
5168
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5184
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5169
5185
  function isAxisDeltaZero(delta) {
5170
5186
  return delta.translate === 0 && delta.scale === 1;
5171
5187
  }
@@ -5191,12 +5207,12 @@ function axisDeltaEquals(a, b) {
5191
5207
  return a.translate === b.translate && a.scale === b.scale && a.originPoint === b.originPoint;
5192
5208
  }
5193
5209
 
5194
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5210
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5195
5211
  function eachAxis(callback) {
5196
5212
  return [callback("x"), callback("y")];
5197
5213
  }
5198
5214
 
5199
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5215
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5200
5216
  function buildProjectionTransform(delta, treeScale, latestTransform) {
5201
5217
  let transform2 = "";
5202
5218
  const xTranslate = delta.x.translate / treeScale.x;
@@ -5209,11 +5225,13 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5209
5225
  transform2 += `scale(${1 / treeScale.x}, ${1 / treeScale.y}) `;
5210
5226
  }
5211
5227
  if (latestTransform) {
5212
- const { transformPerspective, rotate: rotate2, rotateX, rotateY, skewX, skewY } = latestTransform;
5228
+ const { transformPerspective, rotate: rotate2, pathRotation, rotateX, rotateY, skewX, skewY } = latestTransform;
5213
5229
  if (transformPerspective)
5214
5230
  transform2 = `perspective(${transformPerspective}px) ${transform2}`;
5215
5231
  if (rotate2)
5216
5232
  transform2 += `rotate(${rotate2}deg) `;
5233
+ if (pathRotation)
5234
+ transform2 += `rotate(${pathRotation}deg) `;
5217
5235
  if (rotateX)
5218
5236
  transform2 += `rotateX(${rotateX}deg) `;
5219
5237
  if (rotateY)
@@ -5231,14 +5249,8 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5231
5249
  return transform2 || "none";
5232
5250
  }
5233
5251
 
5234
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5235
- var borderLabels = [
5236
- "borderTopLeftRadius",
5237
- "borderTopRightRadius",
5238
- "borderBottomLeftRadius",
5239
- "borderBottomRightRadius"
5240
- ];
5241
- var numBorders = borderLabels.length;
5252
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5253
+ var numBorders = cornerRadiusProps.length;
5242
5254
  var asNumber = (value) => typeof value === "string" ? parseFloat(value) : value;
5243
5255
  var isPx = (value) => typeof value === "number" || px.test(value);
5244
5256
  function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOnlyMember) {
@@ -5249,7 +5261,7 @@ function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOn
5249
5261
  target.opacity = mixNumber(follow.opacity ?? 1, lead.opacity ?? 1, progress2);
5250
5262
  }
5251
5263
  for (let i = 0; i < numBorders; i++) {
5252
- const borderLabel = borderLabels[i];
5264
+ const borderLabel = cornerRadiusProps[i];
5253
5265
  let followRadius = getRadius(follow, borderLabel);
5254
5266
  let leadRadius = getRadius(lead, borderLabel);
5255
5267
  if (followRadius === void 0 && leadRadius === void 0)
@@ -5285,23 +5297,23 @@ function compress(min, max, easing) {
5285
5297
  };
5286
5298
  }
5287
5299
 
5288
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5300
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5289
5301
  function animateSingleValue(value, keyframes2, options) {
5290
5302
  const motionValue$1 = isMotionValue(value) ? value : motionValue(value);
5291
5303
  motionValue$1.start(animateMotionValue("", motionValue$1, keyframes2, options));
5292
5304
  return motionValue$1.animation;
5293
5305
  }
5294
5306
 
5295
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5307
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5296
5308
  function addDomEvent(target, eventName, handler, options = { passive: true }) {
5297
5309
  target.addEventListener(eventName, handler, options);
5298
- return () => target.removeEventListener(eventName, handler);
5310
+ return () => target.removeEventListener(eventName, handler, options);
5299
5311
  }
5300
5312
 
5301
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5313
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5302
5314
  var compareByDepth = (a, b) => a.depth - b.depth;
5303
5315
 
5304
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5316
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5305
5317
  var FlatTree = class {
5306
5318
  constructor() {
5307
5319
  this.children = [];
@@ -5322,7 +5334,7 @@ var FlatTree = class {
5322
5334
  }
5323
5335
  };
5324
5336
 
5325
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/delay.mjs
5337
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/delay.mjs
5326
5338
  function delay(callback, timeout) {
5327
5339
  const start = time.now();
5328
5340
  const checkElapsed = ({ timestamp }) => {
@@ -5336,12 +5348,12 @@ function delay(callback, timeout) {
5336
5348
  return () => cancelFrame(checkElapsed);
5337
5349
  }
5338
5350
 
5339
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5351
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5340
5352
  function resolveMotionValue(value) {
5341
5353
  return isMotionValue(value) ? value.get() : value;
5342
5354
  }
5343
5355
 
5344
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5356
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5345
5357
  var NodeStack = class {
5346
5358
  constructor() {
5347
5359
  this.members = [];
@@ -5422,7 +5434,7 @@ var NodeStack = class {
5422
5434
  }
5423
5435
  };
5424
5436
 
5425
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/state.mjs
5437
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/state.mjs
5426
5438
  var globalProjectionState = {
5427
5439
  /**
5428
5440
  * Global flag as to whether the tree has animated since the last time
@@ -5603,7 +5615,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
5603
5615
  animationOptions.type = false;
5604
5616
  }
5605
5617
  this.startAnimation(animationOptions);
5606
- this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);
5618
+ this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged, animationOptions.path);
5607
5619
  } else {
5608
5620
  if (!hasLayoutChanged) {
5609
5621
  finishAnimation(this);
@@ -6075,7 +6087,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6075
6087
  this.projectionDelta = createDelta();
6076
6088
  this.projectionDeltaWithTransform = createDelta();
6077
6089
  }
6078
- setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false) {
6090
+ setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false, pathFn) {
6079
6091
  const snapshot = this.snapshot;
6080
6092
  const snapshotLatestValues = snapshot ? snapshot.latestValues : {};
6081
6093
  const mixedValues = { ...this.latestValues };
@@ -6093,10 +6105,23 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6093
6105
  const shouldCrossfadeOpacity = Boolean(isSharedLayoutAnimation && !isOnlyMember && this.options.crossfade === true && !this.path.some(hasOpacityCrossfade));
6094
6106
  this.animationProgress = 0;
6095
6107
  let prevRelativeTarget;
6108
+ const interpolate2 = pathFn?.interpolateProjection(delta);
6096
6109
  this.mixTargetDelta = (latest) => {
6097
6110
  const progress2 = latest / 1e3;
6098
- mixAxisDelta(targetDelta.x, delta.x, progress2);
6099
- mixAxisDelta(targetDelta.y, delta.y, progress2);
6111
+ const point = interpolate2?.(progress2);
6112
+ if (point) {
6113
+ targetDelta.x.translate = point.x;
6114
+ targetDelta.x.scale = mixNumber(delta.x.scale, 1, progress2);
6115
+ targetDelta.x.origin = delta.x.origin;
6116
+ targetDelta.x.originPoint = delta.x.originPoint;
6117
+ targetDelta.y.translate = point.y;
6118
+ targetDelta.y.scale = mixNumber(delta.y.scale, 1, progress2);
6119
+ targetDelta.y.origin = delta.y.origin;
6120
+ targetDelta.y.originPoint = delta.y.originPoint;
6121
+ } else {
6122
+ mixAxisDeltaLinear(targetDelta.x, delta.x, progress2);
6123
+ mixAxisDeltaLinear(targetDelta.y, delta.y, progress2);
6124
+ }
6100
6125
  this.setTargetDelta(targetDelta);
6101
6126
  if (this.relativeTarget && this.relativeTargetOrigin && this.layout && this.relativeParent && this.relativeParent.layout) {
6102
6127
  calcRelativePosition(relativeLayout, this.layout.layoutBox, this.relativeParent.layout.layoutBox, this.options.layoutAnchor || void 0);
@@ -6112,6 +6137,11 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6112
6137
  this.animationValues = mixedValues;
6113
6138
  mixValues(mixedValues, snapshotLatestValues, this.latestValues, progress2, shouldCrossfadeOpacity, isOnlyMember);
6114
6139
  }
6140
+ if (point && point.rotate !== void 0) {
6141
+ if (!this.animationValues)
6142
+ this.animationValues = mixedValues;
6143
+ this.animationValues.pathRotation = point.rotate;
6144
+ }
6115
6145
  this.root.scheduleUpdateProjection();
6116
6146
  this.scheduleRender();
6117
6147
  this.animationProgress = progress2;
@@ -6138,8 +6168,6 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6138
6168
  this.mixTargetDelta(latest);
6139
6169
  options.onUpdate && options.onUpdate(latest);
6140
6170
  },
6141
- onStop: () => {
6142
- },
6143
6171
  onComplete: () => {
6144
6172
  options.onComplete && options.onComplete();
6145
6173
  this.completeAnimation();
@@ -6468,7 +6496,7 @@ function resetSkewAndRotation(node) {
6468
6496
  function removeLeadSnapshots(stack) {
6469
6497
  stack.removeLeadSnapshot();
6470
6498
  }
6471
- function mixAxisDelta(output, delta, p) {
6499
+ function mixAxisDeltaLinear(output, delta, p) {
6472
6500
  output.translate = mixNumber(delta.translate, 0, p);
6473
6501
  output.scale = mixNumber(delta.scale, 1, p);
6474
6502
  output.origin = delta.origin;
@@ -6506,7 +6534,7 @@ function checkNodeWasScrollRoot(node) {
6506
6534
  return node !== node.root && node.scroll?.wasRoot;
6507
6535
  }
6508
6536
 
6509
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6537
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6510
6538
  var DocumentProjectionNode = createProjectionNode({
6511
6539
  attachResizeListener: (ref, notify) => addDomEvent(ref, "resize", notify),
6512
6540
  measureScroll: () => ({
@@ -6516,7 +6544,7 @@ var DocumentProjectionNode = createProjectionNode({
6516
6544
  checkIsScrollRoot: () => true
6517
6545
  });
6518
6546
 
6519
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6547
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6520
6548
  var rootProjectionNode = {
6521
6549
  current: void 0
6522
6550
  };
@@ -6579,7 +6607,7 @@ function useComposedRefs(...refs) {
6579
6607
  return React2.useCallback(composeRefs(...refs), refs);
6580
6608
  }
6581
6609
 
6582
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs
6610
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/components/AnimatePresence/PopChild.mjs
6583
6611
  var PopChildMeasure = class extends React2.Component {
6584
6612
  getSnapshotBeforeUpdate(prevProps) {
6585
6613
  const element = this.props.childRef.current;
@@ -6595,6 +6623,7 @@ var PopChildMeasure = class extends React2.Component {
6595
6623
  size.left = element.offsetLeft;
6596
6624
  size.right = parentWidth - size.width - size.left;
6597
6625
  size.bottom = parentHeight - size.height - size.top;
6626
+ size.direction = computedStyle.direction;
6598
6627
  }
6599
6628
  return null;
6600
6629
  }
@@ -6616,16 +6645,18 @@ function PopChild({ children, isPresent, anchorX, anchorY, root, pop }) {
6616
6645
  top: 0,
6617
6646
  left: 0,
6618
6647
  right: 0,
6619
- bottom: 0
6648
+ bottom: 0,
6649
+ direction: "ltr"
6620
6650
  });
6621
6651
  const { nonce } = useContext(MotionConfigContext);
6622
- const childRef = children.props?.ref ?? children?.ref;
6652
+ const childRef = pop !== false ? children.props?.ref ?? children?.ref : void 0;
6623
6653
  const composedRef = useComposedRefs(ref, childRef);
6624
6654
  useInsertionEffect(() => {
6625
- const { width, height, top, left, right, bottom } = size.current;
6655
+ const { width, height, top, left, right, bottom, direction } = size.current;
6626
6656
  if (isPresent || pop === false || !ref.current || !width || !height)
6627
6657
  return;
6628
- const x = anchorX === "left" ? `left: ${left}` : `right: ${right}`;
6658
+ const isRTL = direction === "rtl";
6659
+ const x = anchorX === "left" ? isRTL ? `right: ${right}` : `left: ${left}` : isRTL ? `left: ${left}` : `right: ${right}`;
6629
6660
  const y = anchorY === "bottom" ? `bottom: ${bottom}` : `top: ${top}`;
6630
6661
  ref.current.dataset.motionPopId = id3;
6631
6662
  const style = document.createElement("style");
@@ -6654,10 +6685,16 @@ function PopChild({ children, isPresent, anchorX, anchorY, root, pop }) {
6654
6685
  return jsx(PopChildMeasure, { isPresent, childRef: ref, sizeRef: size, pop, children: pop === false ? children : React2.cloneElement(children, { ref: composedRef }) });
6655
6686
  }
6656
6687
 
6657
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs
6688
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/components/AnimatePresence/PresenceChild.mjs
6658
6689
  var PresenceChild = ({ children, initial, isPresent, onExitComplete, custom, presenceAffectsLayout, mode, anchorX, anchorY, root }) => {
6659
6690
  const presenceChildren = useConstant(newChildrenMap);
6660
6691
  const id3 = useId();
6692
+ const isPresentRef = useRef(isPresent);
6693
+ const onExitCompleteRef = useRef(onExitComplete);
6694
+ useIsomorphicLayoutEffect(() => {
6695
+ isPresentRef.current = isPresent;
6696
+ onExitCompleteRef.current = onExitComplete;
6697
+ });
6661
6698
  let isReusedContext = true;
6662
6699
  let context = useMemo(() => {
6663
6700
  isReusedContext = false;
@@ -6676,7 +6713,10 @@ var PresenceChild = ({ children, initial, isPresent, onExitComplete, custom, pre
6676
6713
  },
6677
6714
  register: (childId) => {
6678
6715
  presenceChildren.set(childId, false);
6679
- return () => presenceChildren.delete(childId);
6716
+ return () => {
6717
+ presenceChildren.delete(childId);
6718
+ !isPresentRef.current && !presenceChildren.size && onExitCompleteRef.current?.();
6719
+ };
6680
6720
  }
6681
6721
  };
6682
6722
  }, [isPresent, presenceChildren, onExitComplete]);
@@ -6719,7 +6759,7 @@ function onlyElements(children) {
6719
6759
  return filtered;
6720
6760
  }
6721
6761
 
6722
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs
6762
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/components/AnimatePresence/index.mjs
6723
6763
  var AnimatePresence = ({ children, custom, initial = true, onExitComplete, presenceAffectsLayout = true, mode = "sync", propagate = false, anchorX = "left", anchorY = "top", root }) => {
6724
6764
  const [isParentPresent, safeToRemove] = usePresence(propagate);
6725
6765
  const presentChildren = useMemo(() => onlyElements(children), [children]);
@@ -6730,6 +6770,11 @@ var AnimatePresence = ({ children, custom, initial = true, onExitComplete, prese
6730
6770
  const exitingComponents = useRef(/* @__PURE__ */ new Set());
6731
6771
  const [diffedChildren, setDiffedChildren] = useState(presentChildren);
6732
6772
  const [renderedChildren, setRenderedChildren] = useState(presentChildren);
6773
+ useIsomorphicLayoutEffect(() => {
6774
+ if (propagate && !isParentPresent && !renderedChildren.length) {
6775
+ safeToRemove?.();
6776
+ }
6777
+ }, [isParentPresent, propagate, renderedChildren.length, safeToRemove]);
6733
6778
  useIsomorphicLayoutEffect(() => {
6734
6779
  isInitialRender.current = false;
6735
6780
  pendingPresentChildren.current = presentChildren;
@@ -6748,12 +6793,14 @@ var AnimatePresence = ({ children, custom, initial = true, onExitComplete, prese
6748
6793
  const exitingChildren = [];
6749
6794
  if (presentChildren !== diffedChildren) {
6750
6795
  let nextChildren = [...presentChildren];
6751
- for (let i = 0; i < renderedChildren.length; i++) {
6752
- const child = renderedChildren[i];
6753
- const key = getChildKey(child);
6754
- if (!presentKeys.includes(key)) {
6755
- nextChildren.splice(i, 0, child);
6796
+ let insertionIndex = 0;
6797
+ for (const child of renderedChildren) {
6798
+ const presentIndex = presentKeys.indexOf(getChildKey(child));
6799
+ if (presentIndex === -1) {
6800
+ nextChildren.splice(insertionIndex++, 0, child);
6756
6801
  exitingChildren.push(child);
6802
+ } else {
6803
+ insertionIndex = presentIndex + exitingChildren.length + 1;
6757
6804
  }
6758
6805
  }
6759
6806
  if (mode === "wait" && exitingChildren.length) {
@@ -6797,7 +6844,7 @@ var AnimatePresence = ({ children, custom, initial = true, onExitComplete, prese
6797
6844
  };
6798
6845
  var LazyContext = createContext({ strict: false });
6799
6846
 
6800
- // ../../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
6847
+ // ../../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
6801
6848
  var featureProps = {
6802
6849
  animation: [
6803
6850
  "animate",
@@ -6836,7 +6883,7 @@ function getInitializedFeatureDefinitions() {
6836
6883
  return getFeatureDefinitions();
6837
6884
  }
6838
6885
 
6839
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/load-features.mjs
6886
+ // ../../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
6840
6887
  function loadFeatures(features) {
6841
6888
  const featureDefinitions2 = getInitializedFeatureDefinitions();
6842
6889
  for (const key in features) {
@@ -6847,74 +6894,9 @@ function loadFeatures(features) {
6847
6894
  }
6848
6895
  setFeatureDefinitions(featureDefinitions2);
6849
6896
  }
6850
-
6851
- // ../../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
6852
- var validMotionProps = /* @__PURE__ */ new Set([
6853
- "animate",
6854
- "exit",
6855
- "variants",
6856
- "initial",
6857
- "style",
6858
- "values",
6859
- "variants",
6860
- "transition",
6861
- "transformTemplate",
6862
- "custom",
6863
- "inherit",
6864
- "onBeforeLayoutMeasure",
6865
- "onAnimationStart",
6866
- "onAnimationComplete",
6867
- "onUpdate",
6868
- "onDragStart",
6869
- "onDrag",
6870
- "onDragEnd",
6871
- "onMeasureDragConstraints",
6872
- "onDirectionLock",
6873
- "onDragTransitionEnd",
6874
- "_dragX",
6875
- "_dragY",
6876
- "onHoverStart",
6877
- "onHoverEnd",
6878
- "onViewportEnter",
6879
- "onViewportLeave",
6880
- "globalTapTarget",
6881
- "propagate",
6882
- "ignoreStrict",
6883
- "viewport"
6884
- ]);
6885
- function isValidMotionProp(key) {
6886
- return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
6887
- }
6888
-
6889
- // ../../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
6890
- var shouldForward = (key) => !isValidMotionProp(key);
6891
- function loadExternalIsValidProp(isValidProp) {
6892
- if (typeof isValidProp !== "function")
6893
- return;
6894
- shouldForward = (key) => key.startsWith("on") ? !isValidMotionProp(key) : isValidProp(key);
6895
- }
6896
- try {
6897
- const emotionPkg = "@emotion/is-prop-valid";
6898
- loadExternalIsValidProp(__require(emotionPkg).default);
6899
- } catch {
6900
- }
6901
- function filterProps(props, isDom, forwardMotionProps) {
6902
- const filteredProps = {};
6903
- for (const key in props) {
6904
- if (key === "values" && typeof props.values === "object")
6905
- continue;
6906
- if (isMotionValue(props[key]))
6907
- continue;
6908
- if (shouldForward(key) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
6909
- props["draggable"] && key.startsWith("onDrag")) {
6910
- filteredProps[key] = props[key];
6911
- }
6912
- }
6913
- return filteredProps;
6914
- }
6915
6897
  var MotionContext = /* @__PURE__ */ createContext({});
6916
6898
 
6917
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs
6899
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs
6918
6900
  function getCurrentTreeVariants(props, context) {
6919
6901
  if (isControllingVariants(props)) {
6920
6902
  const { initial, animate } = props;
@@ -6926,7 +6908,7 @@ function getCurrentTreeVariants(props, context) {
6926
6908
  return props.inherit !== false ? context : {};
6927
6909
  }
6928
6910
 
6929
- // ../../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
6911
+ // ../../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
6930
6912
  function useCreateMotionContext(props) {
6931
6913
  const { initial, animate } = getCurrentTreeVariants(props, useContext(MotionContext));
6932
6914
  return useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);
@@ -6935,7 +6917,7 @@ function variantLabelsAsDependency(prop) {
6935
6917
  return Array.isArray(prop) ? prop.join(" ") : prop;
6936
6918
  }
6937
6919
 
6938
- // ../../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
6920
+ // ../../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
6939
6921
  var createHtmlRenderState = () => ({
6940
6922
  style: {},
6941
6923
  transform: {},
@@ -6943,7 +6925,7 @@ var createHtmlRenderState = () => ({
6943
6925
  vars: {}
6944
6926
  });
6945
6927
 
6946
- // ../../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
6928
+ // ../../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
6947
6929
  function copyRawValuesOnly(target, source, props) {
6948
6930
  for (const key in source) {
6949
6931
  if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {
@@ -6980,13 +6962,13 @@ function useHTMLProps(props, visualState) {
6980
6962
  return htmlProps;
6981
6963
  }
6982
6964
 
6983
- // ../../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
6965
+ // ../../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
6984
6966
  var createSvgRenderState = () => ({
6985
6967
  ...createHtmlRenderState(),
6986
6968
  attrs: {}
6987
6969
  });
6988
6970
 
6989
- // ../../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
6971
+ // ../../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
6990
6972
  function useSVGProps(props, visualState, _isStatic, Component3) {
6991
6973
  const visualProps = useMemo(() => {
6992
6974
  const state = createSvgRenderState();
@@ -7004,7 +6986,64 @@ function useSVGProps(props, visualState, _isStatic, Component3) {
7004
6986
  return visualProps;
7005
6987
  }
7006
6988
 
7007
- // ../../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
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/valid-prop.mjs
6990
+ var validMotionProps = /* @__PURE__ */ new Set([
6991
+ "animate",
6992
+ "exit",
6993
+ "variants",
6994
+ "initial",
6995
+ "style",
6996
+ "values",
6997
+ "variants",
6998
+ "transition",
6999
+ "transformTemplate",
7000
+ "custom",
7001
+ "inherit",
7002
+ "onBeforeLayoutMeasure",
7003
+ "onAnimationStart",
7004
+ "onAnimationComplete",
7005
+ "onUpdate",
7006
+ "onDragStart",
7007
+ "onDrag",
7008
+ "onDragEnd",
7009
+ "onMeasureDragConstraints",
7010
+ "onDirectionLock",
7011
+ "onDragTransitionEnd",
7012
+ "_dragX",
7013
+ "_dragY",
7014
+ "onHoverStart",
7015
+ "onHoverEnd",
7016
+ "onViewportEnter",
7017
+ "onViewportLeave",
7018
+ "globalTapTarget",
7019
+ "propagate",
7020
+ "ignoreStrict",
7021
+ "viewport"
7022
+ ]);
7023
+ function isValidMotionProp(key) {
7024
+ return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
7025
+ }
7026
+
7027
+ // ../../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
7028
+ function shouldForward(key, isValidProp) {
7029
+ return key.startsWith("on") ? !isValidMotionProp(key) : isValidProp?.(key) ?? !isValidMotionProp(key);
7030
+ }
7031
+ function filterProps(props, isDom, forwardMotionProps, isValidProp) {
7032
+ const filteredProps = {};
7033
+ for (const key in props) {
7034
+ if (key === "values" && typeof props.values === "object")
7035
+ continue;
7036
+ if (isMotionValue(props[key]))
7037
+ continue;
7038
+ if (shouldForward(key, isValidProp) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
7039
+ props["draggable"] && key.startsWith("onDrag")) {
7040
+ filteredProps[key] = props[key];
7041
+ }
7042
+ }
7043
+ return filteredProps;
7044
+ }
7045
+
7046
+ // ../../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
7008
7047
  var lowercaseSVGElements = [
7009
7048
  "animate",
7010
7049
  "circle",
@@ -7033,7 +7072,7 @@ var lowercaseSVGElements = [
7033
7072
  "view"
7034
7073
  ];
7035
7074
 
7036
- // ../../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
7075
+ // ../../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
7037
7076
  function isSVGComponent(Component3) {
7038
7077
  if (
7039
7078
  /**
@@ -7060,11 +7099,11 @@ function isSVGComponent(Component3) {
7060
7099
  return false;
7061
7100
  }
7062
7101
 
7063
- // ../../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
7064
- function useRender(Component3, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG) {
7102
+ // ../../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
7103
+ function useRender(Component3, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG, isValidProp) {
7065
7104
  const useVisualProps = isSVG ?? isSVGComponent(Component3) ? useSVGProps : useHTMLProps;
7066
7105
  const visualProps = useVisualProps(props, latestValues, isStatic, Component3);
7067
- const filteredProps = filterProps(props, typeof Component3 === "string", forwardMotionProps);
7106
+ const filteredProps = filterProps(props, typeof Component3 === "string", forwardMotionProps, isValidProp);
7068
7107
  const elementProps = Component3 !== Fragment$1 ? { ...filteredProps, ...visualProps, ref } : {};
7069
7108
  const { children } = props;
7070
7109
  const renderedChildren = useMemo(() => isMotionValue(children) ? children.get() : children, [children]);
@@ -7129,20 +7168,20 @@ var makeUseVisualState = (config) => (props, isStatic) => {
7129
7168
  return isStatic ? make() : useConstant(make);
7130
7169
  };
7131
7170
 
7132
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/html/use-html-visual-state.mjs
7171
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/html/use-html-visual-state.mjs
7133
7172
  var useHTMLVisualState = /* @__PURE__ */ makeUseVisualState({
7134
7173
  scrapeMotionValuesFromProps,
7135
7174
  createRenderState: createHtmlRenderState
7136
7175
  });
7137
7176
 
7138
- // ../../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
7177
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/svg/use-svg-visual-state.mjs
7139
7178
  var useSVGVisualState = /* @__PURE__ */ makeUseVisualState({
7140
7179
  scrapeMotionValuesFromProps: scrapeMotionValuesFromProps2,
7141
7180
  createRenderState: createSvgRenderState
7142
7181
  });
7143
7182
 
7144
- // ../../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
7145
- var motionComponentSymbol = Symbol.for("motionComponentSymbol");
7183
+ // ../../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
7184
+ var motionComponentSymbol = /* @__PURE__ */ Symbol.for("motionComponentSymbol");
7146
7185
  function useMotionRef(visualState, visualElement, externalRef) {
7147
7186
  const externalRefContainer = useRef(externalRef);
7148
7187
  useInsertionEffect(() => {
@@ -7153,6 +7192,9 @@ function useMotionRef(visualState, visualElement, externalRef) {
7153
7192
  if (instance) {
7154
7193
  visualState.onMount?.(instance);
7155
7194
  }
7195
+ if (visualElement) {
7196
+ instance ? visualElement.mount(instance) : visualElement.unmount();
7197
+ }
7156
7198
  const ref = externalRefContainer.current;
7157
7199
  if (typeof ref === "function") {
7158
7200
  if (instance) {
@@ -7169,19 +7211,16 @@ function useMotionRef(visualState, visualElement, externalRef) {
7169
7211
  } else if (ref) {
7170
7212
  ref.current = instance;
7171
7213
  }
7172
- if (visualElement) {
7173
- instance ? visualElement.mount(instance) : visualElement.unmount();
7174
- }
7175
7214
  }, [visualElement]);
7176
7215
  }
7177
7216
  var SwitchLayoutGroupContext = createContext({});
7178
7217
 
7179
- // ../../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
7218
+ // ../../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
7180
7219
  function isRefObject(ref) {
7181
7220
  return ref && typeof ref === "object" && Object.prototype.hasOwnProperty.call(ref, "current");
7182
7221
  }
7183
7222
 
7184
- // ../../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
7223
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs
7185
7224
  function useVisualElement(Component3, visualState, props, createVisualElement, ProjectionNodeConstructor, isSVG) {
7186
7225
  const { visualElement: parent } = useContext(MotionContext);
7187
7226
  const lazyContext = useContext(LazyContext);
@@ -7277,7 +7316,7 @@ function getClosestProjectingNode(visualElement) {
7277
7316
  return visualElement.options.allowProjection !== false ? visualElement.projection : getClosestProjectingNode(visualElement.parent);
7278
7317
  }
7279
7318
 
7280
- // ../../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
7319
+ // ../../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
7281
7320
  function createMotionComponent(Component3, { forwardMotionProps = false, type } = {}, preloadedFeatures, createVisualElement) {
7282
7321
  preloadedFeatures && loadFeatures(preloadedFeatures);
7283
7322
  const isSVG = type ? type === "svg" : isSVGComponent(Component3);
@@ -7289,7 +7328,7 @@ function createMotionComponent(Component3, { forwardMotionProps = false, type }
7289
7328
  ...props,
7290
7329
  layoutId: useLayoutId(props)
7291
7330
  };
7292
- const { isStatic } = configAndProps;
7331
+ const { isStatic, isValidProp } = configAndProps;
7293
7332
  const context = useCreateMotionContext(props);
7294
7333
  const visualState = useVisualState(props, isStatic);
7295
7334
  if (!isStatic && typeof window !== "undefined") {
@@ -7298,7 +7337,7 @@ function createMotionComponent(Component3, { forwardMotionProps = false, type }
7298
7337
  MeasureLayout2 = layoutProjection.MeasureLayout;
7299
7338
  context.visualElement = useVisualElement(Component3, visualState, configAndProps, createVisualElement, layoutProjection.ProjectionNode, isSVG);
7300
7339
  }
7301
- return jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout2 && context.visualElement ? jsx(MeasureLayout2, { visualElement: context.visualElement, ...configAndProps }) : null, useRender(Component3, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG)] });
7340
+ return jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout2 && context.visualElement ? jsx(MeasureLayout2, { visualElement: context.visualElement, ...configAndProps }) : null, useRender(Component3, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG, isValidProp)] });
7302
7341
  }
7303
7342
  MotionDOMComponent.displayName = `motion.${typeof Component3 === "string" ? Component3 : `create(${Component3.displayName ?? Component3.name ?? ""})`}`;
7304
7343
  const ForwardRefMotionComponent = forwardRef(MotionDOMComponent);
@@ -7328,7 +7367,7 @@ function getProjectionFunctionality(props) {
7328
7367
  };
7329
7368
  }
7330
7369
 
7331
- // ../../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
7370
+ // ../../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
7332
7371
  function createMotionProxy(preloadedFeatures, createVisualElement) {
7333
7372
  if (typeof Proxy === "undefined") {
7334
7373
  return createMotionComponent;
@@ -7366,7 +7405,7 @@ var createDomVisualElement = (Component3, options) => {
7366
7405
  });
7367
7406
  };
7368
7407
 
7369
- // ../../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
7408
+ // ../../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
7370
7409
  var AnimationFeature = class extends Feature {
7371
7410
  /**
7372
7411
  * We dynamically generate the AnimationState manager as it contains a reference
@@ -7402,7 +7441,7 @@ var AnimationFeature = class extends Feature {
7402
7441
  }
7403
7442
  };
7404
7443
 
7405
- // ../../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
7444
+ // ../../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
7406
7445
  var id2 = 0;
7407
7446
  var ExitAnimationFeature = class extends Feature {
7408
7447
  constructor() {
@@ -7421,7 +7460,7 @@ var ExitAnimationFeature = class extends Feature {
7421
7460
  if (isPresent && prevIsPresent === false) {
7422
7461
  if (this.isExitComplete) {
7423
7462
  const { initial, custom } = this.node.getProps();
7424
- if (typeof initial === "string") {
7463
+ if (typeof initial === "string" || typeof initial === "object" && initial !== null && !Array.isArray(initial)) {
7425
7464
  const resolved = resolveVariant(this.node, initial, custom);
7426
7465
  if (resolved) {
7427
7466
  const { transition, transitionEnd, ...target } = resolved;
@@ -7459,7 +7498,7 @@ var ExitAnimationFeature = class extends Feature {
7459
7498
  }
7460
7499
  };
7461
7500
 
7462
- // ../../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
7501
+ // ../../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
7463
7502
  var animations = {
7464
7503
  animation: {
7465
7504
  Feature: AnimationFeature
@@ -7469,7 +7508,7 @@ var animations = {
7469
7508
  }
7470
7509
  };
7471
7510
 
7472
- // ../../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
7511
+ // ../../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
7473
7512
  function extractEventInfo(event) {
7474
7513
  return {
7475
7514
  point: {
@@ -7480,17 +7519,17 @@ function extractEventInfo(event) {
7480
7519
  }
7481
7520
  var addPointerInfo = (handler) => (event) => isPrimaryPointer(event) && handler(event, extractEventInfo(event));
7482
7521
 
7483
- // ../../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
7522
+ // ../../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
7484
7523
  function addPointerEvent(target, eventName, handler, options) {
7485
7524
  return addDomEvent(target, eventName, addPointerInfo(handler), options);
7486
7525
  }
7487
7526
 
7488
- // ../../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
7527
+ // ../../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
7489
7528
  var getContextWindow = ({ current }) => {
7490
7529
  return current ? current.ownerDocument.defaultView : null;
7491
7530
  };
7492
7531
 
7493
- // ../../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
7532
+ // ../../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
7494
7533
  var distance = (a, b) => Math.abs(a - b);
7495
7534
  function distance2D(a, b) {
7496
7535
  const xDelta = distance(a.x, b.x);
@@ -7498,7 +7537,7 @@ function distance2D(a, b) {
7498
7537
  return Math.sqrt(xDelta ** 2 + yDelta ** 2);
7499
7538
  }
7500
7539
 
7501
- // ../../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
7540
+ // ../../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
7502
7541
  var overflowStyles = /* @__PURE__ */ new Set(["auto", "scroll"]);
7503
7542
  var PanSession = class {
7504
7543
  constructor(event, handlers, { transformPagePoint, contextWindow = window, dragSnapToOrigin = false, distanceThreshold = 3, element } = {}) {
@@ -7571,7 +7610,8 @@ var PanSession = class {
7571
7610
  this.history = [{ ...point, timestamp }];
7572
7611
  const { onSessionStart } = handlers;
7573
7612
  onSessionStart && onSessionStart(event, getPanInfo(initialInfo, this.history));
7574
- this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp));
7613
+ const eventOptions = { passive: true, capture: true };
7614
+ this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove, eventOptions), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp, eventOptions), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp, eventOptions));
7575
7615
  if (element) {
7576
7616
  this.startScrollTracking(element);
7577
7617
  }
@@ -7705,7 +7745,7 @@ function getVelocity(history, timeDelta) {
7705
7745
  return currentVelocity;
7706
7746
  }
7707
7747
 
7708
- // ../../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
7748
+ // ../../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
7709
7749
  function applyConstraints(point, { min, max }, elastic) {
7710
7750
  if (min !== void 0 && point < min) {
7711
7751
  point = elastic ? mixNumber(min, point, elastic.min) : Math.max(point, min);
@@ -7783,7 +7823,7 @@ function resolvePointElastic(dragElastic, label) {
7783
7823
  return typeof dragElastic === "number" ? dragElastic : dragElastic[label] || 0;
7784
7824
  }
7785
7825
 
7786
- // ../../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
7826
+ // ../../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
7787
7827
  var elementDragControls = /* @__PURE__ */ new WeakMap();
7788
7828
  var VisualElementDragControls = class {
7789
7829
  constructor(visualElement) {
@@ -7984,6 +8024,10 @@ var VisualElementDragControls = class {
7984
8024
  const { projection } = this.visualElement;
7985
8025
  if (!projection || !projection.layout)
7986
8026
  return false;
8027
+ if (projection.root) {
8028
+ projection.root.scroll = void 0;
8029
+ projection.root.updateScroll();
8030
+ }
7987
8031
  const constraintsBox = measurePageBox(constraintsElement, projection.root, this.visualElement.getTransformPagePoint());
7988
8032
  let measuredConstraints = calcViewportConstraints(projection.layout.layoutBox, constraintsBox);
7989
8033
  if (onMeasureDragConstraints) {
@@ -8040,7 +8084,7 @@ var VisualElementDragControls = class {
8040
8084
  const dragKey = `_drag${axis.toUpperCase()}`;
8041
8085
  const props = this.visualElement.getProps();
8042
8086
  const externalMotionValue = props[dragKey];
8043
- return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, (props.initial ? props.initial[axis] : void 0) || 0);
8087
+ return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, this.visualElement.latestValues[axis] ?? 0);
8044
8088
  }
8045
8089
  snapToCursor(point) {
8046
8090
  eachAxis((axis) => {
@@ -8188,7 +8232,7 @@ function getCurrentDirection(offset, lockThreshold = 10) {
8188
8232
  return direction;
8189
8233
  }
8190
8234
 
8191
- // ../../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
8235
+ // ../../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
8192
8236
  var DragGesture = class extends Feature {
8193
8237
  constructor(node) {
8194
8238
  super(node);
@@ -8222,7 +8266,7 @@ var DragGesture = class extends Feature {
8222
8266
  }
8223
8267
  };
8224
8268
 
8225
- // ../../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
8269
+ // ../../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
8226
8270
  var asyncHandler = (handler) => (event, info) => {
8227
8271
  if (handler) {
8228
8272
  frame.update(() => handler(event, info), false, true);
@@ -8365,7 +8409,7 @@ function MeasureLayout(props) {
8365
8409
  return jsx(MeasureLayoutWithContext, { ...props, layoutGroup, switchLayoutGroup: useContext(SwitchLayoutGroupContext), isPresent, safeToRemove });
8366
8410
  }
8367
8411
 
8368
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/drag.mjs
8412
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/drag.mjs
8369
8413
  var drag = {
8370
8414
  pan: {
8371
8415
  Feature: PanGesture
@@ -8377,7 +8421,7 @@ var drag = {
8377
8421
  }
8378
8422
  };
8379
8423
 
8380
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/hover.mjs
8424
+ // ../../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
8381
8425
  function handleHoverEvent(node, event, lifecycle) {
8382
8426
  const { props } = node;
8383
8427
  if (node.animationState && props.whileHover) {
@@ -8403,7 +8447,7 @@ var HoverGesture = class extends Feature {
8403
8447
  }
8404
8448
  };
8405
8449
 
8406
- // ../../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
8450
+ // ../../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
8407
8451
  var FocusGesture = class extends Feature {
8408
8452
  constructor() {
8409
8453
  super(...arguments);
@@ -8434,7 +8478,7 @@ var FocusGesture = class extends Feature {
8434
8478
  }
8435
8479
  };
8436
8480
 
8437
- // ../../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
8481
+ // ../../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
8438
8482
  function handlePressEvent(node, event, lifecycle) {
8439
8483
  const { props } = node;
8440
8484
  if (node.current instanceof HTMLButtonElement && node.current.disabled) {
@@ -8467,7 +8511,7 @@ var PressGesture = class extends Feature {
8467
8511
  }
8468
8512
  };
8469
8513
 
8470
- // ../../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
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/motion/features/viewport/observers.mjs
8471
8515
  var observerCallbacks = /* @__PURE__ */ new WeakMap();
8472
8516
  var observers = /* @__PURE__ */ new WeakMap();
8473
8517
  var fireObserverCallback = (entry) => {
@@ -8499,7 +8543,7 @@ function observeIntersection(element, options, callback) {
8499
8543
  };
8500
8544
  }
8501
8545
 
8502
- // ../../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
8546
+ // ../../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
8503
8547
  var thresholdNames = {
8504
8548
  some: 0,
8505
8549
  all: 1
@@ -8560,7 +8604,7 @@ function hasViewportOptionChanged({ viewport = {} }, { viewport: prevViewport =
8560
8604
  return (name) => viewport[name] !== prevViewport[name];
8561
8605
  }
8562
8606
 
8563
- // ../../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
8607
+ // ../../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
8564
8608
  var gestureAnimations = {
8565
8609
  inView: {
8566
8610
  Feature: InViewFeature
@@ -8576,7 +8620,7 @@ var gestureAnimations = {
8576
8620
  }
8577
8621
  };
8578
8622
 
8579
- // ../../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
8623
+ // ../../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
8580
8624
  var layout = {
8581
8625
  layout: {
8582
8626
  ProjectionNode: HTMLProjectionNode,
@@ -8584,7 +8628,7 @@ var layout = {
8584
8628
  }
8585
8629
  };
8586
8630
 
8587
- // ../../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
8631
+ // ../../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
8588
8632
  var featureBundle = {
8589
8633
  ...animations,
8590
8634
  ...gestureAnimations,
@@ -8592,7 +8636,7 @@ var featureBundle = {
8592
8636
  ...layout
8593
8637
  };
8594
8638
 
8595
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs
8639
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/components/motion/proxy.mjs
8596
8640
  var motion = /* @__PURE__ */ createMotionProxy(featureBundle, createDomVisualElement);
8597
8641
  function useMotionValue(initial) {
8598
8642
  const value = useConstant(() => motionValue(initial));
@@ -8604,7 +8648,7 @@ function useMotionValue(initial) {
8604
8648
  return value;
8605
8649
  }
8606
8650
 
8607
- // ../../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
8651
+ // ../../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
8608
8652
  function useCombineMotionValues(values, combineValues) {
8609
8653
  const value = useMotionValue(combineValues());
8610
8654
  const updateValue = () => value.set(combineValues());
@@ -8620,7 +8664,7 @@ function useCombineMotionValues(values, combineValues) {
8620
8664
  return value;
8621
8665
  }
8622
8666
 
8623
- // ../../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
8667
+ // ../../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
8624
8668
  function useComputed(compute) {
8625
8669
  collectMotionValues.current = [];
8626
8670
  compute();
@@ -8629,7 +8673,7 @@ function useComputed(compute) {
8629
8673
  return value;
8630
8674
  }
8631
8675
 
8632
- // ../../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
8676
+ // ../../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
8633
8677
  function useTransform(input, inputRangeOrTransformer, outputRangeOrMap, options) {
8634
8678
  if (typeof input === "function") {
8635
8679
  return useComputed(input);
@@ -8661,7 +8705,7 @@ function useListTransform(values, transformer) {
8661
8705
  });
8662
8706
  }
8663
8707
 
8664
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/components/Reorder/namespace.mjs
8708
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/components/Reorder/namespace.mjs
8665
8709
  var namespace_exports = {};
8666
8710
  __export(namespace_exports, {
8667
8711
  Group: () => ReorderGroup,
@@ -8669,62 +8713,147 @@ __export(namespace_exports, {
8669
8713
  });
8670
8714
  var ReorderContext = createContext(null);
8671
8715
 
8672
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/components/Reorder/utils/check-reorder.mjs
8673
- function checkReorder(order, value, offset, velocity) {
8674
- if (!velocity)
8675
- return order;
8716
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/components/Reorder/utils/check-reorder.mjs
8717
+ function checkReorder(order, value, offset, velocity, axis, direction = "ltr") {
8676
8718
  const index = order.findIndex((item2) => item2.value === value);
8677
8719
  if (index === -1)
8678
8720
  return order;
8679
- const nextOffset = velocity > 0 ? 1 : -1;
8721
+ if (axis === "xy") {
8722
+ const { layout: layout2 } = order[index];
8723
+ const center = {
8724
+ x: mixNumber(layout2.x.min, layout2.x.max, 0.5) + offset.x,
8725
+ y: mixNumber(layout2.y.min, layout2.y.max, 0.5) + offset.y
8726
+ };
8727
+ const lines = getLines(order);
8728
+ const sourceLine = lines.find((line) => line.items.includes(order[index]));
8729
+ const targetLine = lines.reduce((closest, line) => distanceToLine(center.y, line) < distanceToLine(center.y, closest) ? line : closest);
8730
+ if (targetLine !== sourceLine) {
8731
+ return moveToLine(order, index, center.x, targetLine, direction);
8732
+ }
8733
+ const currentDistance = distanceToBox(center, layout2);
8734
+ let target = -1;
8735
+ let targetDistance = currentDistance;
8736
+ order.forEach((item2, targetIndex) => {
8737
+ if (targetIndex === index)
8738
+ return;
8739
+ const distance2 = distanceToBox(center, item2.layout);
8740
+ if (distance2 < targetDistance) {
8741
+ target = targetIndex;
8742
+ targetDistance = distance2;
8743
+ }
8744
+ });
8745
+ return target === -1 ? order : moveItem(order, index, index + Math.sign(target - index));
8746
+ }
8747
+ if (!velocity[axis])
8748
+ return order;
8749
+ const nextOffset = velocity[axis] > 0 ? 1 : -1;
8680
8750
  const nextItem = order[index + nextOffset];
8681
8751
  if (!nextItem)
8682
8752
  return order;
8683
8753
  const item = order[index];
8684
- const nextLayout = nextItem.layout;
8754
+ const itemLayout = item.layout[axis];
8755
+ const nextLayout = nextItem.layout[axis];
8685
8756
  const nextItemCenter = mixNumber(nextLayout.min, nextLayout.max, 0.5);
8686
- if (nextOffset === 1 && item.layout.max + offset > nextItemCenter || nextOffset === -1 && item.layout.min + offset < nextItemCenter) {
8757
+ if (nextOffset === 1 && itemLayout.max + offset[axis] > nextItemCenter || nextOffset === -1 && itemLayout.min + offset[axis] < nextItemCenter) {
8687
8758
  return moveItem(order, index, index + nextOffset);
8688
8759
  }
8689
8760
  return order;
8690
8761
  }
8762
+ function getLines(order) {
8763
+ const lines = [];
8764
+ order.forEach((item) => {
8765
+ const { min, max } = item.layout.y;
8766
+ const line = lines[lines.length - 1];
8767
+ if (!line || min >= line.max || max <= line.min) {
8768
+ lines.push({ items: [item], min, max });
8769
+ } else {
8770
+ line.items.push(item);
8771
+ line.min = Math.min(line.min, min);
8772
+ line.max = Math.max(line.max, max);
8773
+ }
8774
+ });
8775
+ return lines;
8776
+ }
8777
+ function distanceToLine(y, line) {
8778
+ return y < line.min ? line.min - y : y > line.max ? y - line.max : 0;
8779
+ }
8780
+ function moveToLine(order, index, x, line, direction) {
8781
+ const remaining = order.filter((_, itemIndex) => itemIndex !== index);
8782
+ const before = line.items.find((item) => {
8783
+ const center = mixNumber(item.layout.x.min, item.layout.x.max, 0.5);
8784
+ return direction === "ltr" ? x < center : x > center;
8785
+ });
8786
+ const targetIndex = before ? remaining.indexOf(before) : remaining.indexOf(line.items[line.items.length - 1]) + 1;
8787
+ const nextOrder = [...remaining];
8788
+ nextOrder.splice(targetIndex, 0, order[index]);
8789
+ return nextOrder.every((item, itemIndex) => item === order[itemIndex]) ? order : nextOrder;
8790
+ }
8791
+ function distanceToBox(point, box) {
8792
+ const x = Math.max(box.x.min - point.x, 0, point.x - box.x.max);
8793
+ const y = Math.max(box.y.min - point.y, 0, point.y - box.y.max);
8794
+ return x * x + y * y;
8795
+ }
8796
+
8797
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/components/Reorder/utils/detect-axis.mjs
8798
+ var isSeparated = (a, b) => a.max <= b.min || b.max <= a.min;
8799
+ function detectAxis(layouts) {
8800
+ let x = false;
8801
+ let y = false;
8802
+ for (let i = 0; i < layouts.length; i++) {
8803
+ for (let j = i + 1; j < layouts.length; j++) {
8804
+ x || (x = isSeparated(layouts[i].x, layouts[j].x));
8805
+ y || (y = isSeparated(layouts[i].y, layouts[j].y));
8806
+ if (x && y)
8807
+ return "xy";
8808
+ }
8809
+ }
8810
+ return x ? "x" : "y";
8811
+ }
8691
8812
 
8692
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/components/Reorder/Group.mjs
8693
- function ReorderGroupComponent({ children, as = "ul", axis = "y", onReorder, values, ...props }, externalRef) {
8813
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/components/Reorder/Group.mjs
8814
+ function ReorderGroupComponent({ children, as = "ul", axis: axisOverride, onReorder, values, ...props }, externalRef) {
8694
8815
  const Component3 = useConstant(() => motion[as]);
8695
- const order = [];
8816
+ const itemLayouts = useRef(/* @__PURE__ */ new Map());
8817
+ const [detectedAxis, setDetectedAxis] = useState("y");
8696
8818
  const isReordering = useRef(false);
8697
8819
  const groupRef = useRef(null);
8820
+ const axis = axisOverride || detectedAxis;
8698
8821
  invariant(Boolean(values), "Reorder.Group must be provided a values prop", "reorder-values");
8822
+ const valuesSet = new Set(values);
8823
+ itemLayouts.current.forEach((_, value) => {
8824
+ if (!valuesSet.has(value))
8825
+ itemLayouts.current.delete(value);
8826
+ });
8699
8827
  const context = {
8700
8828
  axis,
8701
8829
  groupRef,
8702
8830
  registerItem: (value, layout2) => {
8703
- const idx = order.findIndex((entry) => value === entry.value);
8704
- if (idx !== -1) {
8705
- order[idx].layout = layout2[axis];
8706
- } else {
8707
- order.push({ value, layout: layout2[axis] });
8831
+ itemLayouts.current.set(value, layout2);
8832
+ if (!axisOverride) {
8833
+ const nextAxis = detectAxis(values.flatMap((itemValue) => {
8834
+ const itemLayout = itemLayouts.current.get(itemValue);
8835
+ return itemLayout ? [itemLayout] : [];
8836
+ }));
8837
+ if (nextAxis !== detectedAxis)
8838
+ setDetectedAxis(nextAxis);
8708
8839
  }
8709
- order.sort(compareMin);
8710
8840
  },
8711
8841
  updateOrder: (item, offset, velocity) => {
8712
8842
  if (isReordering.current)
8713
8843
  return;
8714
- const newOrder = checkReorder(order, item, offset, velocity);
8844
+ const order = values.flatMap((value) => {
8845
+ const layout2 = itemLayouts.current.get(value);
8846
+ return layout2 ? [{ value, layout: layout2 }] : [];
8847
+ });
8848
+ const direction = groupRef.current?.ownerDocument.defaultView?.getComputedStyle(groupRef.current).direction === "rtl" ? "rtl" : "ltr";
8849
+ const newOrder = checkReorder(order, item, offset, velocity, axis, direction);
8715
8850
  if (order !== newOrder) {
8716
8851
  isReordering.current = true;
8717
8852
  const newValues = [...values];
8718
- for (let i = 0; i < newOrder.length; i++) {
8719
- if (order[i].value !== newOrder[i].value) {
8720
- const a = values.indexOf(order[i].value);
8721
- const b = values.indexOf(newOrder[i].value);
8722
- if (a !== -1 && b !== -1) {
8723
- [newValues[a], newValues[b]] = [newValues[b], newValues[a]];
8724
- }
8725
- break;
8726
- }
8727
- }
8853
+ const measuredIndexes = order.map(({ value }) => values.indexOf(value));
8854
+ newOrder.forEach(({ value }, index) => {
8855
+ newValues[measuredIndexes[index]] = value;
8856
+ });
8728
8857
  onReorder(newValues);
8729
8858
  }
8730
8859
  }
@@ -8747,11 +8876,8 @@ function ReorderGroupComponent({ children, as = "ul", axis = "y", onReorder, val
8747
8876
  return jsx(Component3, { ...props, style: groupStyle, ref: setRef2, ignoreStrict: true, children: jsx(ReorderContext.Provider, { value: context, children }) });
8748
8877
  }
8749
8878
  var ReorderGroup = /* @__PURE__ */ forwardRef(ReorderGroupComponent);
8750
- function compareMin(a, b) {
8751
- return a.layout.min - b.layout.min;
8752
- }
8753
8879
 
8754
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/components/Reorder/utils/auto-scroll.mjs
8880
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/components/Reorder/utils/auto-scroll.mjs
8755
8881
  var threshold = 50;
8756
8882
  var maxSpeed = 25;
8757
8883
  var overflowStyles2 = /* @__PURE__ */ new Set(["auto", "scroll"]);
@@ -8849,7 +8975,7 @@ function autoScrollIfNeeded(groupElement, pointerPosition, axis, velocity) {
8849
8975
  }
8850
8976
  }
8851
8977
 
8852
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/components/Reorder/Item.mjs
8978
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/components/Reorder/Item.mjs
8853
8979
  function useDefaultMotionValue(value, defaultValue = 0) {
8854
8980
  return isMotionValue(value) ? value : useMotionValue(defaultValue);
8855
8981
  }
@@ -8863,11 +8989,13 @@ function ReorderItemComponent({ children, style = {}, value, as = "li", onDrag,
8863
8989
  const zIndex = useTransform([point.x, point.y], ([latestX, latestY]) => latestX || latestY ? 1 : "unset");
8864
8990
  invariant(Boolean(context), "Reorder.Item must be a child of Reorder.Group", "reorder-item-child");
8865
8991
  const { axis, registerItem, updateOrder, groupRef } = context;
8866
- return jsx(Component3, { drag: axis, ...props, dragSnapToOrigin: true, style: { ...style, x: point.x, y: point.y, zIndex }, layout: layout2, onDrag: (event, gesturePoint) => {
8992
+ const dragAxis = axis === "xy" ? true : axis;
8993
+ return jsx(Component3, { drag: dragAxis, ...props, dragSnapToOrigin: true, style: { ...style, x: point.x, y: point.y, zIndex }, layout: layout2, onDrag: (event, gesturePoint) => {
8867
8994
  const { velocity, point: pointerPoint } = gesturePoint;
8868
- const offset = point[axis].get();
8869
- updateOrder(value, offset, velocity[axis]);
8870
- autoScrollIfNeeded(groupRef.current, pointerPoint[axis], axis, velocity[axis]);
8995
+ const offset = { x: point.x.get(), y: point.y.get() };
8996
+ updateOrder(value, offset, velocity);
8997
+ const scrollAxis = axis === "xy" ? Math.abs(velocity.x) > Math.abs(velocity.y) ? "x" : "y" : axis;
8998
+ autoScrollIfNeeded(groupRef.current, pointerPoint[scrollAxis], scrollAxis, velocity[scrollAxis]);
8871
8999
  onDrag && onDrag(event, gesturePoint);
8872
9000
  }, onDragEnd: (event, gesturePoint) => {
8873
9001
  resetAutoScrollState();
@@ -8877,6 +9005,9 @@ function ReorderItemComponent({ children, style = {}, value, as = "li", onDrag,
8877
9005
  }, ref: externalRef, ignoreStrict: true, children });
8878
9006
  }
8879
9007
  var ReorderItem = /* @__PURE__ */ forwardRef(ReorderItemComponent);
9008
+
9009
+ // ../../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
9010
+ var motion2 = motion;
8880
9011
  function usePrefersReducedMotion() {
8881
9012
  const [prefersReducedMotion2, setPrefersReducedMotion] = useState(false);
8882
9013
  useEffect(() => {
@@ -9089,7 +9220,7 @@ function AnimatedList({
9089
9220
  };
9090
9221
  const renderListItem = (item, index, virtualStyle) => {
9091
9222
  const itemContent = /* @__PURE__ */ jsx(
9092
- motion.div,
9223
+ motion2.div,
9093
9224
  {
9094
9225
  custom: index,
9095
9226
  variants: updatedVariants,
@@ -9159,7 +9290,7 @@ function AnimatedList({
9159
9290
  );
9160
9291
  }
9161
9292
  return /* @__PURE__ */ jsx(
9162
- motion.div,
9293
+ motion2.div,
9163
9294
  {
9164
9295
  className: cn(getLayoutClassName(), className),
9165
9296
  style,