@luxfi/ui 8.2.12 → 8.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/3d-carousel.d.ts +2 -1
  2. package/dist/3d-carousel.d.ts.map +1 -1
  3. package/dist/3d-marquee.cjs +635 -607
  4. package/dist/3d-marquee.js +635 -607
  5. package/dist/animated-background.cjs +643 -615
  6. package/dist/animated-background.js +643 -615
  7. package/dist/animated-beam.cjs +634 -606
  8. package/dist/animated-beam.js +634 -606
  9. package/dist/animated-icon.cjs +672 -625
  10. package/dist/animated-icon.js +672 -625
  11. package/dist/animated-list.cjs +794 -663
  12. package/dist/animated-list.js +794 -663
  13. package/dist/animated-number.cjs +644 -616
  14. package/dist/animated-number.js +644 -616
  15. package/dist/animated-testimonials.cjs +668 -621
  16. package/dist/animated-testimonials.js +668 -621
  17. package/dist/animated-text.cjs +675 -628
  18. package/dist/animated-text.js +675 -628
  19. package/dist/animated-tooltip.cjs +668 -621
  20. package/dist/animated-tooltip.js +668 -621
  21. package/dist/apple-cards-carousel.cjs +676 -629
  22. package/dist/apple-cards-carousel.js +676 -629
  23. package/dist/apple-hello-effect.cjs +634 -606
  24. package/dist/apple-hello-effect.js +634 -606
  25. package/dist/calendar.cjs +2 -37
  26. package/dist/calendar.d.ts +11 -1
  27. package/dist/calendar.d.ts.map +1 -1
  28. package/dist/calendar.js +3 -38
  29. package/dist/dock.cjs +645 -617
  30. package/dist/dock.js +645 -617
  31. package/dist/image-zoom.d.ts +3 -2
  32. package/dist/image-zoom.d.ts.map +1 -1
  33. package/dist/input-otp.d.ts +4 -2
  34. package/dist/input-otp.d.ts.map +1 -1
  35. package/dist/pulse-animation.cjs +636 -608
  36. package/dist/pulse-animation.js +636 -608
  37. package/dist/resizable.cjs +4 -24
  38. package/dist/resizable.d.ts +12 -12
  39. package/dist/resizable.d.ts.map +1 -1
  40. package/dist/resizable.js +4 -4
  41. package/dist/reveal-animation.cjs +639 -611
  42. package/dist/reveal-animation.js +639 -611
  43. package/package.json +39 -39
  44. package/src/3d-carousel.tsx +2 -2
  45. package/src/calendar.tsx +12 -43
  46. package/src/image-zoom.tsx +2 -2
  47. package/src/resizable.tsx +7 -7
  48. package/src/table.tsx +9 -9
  49. package/tokens.css +21 -0
@@ -28,12 +28,6 @@ function _interopNamespace(e) {
28
28
  var React2__namespace = /*#__PURE__*/_interopNamespace(React2);
29
29
 
30
30
  var __defProp = Object.defineProperty;
31
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
32
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
33
- }) : x)(function(x) {
34
- if (typeof require !== "undefined") return require.apply(this, arguments);
35
- throw Error('Dynamic require of "' + x + '" is not supported');
36
- });
37
31
  var __export = (target, all) => {
38
32
  for (var name in all)
39
33
  __defProp(target, name, { get: all[name], enumerable: true });
@@ -47,14 +41,14 @@ function useConstant(init) {
47
41
  return ref.current;
48
42
  }
49
43
 
50
- // ../../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
44
+ // ../../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
51
45
  var isBrowser = typeof window !== "undefined";
52
46
 
53
- // ../../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
47
+ // ../../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
54
48
  var useIsomorphicLayoutEffect = isBrowser ? React2.useLayoutEffect : React2.useEffect;
55
49
  var PresenceContext = /* @__PURE__ */ React2.createContext(null);
56
50
 
57
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/array.mjs
51
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/array.mjs
58
52
  function addUniqueItem(arr, item) {
59
53
  if (arr.indexOf(item) === -1)
60
54
  arr.push(item);
@@ -74,7 +68,7 @@ function moveItem([...arr], fromIndex, toIndex) {
74
68
  return arr;
75
69
  }
76
70
 
77
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/clamp.mjs
71
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/clamp.mjs
78
72
  var clamp = (min, max, v) => {
79
73
  if (v > max)
80
74
  return max;
@@ -83,12 +77,12 @@ var clamp = (min, max, v) => {
83
77
  return v;
84
78
  };
85
79
 
86
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/format-error-message.mjs
80
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/format-error-message.mjs
87
81
  function formatErrorMessage(message, errorCode) {
88
82
  return errorCode ? `${message}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${errorCode}` : message;
89
83
  }
90
84
 
91
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/errors.mjs
85
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/errors.mjs
92
86
  var warning = () => {
93
87
  };
94
88
  var invariant = () => {
@@ -106,21 +100,19 @@ if (typeof process !== "undefined" && process.env?.NODE_ENV !== "production") {
106
100
  };
107
101
  }
108
102
 
109
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/global-config.mjs
103
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/global-config.mjs
110
104
  var MotionGlobalConfig = {};
111
105
 
112
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
106
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
113
107
  var isNumericalString = (v) => /^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(v);
114
108
 
115
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-object.mjs
116
- function isObject(value) {
117
- return typeof value === "object" && value !== null;
118
- }
109
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-object.mjs
110
+ var isObject = (value) => typeof value === "object" && value !== null;
119
111
 
120
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
112
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
121
113
  var isZeroValueString = (v) => /^0[^.\s]+$/u.test(v);
122
114
 
123
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/memo.mjs
115
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/memo.mjs
124
116
  // @__NO_SIDE_EFFECTS__
125
117
  function memo(callback) {
126
118
  let result;
@@ -131,20 +123,19 @@ function memo(callback) {
131
123
  };
132
124
  }
133
125
 
134
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/noop.mjs
126
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/noop.mjs
135
127
  var noop = /* @__NO_SIDE_EFFECTS__ */ (any) => any;
136
128
 
137
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/pipe.mjs
138
- var combineFunctions = (a, b) => (v) => b(a(v));
139
- var pipe = (...transformers) => transformers.reduce(combineFunctions);
129
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/pipe.mjs
130
+ var pipe = (...transformers) => transformers.reduce((a, b) => (v) => b(a(v)));
140
131
 
141
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/progress.mjs
132
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/progress.mjs
142
133
  var progress = /* @__NO_SIDE_EFFECTS__ */ (from, to, value) => {
143
- const toFromDifference = to - from;
144
- return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;
134
+ const range = to - from;
135
+ return range ? (value - from) / range : 1;
145
136
  };
146
137
 
147
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
138
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
148
139
  var SubscriptionManager = class {
149
140
  constructor() {
150
141
  this.subscriptions = [];
@@ -174,16 +165,14 @@ var SubscriptionManager = class {
174
165
  }
175
166
  };
176
167
 
177
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/time-conversion.mjs
168
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/time-conversion.mjs
178
169
  var secondsToMilliseconds = /* @__NO_SIDE_EFFECTS__ */ (seconds) => seconds * 1e3;
179
170
  var millisecondsToSeconds = /* @__NO_SIDE_EFFECTS__ */ (milliseconds) => milliseconds / 1e3;
180
171
 
181
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
182
- function velocityPerSecond(velocity, frameDuration) {
183
- return frameDuration ? velocity * (1e3 / frameDuration) : 0;
184
- }
172
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
173
+ var velocityPerSecond = /* @__NO_SIDE_EFFECTS__ */ (velocity, frameDuration) => frameDuration ? velocity * (1e3 / frameDuration) : 0;
185
174
 
186
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/warn-once.mjs
175
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/warn-once.mjs
187
176
  var warned = /* @__PURE__ */ new Set();
188
177
  function warnOnce(condition, message, errorCode) {
189
178
  if (condition || warned.has(message))
@@ -192,7 +181,7 @@ function warnOnce(condition, message, errorCode) {
192
181
  warned.add(message);
193
182
  }
194
183
 
195
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
184
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
196
185
  var calcBezier = (t, a1, a2) => (((1 - 3 * a2 + 3 * a1) * t + (3 * a2 - 6 * a1)) * t + 3 * a1) * t;
197
186
  var subdivisionPrecision = 1e-7;
198
187
  var subdivisionMaxIterations = 12;
@@ -211,6 +200,7 @@ function binarySubdivide(x, lowerBound, upperBound, mX1, mX2) {
211
200
  } while (Math.abs(currentX) > subdivisionPrecision && ++i < subdivisionMaxIterations);
212
201
  return currentT;
213
202
  }
203
+ // @__NO_SIDE_EFFECTS__
214
204
  function cubicBezier(mX1, mY1, mX2, mY2) {
215
205
  if (mX1 === mY1 && mX2 === mY2)
216
206
  return noop;
@@ -218,39 +208,39 @@ function cubicBezier(mX1, mY1, mX2, mY2) {
218
208
  return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);
219
209
  }
220
210
 
221
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
222
- var mirrorEasing = (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
211
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
212
+ var mirrorEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
223
213
 
224
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
225
- var reverseEasing = (easing) => (p) => 1 - easing(1 - p);
214
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
215
+ var reverseEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => 1 - easing(1 - p);
226
216
 
227
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/back.mjs
217
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/back.mjs
228
218
  var backOut = /* @__PURE__ */ cubicBezier(0.33, 1.53, 0.69, 0.99);
229
219
  var backIn = /* @__PURE__ */ reverseEasing(backOut);
230
220
  var backInOut = /* @__PURE__ */ mirrorEasing(backIn);
231
221
 
232
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
222
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
233
223
  var anticipate = (p) => p >= 1 ? 1 : (p *= 2) < 1 ? 0.5 * backIn(p) : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));
234
224
 
235
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/circ.mjs
225
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/circ.mjs
236
226
  var circIn = (p) => 1 - Math.sin(Math.acos(p));
237
227
  var circOut = reverseEasing(circIn);
238
228
  var circInOut = mirrorEasing(circIn);
239
229
 
240
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/ease.mjs
230
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/ease.mjs
241
231
  var easeIn = /* @__PURE__ */ cubicBezier(0.42, 0, 1, 1);
242
232
  var easeOut = /* @__PURE__ */ cubicBezier(0, 0, 0.58, 1);
243
233
  var easeInOut = /* @__PURE__ */ cubicBezier(0.42, 0, 0.58, 1);
244
234
 
245
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
246
- var isEasingArray = (ease2) => {
235
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
236
+ var isEasingArray = /* @__NO_SIDE_EFFECTS__ */ (ease2) => {
247
237
  return Array.isArray(ease2) && typeof ease2[0] !== "number";
248
238
  };
249
239
 
250
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
251
- var isBezierDefinition = (easing) => Array.isArray(easing) && typeof easing[0] === "number";
240
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
241
+ var isBezierDefinition = /* @__NO_SIDE_EFFECTS__ */ (easing) => Array.isArray(easing) && typeof easing[0] === "number";
252
242
 
253
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
243
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
254
244
  var easingLookup = {
255
245
  linear: noop,
256
246
  easeIn,
@@ -279,7 +269,7 @@ var easingDefinitionToFunction = (definition) => {
279
269
  return definition;
280
270
  };
281
271
 
282
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/order.mjs
272
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/order.mjs
283
273
  var stepsOrder = [
284
274
  "setup",
285
275
  // Compute
@@ -299,8 +289,8 @@ var stepsOrder = [
299
289
  // Compute
300
290
  ];
301
291
 
302
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
303
- function createRenderStep(runNextFrame, stepName) {
292
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
293
+ function createRenderStep(runNextFrame) {
304
294
  let thisFrame = /* @__PURE__ */ new Set();
305
295
  let nextFrame = /* @__PURE__ */ new Set();
306
296
  let isProcessing = false;
@@ -362,7 +352,7 @@ function createRenderStep(runNextFrame, stepName) {
362
352
  return step;
363
353
  }
364
354
 
365
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
355
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
366
356
  var maxElapsed = 40;
367
357
  function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
368
358
  let runNextFrame = false;
@@ -425,10 +415,10 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
425
415
  return { schedule, cancel, state, steps };
426
416
  }
427
417
 
428
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/frame.mjs
418
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/frame.mjs
429
419
  var { schedule: frame, cancel: cancelFrame, state: frameData, steps: frameSteps } = /* @__PURE__ */ createRenderBatcher(typeof requestAnimationFrame !== "undefined" ? requestAnimationFrame : noop, true);
430
420
 
431
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
421
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
432
422
  var now;
433
423
  function clearTime() {
434
424
  now = void 0;
@@ -446,7 +436,7 @@ var time = {
446
436
  }
447
437
  };
448
438
 
449
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
439
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
450
440
  var checkStringStartsWith = (token) => (key) => typeof key === "string" && key.startsWith(token);
451
441
  var isCSSVariableName = /* @__PURE__ */ checkStringStartsWith("--");
452
442
  var startsAsVariableToken = /* @__PURE__ */ checkStringStartsWith("var(--");
@@ -463,7 +453,7 @@ function containsCSSVariable(value) {
463
453
  return value.split("/*")[0].includes("var(--");
464
454
  }
465
455
 
466
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
456
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
467
457
  var number = {
468
458
  test: (v) => typeof v === "number",
469
459
  parse: parseFloat,
@@ -478,21 +468,21 @@ var scale = {
478
468
  default: 1
479
469
  };
480
470
 
481
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
471
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
482
472
  var sanitize = (v) => Math.round(v * 1e5) / 1e5;
483
473
 
484
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
474
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
485
475
  var floatRegex = /-?(?:\d+(?:\.\d+)?|\.\d+)/gu;
486
476
 
487
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
477
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
488
478
  function isNullish(v) {
489
479
  return v == null;
490
480
  }
491
481
 
492
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
482
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
493
483
  var singleColorRegex = /^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu;
494
484
 
495
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
485
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
496
486
  var isColorString = (type, testProp) => (v) => {
497
487
  return Boolean(typeof v === "string" && singleColorRegex.test(v) && v.startsWith(type) || testProp && !isNullish(v) && Object.prototype.hasOwnProperty.call(v, testProp));
498
488
  };
@@ -508,7 +498,7 @@ var splitColor = (aName, bName, cName) => (v) => {
508
498
  };
509
499
  };
510
500
 
511
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
501
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
512
502
  var clampRgbUnit = (v) => clamp(0, 255, v);
513
503
  var rgbUnit = {
514
504
  ...number,
@@ -520,7 +510,7 @@ var rgba = {
520
510
  transform: ({ red, green, blue, alpha: alpha$1 = 1 }) => "rgba(" + rgbUnit.transform(red) + ", " + rgbUnit.transform(green) + ", " + rgbUnit.transform(blue) + ", " + sanitize(alpha.transform(alpha$1)) + ")"
521
511
  };
522
512
 
523
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
513
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
524
514
  function parseHex(v) {
525
515
  let r = "";
526
516
  let g = "";
@@ -554,7 +544,7 @@ var hex = {
554
544
  transform: rgba.transform
555
545
  };
556
546
 
557
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
547
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
558
548
  var createUnitType = /* @__NO_SIDE_EFFECTS__ */ (unit) => ({
559
549
  test: (v) => typeof v === "string" && v.endsWith(unit) && v.split(" ").length === 1,
560
550
  parse: parseFloat,
@@ -571,7 +561,7 @@ var progressPercentage = /* @__PURE__ */ (() => ({
571
561
  transform: (v) => percent.transform(v * 100)
572
562
  }))();
573
563
 
574
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
564
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
575
565
  var hsla = {
576
566
  test: /* @__PURE__ */ isColorString("hsl", "hue"),
577
567
  parse: /* @__PURE__ */ splitColor("hue", "saturation", "lightness"),
@@ -580,7 +570,7 @@ var hsla = {
580
570
  }
581
571
  };
582
572
 
583
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/index.mjs
573
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/index.mjs
584
574
  var color = {
585
575
  test: (v) => rgba.test(v) || hex.test(v) || hsla.test(v),
586
576
  parse: (v) => {
@@ -602,10 +592,10 @@ var color = {
602
592
  }
603
593
  };
604
594
 
605
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
595
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
606
596
  var colorRegex = /(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;
607
597
 
608
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
598
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
609
599
  function test(v) {
610
600
  return isNaN(v) && typeof v === "string" && (v.match(floatRegex)?.length || 0) + (v.match(colorRegex)?.length || 0) > 0;
611
601
  }
@@ -690,7 +680,7 @@ var complex = {
690
680
  getAnimatableNone
691
681
  };
692
682
 
693
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
683
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
694
684
  function hueToRgb(p, q, t) {
695
685
  if (t < 0)
696
686
  t += 1;
@@ -728,17 +718,17 @@ function hslaToRgba({ hue, saturation, lightness, alpha: alpha2 }) {
728
718
  };
729
719
  }
730
720
 
731
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
721
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
732
722
  function mixImmediate(a, b) {
733
723
  return (p) => p > 0 ? b : a;
734
724
  }
735
725
 
736
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/number.mjs
726
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/number.mjs
737
727
  var mixNumber = (from, to, progress2) => {
738
728
  return from + (to - from) * progress2;
739
729
  };
740
730
 
741
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/color.mjs
731
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/color.mjs
742
732
  var mixLinearColor = (from, to, v) => {
743
733
  const fromExpo = from * from;
744
734
  const expo = v * (to * to - fromExpo) + fromExpo;
@@ -773,7 +763,7 @@ var mixColor = (from, to) => {
773
763
  };
774
764
  };
775
765
 
776
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
766
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
777
767
  var invisibleValues = /* @__PURE__ */ new Set(["none", "hidden"]);
778
768
  function mixVisibility(origin, target) {
779
769
  if (invisibleValues.has(origin)) {
@@ -783,7 +773,7 @@ function mixVisibility(origin, target) {
783
773
  }
784
774
  }
785
775
 
786
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
776
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
787
777
  function mixNumber2(a, b) {
788
778
  return (p) => mixNumber(a, b, p);
789
779
  }
@@ -853,7 +843,7 @@ var mixComplex = (origin, target) => {
853
843
  }
854
844
  };
855
845
 
856
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/index.mjs
846
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/index.mjs
857
847
  function mix(from, to, p) {
858
848
  if (typeof from === "number" && typeof to === "number" && typeof p === "number") {
859
849
  return mixNumber(from, to, p);
@@ -862,7 +852,7 @@ function mix(from, to, p) {
862
852
  return mixer(from, to);
863
853
  }
864
854
 
865
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
855
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
866
856
  var frameloopDriver = (update) => {
867
857
  const passTimestamp = ({ timestamp }) => update(timestamp);
868
858
  return {
@@ -876,7 +866,7 @@ var frameloopDriver = (update) => {
876
866
  };
877
867
  };
878
868
 
879
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
869
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
880
870
  var generateLinearEasing = (easing, duration, resolution = 10) => {
881
871
  let points = "";
882
872
  const numPoints = Math.max(Math.round(duration / resolution), 2);
@@ -886,7 +876,7 @@ var generateLinearEasing = (easing, duration, resolution = 10) => {
886
876
  return `linear(${points.substring(0, points.length - 2)})`;
887
877
  };
888
878
 
889
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
879
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
890
880
  var maxGeneratorDuration = 2e4;
891
881
  function calcGeneratorDuration(generator) {
892
882
  let duration = 0;
@@ -899,7 +889,7 @@ function calcGeneratorDuration(generator) {
899
889
  return duration >= maxGeneratorDuration ? Infinity : duration;
900
890
  }
901
891
 
902
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
892
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
903
893
  function createGeneratorEasing(options, scale2 = 100, createGenerator) {
904
894
  const generator = createGenerator({ ...options, keyframes: [0, scale2] });
905
895
  const duration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);
@@ -912,7 +902,7 @@ function createGeneratorEasing(options, scale2 = 100, createGenerator) {
912
902
  };
913
903
  }
914
904
 
915
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
905
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
916
906
  var springDefaults = {
917
907
  // Default spring physics
918
908
  stiffness: 100,
@@ -1151,14 +1141,14 @@ spring.applyToOptions = (options) => {
1151
1141
  return options;
1152
1142
  };
1153
1143
 
1154
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
1144
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
1155
1145
  var velocitySampleDuration = 5;
1156
1146
  function getGeneratorVelocity(resolveValue, t, current) {
1157
1147
  const prevT = Math.max(t - velocitySampleDuration, 0);
1158
1148
  return velocityPerSecond(current - resolveValue(prevT), t - prevT);
1159
1149
  }
1160
1150
 
1161
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
1151
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
1162
1152
  function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstant = 325, bounceDamping = 10, bounceStiffness = 500, modifyTarget, min, max, restDelta = 0.5, restSpeed }) {
1163
1153
  const origin = keyframes2[0];
1164
1154
  const state = {
@@ -1222,7 +1212,7 @@ function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstan
1222
1212
  };
1223
1213
  }
1224
1214
 
1225
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/interpolate.mjs
1215
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/interpolate.mjs
1226
1216
  function createMixers(output, ease2, customMixer) {
1227
1217
  const mixers = [];
1228
1218
  const mixerFactory = customMixer || MotionGlobalConfig.mix || mix;
@@ -1267,7 +1257,7 @@ function interpolate(input, output, { clamp: isClamp = true, ease: ease2, mixer
1267
1257
  return isClamp ? (v) => interpolator(clamp(input[0], input[inputLength - 1], v)) : interpolator;
1268
1258
  }
1269
1259
 
1270
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
1260
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
1271
1261
  function fillOffset(offset, remaining) {
1272
1262
  const min = offset[offset.length - 1];
1273
1263
  for (let i = 1; i <= remaining; i++) {
@@ -1276,19 +1266,19 @@ function fillOffset(offset, remaining) {
1276
1266
  }
1277
1267
  }
1278
1268
 
1279
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
1269
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
1280
1270
  function defaultOffset(arr) {
1281
1271
  const offset = [0];
1282
1272
  fillOffset(offset, arr.length - 1);
1283
1273
  return offset;
1284
1274
  }
1285
1275
 
1286
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
1276
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
1287
1277
  function convertOffsetToTimes(offset, duration) {
1288
1278
  return offset.map((o) => o * duration);
1289
1279
  }
1290
1280
 
1291
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
1281
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
1292
1282
  function defaultEasing(values, easing) {
1293
1283
  return values.map(() => easing || easeInOut).splice(0, values.length - 1);
1294
1284
  }
@@ -1317,7 +1307,7 @@ function keyframes({ duration = 300, keyframes: keyframeValues, times, ease: eas
1317
1307
  };
1318
1308
  }
1319
1309
 
1320
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
1310
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
1321
1311
  var isNotNull = (value) => value !== null;
1322
1312
  function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyframe, speed = 1) {
1323
1313
  const resolvedKeyframes = keyframes2.filter(isNotNull);
@@ -1326,7 +1316,7 @@ function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyf
1326
1316
  return !index || finalKeyframe === void 0 ? resolvedKeyframes[index] : finalKeyframe;
1327
1317
  }
1328
1318
 
1329
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
1319
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
1330
1320
  var transitionTypeMap = {
1331
1321
  decay: inertia,
1332
1322
  inertia,
@@ -1340,7 +1330,7 @@ function replaceTransitionType(transition) {
1340
1330
  }
1341
1331
  }
1342
1332
 
1343
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
1333
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
1344
1334
  var WithPromise = class {
1345
1335
  constructor() {
1346
1336
  this.updateFinished();
@@ -1366,7 +1356,7 @@ var WithPromise = class {
1366
1356
  }
1367
1357
  };
1368
1358
 
1369
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
1359
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
1370
1360
  var percentToProgress = (percent2) => percent2 / 100;
1371
1361
  var JSAnimation = class extends WithPromise {
1372
1362
  constructor(options) {
@@ -1645,14 +1635,14 @@ var JSAnimation = class extends WithPromise {
1645
1635
  }
1646
1636
  };
1647
1637
 
1648
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
1638
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
1649
1639
  function fillWildcards(keyframes2) {
1650
1640
  for (let i = 1; i < keyframes2.length; i++) {
1651
1641
  keyframes2[i] ?? (keyframes2[i] = keyframes2[i - 1]);
1652
1642
  }
1653
1643
  }
1654
1644
 
1655
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
1645
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
1656
1646
  var radToDeg = (rad) => rad * 180 / Math.PI;
1657
1647
  var rotate = (v) => {
1658
1648
  const angle = radToDeg(Math.atan2(v[1], v[0]));
@@ -1732,7 +1722,7 @@ function convertTransformToNumber(value) {
1732
1722
  return parseFloat(value.trim());
1733
1723
  }
1734
1724
 
1735
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
1725
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
1736
1726
  var transformPropOrder = [
1737
1727
  "transformPerspective",
1738
1728
  "x",
@@ -1752,9 +1742,9 @@ var transformPropOrder = [
1752
1742
  "skewX",
1753
1743
  "skewY"
1754
1744
  ];
1755
- var transformProps = /* @__PURE__ */ (() => new Set(transformPropOrder))();
1745
+ var transformProps = /* @__PURE__ */ (() => /* @__PURE__ */ new Set([...transformPropOrder, "pathRotation"]))();
1756
1746
 
1757
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
1747
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
1758
1748
  var isNumOrPxType = (v) => v === number || v === px;
1759
1749
  var transformKeys = /* @__PURE__ */ new Set(["x", "y", "z"]);
1760
1750
  var nonTranslationalTransformKeys = transformPropOrder.filter((key) => !transformKeys.has(key));
@@ -1790,7 +1780,7 @@ var positionalValues = {
1790
1780
  positionalValues.translateX = positionalValues.x;
1791
1781
  positionalValues.translateY = positionalValues.y;
1792
1782
 
1793
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
1783
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
1794
1784
  var toResolve = /* @__PURE__ */ new Set();
1795
1785
  var isScheduled = false;
1796
1786
  var anyNeedsMeasurement = false;
@@ -1916,27 +1906,27 @@ var KeyframeResolver = class {
1916
1906
  }
1917
1907
  };
1918
1908
 
1919
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
1909
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
1920
1910
  var isCSSVar = (name) => name.startsWith("--");
1921
1911
 
1922
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
1912
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
1923
1913
  function setStyle(element, name, value) {
1924
1914
  isCSSVar(name) ? element.style.setProperty(name, value) : element.style[name] = value;
1925
1915
  }
1926
1916
 
1927
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
1917
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
1928
1918
  var supportsFlags = {};
1929
1919
 
1930
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
1920
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
1931
1921
  function memoSupports(callback, supportsFlag) {
1932
1922
  const memoized = memo(callback);
1933
1923
  return () => supportsFlags[supportsFlag] ?? memoized();
1934
1924
  }
1935
1925
 
1936
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
1926
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
1937
1927
  var supportsScrollTimeline = /* @__PURE__ */ memoSupports(() => window.ScrollTimeline !== void 0, "scrollTimeline");
1938
1928
 
1939
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
1929
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
1940
1930
  var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
1941
1931
  try {
1942
1932
  document.createElement("div").animate({ opacity: 0 }, { easing: "linear(0, 1)" });
@@ -1946,10 +1936,10 @@ var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
1946
1936
  return true;
1947
1937
  }, "linearEasing");
1948
1938
 
1949
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
1939
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
1950
1940
  var cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`;
1951
1941
 
1952
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
1942
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
1953
1943
  var supportedWaapiEasing = {
1954
1944
  linear: "linear",
1955
1945
  ease: "ease",
@@ -1962,7 +1952,7 @@ var supportedWaapiEasing = {
1962
1952
  backOut: /* @__PURE__ */ cubicBezierAsString([0.33, 1.53, 0.69, 0.99])
1963
1953
  };
1964
1954
 
1965
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
1955
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
1966
1956
  function mapEasingToNativeEasing(easing, duration) {
1967
1957
  if (!easing) {
1968
1958
  return void 0;
@@ -1977,7 +1967,7 @@ function mapEasingToNativeEasing(easing, duration) {
1977
1967
  }
1978
1968
  }
1979
1969
 
1980
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
1970
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
1981
1971
  function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0, duration = 300, repeat = 0, repeatType = "loop", ease: ease2 = "easeOut", times } = {}, pseudoElement = void 0) {
1982
1972
  const keyframeOptions = {
1983
1973
  [valueName]: keyframes2
@@ -1997,16 +1987,15 @@ function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0
1997
1987
  };
1998
1988
  if (pseudoElement)
1999
1989
  options.pseudoElement = pseudoElement;
2000
- const animation = element.animate(keyframeOptions, options);
2001
- return animation;
1990
+ return element.animate(keyframeOptions, options);
2002
1991
  }
2003
1992
 
2004
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
1993
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
2005
1994
  function isGenerator(type) {
2006
1995
  return typeof type === "function" && "applyToOptions" in type;
2007
1996
  }
2008
1997
 
2009
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
1998
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
2010
1999
  function applyGeneratorOptions({ type, ...options }) {
2011
2000
  if (isGenerator(type) && supportsLinearEasing()) {
2012
2001
  return type.applyToOptions(options);
@@ -2017,7 +2006,7 @@ function applyGeneratorOptions({ type, ...options }) {
2017
2006
  return options;
2018
2007
  }
2019
2008
 
2020
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
2009
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
2021
2010
  var NativeAnimation = class extends WithPromise {
2022
2011
  constructor(options) {
2023
2012
  super();
@@ -2167,7 +2156,7 @@ var NativeAnimation = class extends WithPromise {
2167
2156
  }
2168
2157
  };
2169
2158
 
2170
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
2159
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
2171
2160
  var unsupportedEasingFunctions = {
2172
2161
  anticipate,
2173
2162
  backInOut,
@@ -2182,7 +2171,7 @@ function replaceStringEasing(transition) {
2182
2171
  }
2183
2172
  }
2184
2173
 
2185
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
2174
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
2186
2175
  var sampleDelta = 10;
2187
2176
  var NativeAnimationExtended = class extends NativeAnimation {
2188
2177
  constructor(options) {
@@ -2225,7 +2214,7 @@ var NativeAnimationExtended = class extends NativeAnimation {
2225
2214
  }
2226
2215
  };
2227
2216
 
2228
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
2217
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
2229
2218
  var isAnimatable = (value, name) => {
2230
2219
  if (name === "zIndex")
2231
2220
  return false;
@@ -2239,7 +2228,7 @@ var isAnimatable = (value, name) => {
2239
2228
  return false;
2240
2229
  };
2241
2230
 
2242
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
2231
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
2243
2232
  function hasKeyframesChanged(keyframes2) {
2244
2233
  const current = keyframes2[0];
2245
2234
  if (keyframes2.length === 1)
@@ -2266,24 +2255,22 @@ function canAnimate(keyframes2, name, type, velocity) {
2266
2255
  return hasKeyframesChanged(keyframes2) || (type === "spring" || isGenerator(type)) && velocity;
2267
2256
  }
2268
2257
 
2269
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
2258
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
2270
2259
  function makeAnimationInstant(options) {
2271
2260
  options.duration = 0;
2272
2261
  options.type = "keyframes";
2273
2262
  }
2274
2263
 
2275
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
2264
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
2276
2265
  var acceleratedValues = /* @__PURE__ */ new Set([
2277
2266
  "opacity",
2278
2267
  "clipPath",
2279
2268
  "filter",
2280
- "transform"
2281
- // TODO: Can be accelerated but currently disabled until https://issues.chromium.org/issues/41491098 is resolved
2282
- // or until we implement support for linear() easing.
2283
- // "background-color"
2269
+ "transform",
2270
+ "backgroundColor"
2284
2271
  ]);
2285
2272
 
2286
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
2273
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
2287
2274
  var browserColorFunctions = /^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;
2288
2275
  function hasBrowserOnlyColors(keyframes2) {
2289
2276
  for (let i = 0; i < keyframes2.length; i++) {
@@ -2294,7 +2281,7 @@ function hasBrowserOnlyColors(keyframes2) {
2294
2281
  return false;
2295
2282
  }
2296
2283
 
2297
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
2284
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
2298
2285
  var colorProperties = /* @__PURE__ */ new Set([
2299
2286
  "color",
2300
2287
  "backgroundColor",
@@ -2311,7 +2298,7 @@ var supportsWaapi = /* @__PURE__ */ memo(() => Object.hasOwnProperty.call(Elemen
2311
2298
  function supportsBrowserAnimation(options) {
2312
2299
  const { motionValue: motionValue2, name, repeatDelay, repeatType, damping, type, keyframes: keyframes2 } = options;
2313
2300
  const subject = motionValue2?.owner?.current;
2314
- if (!(subject instanceof HTMLElement)) {
2301
+ if (!(subject instanceof HTMLElement) && !(subject instanceof SVGElement)) {
2315
2302
  return false;
2316
2303
  }
2317
2304
  const { onUpdate, transformTemplate } = motionValue2.owner.getProps();
@@ -2326,7 +2313,7 @@ function supportsBrowserAnimation(options) {
2326
2313
  !onUpdate && !repeatDelay && repeatType !== "mirror" && damping !== 0 && type !== "inertia";
2327
2314
  }
2328
2315
 
2329
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
2316
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
2330
2317
  var MAX_RESOLVE_DELAY = 40;
2331
2318
  var AsyncMotionValueAnimation = class extends WithPromise {
2332
2319
  constructor({ autoplay = true, delay: delay2 = 0, type = "keyframes", repeat = 0, repeatDelay = 0, repeatType = "loop", keyframes: keyframes2, name, motionValue: motionValue2, element, ...options }) {
@@ -2467,7 +2454,7 @@ var AsyncMotionValueAnimation = class extends WithPromise {
2467
2454
  }
2468
2455
  };
2469
2456
 
2470
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
2457
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
2471
2458
  function calcChildStagger(children, child, delayChildren, staggerChildren = 0, staggerDirection = 1) {
2472
2459
  const index = Array.from(children).sort((a, b) => a.sortNodePosition(b)).indexOf(child);
2473
2460
  const numChildren = children.size;
@@ -2476,202 +2463,7 @@ function calcChildStagger(children, child, delayChildren, staggerChildren = 0, s
2476
2463
  return delayIsFunction ? delayChildren(index, numChildren) : staggerDirection === 1 ? index * staggerChildren : maxStaggerDuration - index * staggerChildren;
2477
2464
  }
2478
2465
 
2479
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2480
- var splitCSSVariableRegex = (
2481
- // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2482
- /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2483
- );
2484
- function parseCSSVariable(current) {
2485
- const match = splitCSSVariableRegex.exec(current);
2486
- if (!match)
2487
- return [,];
2488
- const [, token1, token2, fallback] = match;
2489
- return [`--${token1 ?? token2}`, fallback];
2490
- }
2491
- var maxDepth = 4;
2492
- function getVariableValue(current, element, depth = 1) {
2493
- invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2494
- const [token, fallback] = parseCSSVariable(current);
2495
- if (!token)
2496
- return;
2497
- const resolved = window.getComputedStyle(element).getPropertyValue(token);
2498
- if (resolved) {
2499
- const trimmed = resolved.trim();
2500
- return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2501
- }
2502
- return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2503
- }
2504
-
2505
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2506
- var underDampedSpring = {
2507
- type: "spring",
2508
- stiffness: 500,
2509
- damping: 25,
2510
- restSpeed: 10
2511
- };
2512
- var criticallyDampedSpring = (target) => ({
2513
- type: "spring",
2514
- stiffness: 550,
2515
- damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2516
- restSpeed: 10
2517
- });
2518
- var keyframesTransition = {
2519
- type: "keyframes",
2520
- duration: 0.8
2521
- };
2522
- var ease = {
2523
- type: "keyframes",
2524
- ease: [0.25, 0.1, 0.35, 1],
2525
- duration: 0.3
2526
- };
2527
- var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2528
- if (keyframes2.length > 2) {
2529
- return keyframesTransition;
2530
- } else if (transformProps.has(valueKey)) {
2531
- return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2532
- }
2533
- return ease;
2534
- };
2535
-
2536
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2537
- function resolveTransition(transition, parentTransition) {
2538
- if (transition?.inherit && parentTransition) {
2539
- const { inherit: _, ...rest } = transition;
2540
- return { ...parentTransition, ...rest };
2541
- }
2542
- return transition;
2543
- }
2544
-
2545
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2546
- function getValueTransition(transition, key) {
2547
- const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2548
- if (valueTransition !== transition) {
2549
- return resolveTransition(valueTransition, transition);
2550
- }
2551
- return valueTransition;
2552
- }
2553
-
2554
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2555
- var orchestrationKeys = /* @__PURE__ */ new Set([
2556
- "when",
2557
- "delay",
2558
- "delayChildren",
2559
- "staggerChildren",
2560
- "staggerDirection",
2561
- "repeat",
2562
- "repeatType",
2563
- "repeatDelay",
2564
- "from",
2565
- "elapsed"
2566
- ]);
2567
- function isTransitionDefined(transition) {
2568
- for (const key in transition) {
2569
- if (!orchestrationKeys.has(key))
2570
- return true;
2571
- }
2572
- return false;
2573
- }
2574
-
2575
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2576
- var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2577
- const valueTransition = getValueTransition(transition, name) || {};
2578
- const delay2 = valueTransition.delay || transition.delay || 0;
2579
- let { elapsed = 0 } = transition;
2580
- elapsed = elapsed - secondsToMilliseconds(delay2);
2581
- const options = {
2582
- keyframes: Array.isArray(target) ? target : [null, target],
2583
- ease: "easeOut",
2584
- velocity: value.getVelocity(),
2585
- ...valueTransition,
2586
- delay: -elapsed,
2587
- onUpdate: (v) => {
2588
- value.set(v);
2589
- valueTransition.onUpdate && valueTransition.onUpdate(v);
2590
- },
2591
- onComplete: () => {
2592
- onComplete();
2593
- valueTransition.onComplete && valueTransition.onComplete();
2594
- },
2595
- name,
2596
- motionValue: value,
2597
- element: isHandoff ? void 0 : element
2598
- };
2599
- if (!isTransitionDefined(valueTransition)) {
2600
- Object.assign(options, getDefaultTransition(name, options));
2601
- }
2602
- options.duration && (options.duration = secondsToMilliseconds(options.duration));
2603
- options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2604
- if (options.from !== void 0) {
2605
- options.keyframes[0] = options.from;
2606
- }
2607
- let shouldSkip = false;
2608
- if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2609
- makeAnimationInstant(options);
2610
- if (options.delay === 0) {
2611
- shouldSkip = true;
2612
- }
2613
- }
2614
- if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations) {
2615
- shouldSkip = true;
2616
- makeAnimationInstant(options);
2617
- options.delay = 0;
2618
- }
2619
- options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2620
- if (shouldSkip && !isHandoff && value.get() !== void 0) {
2621
- const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2622
- if (finalKeyframe !== void 0) {
2623
- frame.update(() => {
2624
- options.onUpdate(finalKeyframe);
2625
- options.onComplete();
2626
- });
2627
- return;
2628
- }
2629
- }
2630
- return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2631
- };
2632
-
2633
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2634
- function getValueState(visualElement) {
2635
- const state = [{}, {}];
2636
- visualElement?.values.forEach((value, key) => {
2637
- state[0][key] = value.get();
2638
- state[1][key] = value.getVelocity();
2639
- });
2640
- return state;
2641
- }
2642
- function resolveVariantFromProps(props, definition, custom, visualElement) {
2643
- if (typeof definition === "function") {
2644
- const [current, velocity] = getValueState(visualElement);
2645
- definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2646
- }
2647
- if (typeof definition === "string") {
2648
- definition = props.variants && props.variants[definition];
2649
- }
2650
- if (typeof definition === "function") {
2651
- const [current, velocity] = getValueState(visualElement);
2652
- definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2653
- }
2654
- return definition;
2655
- }
2656
-
2657
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2658
- function resolveVariant(visualElement, definition, custom) {
2659
- const props = visualElement.getProps();
2660
- return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2661
- }
2662
-
2663
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2664
- var positionalKeys = /* @__PURE__ */ new Set([
2665
- "width",
2666
- "height",
2667
- "top",
2668
- "left",
2669
- "right",
2670
- "bottom",
2671
- ...transformPropOrder
2672
- ]);
2673
-
2674
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/index.mjs
2466
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/index.mjs
2675
2467
  var MAX_VELOCITY_DELTA = 30;
2676
2468
  var isFloat = (value) => {
2677
2469
  return !isNaN(parseFloat(value));
@@ -2922,46 +2714,241 @@ var MotionValue = class {
2922
2714
  }
2923
2715
  this.clearAnimation();
2924
2716
  }
2925
- /**
2926
- * Returns `true` if this value is currently animating.
2927
- *
2928
- * @public
2929
- */
2930
- isAnimating() {
2931
- return !!this.animation;
2717
+ /**
2718
+ * Returns `true` if this value is currently animating.
2719
+ *
2720
+ * @public
2721
+ */
2722
+ isAnimating() {
2723
+ return !!this.animation;
2724
+ }
2725
+ clearAnimation() {
2726
+ delete this.animation;
2727
+ }
2728
+ /**
2729
+ * Destroy and clean up subscribers to this `MotionValue`.
2730
+ *
2731
+ * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2732
+ * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2733
+ * created a `MotionValue` via the `motionValue` function.
2734
+ *
2735
+ * @public
2736
+ */
2737
+ destroy() {
2738
+ this.dependents?.clear();
2739
+ this.events.destroy?.notify();
2740
+ this.clearListeners();
2741
+ this.stop();
2742
+ if (this.stopPassiveEffect) {
2743
+ this.stopPassiveEffect();
2744
+ }
2745
+ }
2746
+ };
2747
+ function motionValue(init, options) {
2748
+ return new MotionValue(init, options);
2749
+ }
2750
+
2751
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2752
+ function resolveTransition(transition, parentTransition) {
2753
+ if (transition?.inherit && parentTransition) {
2754
+ const { inherit: _, ...rest } = transition;
2755
+ return { ...parentTransition, ...rest };
2756
+ }
2757
+ return transition;
2758
+ }
2759
+
2760
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2761
+ function getValueTransition(transition, key) {
2762
+ const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2763
+ if (valueTransition !== transition) {
2764
+ return resolveTransition(valueTransition, transition);
2765
+ }
2766
+ return valueTransition;
2767
+ }
2768
+
2769
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2770
+ var underDampedSpring = {
2771
+ type: "spring",
2772
+ stiffness: 500,
2773
+ damping: 25,
2774
+ restSpeed: 10
2775
+ };
2776
+ var criticallyDampedSpring = (target) => ({
2777
+ type: "spring",
2778
+ stiffness: 550,
2779
+ damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2780
+ restSpeed: 10
2781
+ });
2782
+ var keyframesTransition = {
2783
+ type: "keyframes",
2784
+ duration: 0.8
2785
+ };
2786
+ var ease = {
2787
+ type: "keyframes",
2788
+ ease: [0.25, 0.1, 0.35, 1],
2789
+ duration: 0.3
2790
+ };
2791
+ var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2792
+ if (keyframes2.length > 2) {
2793
+ return keyframesTransition;
2794
+ } else if (transformProps.has(valueKey)) {
2795
+ return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2796
+ }
2797
+ return ease;
2798
+ };
2799
+
2800
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2801
+ var orchestrationKeys = /* @__PURE__ */ new Set([
2802
+ "when",
2803
+ "delay",
2804
+ "delayChildren",
2805
+ "staggerChildren",
2806
+ "staggerDirection",
2807
+ "repeat",
2808
+ "repeatType",
2809
+ "repeatDelay",
2810
+ "from",
2811
+ "elapsed"
2812
+ ]);
2813
+ function isTransitionDefined(transition) {
2814
+ for (const key in transition) {
2815
+ if (!orchestrationKeys.has(key))
2816
+ return true;
2817
+ }
2818
+ return false;
2819
+ }
2820
+
2821
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2822
+ var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2823
+ const valueTransition = getValueTransition(transition, name) || {};
2824
+ const delay2 = valueTransition.delay || transition.delay || 0;
2825
+ let { elapsed = 0 } = transition;
2826
+ elapsed = elapsed - secondsToMilliseconds(delay2);
2827
+ const options = {
2828
+ keyframes: Array.isArray(target) ? target : [null, target],
2829
+ ease: "easeOut",
2830
+ velocity: value.getVelocity(),
2831
+ ...valueTransition,
2832
+ delay: -elapsed,
2833
+ onUpdate: (v) => {
2834
+ value.set(v);
2835
+ valueTransition.onUpdate && valueTransition.onUpdate(v);
2836
+ },
2837
+ onComplete: () => {
2838
+ onComplete();
2839
+ valueTransition.onComplete && valueTransition.onComplete();
2840
+ },
2841
+ name,
2842
+ motionValue: value,
2843
+ element: isHandoff ? void 0 : element
2844
+ };
2845
+ if (!isTransitionDefined(valueTransition)) {
2846
+ Object.assign(options, getDefaultTransition(name, options));
2847
+ }
2848
+ options.duration && (options.duration = secondsToMilliseconds(options.duration));
2849
+ options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2850
+ if (options.from !== void 0) {
2851
+ options.keyframes[0] = options.from;
2852
+ }
2853
+ let shouldSkip = false;
2854
+ if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2855
+ makeAnimationInstant(options);
2856
+ if (options.delay === 0) {
2857
+ shouldSkip = true;
2858
+ }
2859
+ }
2860
+ if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations || valueTransition.skipAnimations) {
2861
+ shouldSkip = true;
2862
+ makeAnimationInstant(options);
2863
+ options.delay = 0;
2864
+ }
2865
+ options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2866
+ if (shouldSkip && !isHandoff && value.get() !== void 0) {
2867
+ const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2868
+ if (finalKeyframe !== void 0) {
2869
+ frame.update(() => {
2870
+ options.onUpdate(finalKeyframe);
2871
+ options.onComplete();
2872
+ });
2873
+ return;
2874
+ }
2875
+ }
2876
+ return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2877
+ };
2878
+
2879
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2880
+ var splitCSSVariableRegex = (
2881
+ // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2882
+ /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2883
+ );
2884
+ function parseCSSVariable(current) {
2885
+ const match = splitCSSVariableRegex.exec(current);
2886
+ if (!match)
2887
+ return [,];
2888
+ const [, token1, token2, fallback] = match;
2889
+ return [`--${token1 ?? token2}`, fallback];
2890
+ }
2891
+ var maxDepth = 4;
2892
+ function getVariableValue(current, element, depth = 1) {
2893
+ invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2894
+ const [token, fallback] = parseCSSVariable(current);
2895
+ if (!token)
2896
+ return;
2897
+ const resolved = window.getComputedStyle(element).getPropertyValue(token);
2898
+ if (resolved) {
2899
+ const trimmed = resolved.trim();
2900
+ return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2901
+ }
2902
+ return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2903
+ }
2904
+
2905
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2906
+ function getValueState(visualElement) {
2907
+ const state = [{}, {}];
2908
+ visualElement?.values.forEach((value, key) => {
2909
+ state[0][key] = value.get();
2910
+ state[1][key] = value.getVelocity();
2911
+ });
2912
+ return state;
2913
+ }
2914
+ function resolveVariantFromProps(props, definition, custom, visualElement) {
2915
+ if (typeof definition === "function") {
2916
+ const [current, velocity] = getValueState(visualElement);
2917
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2932
2918
  }
2933
- clearAnimation() {
2934
- delete this.animation;
2919
+ if (typeof definition === "string") {
2920
+ definition = props.variants && props.variants[definition];
2935
2921
  }
2936
- /**
2937
- * Destroy and clean up subscribers to this `MotionValue`.
2938
- *
2939
- * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2940
- * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2941
- * created a `MotionValue` via the `motionValue` function.
2942
- *
2943
- * @public
2944
- */
2945
- destroy() {
2946
- this.dependents?.clear();
2947
- this.events.destroy?.notify();
2948
- this.clearListeners();
2949
- this.stop();
2950
- if (this.stopPassiveEffect) {
2951
- this.stopPassiveEffect();
2952
- }
2922
+ if (typeof definition === "function") {
2923
+ const [current, velocity] = getValueState(visualElement);
2924
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2953
2925
  }
2954
- };
2955
- function motionValue(init, options) {
2956
- return new MotionValue(init, options);
2926
+ return definition;
2927
+ }
2928
+
2929
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2930
+ function resolveVariant(visualElement, definition, custom) {
2931
+ const props = visualElement.getProps();
2932
+ return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2957
2933
  }
2958
2934
 
2959
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2935
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2936
+ var positionalKeys = /* @__PURE__ */ new Set([
2937
+ "width",
2938
+ "height",
2939
+ "top",
2940
+ "left",
2941
+ "right",
2942
+ "bottom",
2943
+ ...transformPropOrder
2944
+ ]);
2945
+
2946
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2960
2947
  var isKeyframesTarget = (v) => {
2961
2948
  return Array.isArray(v);
2962
2949
  };
2963
2950
 
2964
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2951
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2965
2952
  function setMotionValue(visualElement, key, value) {
2966
2953
  if (visualElement.hasValue(key)) {
2967
2954
  visualElement.getValue(key).set(value);
@@ -2982,15 +2969,15 @@ function setTarget(visualElement, definition) {
2982
2969
  }
2983
2970
  }
2984
2971
 
2985
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2972
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2986
2973
  var isMotionValue = (value) => Boolean(value && value.getVelocity);
2987
2974
 
2988
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2975
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2989
2976
  function isWillChangeMotionValue(value) {
2990
2977
  return Boolean(isMotionValue(value) && value.add);
2991
2978
  }
2992
2979
 
2993
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2980
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2994
2981
  function addValueToWillChange(visualElement, key) {
2995
2982
  const willChange = visualElement.getValue("willChange");
2996
2983
  if (isWillChangeMotionValue(willChange)) {
@@ -3002,21 +2989,22 @@ function addValueToWillChange(visualElement, key) {
3002
2989
  }
3003
2990
  }
3004
2991
 
3005
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2992
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
3006
2993
  function camelToDash(str) {
3007
2994
  return str.replace(/([A-Z])/g, (match) => `-${match.toLowerCase()}`);
3008
2995
  }
3009
2996
 
3010
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2997
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
3011
2998
  var optimizedAppearDataId = "framerAppearId";
3012
2999
  var optimizedAppearDataAttribute = "data-" + camelToDash(optimizedAppearDataId);
3013
3000
 
3014
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
3001
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
3015
3002
  function getOptimisedAppearId(visualElement) {
3016
3003
  return visualElement.props[optimizedAppearDataAttribute];
3017
3004
  }
3018
3005
 
3019
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
3006
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
3007
+ var isBrowser2 = typeof window !== "undefined";
3020
3008
  function shouldBlockAnimation({ protectedKeys, needsAnimating }, key) {
3021
3009
  const shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true;
3022
3010
  needsAnimating[key] = false;
@@ -3027,10 +3015,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3027
3015
  const defaultTransition = visualElement.getDefaultTransition();
3028
3016
  transition = transition ? resolveTransition(transition, defaultTransition) : defaultTransition;
3029
3017
  const reduceMotion = transition?.reduceMotion;
3018
+ const skipAnimations = transition?.skipAnimations;
3030
3019
  if (transitionOverride)
3031
3020
  transition = transitionOverride;
3032
3021
  const animations2 = [];
3033
3022
  const animationTypeState = type && visualElement.animationState && visualElement.animationState.getState()[type];
3023
+ const path = transition?.path;
3024
+ if (path) {
3025
+ path.animateVisualElement(visualElement, target, transition, delay2, animations2);
3026
+ }
3034
3027
  for (const key in target) {
3035
3028
  const value = visualElement.getValue(key, visualElement.latestValues[key] ?? null);
3036
3029
  const valueTarget = target[key];
@@ -3041,13 +3034,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3041
3034
  delay: delay2,
3042
3035
  ...getValueTransition(transition || {}, key)
3043
3036
  };
3037
+ if (skipAnimations)
3038
+ valueTransition.skipAnimations = true;
3044
3039
  const currentValue = value.get();
3045
3040
  if (currentValue !== void 0 && !value.isAnimating() && !Array.isArray(valueTarget) && valueTarget === currentValue && !valueTransition.velocity) {
3046
3041
  frame.update(() => value.set(valueTarget));
3047
3042
  continue;
3048
3043
  }
3049
3044
  let isHandoff = false;
3050
- if (window.MotionHandoffAnimation) {
3045
+ if (isBrowser2 && window.MotionHandoffAnimation) {
3051
3046
  const appearId = getOptimisedAppearId(visualElement);
3052
3047
  if (appearId) {
3053
3048
  const startTime = window.MotionHandoffAnimation(appearId, key, frame);
@@ -3078,7 +3073,7 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3078
3073
  return animations2;
3079
3074
  }
3080
3075
 
3081
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3076
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3082
3077
  function animateVariant(visualElement, variant, options = {}) {
3083
3078
  const resolved = resolveVariant(visualElement, variant, options.type === "exit" ? visualElement.presenceContext?.custom : void 0);
3084
3079
  let { transition = visualElement.getDefaultTransition() || {} } = resolved || {};
@@ -3110,7 +3105,7 @@ function animateChildren(visualElement, variant, delay2 = 0, delayChildren = 0,
3110
3105
  return Promise.all(animations2);
3111
3106
  }
3112
3107
 
3113
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3108
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3114
3109
  function animateVisualElement(visualElement, definition, options = {}) {
3115
3110
  visualElement.notify("AnimationStart", definition);
3116
3111
  let animation;
@@ -3128,20 +3123,20 @@ function animateVisualElement(visualElement, definition, options = {}) {
3128
3123
  });
3129
3124
  }
3130
3125
 
3131
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/auto.mjs
3126
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/auto.mjs
3132
3127
  var auto = {
3133
3128
  test: (v) => v === "auto",
3134
3129
  parse: (v) => v
3135
3130
  };
3136
3131
 
3137
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/test.mjs
3132
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/test.mjs
3138
3133
  var testValueType = (v) => (type) => type.test(v);
3139
3134
 
3140
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3135
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3141
3136
  var dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto];
3142
3137
  var findDimensionValueType = (v) => dimensionValueTypes.find(testValueType(v));
3143
3138
 
3144
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3139
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3145
3140
  function isNone(value) {
3146
3141
  if (typeof value === "number") {
3147
3142
  return value === 0;
@@ -3152,7 +3147,7 @@ function isNone(value) {
3152
3147
  }
3153
3148
  }
3154
3149
 
3155
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3150
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3156
3151
  var maxDefaults = /* @__PURE__ */ new Set(["brightness", "contrast", "saturate", "opacity"]);
3157
3152
  function applyDefaultFilter(v) {
3158
3153
  const [name, value] = v.slice(0, -1).split("(");
@@ -3176,7 +3171,7 @@ var filter = {
3176
3171
  }
3177
3172
  };
3178
3173
 
3179
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3174
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3180
3175
  var mask = {
3181
3176
  ...complex,
3182
3177
  getAnimatableNone: (v) => {
@@ -3186,15 +3181,21 @@ var mask = {
3186
3181
  }
3187
3182
  };
3188
3183
 
3189
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/int.mjs
3184
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/int.mjs
3190
3185
  var int = {
3191
3186
  ...number,
3192
3187
  transform: Math.round
3193
3188
  };
3194
3189
 
3195
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3190
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3196
3191
  var transformValueTypes = {
3197
3192
  rotate: degrees,
3193
+ /**
3194
+ * Internal channel for `transition.path` orientToPath. Composed onto
3195
+ * `rotate` at the transform-build sites so the user's `rotate` is
3196
+ * never read or overwritten. Not part of `transformPropOrder`.
3197
+ */
3198
+ pathRotation: degrees,
3198
3199
  rotateX: degrees,
3199
3200
  rotateY: degrees,
3200
3201
  rotateZ: degrees,
@@ -3220,7 +3221,7 @@ var transformValueTypes = {
3220
3221
  originZ: px
3221
3222
  };
3222
3223
 
3223
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3224
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3224
3225
  var numberValueTypes = {
3225
3226
  // Border props
3226
3227
  borderWidth: px,
@@ -3285,7 +3286,7 @@ var numberValueTypes = {
3285
3286
  numOctaves: int
3286
3287
  };
3287
3288
 
3288
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3289
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3289
3290
  var defaultValueTypes = {
3290
3291
  ...numberValueTypes,
3291
3292
  // Color props
@@ -3307,7 +3308,7 @@ var defaultValueTypes = {
3307
3308
  };
3308
3309
  var getDefaultValueType = (key) => defaultValueTypes[key];
3309
3310
 
3310
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3311
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3311
3312
  var customTypes = /* @__PURE__ */ new Set([filter, mask]);
3312
3313
  function getAnimatableNone2(key, value) {
3313
3314
  let defaultValueType = getDefaultValueType(key);
@@ -3316,7 +3317,7 @@ function getAnimatableNone2(key, value) {
3316
3317
  return defaultValueType.getAnimatableNone ? defaultValueType.getAnimatableNone(value) : void 0;
3317
3318
  }
3318
3319
 
3319
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3320
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3320
3321
  var invalidTemplates = /* @__PURE__ */ new Set(["auto", "none", "0"]);
3321
3322
  function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name) {
3322
3323
  let i = 0;
@@ -3335,7 +3336,7 @@ function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, n
3335
3336
  }
3336
3337
  }
3337
3338
 
3338
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3339
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3339
3340
  var DOMKeyframesResolver = class extends KeyframeResolver {
3340
3341
  constructor(unresolvedKeyframes, onComplete, name, motionValue2, element) {
3341
3342
  super(unresolvedKeyframes, onComplete, name, motionValue2, element, true);
@@ -3433,7 +3434,15 @@ var DOMKeyframesResolver = class extends KeyframeResolver {
3433
3434
  }
3434
3435
  };
3435
3436
 
3436
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3437
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/border-radius.mjs
3438
+ var cornerRadiusProps = [
3439
+ "borderTopLeftRadius",
3440
+ "borderTopRightRadius",
3441
+ "borderBottomRightRadius",
3442
+ "borderBottomLeftRadius"
3443
+ ];
3444
+
3445
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3437
3446
  function resolveElements(elementOrSelector, scope, selectorCache) {
3438
3447
  if (elementOrSelector == null) {
3439
3448
  return [];
@@ -3448,20 +3457,20 @@ function resolveElements(elementOrSelector, scope, selectorCache) {
3448
3457
  return Array.from(elementOrSelector).filter((element) => element != null);
3449
3458
  }
3450
3459
 
3451
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3460
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3452
3461
  var getValueAsType = (value, type) => {
3453
3462
  return type && typeof value === "number" ? type.transform(value) : value;
3454
3463
  };
3455
3464
 
3456
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3465
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3457
3466
  function isHTMLElement(element) {
3458
3467
  return isObject(element) && "offsetHeight" in element && !("ownerSVGElement" in element);
3459
3468
  }
3460
3469
 
3461
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3470
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3462
3471
  var { schedule: microtask} = /* @__PURE__ */ createRenderBatcher(queueMicrotask, false);
3463
3472
 
3464
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3473
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3465
3474
  var isDragging = {
3466
3475
  x: false,
3467
3476
  y: false
@@ -3470,7 +3479,7 @@ function isDragActive() {
3470
3479
  return isDragging.x || isDragging.y;
3471
3480
  }
3472
3481
 
3473
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3482
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3474
3483
  function setDragLock(axis) {
3475
3484
  if (axis === "x" || axis === "y") {
3476
3485
  if (isDragging[axis]) {
@@ -3493,7 +3502,7 @@ function setDragLock(axis) {
3493
3502
  }
3494
3503
  }
3495
3504
 
3496
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3505
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3497
3506
  function setupGesture(elementOrSelector, options) {
3498
3507
  const elements = resolveElements(elementOrSelector);
3499
3508
  const gestureAbortController = new AbortController();
@@ -3506,7 +3515,7 @@ function setupGesture(elementOrSelector, options) {
3506
3515
  return [elements, eventOptions, cancel];
3507
3516
  }
3508
3517
 
3509
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/hover.mjs
3518
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/hover.mjs
3510
3519
  function isValidHover(event) {
3511
3520
  return !(event.pointerType === "touch" || isDragActive());
3512
3521
  }
@@ -3565,7 +3574,7 @@ function hover(elementOrSelector, onHoverStart, options = {}) {
3565
3574
  return cancel;
3566
3575
  }
3567
3576
 
3568
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3577
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3569
3578
  var isNodeOrChild = (parent, child) => {
3570
3579
  if (!child) {
3571
3580
  return false;
@@ -3576,7 +3585,7 @@ var isNodeOrChild = (parent, child) => {
3576
3585
  }
3577
3586
  };
3578
3587
 
3579
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3588
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3580
3589
  var isPrimaryPointer = (event) => {
3581
3590
  if (event.pointerType === "mouse") {
3582
3591
  return typeof event.button !== "number" || event.button <= 0;
@@ -3585,7 +3594,7 @@ var isPrimaryPointer = (event) => {
3585
3594
  }
3586
3595
  };
3587
3596
 
3588
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3597
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3589
3598
  var keyboardAccessibleElements = /* @__PURE__ */ new Set([
3590
3599
  "BUTTON",
3591
3600
  "INPUT",
@@ -3601,10 +3610,10 @@ function isElementTextInput(element) {
3601
3610
  return textInputElements.has(element.tagName) || element.isContentEditable === true;
3602
3611
  }
3603
3612
 
3604
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3613
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3605
3614
  var isPressing = /* @__PURE__ */ new WeakSet();
3606
3615
 
3607
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3616
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3608
3617
  function filterEvents(callback) {
3609
3618
  return (event) => {
3610
3619
  if (event.key !== "Enter")
@@ -3634,7 +3643,7 @@ var enableKeyboardPress = (focusEvent, eventOptions) => {
3634
3643
  element.addEventListener("blur", () => element.removeEventListener("keydown", handleKeydown), eventOptions);
3635
3644
  };
3636
3645
 
3637
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3646
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3638
3647
  function isValidPressEvent(event) {
3639
3648
  return isPrimaryPointer(event) && !isDragActive();
3640
3649
  }
@@ -3652,9 +3661,10 @@ function press(targetOrSelector, onPressStart, options = {}) {
3652
3661
  claimedPointerDownEvents.add(startEvent);
3653
3662
  }
3654
3663
  const onPressEnd = onPressStart(target, startEvent);
3664
+ const endEventOptions = { ...eventOptions, capture: true };
3655
3665
  const onPointerEnd = (endEvent, success) => {
3656
- window.removeEventListener("pointerup", onPointerUp);
3657
- window.removeEventListener("pointercancel", onPointerCancel);
3666
+ window.removeEventListener("pointerup", onPointerUp, endEventOptions);
3667
+ window.removeEventListener("pointercancel", onPointerCancel, endEventOptions);
3658
3668
  if (isPressing.has(target)) {
3659
3669
  isPressing.delete(target);
3660
3670
  }
@@ -3671,8 +3681,8 @@ function press(targetOrSelector, onPressStart, options = {}) {
3671
3681
  const onPointerCancel = (cancelEvent) => {
3672
3682
  onPointerEnd(cancelEvent, false);
3673
3683
  };
3674
- window.addEventListener("pointerup", onPointerUp, eventOptions);
3675
- window.addEventListener("pointercancel", onPointerCancel, eventOptions);
3684
+ window.addEventListener("pointerup", onPointerUp, endEventOptions);
3685
+ window.addEventListener("pointercancel", onPointerCancel, endEventOptions);
3676
3686
  };
3677
3687
  targets.forEach((target) => {
3678
3688
  const pointerDownTarget = options.useGlobalTarget ? window : target;
@@ -3687,12 +3697,12 @@ function press(targetOrSelector, onPressStart, options = {}) {
3687
3697
  return cancelEvents;
3688
3698
  }
3689
3699
 
3690
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3700
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3691
3701
  function isSVGElement(element) {
3692
3702
  return isObject(element) && "ownerSVGElement" in element;
3693
3703
  }
3694
3704
 
3695
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3705
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3696
3706
  var resizeHandlers = /* @__PURE__ */ new WeakMap();
3697
3707
  var observer;
3698
3708
  var getSize = (borderBoxAxis, svgAxis, htmlAxis) => (target, borderBoxSize) => {
@@ -3750,7 +3760,7 @@ function resizeElement(target, handler) {
3750
3760
  };
3751
3761
  }
3752
3762
 
3753
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3763
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3754
3764
  var windowCallbacks = /* @__PURE__ */ new Set();
3755
3765
  var windowResizeHandler;
3756
3766
  function createWindowResizeHandler() {
@@ -3780,17 +3790,17 @@ function resizeWindow(callback) {
3780
3790
  };
3781
3791
  }
3782
3792
 
3783
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/index.mjs
3793
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/index.mjs
3784
3794
  function resize(a, b) {
3785
3795
  return typeof a === "function" ? resizeWindow(a) : resizeElement(a, b);
3786
3796
  }
3787
3797
 
3788
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3798
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3789
3799
  function isSVGSVGElement(element) {
3790
3800
  return isSVGElement(element) && element.tagName === "svg";
3791
3801
  }
3792
3802
 
3793
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/transform.mjs
3803
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/transform.mjs
3794
3804
  function transform(...args) {
3795
3805
  const useImmediate = !Array.isArray(args[0]);
3796
3806
  const argOffset = useImmediate ? 0 : -1;
@@ -3802,11 +3812,11 @@ function transform(...args) {
3802
3812
  return useImmediate ? interpolator(inputValue) : interpolator;
3803
3813
  }
3804
3814
 
3805
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3815
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3806
3816
  var valueTypes = [...dimensionValueTypes, color, complex];
3807
3817
  var findValueType = (v) => valueTypes.find(testValueType(v));
3808
3818
 
3809
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3819
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3810
3820
  var createAxisDelta = () => ({
3811
3821
  translate: 0,
3812
3822
  scale: 1,
@@ -3823,20 +3833,20 @@ var createBox = () => ({
3823
3833
  y: createAxis()
3824
3834
  });
3825
3835
 
3826
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/store.mjs
3836
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/store.mjs
3827
3837
  var visualElementStore = /* @__PURE__ */ new WeakMap();
3828
3838
 
3829
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3839
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3830
3840
  function isAnimationControls(v) {
3831
3841
  return v !== null && typeof v === "object" && typeof v.start === "function";
3832
3842
  }
3833
3843
 
3834
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3844
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3835
3845
  function isVariantLabel(v) {
3836
3846
  return typeof v === "string" || Array.isArray(v);
3837
3847
  }
3838
3848
 
3839
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3849
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3840
3850
  var variantPriorityOrder = [
3841
3851
  "animate",
3842
3852
  "whileInView",
@@ -3848,7 +3858,7 @@ var variantPriorityOrder = [
3848
3858
  ];
3849
3859
  var variantProps = ["initial", ...variantPriorityOrder];
3850
3860
 
3851
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3861
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3852
3862
  function isControllingVariants(props) {
3853
3863
  return isAnimationControls(props.animate) || variantProps.some((name) => isVariantLabel(props[name]));
3854
3864
  }
@@ -3856,7 +3866,7 @@ function isVariantNode(props) {
3856
3866
  return Boolean(isControllingVariants(props) || props.variants);
3857
3867
  }
3858
3868
 
3859
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3869
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3860
3870
  function updateMotionValuesFromProps(element, next, prev) {
3861
3871
  for (const key in next) {
3862
3872
  const nextValue = next[key];
@@ -3886,15 +3896,15 @@ function updateMotionValuesFromProps(element, next, prev) {
3886
3896
  return next;
3887
3897
  }
3888
3898
 
3889
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3899
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3890
3900
  var prefersReducedMotion = { current: null };
3891
3901
  var hasReducedMotionListener = { current: false };
3892
3902
 
3893
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3894
- var isBrowser2 = typeof window !== "undefined";
3903
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3904
+ var isBrowser3 = typeof window !== "undefined";
3895
3905
  function initPrefersReducedMotion() {
3896
3906
  hasReducedMotionListener.current = true;
3897
- if (!isBrowser2)
3907
+ if (!isBrowser3)
3898
3908
  return;
3899
3909
  if (window.matchMedia) {
3900
3910
  const motionMediaQuery = window.matchMedia("(prefers-reduced-motion)");
@@ -3906,7 +3916,7 @@ function initPrefersReducedMotion() {
3906
3916
  }
3907
3917
  }
3908
3918
 
3909
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3919
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3910
3920
  var propEventHandlers = [
3911
3921
  "AnimationStart",
3912
3922
  "AnimationComplete",
@@ -4095,8 +4105,6 @@ var VisualElement = class {
4095
4105
  removeOnChange();
4096
4106
  if (removeSyncCheck)
4097
4107
  removeSyncCheck();
4098
- if (value.owner)
4099
- value.stop();
4100
4108
  });
4101
4109
  }
4102
4110
  sortNodePosition(other) {
@@ -4307,7 +4315,7 @@ var VisualElement = class {
4307
4315
  }
4308
4316
  };
4309
4317
 
4310
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4318
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4311
4319
  var DOMVisualElement = class extends VisualElement {
4312
4320
  constructor() {
4313
4321
  super(...arguments);
@@ -4340,7 +4348,7 @@ var DOMVisualElement = class extends VisualElement {
4340
4348
  }
4341
4349
  };
4342
4350
 
4343
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/Feature.mjs
4351
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/Feature.mjs
4344
4352
  var Feature = class {
4345
4353
  constructor(node) {
4346
4354
  this.isMounted = false;
@@ -4350,7 +4358,7 @@ var Feature = class {
4350
4358
  }
4351
4359
  };
4352
4360
 
4353
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4361
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4354
4362
  function convertBoundingBoxToBox({ top, left, right, bottom }) {
4355
4363
  return {
4356
4364
  x: { min: left, max: right },
@@ -4373,7 +4381,7 @@ function transformBoxPoints(point, transformPoint2) {
4373
4381
  };
4374
4382
  }
4375
4383
 
4376
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4384
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4377
4385
  function isIdentityScale(scale2) {
4378
4386
  return scale2 === void 0 || scale2 === 1;
4379
4387
  }
@@ -4390,7 +4398,7 @@ function is2DTranslate(value) {
4390
4398
  return value && value !== "0%";
4391
4399
  }
4392
4400
 
4393
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4401
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4394
4402
  function scalePoint(point, scale2, originPoint) {
4395
4403
  const distanceFromOrigin = point - originPoint;
4396
4404
  const scaled = scale2 * distanceFromOrigin;
@@ -4466,7 +4474,7 @@ function transformBox(box, transform2, sourceBox) {
4466
4474
  transformAxis(box.y, resolveAxisTranslate(transform2.y, resolveBox.y), transform2.scaleY, transform2.scale, transform2.originY);
4467
4475
  }
4468
4476
 
4469
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4477
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4470
4478
  function measureViewportBox(instance, transformPoint2) {
4471
4479
  return convertBoundingBoxToBox(transformBoxPoints(instance.getBoundingClientRect(), transformPoint2));
4472
4480
  }
@@ -4480,7 +4488,7 @@ function measurePageBox(element, rootProjectionNode2, transformPagePoint) {
4480
4488
  return viewportBox;
4481
4489
  }
4482
4490
 
4483
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4491
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4484
4492
  var translateAlias = {
4485
4493
  x: "translateX",
4486
4494
  y: "translateY",
@@ -4515,6 +4523,11 @@ function buildTransform(latestValues, transform2, transformTemplate) {
4515
4523
  }
4516
4524
  }
4517
4525
  }
4526
+ const pathRotation = latestValues.pathRotation;
4527
+ if (pathRotation) {
4528
+ transformIsDefault = false;
4529
+ transformString += `rotate(${getValueAsType(pathRotation, numberValueTypes.pathRotation)}) `;
4530
+ }
4518
4531
  transformString = transformString.trim();
4519
4532
  if (transformTemplate) {
4520
4533
  transformString = transformTemplate(transform2, transformIsDefault ? "" : transformString);
@@ -4524,7 +4537,7 @@ function buildTransform(latestValues, transform2, transformTemplate) {
4524
4537
  return transformString;
4525
4538
  }
4526
4539
 
4527
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4540
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4528
4541
  function buildHTMLStyles(state, latestValues, transformTemplate) {
4529
4542
  const { style, vars, transformOrigin } = state;
4530
4543
  let hasTransform2 = false;
@@ -4560,7 +4573,7 @@ function buildHTMLStyles(state, latestValues, transformTemplate) {
4560
4573
  }
4561
4574
  }
4562
4575
 
4563
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4576
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4564
4577
  function renderHTML(element, { style, vars }, styleProp, projection) {
4565
4578
  const elementStyle = element.style;
4566
4579
  let key;
@@ -4573,7 +4586,7 @@ function renderHTML(element, { style, vars }, styleProp, projection) {
4573
4586
  }
4574
4587
  }
4575
4588
 
4576
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4589
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4577
4590
  function pixelsToPercent(pixels, axis) {
4578
4591
  if (axis.max === axis.min)
4579
4592
  return 0;
@@ -4596,7 +4609,7 @@ var correctBorderRadius = {
4596
4609
  }
4597
4610
  };
4598
4611
 
4599
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4612
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4600
4613
  var correctBoxShadow = {
4601
4614
  correct: (latest, { treeScale, projectionDelta }) => {
4602
4615
  const original = latest;
@@ -4618,16 +4631,11 @@ var correctBoxShadow = {
4618
4631
  }
4619
4632
  };
4620
4633
 
4621
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4634
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4622
4635
  var scaleCorrectors = {
4623
4636
  borderRadius: {
4624
4637
  ...correctBorderRadius,
4625
- applyTo: [
4626
- "borderTopLeftRadius",
4627
- "borderTopRightRadius",
4628
- "borderBottomLeftRadius",
4629
- "borderBottomRightRadius"
4630
- ]
4638
+ applyTo: [...cornerRadiusProps]
4631
4639
  },
4632
4640
  borderTopLeftRadius: correctBorderRadius,
4633
4641
  borderTopRightRadius: correctBorderRadius,
@@ -4636,12 +4644,12 @@ var scaleCorrectors = {
4636
4644
  boxShadow: correctBoxShadow
4637
4645
  };
4638
4646
 
4639
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4647
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4640
4648
  function isForcedMotionValue(key, { layout: layout2, layoutId }) {
4641
4649
  return transformProps.has(key) || key.startsWith("origin") || (layout2 || layoutId !== void 0) && (!!scaleCorrectors[key] || key === "opacity");
4642
4650
  }
4643
4651
 
4644
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4652
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4645
4653
  function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4646
4654
  const style = props.style;
4647
4655
  const prevStyle = prevProps?.style;
@@ -4656,7 +4664,7 @@ function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4656
4664
  return newValues;
4657
4665
  }
4658
4666
 
4659
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4667
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4660
4668
  function getComputedStyle2(element) {
4661
4669
  return window.getComputedStyle(element);
4662
4670
  }
@@ -4666,6 +4674,10 @@ var HTMLVisualElement = class extends DOMVisualElement {
4666
4674
  this.type = "html";
4667
4675
  this.renderInstance = renderHTML;
4668
4676
  }
4677
+ mount(instance) {
4678
+ invariant(Boolean(instance.style), "motion.create() components must forward their ref to a HTML or SVG element", "custom-component-ref");
4679
+ super.mount(instance);
4680
+ }
4669
4681
  readValueFromInstance(instance, key) {
4670
4682
  if (transformProps.has(key)) {
4671
4683
  return this.projection?.isProjecting ? defaultTransformValue(key) : readTransformValue(instance, key);
@@ -4686,7 +4698,7 @@ var HTMLVisualElement = class extends DOMVisualElement {
4686
4698
  }
4687
4699
  };
4688
4700
 
4689
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4701
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4690
4702
  var dashKeys = {
4691
4703
  offset: "stroke-dashoffset",
4692
4704
  array: "stroke-dasharray"
@@ -4702,8 +4714,10 @@ function buildSVGPath(attrs, length, spacing = 1, offset = 0, useDashCase = true
4702
4714
  attrs[keys.array] = `${length} ${spacing}`;
4703
4715
  }
4704
4716
 
4705
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4706
- var cssMotionPathProperties = [
4717
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4718
+ var cssStyleProperties = [
4719
+ "transform",
4720
+ "opacity",
4707
4721
  "offsetDistance",
4708
4722
  "offsetPath",
4709
4723
  "offsetRotate",
@@ -4729,9 +4743,11 @@ function buildSVGAttrs(state, {
4729
4743
  state.attrs = state.style;
4730
4744
  state.style = {};
4731
4745
  const { attrs, style } = state;
4732
- if (attrs.transform) {
4733
- style.transform = attrs.transform;
4734
- delete attrs.transform;
4746
+ for (const key of cssStyleProperties) {
4747
+ if (attrs[key] !== void 0) {
4748
+ style[key] = attrs[key];
4749
+ delete attrs[key];
4750
+ }
4735
4751
  }
4736
4752
  if (style.transform || attrs.transformOrigin) {
4737
4753
  style.transformOrigin = attrs.transformOrigin ?? "50% 50%";
@@ -4741,12 +4757,6 @@ function buildSVGAttrs(state, {
4741
4757
  style.transformBox = styleProp?.transformBox ?? "fill-box";
4742
4758
  delete attrs.transformBox;
4743
4759
  }
4744
- for (const key of cssMotionPathProperties) {
4745
- if (attrs[key] !== void 0) {
4746
- style[key] = attrs[key];
4747
- delete attrs[key];
4748
- }
4749
- }
4750
4760
  if (attrX !== void 0)
4751
4761
  attrs.x = attrX;
4752
4762
  if (attrY !== void 0)
@@ -4758,7 +4768,7 @@ function buildSVGAttrs(state, {
4758
4768
  }
4759
4769
  }
4760
4770
 
4761
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4771
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4762
4772
  var camelCaseAttributes = /* @__PURE__ */ new Set([
4763
4773
  "baseFrequency",
4764
4774
  "diffuseConstant",
@@ -4785,10 +4795,10 @@ var camelCaseAttributes = /* @__PURE__ */ new Set([
4785
4795
  "lengthAdjust"
4786
4796
  ]);
4787
4797
 
4788
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4798
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4789
4799
  var isSVGTag = (tag) => typeof tag === "string" && tag.toLowerCase() === "svg";
4790
4800
 
4791
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4801
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4792
4802
  function renderSVG(element, renderState, _styleProp, projection) {
4793
4803
  renderHTML(element, renderState, void 0, projection);
4794
4804
  for (const key in renderState.attrs) {
@@ -4796,7 +4806,7 @@ function renderSVG(element, renderState, _styleProp, projection) {
4796
4806
  }
4797
4807
  }
4798
4808
 
4799
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4809
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4800
4810
  function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4801
4811
  const newValues = scrapeMotionValuesFromProps(props, prevProps, visualElement);
4802
4812
  for (const key in props) {
@@ -4808,7 +4818,7 @@ function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4808
4818
  return newValues;
4809
4819
  }
4810
4820
 
4811
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4821
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4812
4822
  var SVGVisualElement = class extends DOMVisualElement {
4813
4823
  constructor() {
4814
4824
  super(...arguments);
@@ -4824,6 +4834,12 @@ var SVGVisualElement = class extends DOMVisualElement {
4824
4834
  const defaultType = getDefaultValueType(key);
4825
4835
  return defaultType ? defaultType.default || 0 : 0;
4826
4836
  }
4837
+ if (cssStyleProperties.includes(key)) {
4838
+ const computedStyle = getComputedStyle(instance);
4839
+ const value = computedStyle[key];
4840
+ if (typeof value === "string" && value)
4841
+ return value.trim();
4842
+ }
4827
4843
  key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;
4828
4844
  return instance.getAttribute(key);
4829
4845
  }
@@ -4842,7 +4858,7 @@ var SVGVisualElement = class extends DOMVisualElement {
4842
4858
  }
4843
4859
  };
4844
4860
 
4845
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4861
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4846
4862
  var numVariantProps = variantProps.length;
4847
4863
  function getVariantContext(visualElement) {
4848
4864
  if (!visualElement)
@@ -4865,7 +4881,7 @@ function getVariantContext(visualElement) {
4865
4881
  return context;
4866
4882
  }
4867
4883
 
4868
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4884
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4869
4885
  function shallowCompare(next, prev) {
4870
4886
  if (!Array.isArray(prev))
4871
4887
  return false;
@@ -4879,7 +4895,7 @@ function shallowCompare(next, prev) {
4879
4895
  return true;
4880
4896
  }
4881
4897
 
4882
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4898
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4883
4899
  var reversePriorityOrder = [...variantPriorityOrder].reverse();
4884
4900
  var numAnimationTypes = variantPriorityOrder.length;
4885
4901
  function createAnimateFunction(visualElement) {
@@ -4972,7 +4988,7 @@ function createAnimationState(visualElement) {
4972
4988
  continue;
4973
4989
  let valueHasChanged = false;
4974
4990
  if (isKeyframesTarget(next) && isKeyframesTarget(prev)) {
4975
- valueHasChanged = !shallowCompare(next, prev);
4991
+ valueHasChanged = !shallowCompare(next, prev) || variantDidChange;
4976
4992
  } else {
4977
4993
  valueHasChanged = next !== prev;
4978
4994
  }
@@ -5091,7 +5107,7 @@ function createState() {
5091
5107
  };
5092
5108
  }
5093
5109
 
5094
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5110
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5095
5111
  function copyAxisInto(axis, originAxis) {
5096
5112
  axis.min = originAxis.min;
5097
5113
  axis.max = originAxis.max;
@@ -5107,7 +5123,7 @@ function copyAxisDeltaInto(delta, originDelta) {
5107
5123
  delta.origin = originDelta.origin;
5108
5124
  }
5109
5125
 
5110
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5126
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5111
5127
  var SCALE_PRECISION = 1e-4;
5112
5128
  var SCALE_MIN = 1 - SCALE_PRECISION;
5113
5129
  var SCALE_MAX = 1 + SCALE_PRECISION;
@@ -5155,7 +5171,7 @@ function calcRelativePosition(target, layout2, parent, anchor) {
5155
5171
  calcRelativeAxisPosition(target.y, layout2.y, parent.y, anchor?.y);
5156
5172
  }
5157
5173
 
5158
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5174
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5159
5175
  function removePointDelta(point, translate, scale2, originPoint, boxScale) {
5160
5176
  point -= translate;
5161
5177
  point = scalePoint(point, 1 / scale2, originPoint);
@@ -5188,7 +5204,7 @@ function removeBoxTransforms(box, transforms, originBox, sourceBox) {
5188
5204
  removeAxisTransforms(box.y, transforms, yKeys, originBox ? originBox.y : void 0, sourceBox ? sourceBox.y : void 0);
5189
5205
  }
5190
5206
 
5191
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5207
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5192
5208
  function isAxisDeltaZero(delta) {
5193
5209
  return delta.translate === 0 && delta.scale === 1;
5194
5210
  }
@@ -5214,12 +5230,12 @@ function axisDeltaEquals(a, b) {
5214
5230
  return a.translate === b.translate && a.scale === b.scale && a.originPoint === b.originPoint;
5215
5231
  }
5216
5232
 
5217
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5233
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5218
5234
  function eachAxis(callback) {
5219
5235
  return [callback("x"), callback("y")];
5220
5236
  }
5221
5237
 
5222
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5238
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5223
5239
  function buildProjectionTransform(delta, treeScale, latestTransform) {
5224
5240
  let transform2 = "";
5225
5241
  const xTranslate = delta.x.translate / treeScale.x;
@@ -5232,11 +5248,13 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5232
5248
  transform2 += `scale(${1 / treeScale.x}, ${1 / treeScale.y}) `;
5233
5249
  }
5234
5250
  if (latestTransform) {
5235
- const { transformPerspective, rotate: rotate2, rotateX, rotateY, skewX, skewY } = latestTransform;
5251
+ const { transformPerspective, rotate: rotate2, pathRotation, rotateX, rotateY, skewX, skewY } = latestTransform;
5236
5252
  if (transformPerspective)
5237
5253
  transform2 = `perspective(${transformPerspective}px) ${transform2}`;
5238
5254
  if (rotate2)
5239
5255
  transform2 += `rotate(${rotate2}deg) `;
5256
+ if (pathRotation)
5257
+ transform2 += `rotate(${pathRotation}deg) `;
5240
5258
  if (rotateX)
5241
5259
  transform2 += `rotateX(${rotateX}deg) `;
5242
5260
  if (rotateY)
@@ -5254,14 +5272,8 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5254
5272
  return transform2 || "none";
5255
5273
  }
5256
5274
 
5257
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5258
- var borderLabels = [
5259
- "borderTopLeftRadius",
5260
- "borderTopRightRadius",
5261
- "borderBottomLeftRadius",
5262
- "borderBottomRightRadius"
5263
- ];
5264
- var numBorders = borderLabels.length;
5275
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5276
+ var numBorders = cornerRadiusProps.length;
5265
5277
  var asNumber = (value) => typeof value === "string" ? parseFloat(value) : value;
5266
5278
  var isPx = (value) => typeof value === "number" || px.test(value);
5267
5279
  function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOnlyMember) {
@@ -5272,7 +5284,7 @@ function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOn
5272
5284
  target.opacity = mixNumber(follow.opacity ?? 1, lead.opacity ?? 1, progress2);
5273
5285
  }
5274
5286
  for (let i = 0; i < numBorders; i++) {
5275
- const borderLabel = borderLabels[i];
5287
+ const borderLabel = cornerRadiusProps[i];
5276
5288
  let followRadius = getRadius(follow, borderLabel);
5277
5289
  let leadRadius = getRadius(lead, borderLabel);
5278
5290
  if (followRadius === void 0 && leadRadius === void 0)
@@ -5308,23 +5320,23 @@ function compress(min, max, easing) {
5308
5320
  };
5309
5321
  }
5310
5322
 
5311
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5323
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5312
5324
  function animateSingleValue(value, keyframes2, options) {
5313
5325
  const motionValue$1 = isMotionValue(value) ? value : motionValue(value);
5314
5326
  motionValue$1.start(animateMotionValue("", motionValue$1, keyframes2, options));
5315
5327
  return motionValue$1.animation;
5316
5328
  }
5317
5329
 
5318
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5330
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5319
5331
  function addDomEvent(target, eventName, handler, options = { passive: true }) {
5320
5332
  target.addEventListener(eventName, handler, options);
5321
- return () => target.removeEventListener(eventName, handler);
5333
+ return () => target.removeEventListener(eventName, handler, options);
5322
5334
  }
5323
5335
 
5324
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5336
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5325
5337
  var compareByDepth = (a, b) => a.depth - b.depth;
5326
5338
 
5327
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5339
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5328
5340
  var FlatTree = class {
5329
5341
  constructor() {
5330
5342
  this.children = [];
@@ -5345,7 +5357,7 @@ var FlatTree = class {
5345
5357
  }
5346
5358
  };
5347
5359
 
5348
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/delay.mjs
5360
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/delay.mjs
5349
5361
  function delay(callback, timeout) {
5350
5362
  const start = time.now();
5351
5363
  const checkElapsed = ({ timestamp }) => {
@@ -5359,12 +5371,12 @@ function delay(callback, timeout) {
5359
5371
  return () => cancelFrame(checkElapsed);
5360
5372
  }
5361
5373
 
5362
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5374
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5363
5375
  function resolveMotionValue(value) {
5364
5376
  return isMotionValue(value) ? value.get() : value;
5365
5377
  }
5366
5378
 
5367
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5379
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5368
5380
  var NodeStack = class {
5369
5381
  constructor() {
5370
5382
  this.members = [];
@@ -5445,7 +5457,7 @@ var NodeStack = class {
5445
5457
  }
5446
5458
  };
5447
5459
 
5448
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/state.mjs
5460
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/state.mjs
5449
5461
  var globalProjectionState = {
5450
5462
  /**
5451
5463
  * Global flag as to whether the tree has animated since the last time
@@ -5626,7 +5638,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
5626
5638
  animationOptions.type = false;
5627
5639
  }
5628
5640
  this.startAnimation(animationOptions);
5629
- this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);
5641
+ this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged, animationOptions.path);
5630
5642
  } else {
5631
5643
  if (!hasLayoutChanged) {
5632
5644
  finishAnimation(this);
@@ -6098,7 +6110,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6098
6110
  this.projectionDelta = createDelta();
6099
6111
  this.projectionDeltaWithTransform = createDelta();
6100
6112
  }
6101
- setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false) {
6113
+ setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false, pathFn) {
6102
6114
  const snapshot = this.snapshot;
6103
6115
  const snapshotLatestValues = snapshot ? snapshot.latestValues : {};
6104
6116
  const mixedValues = { ...this.latestValues };
@@ -6116,10 +6128,23 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6116
6128
  const shouldCrossfadeOpacity = Boolean(isSharedLayoutAnimation && !isOnlyMember && this.options.crossfade === true && !this.path.some(hasOpacityCrossfade));
6117
6129
  this.animationProgress = 0;
6118
6130
  let prevRelativeTarget;
6131
+ const interpolate2 = pathFn?.interpolateProjection(delta);
6119
6132
  this.mixTargetDelta = (latest) => {
6120
6133
  const progress2 = latest / 1e3;
6121
- mixAxisDelta(targetDelta.x, delta.x, progress2);
6122
- mixAxisDelta(targetDelta.y, delta.y, progress2);
6134
+ const point = interpolate2?.(progress2);
6135
+ if (point) {
6136
+ targetDelta.x.translate = point.x;
6137
+ targetDelta.x.scale = mixNumber(delta.x.scale, 1, progress2);
6138
+ targetDelta.x.origin = delta.x.origin;
6139
+ targetDelta.x.originPoint = delta.x.originPoint;
6140
+ targetDelta.y.translate = point.y;
6141
+ targetDelta.y.scale = mixNumber(delta.y.scale, 1, progress2);
6142
+ targetDelta.y.origin = delta.y.origin;
6143
+ targetDelta.y.originPoint = delta.y.originPoint;
6144
+ } else {
6145
+ mixAxisDeltaLinear(targetDelta.x, delta.x, progress2);
6146
+ mixAxisDeltaLinear(targetDelta.y, delta.y, progress2);
6147
+ }
6123
6148
  this.setTargetDelta(targetDelta);
6124
6149
  if (this.relativeTarget && this.relativeTargetOrigin && this.layout && this.relativeParent && this.relativeParent.layout) {
6125
6150
  calcRelativePosition(relativeLayout, this.layout.layoutBox, this.relativeParent.layout.layoutBox, this.options.layoutAnchor || void 0);
@@ -6135,6 +6160,11 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6135
6160
  this.animationValues = mixedValues;
6136
6161
  mixValues(mixedValues, snapshotLatestValues, this.latestValues, progress2, shouldCrossfadeOpacity, isOnlyMember);
6137
6162
  }
6163
+ if (point && point.rotate !== void 0) {
6164
+ if (!this.animationValues)
6165
+ this.animationValues = mixedValues;
6166
+ this.animationValues.pathRotation = point.rotate;
6167
+ }
6138
6168
  this.root.scheduleUpdateProjection();
6139
6169
  this.scheduleRender();
6140
6170
  this.animationProgress = progress2;
@@ -6161,8 +6191,6 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6161
6191
  this.mixTargetDelta(latest);
6162
6192
  options.onUpdate && options.onUpdate(latest);
6163
6193
  },
6164
- onStop: () => {
6165
- },
6166
6194
  onComplete: () => {
6167
6195
  options.onComplete && options.onComplete();
6168
6196
  this.completeAnimation();
@@ -6491,7 +6519,7 @@ function resetSkewAndRotation(node) {
6491
6519
  function removeLeadSnapshots(stack) {
6492
6520
  stack.removeLeadSnapshot();
6493
6521
  }
6494
- function mixAxisDelta(output, delta, p) {
6522
+ function mixAxisDeltaLinear(output, delta, p) {
6495
6523
  output.translate = mixNumber(delta.translate, 0, p);
6496
6524
  output.scale = mixNumber(delta.scale, 1, p);
6497
6525
  output.origin = delta.origin;
@@ -6529,7 +6557,7 @@ function checkNodeWasScrollRoot(node) {
6529
6557
  return node !== node.root && node.scroll?.wasRoot;
6530
6558
  }
6531
6559
 
6532
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6560
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6533
6561
  var DocumentProjectionNode = createProjectionNode({
6534
6562
  attachResizeListener: (ref, notify) => addDomEvent(ref, "resize", notify),
6535
6563
  measureScroll: () => ({
@@ -6539,7 +6567,7 @@ var DocumentProjectionNode = createProjectionNode({
6539
6567
  checkIsScrollRoot: () => true
6540
6568
  });
6541
6569
 
6542
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6570
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6543
6571
  var rootProjectionNode = {
6544
6572
  current: void 0
6545
6573
  };
@@ -6602,7 +6630,7 @@ function useComposedRefs(...refs) {
6602
6630
  return React2__namespace.useCallback(composeRefs(...refs), refs);
6603
6631
  }
6604
6632
 
6605
- // ../../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
6633
+ // ../../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
6606
6634
  var PopChildMeasure = class extends React2__namespace.Component {
6607
6635
  getSnapshotBeforeUpdate(prevProps) {
6608
6636
  const element = this.props.childRef.current;
@@ -6618,6 +6646,7 @@ var PopChildMeasure = class extends React2__namespace.Component {
6618
6646
  size.left = element.offsetLeft;
6619
6647
  size.right = parentWidth - size.width - size.left;
6620
6648
  size.bottom = parentHeight - size.height - size.top;
6649
+ size.direction = computedStyle.direction;
6621
6650
  }
6622
6651
  return null;
6623
6652
  }
@@ -6639,16 +6668,18 @@ function PopChild({ children, isPresent, anchorX, anchorY, root, pop }) {
6639
6668
  top: 0,
6640
6669
  left: 0,
6641
6670
  right: 0,
6642
- bottom: 0
6671
+ bottom: 0,
6672
+ direction: "ltr"
6643
6673
  });
6644
6674
  const { nonce } = React2.useContext(MotionConfigContext);
6645
- const childRef = children.props?.ref ?? children?.ref;
6675
+ const childRef = pop !== false ? children.props?.ref ?? children?.ref : void 0;
6646
6676
  const composedRef = useComposedRefs(ref, childRef);
6647
6677
  React2.useInsertionEffect(() => {
6648
- const { width, height, top, left, right, bottom } = size.current;
6678
+ const { width, height, top, left, right, bottom, direction } = size.current;
6649
6679
  if (isPresent || pop === false || !ref.current || !width || !height)
6650
6680
  return;
6651
- const x = anchorX === "left" ? `left: ${left}` : `right: ${right}`;
6681
+ const isRTL = direction === "rtl";
6682
+ const x = anchorX === "left" ? isRTL ? `right: ${right}` : `left: ${left}` : isRTL ? `left: ${left}` : `right: ${right}`;
6652
6683
  const y = anchorY === "bottom" ? `bottom: ${bottom}` : `top: ${top}`;
6653
6684
  ref.current.dataset.motionPopId = id3;
6654
6685
  const style = document.createElement("style");
@@ -6677,10 +6708,16 @@ function PopChild({ children, isPresent, anchorX, anchorY, root, pop }) {
6677
6708
  return jsxRuntime.jsx(PopChildMeasure, { isPresent, childRef: ref, sizeRef: size, pop, children: pop === false ? children : React2__namespace.cloneElement(children, { ref: composedRef }) });
6678
6709
  }
6679
6710
 
6680
- // ../../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
6711
+ // ../../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
6681
6712
  var PresenceChild = ({ children, initial, isPresent, onExitComplete, custom, presenceAffectsLayout, mode, anchorX, anchorY, root }) => {
6682
6713
  const presenceChildren = useConstant(newChildrenMap);
6683
6714
  const id3 = React2.useId();
6715
+ const isPresentRef = React2.useRef(isPresent);
6716
+ const onExitCompleteRef = React2.useRef(onExitComplete);
6717
+ useIsomorphicLayoutEffect(() => {
6718
+ isPresentRef.current = isPresent;
6719
+ onExitCompleteRef.current = onExitComplete;
6720
+ });
6684
6721
  let isReusedContext = true;
6685
6722
  let context = React2.useMemo(() => {
6686
6723
  isReusedContext = false;
@@ -6699,7 +6736,10 @@ var PresenceChild = ({ children, initial, isPresent, onExitComplete, custom, pre
6699
6736
  },
6700
6737
  register: (childId) => {
6701
6738
  presenceChildren.set(childId, false);
6702
- return () => presenceChildren.delete(childId);
6739
+ return () => {
6740
+ presenceChildren.delete(childId);
6741
+ !isPresentRef.current && !presenceChildren.size && onExitCompleteRef.current?.();
6742
+ };
6703
6743
  }
6704
6744
  };
6705
6745
  }, [isPresent, presenceChildren, onExitComplete]);
@@ -6742,7 +6782,7 @@ function onlyElements(children) {
6742
6782
  return filtered;
6743
6783
  }
6744
6784
 
6745
- // ../../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
6785
+ // ../../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
6746
6786
  var AnimatePresence = ({ children, custom, initial = true, onExitComplete, presenceAffectsLayout = true, mode = "sync", propagate = false, anchorX = "left", anchorY = "top", root }) => {
6747
6787
  const [isParentPresent, safeToRemove] = usePresence(propagate);
6748
6788
  const presentChildren = React2.useMemo(() => onlyElements(children), [children]);
@@ -6753,6 +6793,11 @@ var AnimatePresence = ({ children, custom, initial = true, onExitComplete, prese
6753
6793
  const exitingComponents = React2.useRef(/* @__PURE__ */ new Set());
6754
6794
  const [diffedChildren, setDiffedChildren] = React2.useState(presentChildren);
6755
6795
  const [renderedChildren, setRenderedChildren] = React2.useState(presentChildren);
6796
+ useIsomorphicLayoutEffect(() => {
6797
+ if (propagate && !isParentPresent && !renderedChildren.length) {
6798
+ safeToRemove?.();
6799
+ }
6800
+ }, [isParentPresent, propagate, renderedChildren.length, safeToRemove]);
6756
6801
  useIsomorphicLayoutEffect(() => {
6757
6802
  isInitialRender.current = false;
6758
6803
  pendingPresentChildren.current = presentChildren;
@@ -6771,12 +6816,14 @@ var AnimatePresence = ({ children, custom, initial = true, onExitComplete, prese
6771
6816
  const exitingChildren = [];
6772
6817
  if (presentChildren !== diffedChildren) {
6773
6818
  let nextChildren = [...presentChildren];
6774
- for (let i = 0; i < renderedChildren.length; i++) {
6775
- const child = renderedChildren[i];
6776
- const key = getChildKey(child);
6777
- if (!presentKeys.includes(key)) {
6778
- nextChildren.splice(i, 0, child);
6819
+ let insertionIndex = 0;
6820
+ for (const child of renderedChildren) {
6821
+ const presentIndex = presentKeys.indexOf(getChildKey(child));
6822
+ if (presentIndex === -1) {
6823
+ nextChildren.splice(insertionIndex++, 0, child);
6779
6824
  exitingChildren.push(child);
6825
+ } else {
6826
+ insertionIndex = presentIndex + exitingChildren.length + 1;
6780
6827
  }
6781
6828
  }
6782
6829
  if (mode === "wait" && exitingChildren.length) {
@@ -6820,7 +6867,7 @@ var AnimatePresence = ({ children, custom, initial = true, onExitComplete, prese
6820
6867
  };
6821
6868
  var LazyContext = React2.createContext({ strict: false });
6822
6869
 
6823
- // ../../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
6870
+ // ../../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
6824
6871
  var featureProps = {
6825
6872
  animation: [
6826
6873
  "animate",
@@ -6859,7 +6906,7 @@ function getInitializedFeatureDefinitions() {
6859
6906
  return getFeatureDefinitions();
6860
6907
  }
6861
6908
 
6862
- // ../../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
6909
+ // ../../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
6863
6910
  function loadFeatures(features) {
6864
6911
  const featureDefinitions2 = getInitializedFeatureDefinitions();
6865
6912
  for (const key in features) {
@@ -6870,74 +6917,9 @@ function loadFeatures(features) {
6870
6917
  }
6871
6918
  setFeatureDefinitions(featureDefinitions2);
6872
6919
  }
6873
-
6874
- // ../../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
6875
- var validMotionProps = /* @__PURE__ */ new Set([
6876
- "animate",
6877
- "exit",
6878
- "variants",
6879
- "initial",
6880
- "style",
6881
- "values",
6882
- "variants",
6883
- "transition",
6884
- "transformTemplate",
6885
- "custom",
6886
- "inherit",
6887
- "onBeforeLayoutMeasure",
6888
- "onAnimationStart",
6889
- "onAnimationComplete",
6890
- "onUpdate",
6891
- "onDragStart",
6892
- "onDrag",
6893
- "onDragEnd",
6894
- "onMeasureDragConstraints",
6895
- "onDirectionLock",
6896
- "onDragTransitionEnd",
6897
- "_dragX",
6898
- "_dragY",
6899
- "onHoverStart",
6900
- "onHoverEnd",
6901
- "onViewportEnter",
6902
- "onViewportLeave",
6903
- "globalTapTarget",
6904
- "propagate",
6905
- "ignoreStrict",
6906
- "viewport"
6907
- ]);
6908
- function isValidMotionProp(key) {
6909
- return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
6910
- }
6911
-
6912
- // ../../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
6913
- var shouldForward = (key) => !isValidMotionProp(key);
6914
- function loadExternalIsValidProp(isValidProp) {
6915
- if (typeof isValidProp !== "function")
6916
- return;
6917
- shouldForward = (key) => key.startsWith("on") ? !isValidMotionProp(key) : isValidProp(key);
6918
- }
6919
- try {
6920
- const emotionPkg = "@emotion/is-prop-valid";
6921
- loadExternalIsValidProp(__require(emotionPkg).default);
6922
- } catch {
6923
- }
6924
- function filterProps(props, isDom, forwardMotionProps) {
6925
- const filteredProps = {};
6926
- for (const key in props) {
6927
- if (key === "values" && typeof props.values === "object")
6928
- continue;
6929
- if (isMotionValue(props[key]))
6930
- continue;
6931
- if (shouldForward(key) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
6932
- props["draggable"] && key.startsWith("onDrag")) {
6933
- filteredProps[key] = props[key];
6934
- }
6935
- }
6936
- return filteredProps;
6937
- }
6938
6920
  var MotionContext = /* @__PURE__ */ React2.createContext({});
6939
6921
 
6940
- // ../../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
6922
+ // ../../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
6941
6923
  function getCurrentTreeVariants(props, context) {
6942
6924
  if (isControllingVariants(props)) {
6943
6925
  const { initial, animate } = props;
@@ -6949,7 +6931,7 @@ function getCurrentTreeVariants(props, context) {
6949
6931
  return props.inherit !== false ? context : {};
6950
6932
  }
6951
6933
 
6952
- // ../../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
6934
+ // ../../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
6953
6935
  function useCreateMotionContext(props) {
6954
6936
  const { initial, animate } = getCurrentTreeVariants(props, React2.useContext(MotionContext));
6955
6937
  return React2.useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);
@@ -6958,7 +6940,7 @@ function variantLabelsAsDependency(prop) {
6958
6940
  return Array.isArray(prop) ? prop.join(" ") : prop;
6959
6941
  }
6960
6942
 
6961
- // ../../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
6943
+ // ../../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
6962
6944
  var createHtmlRenderState = () => ({
6963
6945
  style: {},
6964
6946
  transform: {},
@@ -6966,7 +6948,7 @@ var createHtmlRenderState = () => ({
6966
6948
  vars: {}
6967
6949
  });
6968
6950
 
6969
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/html/use-props.mjs
6951
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/html/use-props.mjs
6970
6952
  function copyRawValuesOnly(target, source, props) {
6971
6953
  for (const key in source) {
6972
6954
  if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {
@@ -7003,13 +6985,13 @@ function useHTMLProps(props, visualState) {
7003
6985
  return htmlProps;
7004
6986
  }
7005
6987
 
7006
- // ../../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
6988
+ // ../../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
7007
6989
  var createSvgRenderState = () => ({
7008
6990
  ...createHtmlRenderState(),
7009
6991
  attrs: {}
7010
6992
  });
7011
6993
 
7012
- // ../../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
6994
+ // ../../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
7013
6995
  function useSVGProps(props, visualState, _isStatic, Component3) {
7014
6996
  const visualProps = React2.useMemo(() => {
7015
6997
  const state = createSvgRenderState();
@@ -7027,7 +7009,64 @@ function useSVGProps(props, visualState, _isStatic, Component3) {
7027
7009
  return visualProps;
7028
7010
  }
7029
7011
 
7030
- // ../../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
7012
+ // ../../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
7013
+ var validMotionProps = /* @__PURE__ */ new Set([
7014
+ "animate",
7015
+ "exit",
7016
+ "variants",
7017
+ "initial",
7018
+ "style",
7019
+ "values",
7020
+ "variants",
7021
+ "transition",
7022
+ "transformTemplate",
7023
+ "custom",
7024
+ "inherit",
7025
+ "onBeforeLayoutMeasure",
7026
+ "onAnimationStart",
7027
+ "onAnimationComplete",
7028
+ "onUpdate",
7029
+ "onDragStart",
7030
+ "onDrag",
7031
+ "onDragEnd",
7032
+ "onMeasureDragConstraints",
7033
+ "onDirectionLock",
7034
+ "onDragTransitionEnd",
7035
+ "_dragX",
7036
+ "_dragY",
7037
+ "onHoverStart",
7038
+ "onHoverEnd",
7039
+ "onViewportEnter",
7040
+ "onViewportLeave",
7041
+ "globalTapTarget",
7042
+ "propagate",
7043
+ "ignoreStrict",
7044
+ "viewport"
7045
+ ]);
7046
+ function isValidMotionProp(key) {
7047
+ return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
7048
+ }
7049
+
7050
+ // ../../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
7051
+ function shouldForward(key, isValidProp) {
7052
+ return key.startsWith("on") ? !isValidMotionProp(key) : isValidProp?.(key) ?? !isValidMotionProp(key);
7053
+ }
7054
+ function filterProps(props, isDom, forwardMotionProps, isValidProp) {
7055
+ const filteredProps = {};
7056
+ for (const key in props) {
7057
+ if (key === "values" && typeof props.values === "object")
7058
+ continue;
7059
+ if (isMotionValue(props[key]))
7060
+ continue;
7061
+ if (shouldForward(key, isValidProp) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
7062
+ props["draggable"] && key.startsWith("onDrag")) {
7063
+ filteredProps[key] = props[key];
7064
+ }
7065
+ }
7066
+ return filteredProps;
7067
+ }
7068
+
7069
+ // ../../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
7031
7070
  var lowercaseSVGElements = [
7032
7071
  "animate",
7033
7072
  "circle",
@@ -7056,7 +7095,7 @@ var lowercaseSVGElements = [
7056
7095
  "view"
7057
7096
  ];
7058
7097
 
7059
- // ../../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
7098
+ // ../../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
7060
7099
  function isSVGComponent(Component3) {
7061
7100
  if (
7062
7101
  /**
@@ -7083,11 +7122,11 @@ function isSVGComponent(Component3) {
7083
7122
  return false;
7084
7123
  }
7085
7124
 
7086
- // ../../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
7087
- function useRender(Component3, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG) {
7125
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/dom/use-render.mjs
7126
+ function useRender(Component3, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG, isValidProp) {
7088
7127
  const useVisualProps = isSVG ?? isSVGComponent(Component3) ? useSVGProps : useHTMLProps;
7089
7128
  const visualProps = useVisualProps(props, latestValues, isStatic, Component3);
7090
- const filteredProps = filterProps(props, typeof Component3 === "string", forwardMotionProps);
7129
+ const filteredProps = filterProps(props, typeof Component3 === "string", forwardMotionProps, isValidProp);
7091
7130
  const elementProps = Component3 !== React2.Fragment ? { ...filteredProps, ...visualProps, ref } : {};
7092
7131
  const { children } = props;
7093
7132
  const renderedChildren = React2.useMemo(() => isMotionValue(children) ? children.get() : children, [children]);
@@ -7152,20 +7191,20 @@ var makeUseVisualState = (config) => (props, isStatic) => {
7152
7191
  return isStatic ? make() : useConstant(make);
7153
7192
  };
7154
7193
 
7155
- // ../../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
7194
+ // ../../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
7156
7195
  var useHTMLVisualState = /* @__PURE__ */ makeUseVisualState({
7157
7196
  scrapeMotionValuesFromProps,
7158
7197
  createRenderState: createHtmlRenderState
7159
7198
  });
7160
7199
 
7161
- // ../../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
7200
+ // ../../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
7162
7201
  var useSVGVisualState = /* @__PURE__ */ makeUseVisualState({
7163
7202
  scrapeMotionValuesFromProps: scrapeMotionValuesFromProps2,
7164
7203
  createRenderState: createSvgRenderState
7165
7204
  });
7166
7205
 
7167
- // ../../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
7168
- var motionComponentSymbol = Symbol.for("motionComponentSymbol");
7206
+ // ../../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
7207
+ var motionComponentSymbol = /* @__PURE__ */ Symbol.for("motionComponentSymbol");
7169
7208
  function useMotionRef(visualState, visualElement, externalRef) {
7170
7209
  const externalRefContainer = React2.useRef(externalRef);
7171
7210
  React2.useInsertionEffect(() => {
@@ -7176,6 +7215,9 @@ function useMotionRef(visualState, visualElement, externalRef) {
7176
7215
  if (instance) {
7177
7216
  visualState.onMount?.(instance);
7178
7217
  }
7218
+ if (visualElement) {
7219
+ instance ? visualElement.mount(instance) : visualElement.unmount();
7220
+ }
7179
7221
  const ref = externalRefContainer.current;
7180
7222
  if (typeof ref === "function") {
7181
7223
  if (instance) {
@@ -7192,19 +7234,16 @@ function useMotionRef(visualState, visualElement, externalRef) {
7192
7234
  } else if (ref) {
7193
7235
  ref.current = instance;
7194
7236
  }
7195
- if (visualElement) {
7196
- instance ? visualElement.mount(instance) : visualElement.unmount();
7197
- }
7198
7237
  }, [visualElement]);
7199
7238
  }
7200
7239
  var SwitchLayoutGroupContext = React2.createContext({});
7201
7240
 
7202
- // ../../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
7241
+ // ../../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
7203
7242
  function isRefObject(ref) {
7204
7243
  return ref && typeof ref === "object" && Object.prototype.hasOwnProperty.call(ref, "current");
7205
7244
  }
7206
7245
 
7207
- // ../../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
7246
+ // ../../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
7208
7247
  function useVisualElement(Component3, visualState, props, createVisualElement, ProjectionNodeConstructor, isSVG) {
7209
7248
  const { visualElement: parent } = React2.useContext(MotionContext);
7210
7249
  const lazyContext = React2.useContext(LazyContext);
@@ -7300,7 +7339,7 @@ function getClosestProjectingNode(visualElement) {
7300
7339
  return visualElement.options.allowProjection !== false ? visualElement.projection : getClosestProjectingNode(visualElement.parent);
7301
7340
  }
7302
7341
 
7303
- // ../../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
7342
+ // ../../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
7304
7343
  function createMotionComponent(Component3, { forwardMotionProps = false, type } = {}, preloadedFeatures, createVisualElement) {
7305
7344
  preloadedFeatures && loadFeatures(preloadedFeatures);
7306
7345
  const isSVG = type ? type === "svg" : isSVGComponent(Component3);
@@ -7312,7 +7351,7 @@ function createMotionComponent(Component3, { forwardMotionProps = false, type }
7312
7351
  ...props,
7313
7352
  layoutId: useLayoutId(props)
7314
7353
  };
7315
- const { isStatic } = configAndProps;
7354
+ const { isStatic, isValidProp } = configAndProps;
7316
7355
  const context = useCreateMotionContext(props);
7317
7356
  const visualState = useVisualState(props, isStatic);
7318
7357
  if (!isStatic && typeof window !== "undefined") {
@@ -7321,7 +7360,7 @@ function createMotionComponent(Component3, { forwardMotionProps = false, type }
7321
7360
  MeasureLayout2 = layoutProjection.MeasureLayout;
7322
7361
  context.visualElement = useVisualElement(Component3, visualState, configAndProps, createVisualElement, layoutProjection.ProjectionNode, isSVG);
7323
7362
  }
7324
- return jsxRuntime.jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout2 && context.visualElement ? jsxRuntime.jsx(MeasureLayout2, { visualElement: context.visualElement, ...configAndProps }) : null, useRender(Component3, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG)] });
7363
+ return jsxRuntime.jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout2 && context.visualElement ? jsxRuntime.jsx(MeasureLayout2, { visualElement: context.visualElement, ...configAndProps }) : null, useRender(Component3, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG, isValidProp)] });
7325
7364
  }
7326
7365
  MotionDOMComponent.displayName = `motion.${typeof Component3 === "string" ? Component3 : `create(${Component3.displayName ?? Component3.name ?? ""})`}`;
7327
7366
  const ForwardRefMotionComponent = React2.forwardRef(MotionDOMComponent);
@@ -7351,7 +7390,7 @@ function getProjectionFunctionality(props) {
7351
7390
  };
7352
7391
  }
7353
7392
 
7354
- // ../../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
7393
+ // ../../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
7355
7394
  function createMotionProxy(preloadedFeatures, createVisualElement) {
7356
7395
  if (typeof Proxy === "undefined") {
7357
7396
  return createMotionComponent;
@@ -7389,7 +7428,7 @@ var createDomVisualElement = (Component3, options) => {
7389
7428
  });
7390
7429
  };
7391
7430
 
7392
- // ../../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
7431
+ // ../../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
7393
7432
  var AnimationFeature = class extends Feature {
7394
7433
  /**
7395
7434
  * We dynamically generate the AnimationState manager as it contains a reference
@@ -7425,7 +7464,7 @@ var AnimationFeature = class extends Feature {
7425
7464
  }
7426
7465
  };
7427
7466
 
7428
- // ../../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
7467
+ // ../../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
7429
7468
  var id2 = 0;
7430
7469
  var ExitAnimationFeature = class extends Feature {
7431
7470
  constructor() {
@@ -7444,7 +7483,7 @@ var ExitAnimationFeature = class extends Feature {
7444
7483
  if (isPresent && prevIsPresent === false) {
7445
7484
  if (this.isExitComplete) {
7446
7485
  const { initial, custom } = this.node.getProps();
7447
- if (typeof initial === "string") {
7486
+ if (typeof initial === "string" || typeof initial === "object" && initial !== null && !Array.isArray(initial)) {
7448
7487
  const resolved = resolveVariant(this.node, initial, custom);
7449
7488
  if (resolved) {
7450
7489
  const { transition, transitionEnd, ...target } = resolved;
@@ -7482,7 +7521,7 @@ var ExitAnimationFeature = class extends Feature {
7482
7521
  }
7483
7522
  };
7484
7523
 
7485
- // ../../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
7524
+ // ../../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
7486
7525
  var animations = {
7487
7526
  animation: {
7488
7527
  Feature: AnimationFeature
@@ -7492,7 +7531,7 @@ var animations = {
7492
7531
  }
7493
7532
  };
7494
7533
 
7495
- // ../../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
7534
+ // ../../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
7496
7535
  function extractEventInfo(event) {
7497
7536
  return {
7498
7537
  point: {
@@ -7503,17 +7542,17 @@ function extractEventInfo(event) {
7503
7542
  }
7504
7543
  var addPointerInfo = (handler) => (event) => isPrimaryPointer(event) && handler(event, extractEventInfo(event));
7505
7544
 
7506
- // ../../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
7545
+ // ../../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
7507
7546
  function addPointerEvent(target, eventName, handler, options) {
7508
7547
  return addDomEvent(target, eventName, addPointerInfo(handler), options);
7509
7548
  }
7510
7549
 
7511
- // ../../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
7550
+ // ../../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
7512
7551
  var getContextWindow = ({ current }) => {
7513
7552
  return current ? current.ownerDocument.defaultView : null;
7514
7553
  };
7515
7554
 
7516
- // ../../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
7555
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/distance.mjs
7517
7556
  var distance = (a, b) => Math.abs(a - b);
7518
7557
  function distance2D(a, b) {
7519
7558
  const xDelta = distance(a.x, b.x);
@@ -7521,7 +7560,7 @@ function distance2D(a, b) {
7521
7560
  return Math.sqrt(xDelta ** 2 + yDelta ** 2);
7522
7561
  }
7523
7562
 
7524
- // ../../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
7563
+ // ../../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
7525
7564
  var overflowStyles = /* @__PURE__ */ new Set(["auto", "scroll"]);
7526
7565
  var PanSession = class {
7527
7566
  constructor(event, handlers, { transformPagePoint, contextWindow = window, dragSnapToOrigin = false, distanceThreshold = 3, element } = {}) {
@@ -7594,7 +7633,8 @@ var PanSession = class {
7594
7633
  this.history = [{ ...point, timestamp }];
7595
7634
  const { onSessionStart } = handlers;
7596
7635
  onSessionStart && onSessionStart(event, getPanInfo(initialInfo, this.history));
7597
- this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp));
7636
+ const eventOptions = { passive: true, capture: true };
7637
+ this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove, eventOptions), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp, eventOptions), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp, eventOptions));
7598
7638
  if (element) {
7599
7639
  this.startScrollTracking(element);
7600
7640
  }
@@ -7728,7 +7768,7 @@ function getVelocity(history, timeDelta) {
7728
7768
  return currentVelocity;
7729
7769
  }
7730
7770
 
7731
- // ../../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
7771
+ // ../../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
7732
7772
  function applyConstraints(point, { min, max }, elastic) {
7733
7773
  if (min !== void 0 && point < min) {
7734
7774
  point = elastic ? mixNumber(min, point, elastic.min) : Math.max(point, min);
@@ -7806,7 +7846,7 @@ function resolvePointElastic(dragElastic, label) {
7806
7846
  return typeof dragElastic === "number" ? dragElastic : dragElastic[label] || 0;
7807
7847
  }
7808
7848
 
7809
- // ../../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
7849
+ // ../../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
7810
7850
  var elementDragControls = /* @__PURE__ */ new WeakMap();
7811
7851
  var VisualElementDragControls = class {
7812
7852
  constructor(visualElement) {
@@ -8007,6 +8047,10 @@ var VisualElementDragControls = class {
8007
8047
  const { projection } = this.visualElement;
8008
8048
  if (!projection || !projection.layout)
8009
8049
  return false;
8050
+ if (projection.root) {
8051
+ projection.root.scroll = void 0;
8052
+ projection.root.updateScroll();
8053
+ }
8010
8054
  const constraintsBox = measurePageBox(constraintsElement, projection.root, this.visualElement.getTransformPagePoint());
8011
8055
  let measuredConstraints = calcViewportConstraints(projection.layout.layoutBox, constraintsBox);
8012
8056
  if (onMeasureDragConstraints) {
@@ -8063,7 +8107,7 @@ var VisualElementDragControls = class {
8063
8107
  const dragKey = `_drag${axis.toUpperCase()}`;
8064
8108
  const props = this.visualElement.getProps();
8065
8109
  const externalMotionValue = props[dragKey];
8066
- return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, (props.initial ? props.initial[axis] : void 0) || 0);
8110
+ return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, this.visualElement.latestValues[axis] ?? 0);
8067
8111
  }
8068
8112
  snapToCursor(point) {
8069
8113
  eachAxis((axis) => {
@@ -8211,7 +8255,7 @@ function getCurrentDirection(offset, lockThreshold = 10) {
8211
8255
  return direction;
8212
8256
  }
8213
8257
 
8214
- // ../../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
8258
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/drag/index.mjs
8215
8259
  var DragGesture = class extends Feature {
8216
8260
  constructor(node) {
8217
8261
  super(node);
@@ -8245,7 +8289,7 @@ var DragGesture = class extends Feature {
8245
8289
  }
8246
8290
  };
8247
8291
 
8248
- // ../../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
8292
+ // ../../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
8249
8293
  var asyncHandler = (handler) => (event, info) => {
8250
8294
  if (handler) {
8251
8295
  frame.update(() => handler(event, info), false, true);
@@ -8388,7 +8432,7 @@ function MeasureLayout(props) {
8388
8432
  return jsxRuntime.jsx(MeasureLayoutWithContext, { ...props, layoutGroup, switchLayoutGroup: React2.useContext(SwitchLayoutGroupContext), isPresent, safeToRemove });
8389
8433
  }
8390
8434
 
8391
- // ../../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
8435
+ // ../../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
8392
8436
  var drag = {
8393
8437
  pan: {
8394
8438
  Feature: PanGesture
@@ -8400,7 +8444,7 @@ var drag = {
8400
8444
  }
8401
8445
  };
8402
8446
 
8403
- // ../../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
8447
+ // ../../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
8404
8448
  function handleHoverEvent(node, event, lifecycle) {
8405
8449
  const { props } = node;
8406
8450
  if (node.animationState && props.whileHover) {
@@ -8426,7 +8470,7 @@ var HoverGesture = class extends Feature {
8426
8470
  }
8427
8471
  };
8428
8472
 
8429
- // ../../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
8473
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/focus.mjs
8430
8474
  var FocusGesture = class extends Feature {
8431
8475
  constructor() {
8432
8476
  super(...arguments);
@@ -8457,7 +8501,7 @@ var FocusGesture = class extends Feature {
8457
8501
  }
8458
8502
  };
8459
8503
 
8460
- // ../../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
8504
+ // ../../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
8461
8505
  function handlePressEvent(node, event, lifecycle) {
8462
8506
  const { props } = node;
8463
8507
  if (node.current instanceof HTMLButtonElement && node.current.disabled) {
@@ -8490,7 +8534,7 @@ var PressGesture = class extends Feature {
8490
8534
  }
8491
8535
  };
8492
8536
 
8493
- // ../../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
8537
+ // ../../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
8494
8538
  var observerCallbacks = /* @__PURE__ */ new WeakMap();
8495
8539
  var observers = /* @__PURE__ */ new WeakMap();
8496
8540
  var fireObserverCallback = (entry) => {
@@ -8522,7 +8566,7 @@ function observeIntersection(element, options, callback) {
8522
8566
  };
8523
8567
  }
8524
8568
 
8525
- // ../../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
8569
+ // ../../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
8526
8570
  var thresholdNames = {
8527
8571
  some: 0,
8528
8572
  all: 1
@@ -8583,7 +8627,7 @@ function hasViewportOptionChanged({ viewport = {} }, { viewport: prevViewport =
8583
8627
  return (name) => viewport[name] !== prevViewport[name];
8584
8628
  }
8585
8629
 
8586
- // ../../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
8630
+ // ../../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
8587
8631
  var gestureAnimations = {
8588
8632
  inView: {
8589
8633
  Feature: InViewFeature
@@ -8599,7 +8643,7 @@ var gestureAnimations = {
8599
8643
  }
8600
8644
  };
8601
8645
 
8602
- // ../../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
8646
+ // ../../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
8603
8647
  var layout = {
8604
8648
  layout: {
8605
8649
  ProjectionNode: HTMLProjectionNode,
@@ -8607,7 +8651,7 @@ var layout = {
8607
8651
  }
8608
8652
  };
8609
8653
 
8610
- // ../../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
8654
+ // ../../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
8611
8655
  var featureBundle = {
8612
8656
  ...animations,
8613
8657
  ...gestureAnimations,
@@ -8615,7 +8659,7 @@ var featureBundle = {
8615
8659
  ...layout
8616
8660
  };
8617
8661
 
8618
- // ../../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
8662
+ // ../../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
8619
8663
  var motion = /* @__PURE__ */ createMotionProxy(featureBundle, createDomVisualElement);
8620
8664
  function useMotionValue(initial) {
8621
8665
  const value = useConstant(() => motionValue(initial));
@@ -8627,7 +8671,7 @@ function useMotionValue(initial) {
8627
8671
  return value;
8628
8672
  }
8629
8673
 
8630
- // ../../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
8674
+ // ../../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
8631
8675
  function useCombineMotionValues(values, combineValues) {
8632
8676
  const value = useMotionValue(combineValues());
8633
8677
  const updateValue = () => value.set(combineValues());
@@ -8643,7 +8687,7 @@ function useCombineMotionValues(values, combineValues) {
8643
8687
  return value;
8644
8688
  }
8645
8689
 
8646
- // ../../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
8690
+ // ../../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
8647
8691
  function useComputed(compute) {
8648
8692
  collectMotionValues.current = [];
8649
8693
  compute();
@@ -8652,7 +8696,7 @@ function useComputed(compute) {
8652
8696
  return value;
8653
8697
  }
8654
8698
 
8655
- // ../../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
8699
+ // ../../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
8656
8700
  function useTransform(input, inputRangeOrTransformer, outputRangeOrMap, options) {
8657
8701
  if (typeof input === "function") {
8658
8702
  return useComputed(input);
@@ -8684,7 +8728,7 @@ function useListTransform(values, transformer) {
8684
8728
  });
8685
8729
  }
8686
8730
 
8687
- // ../../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
8731
+ // ../../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
8688
8732
  var namespace_exports = {};
8689
8733
  __export(namespace_exports, {
8690
8734
  Group: () => ReorderGroup,
@@ -8692,62 +8736,147 @@ __export(namespace_exports, {
8692
8736
  });
8693
8737
  var ReorderContext = React2.createContext(null);
8694
8738
 
8695
- // ../../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
8696
- function checkReorder(order, value, offset, velocity) {
8697
- if (!velocity)
8698
- return order;
8739
+ // ../../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
8740
+ function checkReorder(order, value, offset, velocity, axis, direction = "ltr") {
8699
8741
  const index = order.findIndex((item2) => item2.value === value);
8700
8742
  if (index === -1)
8701
8743
  return order;
8702
- const nextOffset = velocity > 0 ? 1 : -1;
8744
+ if (axis === "xy") {
8745
+ const { layout: layout2 } = order[index];
8746
+ const center = {
8747
+ x: mixNumber(layout2.x.min, layout2.x.max, 0.5) + offset.x,
8748
+ y: mixNumber(layout2.y.min, layout2.y.max, 0.5) + offset.y
8749
+ };
8750
+ const lines = getLines(order);
8751
+ const sourceLine = lines.find((line) => line.items.includes(order[index]));
8752
+ const targetLine = lines.reduce((closest, line) => distanceToLine(center.y, line) < distanceToLine(center.y, closest) ? line : closest);
8753
+ if (targetLine !== sourceLine) {
8754
+ return moveToLine(order, index, center.x, targetLine, direction);
8755
+ }
8756
+ const currentDistance = distanceToBox(center, layout2);
8757
+ let target = -1;
8758
+ let targetDistance = currentDistance;
8759
+ order.forEach((item2, targetIndex) => {
8760
+ if (targetIndex === index)
8761
+ return;
8762
+ const distance2 = distanceToBox(center, item2.layout);
8763
+ if (distance2 < targetDistance) {
8764
+ target = targetIndex;
8765
+ targetDistance = distance2;
8766
+ }
8767
+ });
8768
+ return target === -1 ? order : moveItem(order, index, index + Math.sign(target - index));
8769
+ }
8770
+ if (!velocity[axis])
8771
+ return order;
8772
+ const nextOffset = velocity[axis] > 0 ? 1 : -1;
8703
8773
  const nextItem = order[index + nextOffset];
8704
8774
  if (!nextItem)
8705
8775
  return order;
8706
8776
  const item = order[index];
8707
- const nextLayout = nextItem.layout;
8777
+ const itemLayout = item.layout[axis];
8778
+ const nextLayout = nextItem.layout[axis];
8708
8779
  const nextItemCenter = mixNumber(nextLayout.min, nextLayout.max, 0.5);
8709
- if (nextOffset === 1 && item.layout.max + offset > nextItemCenter || nextOffset === -1 && item.layout.min + offset < nextItemCenter) {
8780
+ if (nextOffset === 1 && itemLayout.max + offset[axis] > nextItemCenter || nextOffset === -1 && itemLayout.min + offset[axis] < nextItemCenter) {
8710
8781
  return moveItem(order, index, index + nextOffset);
8711
8782
  }
8712
8783
  return order;
8713
8784
  }
8785
+ function getLines(order) {
8786
+ const lines = [];
8787
+ order.forEach((item) => {
8788
+ const { min, max } = item.layout.y;
8789
+ const line = lines[lines.length - 1];
8790
+ if (!line || min >= line.max || max <= line.min) {
8791
+ lines.push({ items: [item], min, max });
8792
+ } else {
8793
+ line.items.push(item);
8794
+ line.min = Math.min(line.min, min);
8795
+ line.max = Math.max(line.max, max);
8796
+ }
8797
+ });
8798
+ return lines;
8799
+ }
8800
+ function distanceToLine(y, line) {
8801
+ return y < line.min ? line.min - y : y > line.max ? y - line.max : 0;
8802
+ }
8803
+ function moveToLine(order, index, x, line, direction) {
8804
+ const remaining = order.filter((_, itemIndex) => itemIndex !== index);
8805
+ const before = line.items.find((item) => {
8806
+ const center = mixNumber(item.layout.x.min, item.layout.x.max, 0.5);
8807
+ return direction === "ltr" ? x < center : x > center;
8808
+ });
8809
+ const targetIndex = before ? remaining.indexOf(before) : remaining.indexOf(line.items[line.items.length - 1]) + 1;
8810
+ const nextOrder = [...remaining];
8811
+ nextOrder.splice(targetIndex, 0, order[index]);
8812
+ return nextOrder.every((item, itemIndex) => item === order[itemIndex]) ? order : nextOrder;
8813
+ }
8814
+ function distanceToBox(point, box) {
8815
+ const x = Math.max(box.x.min - point.x, 0, point.x - box.x.max);
8816
+ const y = Math.max(box.y.min - point.y, 0, point.y - box.y.max);
8817
+ return x * x + y * y;
8818
+ }
8819
+
8820
+ // ../../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
8821
+ var isSeparated = (a, b) => a.max <= b.min || b.max <= a.min;
8822
+ function detectAxis(layouts) {
8823
+ let x = false;
8824
+ let y = false;
8825
+ for (let i = 0; i < layouts.length; i++) {
8826
+ for (let j = i + 1; j < layouts.length; j++) {
8827
+ x || (x = isSeparated(layouts[i].x, layouts[j].x));
8828
+ y || (y = isSeparated(layouts[i].y, layouts[j].y));
8829
+ if (x && y)
8830
+ return "xy";
8831
+ }
8832
+ }
8833
+ return x ? "x" : "y";
8834
+ }
8714
8835
 
8715
- // ../../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
8716
- function ReorderGroupComponent({ children, as = "ul", axis = "y", onReorder, values, ...props }, externalRef) {
8836
+ // ../../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
8837
+ function ReorderGroupComponent({ children, as = "ul", axis: axisOverride, onReorder, values, ...props }, externalRef) {
8717
8838
  const Component3 = useConstant(() => motion[as]);
8718
- const order = [];
8839
+ const itemLayouts = React2.useRef(/* @__PURE__ */ new Map());
8840
+ const [detectedAxis, setDetectedAxis] = React2.useState("y");
8719
8841
  const isReordering = React2.useRef(false);
8720
8842
  const groupRef = React2.useRef(null);
8843
+ const axis = axisOverride || detectedAxis;
8721
8844
  invariant(Boolean(values), "Reorder.Group must be provided a values prop", "reorder-values");
8845
+ const valuesSet = new Set(values);
8846
+ itemLayouts.current.forEach((_, value) => {
8847
+ if (!valuesSet.has(value))
8848
+ itemLayouts.current.delete(value);
8849
+ });
8722
8850
  const context = {
8723
8851
  axis,
8724
8852
  groupRef,
8725
8853
  registerItem: (value, layout2) => {
8726
- const idx = order.findIndex((entry) => value === entry.value);
8727
- if (idx !== -1) {
8728
- order[idx].layout = layout2[axis];
8729
- } else {
8730
- order.push({ value, layout: layout2[axis] });
8854
+ itemLayouts.current.set(value, layout2);
8855
+ if (!axisOverride) {
8856
+ const nextAxis = detectAxis(values.flatMap((itemValue) => {
8857
+ const itemLayout = itemLayouts.current.get(itemValue);
8858
+ return itemLayout ? [itemLayout] : [];
8859
+ }));
8860
+ if (nextAxis !== detectedAxis)
8861
+ setDetectedAxis(nextAxis);
8731
8862
  }
8732
- order.sort(compareMin);
8733
8863
  },
8734
8864
  updateOrder: (item, offset, velocity) => {
8735
8865
  if (isReordering.current)
8736
8866
  return;
8737
- const newOrder = checkReorder(order, item, offset, velocity);
8867
+ const order = values.flatMap((value) => {
8868
+ const layout2 = itemLayouts.current.get(value);
8869
+ return layout2 ? [{ value, layout: layout2 }] : [];
8870
+ });
8871
+ const direction = groupRef.current?.ownerDocument.defaultView?.getComputedStyle(groupRef.current).direction === "rtl" ? "rtl" : "ltr";
8872
+ const newOrder = checkReorder(order, item, offset, velocity, axis, direction);
8738
8873
  if (order !== newOrder) {
8739
8874
  isReordering.current = true;
8740
8875
  const newValues = [...values];
8741
- for (let i = 0; i < newOrder.length; i++) {
8742
- if (order[i].value !== newOrder[i].value) {
8743
- const a = values.indexOf(order[i].value);
8744
- const b = values.indexOf(newOrder[i].value);
8745
- if (a !== -1 && b !== -1) {
8746
- [newValues[a], newValues[b]] = [newValues[b], newValues[a]];
8747
- }
8748
- break;
8749
- }
8750
- }
8876
+ const measuredIndexes = order.map(({ value }) => values.indexOf(value));
8877
+ newOrder.forEach(({ value }, index) => {
8878
+ newValues[measuredIndexes[index]] = value;
8879
+ });
8751
8880
  onReorder(newValues);
8752
8881
  }
8753
8882
  }
@@ -8770,11 +8899,8 @@ function ReorderGroupComponent({ children, as = "ul", axis = "y", onReorder, val
8770
8899
  return jsxRuntime.jsx(Component3, { ...props, style: groupStyle, ref: setRef2, ignoreStrict: true, children: jsxRuntime.jsx(ReorderContext.Provider, { value: context, children }) });
8771
8900
  }
8772
8901
  var ReorderGroup = /* @__PURE__ */ React2.forwardRef(ReorderGroupComponent);
8773
- function compareMin(a, b) {
8774
- return a.layout.min - b.layout.min;
8775
- }
8776
8902
 
8777
- // ../../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
8903
+ // ../../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
8778
8904
  var threshold = 50;
8779
8905
  var maxSpeed = 25;
8780
8906
  var overflowStyles2 = /* @__PURE__ */ new Set(["auto", "scroll"]);
@@ -8872,7 +8998,7 @@ function autoScrollIfNeeded(groupElement, pointerPosition, axis, velocity) {
8872
8998
  }
8873
8999
  }
8874
9000
 
8875
- // ../../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
9001
+ // ../../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
8876
9002
  function useDefaultMotionValue(value, defaultValue = 0) {
8877
9003
  return isMotionValue(value) ? value : useMotionValue(defaultValue);
8878
9004
  }
@@ -8886,11 +9012,13 @@ function ReorderItemComponent({ children, style = {}, value, as = "li", onDrag,
8886
9012
  const zIndex = useTransform([point.x, point.y], ([latestX, latestY]) => latestX || latestY ? 1 : "unset");
8887
9013
  invariant(Boolean(context), "Reorder.Item must be a child of Reorder.Group", "reorder-item-child");
8888
9014
  const { axis, registerItem, updateOrder, groupRef } = context;
8889
- return jsxRuntime.jsx(Component3, { drag: axis, ...props, dragSnapToOrigin: true, style: { ...style, x: point.x, y: point.y, zIndex }, layout: layout2, onDrag: (event, gesturePoint) => {
9015
+ const dragAxis = axis === "xy" ? true : axis;
9016
+ return jsxRuntime.jsx(Component3, { drag: dragAxis, ...props, dragSnapToOrigin: true, style: { ...style, x: point.x, y: point.y, zIndex }, layout: layout2, onDrag: (event, gesturePoint) => {
8890
9017
  const { velocity, point: pointerPoint } = gesturePoint;
8891
- const offset = point[axis].get();
8892
- updateOrder(value, offset, velocity[axis]);
8893
- autoScrollIfNeeded(groupRef.current, pointerPoint[axis], axis, velocity[axis]);
9018
+ const offset = { x: point.x.get(), y: point.y.get() };
9019
+ updateOrder(value, offset, velocity);
9020
+ const scrollAxis = axis === "xy" ? Math.abs(velocity.x) > Math.abs(velocity.y) ? "x" : "y" : axis;
9021
+ autoScrollIfNeeded(groupRef.current, pointerPoint[scrollAxis], scrollAxis, velocity[scrollAxis]);
8894
9022
  onDrag && onDrag(event, gesturePoint);
8895
9023
  }, onDragEnd: (event, gesturePoint) => {
8896
9024
  resetAutoScrollState();
@@ -8900,6 +9028,9 @@ function ReorderItemComponent({ children, style = {}, value, as = "li", onDrag,
8900
9028
  }, ref: externalRef, ignoreStrict: true, children });
8901
9029
  }
8902
9030
  var ReorderItem = /* @__PURE__ */ React2.forwardRef(ReorderItemComponent);
9031
+
9032
+ // ../../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
9033
+ var motion2 = motion;
8903
9034
  function usePrefersReducedMotion() {
8904
9035
  const [prefersReducedMotion2, setPrefersReducedMotion] = React2.useState(false);
8905
9036
  React2.useEffect(() => {
@@ -9112,7 +9243,7 @@ function AnimatedList({
9112
9243
  };
9113
9244
  const renderListItem = (item, index, virtualStyle) => {
9114
9245
  const itemContent = /* @__PURE__ */ jsxRuntime.jsx(
9115
- motion.div,
9246
+ motion2.div,
9116
9247
  {
9117
9248
  custom: index,
9118
9249
  variants: updatedVariants,
@@ -9182,7 +9313,7 @@ function AnimatedList({
9182
9313
  );
9183
9314
  }
9184
9315
  return /* @__PURE__ */ jsxRuntime.jsx(
9185
- motion.div,
9316
+ motion2.div,
9186
9317
  {
9187
9318
  className: ui.cn(getLayoutClassName(), className),
9188
9319
  style,