@luxfi/ui 8.2.12 → 8.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/3d-carousel.d.ts +2 -1
  2. package/dist/3d-carousel.d.ts.map +1 -1
  3. package/dist/3d-marquee.cjs +635 -607
  4. package/dist/3d-marquee.js +635 -607
  5. package/dist/animated-background.cjs +643 -615
  6. package/dist/animated-background.js +643 -615
  7. package/dist/animated-beam.cjs +634 -606
  8. package/dist/animated-beam.js +634 -606
  9. package/dist/animated-icon.cjs +672 -625
  10. package/dist/animated-icon.js +672 -625
  11. package/dist/animated-list.cjs +794 -663
  12. package/dist/animated-list.js +794 -663
  13. package/dist/animated-number.cjs +644 -616
  14. package/dist/animated-number.js +644 -616
  15. package/dist/animated-testimonials.cjs +668 -621
  16. package/dist/animated-testimonials.js +668 -621
  17. package/dist/animated-text.cjs +675 -628
  18. package/dist/animated-text.js +675 -628
  19. package/dist/animated-tooltip.cjs +668 -621
  20. package/dist/animated-tooltip.js +668 -621
  21. package/dist/apple-cards-carousel.cjs +676 -629
  22. package/dist/apple-cards-carousel.js +676 -629
  23. package/dist/apple-hello-effect.cjs +634 -606
  24. package/dist/apple-hello-effect.js +634 -606
  25. package/dist/calendar.cjs +2 -37
  26. package/dist/calendar.d.ts +11 -1
  27. package/dist/calendar.d.ts.map +1 -1
  28. package/dist/calendar.js +3 -38
  29. package/dist/dock.cjs +645 -617
  30. package/dist/dock.js +645 -617
  31. package/dist/image-zoom.d.ts +3 -2
  32. package/dist/image-zoom.d.ts.map +1 -1
  33. package/dist/input-otp.d.ts +4 -2
  34. package/dist/input-otp.d.ts.map +1 -1
  35. package/dist/pulse-animation.cjs +636 -608
  36. package/dist/pulse-animation.js +636 -608
  37. package/dist/resizable.cjs +4 -24
  38. package/dist/resizable.d.ts +12 -12
  39. package/dist/resizable.d.ts.map +1 -1
  40. package/dist/resizable.js +4 -4
  41. package/dist/reveal-animation.cjs +639 -611
  42. package/dist/reveal-animation.js +639 -611
  43. package/package.json +39 -39
  44. package/src/3d-carousel.tsx +2 -2
  45. package/src/calendar.tsx +12 -43
  46. package/src/image-zoom.tsx +2 -2
  47. package/src/resizable.tsx +7 -7
  48. package/src/table.tsx +9 -9
  49. package/tokens.css +21 -0
@@ -3,12 +3,6 @@ import { createContext, useState, useEffect, useRef, useCallback, useMemo, forwa
3
3
  import { cn, Box } from '@hanzo/ui';
4
4
  import { jsxs, jsx } from 'react/jsx-runtime';
5
5
 
6
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
7
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
8
- }) : x)(function(x) {
9
- if (typeof require !== "undefined") return require.apply(this, arguments);
10
- throw Error('Dynamic require of "' + x + '" is not supported');
11
- });
12
6
  var LayoutGroupContext = createContext({});
13
7
  function useConstant(init) {
14
8
  const ref = useRef(null);
@@ -18,14 +12,14 @@ function useConstant(init) {
18
12
  return ref.current;
19
13
  }
20
14
 
21
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/is-browser.mjs
15
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/is-browser.mjs
22
16
  var isBrowser = typeof window !== "undefined";
23
17
 
24
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs
18
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs
25
19
  var useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;
26
20
  var PresenceContext = /* @__PURE__ */ createContext(null);
27
21
 
28
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/array.mjs
22
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/array.mjs
29
23
  function addUniqueItem(arr, item) {
30
24
  if (arr.indexOf(item) === -1)
31
25
  arr.push(item);
@@ -36,7 +30,7 @@ function removeItem(arr, item) {
36
30
  arr.splice(index, 1);
37
31
  }
38
32
 
39
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/clamp.mjs
33
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/clamp.mjs
40
34
  var clamp = (min, max, v) => {
41
35
  if (v > max)
42
36
  return max;
@@ -45,12 +39,12 @@ var clamp = (min, max, v) => {
45
39
  return v;
46
40
  };
47
41
 
48
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/format-error-message.mjs
42
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/format-error-message.mjs
49
43
  function formatErrorMessage(message, errorCode) {
50
44
  return errorCode ? `${message}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${errorCode}` : message;
51
45
  }
52
46
 
53
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/errors.mjs
47
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/errors.mjs
54
48
  var warning = () => {
55
49
  };
56
50
  var invariant = () => {
@@ -68,21 +62,19 @@ if (typeof process !== "undefined" && process.env?.NODE_ENV !== "production") {
68
62
  };
69
63
  }
70
64
 
71
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/global-config.mjs
65
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/global-config.mjs
72
66
  var MotionGlobalConfig = {};
73
67
 
74
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
68
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
75
69
  var isNumericalString = (v) => /^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(v);
76
70
 
77
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-object.mjs
78
- function isObject(value) {
79
- return typeof value === "object" && value !== null;
80
- }
71
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-object.mjs
72
+ var isObject = (value) => typeof value === "object" && value !== null;
81
73
 
82
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
74
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
83
75
  var isZeroValueString = (v) => /^0[^.\s]+$/u.test(v);
84
76
 
85
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/memo.mjs
77
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/memo.mjs
86
78
  // @__NO_SIDE_EFFECTS__
87
79
  function memo(callback) {
88
80
  let result;
@@ -93,20 +85,19 @@ function memo(callback) {
93
85
  };
94
86
  }
95
87
 
96
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/noop.mjs
88
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/noop.mjs
97
89
  var noop = /* @__NO_SIDE_EFFECTS__ */ (any) => any;
98
90
 
99
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/pipe.mjs
100
- var combineFunctions = (a, b) => (v) => b(a(v));
101
- var pipe = (...transformers) => transformers.reduce(combineFunctions);
91
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/pipe.mjs
92
+ var pipe = (...transformers) => transformers.reduce((a, b) => (v) => b(a(v)));
102
93
 
103
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/progress.mjs
94
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/progress.mjs
104
95
  var progress = /* @__NO_SIDE_EFFECTS__ */ (from, to, value) => {
105
- const toFromDifference = to - from;
106
- return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;
96
+ const range = to - from;
97
+ return range ? (value - from) / range : 1;
107
98
  };
108
99
 
109
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
100
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
110
101
  var SubscriptionManager = class {
111
102
  constructor() {
112
103
  this.subscriptions = [];
@@ -136,16 +127,14 @@ var SubscriptionManager = class {
136
127
  }
137
128
  };
138
129
 
139
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/time-conversion.mjs
130
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/time-conversion.mjs
140
131
  var secondsToMilliseconds = /* @__NO_SIDE_EFFECTS__ */ (seconds) => seconds * 1e3;
141
132
  var millisecondsToSeconds = /* @__NO_SIDE_EFFECTS__ */ (milliseconds) => milliseconds / 1e3;
142
133
 
143
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
144
- function velocityPerSecond(velocity, frameDuration) {
145
- return frameDuration ? velocity * (1e3 / frameDuration) : 0;
146
- }
134
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
135
+ var velocityPerSecond = /* @__NO_SIDE_EFFECTS__ */ (velocity, frameDuration) => frameDuration ? velocity * (1e3 / frameDuration) : 0;
147
136
 
148
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/warn-once.mjs
137
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/warn-once.mjs
149
138
  var warned = /* @__PURE__ */ new Set();
150
139
  function warnOnce(condition, message, errorCode) {
151
140
  if (condition || warned.has(message))
@@ -154,7 +143,7 @@ function warnOnce(condition, message, errorCode) {
154
143
  warned.add(message);
155
144
  }
156
145
 
157
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
146
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
158
147
  var calcBezier = (t, a1, a2) => (((1 - 3 * a2 + 3 * a1) * t + (3 * a2 - 6 * a1)) * t + 3 * a1) * t;
159
148
  var subdivisionPrecision = 1e-7;
160
149
  var subdivisionMaxIterations = 12;
@@ -173,6 +162,7 @@ function binarySubdivide(x, lowerBound, upperBound, mX1, mX2) {
173
162
  } while (Math.abs(currentX) > subdivisionPrecision && ++i < subdivisionMaxIterations);
174
163
  return currentT;
175
164
  }
165
+ // @__NO_SIDE_EFFECTS__
176
166
  function cubicBezier(mX1, mY1, mX2, mY2) {
177
167
  if (mX1 === mY1 && mX2 === mY2)
178
168
  return noop;
@@ -180,39 +170,39 @@ function cubicBezier(mX1, mY1, mX2, mY2) {
180
170
  return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);
181
171
  }
182
172
 
183
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
184
- var mirrorEasing = (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
173
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
174
+ var mirrorEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
185
175
 
186
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
187
- var reverseEasing = (easing) => (p) => 1 - easing(1 - p);
176
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
177
+ var reverseEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => 1 - easing(1 - p);
188
178
 
189
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/back.mjs
179
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/back.mjs
190
180
  var backOut = /* @__PURE__ */ cubicBezier(0.33, 1.53, 0.69, 0.99);
191
181
  var backIn = /* @__PURE__ */ reverseEasing(backOut);
192
182
  var backInOut = /* @__PURE__ */ mirrorEasing(backIn);
193
183
 
194
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
184
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
195
185
  var anticipate = (p) => p >= 1 ? 1 : (p *= 2) < 1 ? 0.5 * backIn(p) : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));
196
186
 
197
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/circ.mjs
187
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/circ.mjs
198
188
  var circIn = (p) => 1 - Math.sin(Math.acos(p));
199
189
  var circOut = reverseEasing(circIn);
200
190
  var circInOut = mirrorEasing(circIn);
201
191
 
202
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/ease.mjs
192
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/ease.mjs
203
193
  var easeIn = /* @__PURE__ */ cubicBezier(0.42, 0, 1, 1);
204
194
  var easeOut = /* @__PURE__ */ cubicBezier(0, 0, 0.58, 1);
205
195
  var easeInOut = /* @__PURE__ */ cubicBezier(0.42, 0, 0.58, 1);
206
196
 
207
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
208
- var isEasingArray = (ease2) => {
197
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
198
+ var isEasingArray = /* @__NO_SIDE_EFFECTS__ */ (ease2) => {
209
199
  return Array.isArray(ease2) && typeof ease2[0] !== "number";
210
200
  };
211
201
 
212
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
213
- var isBezierDefinition = (easing) => Array.isArray(easing) && typeof easing[0] === "number";
202
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
203
+ var isBezierDefinition = /* @__NO_SIDE_EFFECTS__ */ (easing) => Array.isArray(easing) && typeof easing[0] === "number";
214
204
 
215
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
205
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
216
206
  var easingLookup = {
217
207
  linear: noop,
218
208
  easeIn,
@@ -241,7 +231,7 @@ var easingDefinitionToFunction = (definition) => {
241
231
  return definition;
242
232
  };
243
233
 
244
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/order.mjs
234
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/order.mjs
245
235
  var stepsOrder = [
246
236
  "setup",
247
237
  // Compute
@@ -261,8 +251,8 @@ var stepsOrder = [
261
251
  // Compute
262
252
  ];
263
253
 
264
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
265
- function createRenderStep(runNextFrame, stepName) {
254
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
255
+ function createRenderStep(runNextFrame) {
266
256
  let thisFrame = /* @__PURE__ */ new Set();
267
257
  let nextFrame = /* @__PURE__ */ new Set();
268
258
  let isProcessing = false;
@@ -324,7 +314,7 @@ function createRenderStep(runNextFrame, stepName) {
324
314
  return step;
325
315
  }
326
316
 
327
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
317
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
328
318
  var maxElapsed = 40;
329
319
  function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
330
320
  let runNextFrame = false;
@@ -387,10 +377,10 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
387
377
  return { schedule, cancel, state, steps };
388
378
  }
389
379
 
390
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/frame.mjs
380
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/frame.mjs
391
381
  var { schedule: frame, cancel: cancelFrame, state: frameData, steps: frameSteps } = /* @__PURE__ */ createRenderBatcher(typeof requestAnimationFrame !== "undefined" ? requestAnimationFrame : noop, true);
392
382
 
393
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
383
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
394
384
  var now;
395
385
  function clearTime() {
396
386
  now = void 0;
@@ -408,7 +398,7 @@ var time = {
408
398
  }
409
399
  };
410
400
 
411
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
401
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
412
402
  var checkStringStartsWith = (token) => (key) => typeof key === "string" && key.startsWith(token);
413
403
  var isCSSVariableName = /* @__PURE__ */ checkStringStartsWith("--");
414
404
  var startsAsVariableToken = /* @__PURE__ */ checkStringStartsWith("var(--");
@@ -425,7 +415,7 @@ function containsCSSVariable(value) {
425
415
  return value.split("/*")[0].includes("var(--");
426
416
  }
427
417
 
428
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
418
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
429
419
  var number = {
430
420
  test: (v) => typeof v === "number",
431
421
  parse: parseFloat,
@@ -440,21 +430,21 @@ var scale = {
440
430
  default: 1
441
431
  };
442
432
 
443
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
433
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
444
434
  var sanitize = (v) => Math.round(v * 1e5) / 1e5;
445
435
 
446
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
436
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
447
437
  var floatRegex = /-?(?:\d+(?:\.\d+)?|\.\d+)/gu;
448
438
 
449
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
439
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
450
440
  function isNullish(v) {
451
441
  return v == null;
452
442
  }
453
443
 
454
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
444
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
455
445
  var singleColorRegex = /^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu;
456
446
 
457
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
447
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
458
448
  var isColorString = (type, testProp) => (v) => {
459
449
  return Boolean(typeof v === "string" && singleColorRegex.test(v) && v.startsWith(type) || testProp && !isNullish(v) && Object.prototype.hasOwnProperty.call(v, testProp));
460
450
  };
@@ -470,7 +460,7 @@ var splitColor = (aName, bName, cName) => (v) => {
470
460
  };
471
461
  };
472
462
 
473
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
463
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
474
464
  var clampRgbUnit = (v) => clamp(0, 255, v);
475
465
  var rgbUnit = {
476
466
  ...number,
@@ -482,7 +472,7 @@ var rgba = {
482
472
  transform: ({ red, green, blue, alpha: alpha$1 = 1 }) => "rgba(" + rgbUnit.transform(red) + ", " + rgbUnit.transform(green) + ", " + rgbUnit.transform(blue) + ", " + sanitize(alpha.transform(alpha$1)) + ")"
483
473
  };
484
474
 
485
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
475
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
486
476
  function parseHex(v) {
487
477
  let r = "";
488
478
  let g = "";
@@ -516,7 +506,7 @@ var hex = {
516
506
  transform: rgba.transform
517
507
  };
518
508
 
519
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
509
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
520
510
  var createUnitType = /* @__NO_SIDE_EFFECTS__ */ (unit) => ({
521
511
  test: (v) => typeof v === "string" && v.endsWith(unit) && v.split(" ").length === 1,
522
512
  parse: parseFloat,
@@ -533,7 +523,7 @@ var progressPercentage = /* @__PURE__ */ (() => ({
533
523
  transform: (v) => percent.transform(v * 100)
534
524
  }))();
535
525
 
536
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
526
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
537
527
  var hsla = {
538
528
  test: /* @__PURE__ */ isColorString("hsl", "hue"),
539
529
  parse: /* @__PURE__ */ splitColor("hue", "saturation", "lightness"),
@@ -542,7 +532,7 @@ var hsla = {
542
532
  }
543
533
  };
544
534
 
545
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/index.mjs
535
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/index.mjs
546
536
  var color = {
547
537
  test: (v) => rgba.test(v) || hex.test(v) || hsla.test(v),
548
538
  parse: (v) => {
@@ -564,10 +554,10 @@ var color = {
564
554
  }
565
555
  };
566
556
 
567
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
557
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
568
558
  var colorRegex = /(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;
569
559
 
570
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
560
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
571
561
  function test(v) {
572
562
  return isNaN(v) && typeof v === "string" && (v.match(floatRegex)?.length || 0) + (v.match(colorRegex)?.length || 0) > 0;
573
563
  }
@@ -652,7 +642,7 @@ var complex = {
652
642
  getAnimatableNone
653
643
  };
654
644
 
655
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
645
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
656
646
  function hueToRgb(p, q, t) {
657
647
  if (t < 0)
658
648
  t += 1;
@@ -690,17 +680,17 @@ function hslaToRgba({ hue, saturation, lightness, alpha: alpha2 }) {
690
680
  };
691
681
  }
692
682
 
693
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
683
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
694
684
  function mixImmediate(a, b) {
695
685
  return (p) => p > 0 ? b : a;
696
686
  }
697
687
 
698
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/number.mjs
688
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/number.mjs
699
689
  var mixNumber = (from, to, progress2) => {
700
690
  return from + (to - from) * progress2;
701
691
  };
702
692
 
703
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/color.mjs
693
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/color.mjs
704
694
  var mixLinearColor = (from, to, v) => {
705
695
  const fromExpo = from * from;
706
696
  const expo = v * (to * to - fromExpo) + fromExpo;
@@ -735,7 +725,7 @@ var mixColor = (from, to) => {
735
725
  };
736
726
  };
737
727
 
738
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
728
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
739
729
  var invisibleValues = /* @__PURE__ */ new Set(["none", "hidden"]);
740
730
  function mixVisibility(origin, target) {
741
731
  if (invisibleValues.has(origin)) {
@@ -745,7 +735,7 @@ function mixVisibility(origin, target) {
745
735
  }
746
736
  }
747
737
 
748
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
738
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
749
739
  function mixNumber2(a, b) {
750
740
  return (p) => mixNumber(a, b, p);
751
741
  }
@@ -815,7 +805,7 @@ var mixComplex = (origin, target) => {
815
805
  }
816
806
  };
817
807
 
818
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/index.mjs
808
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/index.mjs
819
809
  function mix(from, to, p) {
820
810
  if (typeof from === "number" && typeof to === "number" && typeof p === "number") {
821
811
  return mixNumber(from, to, p);
@@ -824,7 +814,7 @@ function mix(from, to, p) {
824
814
  return mixer(from, to);
825
815
  }
826
816
 
827
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
817
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
828
818
  var frameloopDriver = (update) => {
829
819
  const passTimestamp = ({ timestamp }) => update(timestamp);
830
820
  return {
@@ -838,7 +828,7 @@ var frameloopDriver = (update) => {
838
828
  };
839
829
  };
840
830
 
841
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
831
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
842
832
  var generateLinearEasing = (easing, duration, resolution = 10) => {
843
833
  let points = "";
844
834
  const numPoints = Math.max(Math.round(duration / resolution), 2);
@@ -848,7 +838,7 @@ var generateLinearEasing = (easing, duration, resolution = 10) => {
848
838
  return `linear(${points.substring(0, points.length - 2)})`;
849
839
  };
850
840
 
851
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
841
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
852
842
  var maxGeneratorDuration = 2e4;
853
843
  function calcGeneratorDuration(generator) {
854
844
  let duration = 0;
@@ -861,7 +851,7 @@ function calcGeneratorDuration(generator) {
861
851
  return duration >= maxGeneratorDuration ? Infinity : duration;
862
852
  }
863
853
 
864
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
854
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
865
855
  function createGeneratorEasing(options, scale2 = 100, createGenerator) {
866
856
  const generator = createGenerator({ ...options, keyframes: [0, scale2] });
867
857
  const duration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);
@@ -874,7 +864,7 @@ function createGeneratorEasing(options, scale2 = 100, createGenerator) {
874
864
  };
875
865
  }
876
866
 
877
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
867
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
878
868
  var springDefaults = {
879
869
  // Default spring physics
880
870
  stiffness: 100,
@@ -1113,14 +1103,14 @@ spring.applyToOptions = (options) => {
1113
1103
  return options;
1114
1104
  };
1115
1105
 
1116
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
1106
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
1117
1107
  var velocitySampleDuration = 5;
1118
1108
  function getGeneratorVelocity(resolveValue, t, current) {
1119
1109
  const prevT = Math.max(t - velocitySampleDuration, 0);
1120
1110
  return velocityPerSecond(current - resolveValue(prevT), t - prevT);
1121
1111
  }
1122
1112
 
1123
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
1113
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
1124
1114
  function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstant = 325, bounceDamping = 10, bounceStiffness = 500, modifyTarget, min, max, restDelta = 0.5, restSpeed }) {
1125
1115
  const origin = keyframes2[0];
1126
1116
  const state = {
@@ -1184,7 +1174,7 @@ function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstan
1184
1174
  };
1185
1175
  }
1186
1176
 
1187
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/interpolate.mjs
1177
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/interpolate.mjs
1188
1178
  function createMixers(output, ease2, customMixer) {
1189
1179
  const mixers = [];
1190
1180
  const mixerFactory = customMixer || MotionGlobalConfig.mix || mix;
@@ -1229,7 +1219,7 @@ function interpolate(input, output, { clamp: isClamp = true, ease: ease2, mixer
1229
1219
  return isClamp ? (v) => interpolator(clamp(input[0], input[inputLength - 1], v)) : interpolator;
1230
1220
  }
1231
1221
 
1232
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
1222
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
1233
1223
  function fillOffset(offset, remaining) {
1234
1224
  const min = offset[offset.length - 1];
1235
1225
  for (let i = 1; i <= remaining; i++) {
@@ -1238,19 +1228,19 @@ function fillOffset(offset, remaining) {
1238
1228
  }
1239
1229
  }
1240
1230
 
1241
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
1231
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
1242
1232
  function defaultOffset(arr) {
1243
1233
  const offset = [0];
1244
1234
  fillOffset(offset, arr.length - 1);
1245
1235
  return offset;
1246
1236
  }
1247
1237
 
1248
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
1238
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
1249
1239
  function convertOffsetToTimes(offset, duration) {
1250
1240
  return offset.map((o) => o * duration);
1251
1241
  }
1252
1242
 
1253
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
1243
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
1254
1244
  function defaultEasing(values, easing) {
1255
1245
  return values.map(() => easing || easeInOut).splice(0, values.length - 1);
1256
1246
  }
@@ -1279,7 +1269,7 @@ function keyframes({ duration = 300, keyframes: keyframeValues, times, ease: eas
1279
1269
  };
1280
1270
  }
1281
1271
 
1282
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
1272
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
1283
1273
  var isNotNull = (value) => value !== null;
1284
1274
  function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyframe, speed = 1) {
1285
1275
  const resolvedKeyframes = keyframes2.filter(isNotNull);
@@ -1288,7 +1278,7 @@ function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyf
1288
1278
  return !index || finalKeyframe === void 0 ? resolvedKeyframes[index] : finalKeyframe;
1289
1279
  }
1290
1280
 
1291
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
1281
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
1292
1282
  var transitionTypeMap = {
1293
1283
  decay: inertia,
1294
1284
  inertia,
@@ -1302,7 +1292,7 @@ function replaceTransitionType(transition) {
1302
1292
  }
1303
1293
  }
1304
1294
 
1305
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
1295
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
1306
1296
  var WithPromise = class {
1307
1297
  constructor() {
1308
1298
  this.updateFinished();
@@ -1328,7 +1318,7 @@ var WithPromise = class {
1328
1318
  }
1329
1319
  };
1330
1320
 
1331
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
1321
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
1332
1322
  var percentToProgress = (percent2) => percent2 / 100;
1333
1323
  var JSAnimation = class extends WithPromise {
1334
1324
  constructor(options) {
@@ -1607,14 +1597,14 @@ var JSAnimation = class extends WithPromise {
1607
1597
  }
1608
1598
  };
1609
1599
 
1610
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
1600
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
1611
1601
  function fillWildcards(keyframes2) {
1612
1602
  for (let i = 1; i < keyframes2.length; i++) {
1613
1603
  keyframes2[i] ?? (keyframes2[i] = keyframes2[i - 1]);
1614
1604
  }
1615
1605
  }
1616
1606
 
1617
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
1607
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
1618
1608
  var radToDeg = (rad) => rad * 180 / Math.PI;
1619
1609
  var rotate = (v) => {
1620
1610
  const angle = radToDeg(Math.atan2(v[1], v[0]));
@@ -1694,7 +1684,7 @@ function convertTransformToNumber(value) {
1694
1684
  return parseFloat(value.trim());
1695
1685
  }
1696
1686
 
1697
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
1687
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
1698
1688
  var transformPropOrder = [
1699
1689
  "transformPerspective",
1700
1690
  "x",
@@ -1714,9 +1704,9 @@ var transformPropOrder = [
1714
1704
  "skewX",
1715
1705
  "skewY"
1716
1706
  ];
1717
- var transformProps = /* @__PURE__ */ (() => new Set(transformPropOrder))();
1707
+ var transformProps = /* @__PURE__ */ (() => /* @__PURE__ */ new Set([...transformPropOrder, "pathRotation"]))();
1718
1708
 
1719
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
1709
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
1720
1710
  var isNumOrPxType = (v) => v === number || v === px;
1721
1711
  var transformKeys = /* @__PURE__ */ new Set(["x", "y", "z"]);
1722
1712
  var nonTranslationalTransformKeys = transformPropOrder.filter((key) => !transformKeys.has(key));
@@ -1752,7 +1742,7 @@ var positionalValues = {
1752
1742
  positionalValues.translateX = positionalValues.x;
1753
1743
  positionalValues.translateY = positionalValues.y;
1754
1744
 
1755
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
1745
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
1756
1746
  var toResolve = /* @__PURE__ */ new Set();
1757
1747
  var isScheduled = false;
1758
1748
  var anyNeedsMeasurement = false;
@@ -1878,27 +1868,27 @@ var KeyframeResolver = class {
1878
1868
  }
1879
1869
  };
1880
1870
 
1881
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
1871
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
1882
1872
  var isCSSVar = (name) => name.startsWith("--");
1883
1873
 
1884
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
1874
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
1885
1875
  function setStyle(element, name, value) {
1886
1876
  isCSSVar(name) ? element.style.setProperty(name, value) : element.style[name] = value;
1887
1877
  }
1888
1878
 
1889
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
1879
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
1890
1880
  var supportsFlags = {};
1891
1881
 
1892
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
1882
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
1893
1883
  function memoSupports(callback, supportsFlag) {
1894
1884
  const memoized = memo(callback);
1895
1885
  return () => supportsFlags[supportsFlag] ?? memoized();
1896
1886
  }
1897
1887
 
1898
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
1888
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
1899
1889
  var supportsScrollTimeline = /* @__PURE__ */ memoSupports(() => window.ScrollTimeline !== void 0, "scrollTimeline");
1900
1890
 
1901
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
1891
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
1902
1892
  var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
1903
1893
  try {
1904
1894
  document.createElement("div").animate({ opacity: 0 }, { easing: "linear(0, 1)" });
@@ -1908,10 +1898,10 @@ var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
1908
1898
  return true;
1909
1899
  }, "linearEasing");
1910
1900
 
1911
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
1901
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
1912
1902
  var cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`;
1913
1903
 
1914
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
1904
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
1915
1905
  var supportedWaapiEasing = {
1916
1906
  linear: "linear",
1917
1907
  ease: "ease",
@@ -1924,7 +1914,7 @@ var supportedWaapiEasing = {
1924
1914
  backOut: /* @__PURE__ */ cubicBezierAsString([0.33, 1.53, 0.69, 0.99])
1925
1915
  };
1926
1916
 
1927
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
1917
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
1928
1918
  function mapEasingToNativeEasing(easing, duration) {
1929
1919
  if (!easing) {
1930
1920
  return void 0;
@@ -1939,7 +1929,7 @@ function mapEasingToNativeEasing(easing, duration) {
1939
1929
  }
1940
1930
  }
1941
1931
 
1942
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
1932
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
1943
1933
  function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0, duration = 300, repeat = 0, repeatType = "loop", ease: ease2 = "easeOut", times } = {}, pseudoElement = void 0) {
1944
1934
  const keyframeOptions = {
1945
1935
  [valueName]: keyframes2
@@ -1959,16 +1949,15 @@ function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0
1959
1949
  };
1960
1950
  if (pseudoElement)
1961
1951
  options.pseudoElement = pseudoElement;
1962
- const animation = element.animate(keyframeOptions, options);
1963
- return animation;
1952
+ return element.animate(keyframeOptions, options);
1964
1953
  }
1965
1954
 
1966
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
1955
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
1967
1956
  function isGenerator(type) {
1968
1957
  return typeof type === "function" && "applyToOptions" in type;
1969
1958
  }
1970
1959
 
1971
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
1960
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
1972
1961
  function applyGeneratorOptions({ type, ...options }) {
1973
1962
  if (isGenerator(type) && supportsLinearEasing()) {
1974
1963
  return type.applyToOptions(options);
@@ -1979,7 +1968,7 @@ function applyGeneratorOptions({ type, ...options }) {
1979
1968
  return options;
1980
1969
  }
1981
1970
 
1982
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
1971
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
1983
1972
  var NativeAnimation = class extends WithPromise {
1984
1973
  constructor(options) {
1985
1974
  super();
@@ -2129,7 +2118,7 @@ var NativeAnimation = class extends WithPromise {
2129
2118
  }
2130
2119
  };
2131
2120
 
2132
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
2121
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
2133
2122
  var unsupportedEasingFunctions = {
2134
2123
  anticipate,
2135
2124
  backInOut,
@@ -2144,7 +2133,7 @@ function replaceStringEasing(transition) {
2144
2133
  }
2145
2134
  }
2146
2135
 
2147
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
2136
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
2148
2137
  var sampleDelta = 10;
2149
2138
  var NativeAnimationExtended = class extends NativeAnimation {
2150
2139
  constructor(options) {
@@ -2187,7 +2176,7 @@ var NativeAnimationExtended = class extends NativeAnimation {
2187
2176
  }
2188
2177
  };
2189
2178
 
2190
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
2179
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
2191
2180
  var isAnimatable = (value, name) => {
2192
2181
  if (name === "zIndex")
2193
2182
  return false;
@@ -2201,7 +2190,7 @@ var isAnimatable = (value, name) => {
2201
2190
  return false;
2202
2191
  };
2203
2192
 
2204
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
2193
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
2205
2194
  function hasKeyframesChanged(keyframes2) {
2206
2195
  const current = keyframes2[0];
2207
2196
  if (keyframes2.length === 1)
@@ -2228,24 +2217,22 @@ function canAnimate(keyframes2, name, type, velocity) {
2228
2217
  return hasKeyframesChanged(keyframes2) || (type === "spring" || isGenerator(type)) && velocity;
2229
2218
  }
2230
2219
 
2231
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
2220
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
2232
2221
  function makeAnimationInstant(options) {
2233
2222
  options.duration = 0;
2234
2223
  options.type = "keyframes";
2235
2224
  }
2236
2225
 
2237
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
2226
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
2238
2227
  var acceleratedValues = /* @__PURE__ */ new Set([
2239
2228
  "opacity",
2240
2229
  "clipPath",
2241
2230
  "filter",
2242
- "transform"
2243
- // TODO: Can be accelerated but currently disabled until https://issues.chromium.org/issues/41491098 is resolved
2244
- // or until we implement support for linear() easing.
2245
- // "background-color"
2231
+ "transform",
2232
+ "backgroundColor"
2246
2233
  ]);
2247
2234
 
2248
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
2235
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
2249
2236
  var browserColorFunctions = /^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;
2250
2237
  function hasBrowserOnlyColors(keyframes2) {
2251
2238
  for (let i = 0; i < keyframes2.length; i++) {
@@ -2256,7 +2243,7 @@ function hasBrowserOnlyColors(keyframes2) {
2256
2243
  return false;
2257
2244
  }
2258
2245
 
2259
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
2246
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
2260
2247
  var colorProperties = /* @__PURE__ */ new Set([
2261
2248
  "color",
2262
2249
  "backgroundColor",
@@ -2273,7 +2260,7 @@ var supportsWaapi = /* @__PURE__ */ memo(() => Object.hasOwnProperty.call(Elemen
2273
2260
  function supportsBrowserAnimation(options) {
2274
2261
  const { motionValue: motionValue2, name, repeatDelay, repeatType, damping, type, keyframes: keyframes2 } = options;
2275
2262
  const subject = motionValue2?.owner?.current;
2276
- if (!(subject instanceof HTMLElement)) {
2263
+ if (!(subject instanceof HTMLElement) && !(subject instanceof SVGElement)) {
2277
2264
  return false;
2278
2265
  }
2279
2266
  const { onUpdate, transformTemplate } = motionValue2.owner.getProps();
@@ -2288,7 +2275,7 @@ function supportsBrowserAnimation(options) {
2288
2275
  !onUpdate && !repeatDelay && repeatType !== "mirror" && damping !== 0 && type !== "inertia";
2289
2276
  }
2290
2277
 
2291
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
2278
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
2292
2279
  var MAX_RESOLVE_DELAY = 40;
2293
2280
  var AsyncMotionValueAnimation = class extends WithPromise {
2294
2281
  constructor({ autoplay = true, delay: delay2 = 0, type = "keyframes", repeat = 0, repeatDelay = 0, repeatType = "loop", keyframes: keyframes2, name, motionValue: motionValue2, element, ...options }) {
@@ -2429,7 +2416,7 @@ var AsyncMotionValueAnimation = class extends WithPromise {
2429
2416
  }
2430
2417
  };
2431
2418
 
2432
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
2419
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
2433
2420
  function calcChildStagger(children, child, delayChildren, staggerChildren = 0, staggerDirection = 1) {
2434
2421
  const index = Array.from(children).sort((a, b) => a.sortNodePosition(b)).indexOf(child);
2435
2422
  const numChildren = children.size;
@@ -2438,202 +2425,7 @@ function calcChildStagger(children, child, delayChildren, staggerChildren = 0, s
2438
2425
  return delayIsFunction ? delayChildren(index, numChildren) : staggerDirection === 1 ? index * staggerChildren : maxStaggerDuration - index * staggerChildren;
2439
2426
  }
2440
2427
 
2441
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2442
- var splitCSSVariableRegex = (
2443
- // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2444
- /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2445
- );
2446
- function parseCSSVariable(current) {
2447
- const match = splitCSSVariableRegex.exec(current);
2448
- if (!match)
2449
- return [,];
2450
- const [, token1, token2, fallback] = match;
2451
- return [`--${token1 ?? token2}`, fallback];
2452
- }
2453
- var maxDepth = 4;
2454
- function getVariableValue(current, element, depth = 1) {
2455
- invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2456
- const [token, fallback] = parseCSSVariable(current);
2457
- if (!token)
2458
- return;
2459
- const resolved = window.getComputedStyle(element).getPropertyValue(token);
2460
- if (resolved) {
2461
- const trimmed = resolved.trim();
2462
- return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2463
- }
2464
- return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2465
- }
2466
-
2467
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2468
- var underDampedSpring = {
2469
- type: "spring",
2470
- stiffness: 500,
2471
- damping: 25,
2472
- restSpeed: 10
2473
- };
2474
- var criticallyDampedSpring = (target) => ({
2475
- type: "spring",
2476
- stiffness: 550,
2477
- damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2478
- restSpeed: 10
2479
- });
2480
- var keyframesTransition = {
2481
- type: "keyframes",
2482
- duration: 0.8
2483
- };
2484
- var ease = {
2485
- type: "keyframes",
2486
- ease: [0.25, 0.1, 0.35, 1],
2487
- duration: 0.3
2488
- };
2489
- var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2490
- if (keyframes2.length > 2) {
2491
- return keyframesTransition;
2492
- } else if (transformProps.has(valueKey)) {
2493
- return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2494
- }
2495
- return ease;
2496
- };
2497
-
2498
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2499
- function resolveTransition(transition, parentTransition) {
2500
- if (transition?.inherit && parentTransition) {
2501
- const { inherit: _, ...rest } = transition;
2502
- return { ...parentTransition, ...rest };
2503
- }
2504
- return transition;
2505
- }
2506
-
2507
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2508
- function getValueTransition(transition, key) {
2509
- const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2510
- if (valueTransition !== transition) {
2511
- return resolveTransition(valueTransition, transition);
2512
- }
2513
- return valueTransition;
2514
- }
2515
-
2516
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2517
- var orchestrationKeys = /* @__PURE__ */ new Set([
2518
- "when",
2519
- "delay",
2520
- "delayChildren",
2521
- "staggerChildren",
2522
- "staggerDirection",
2523
- "repeat",
2524
- "repeatType",
2525
- "repeatDelay",
2526
- "from",
2527
- "elapsed"
2528
- ]);
2529
- function isTransitionDefined(transition) {
2530
- for (const key in transition) {
2531
- if (!orchestrationKeys.has(key))
2532
- return true;
2533
- }
2534
- return false;
2535
- }
2536
-
2537
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2538
- var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2539
- const valueTransition = getValueTransition(transition, name) || {};
2540
- const delay2 = valueTransition.delay || transition.delay || 0;
2541
- let { elapsed = 0 } = transition;
2542
- elapsed = elapsed - secondsToMilliseconds(delay2);
2543
- const options = {
2544
- keyframes: Array.isArray(target) ? target : [null, target],
2545
- ease: "easeOut",
2546
- velocity: value.getVelocity(),
2547
- ...valueTransition,
2548
- delay: -elapsed,
2549
- onUpdate: (v) => {
2550
- value.set(v);
2551
- valueTransition.onUpdate && valueTransition.onUpdate(v);
2552
- },
2553
- onComplete: () => {
2554
- onComplete();
2555
- valueTransition.onComplete && valueTransition.onComplete();
2556
- },
2557
- name,
2558
- motionValue: value,
2559
- element: isHandoff ? void 0 : element
2560
- };
2561
- if (!isTransitionDefined(valueTransition)) {
2562
- Object.assign(options, getDefaultTransition(name, options));
2563
- }
2564
- options.duration && (options.duration = secondsToMilliseconds(options.duration));
2565
- options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2566
- if (options.from !== void 0) {
2567
- options.keyframes[0] = options.from;
2568
- }
2569
- let shouldSkip = false;
2570
- if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2571
- makeAnimationInstant(options);
2572
- if (options.delay === 0) {
2573
- shouldSkip = true;
2574
- }
2575
- }
2576
- if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations) {
2577
- shouldSkip = true;
2578
- makeAnimationInstant(options);
2579
- options.delay = 0;
2580
- }
2581
- options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2582
- if (shouldSkip && !isHandoff && value.get() !== void 0) {
2583
- const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2584
- if (finalKeyframe !== void 0) {
2585
- frame.update(() => {
2586
- options.onUpdate(finalKeyframe);
2587
- options.onComplete();
2588
- });
2589
- return;
2590
- }
2591
- }
2592
- return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2593
- };
2594
-
2595
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2596
- function getValueState(visualElement) {
2597
- const state = [{}, {}];
2598
- visualElement?.values.forEach((value, key) => {
2599
- state[0][key] = value.get();
2600
- state[1][key] = value.getVelocity();
2601
- });
2602
- return state;
2603
- }
2604
- function resolveVariantFromProps(props, definition, custom, visualElement) {
2605
- if (typeof definition === "function") {
2606
- const [current, velocity] = getValueState(visualElement);
2607
- definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2608
- }
2609
- if (typeof definition === "string") {
2610
- definition = props.variants && props.variants[definition];
2611
- }
2612
- if (typeof definition === "function") {
2613
- const [current, velocity] = getValueState(visualElement);
2614
- definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2615
- }
2616
- return definition;
2617
- }
2618
-
2619
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2620
- function resolveVariant(visualElement, definition, custom) {
2621
- const props = visualElement.getProps();
2622
- return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2623
- }
2624
-
2625
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2626
- var positionalKeys = /* @__PURE__ */ new Set([
2627
- "width",
2628
- "height",
2629
- "top",
2630
- "left",
2631
- "right",
2632
- "bottom",
2633
- ...transformPropOrder
2634
- ]);
2635
-
2636
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/index.mjs
2428
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/index.mjs
2637
2429
  var MAX_VELOCITY_DELTA = 30;
2638
2430
  var isFloat = (value) => {
2639
2431
  return !isNaN(parseFloat(value));
@@ -2884,46 +2676,241 @@ var MotionValue = class {
2884
2676
  }
2885
2677
  this.clearAnimation();
2886
2678
  }
2887
- /**
2888
- * Returns `true` if this value is currently animating.
2889
- *
2890
- * @public
2891
- */
2892
- isAnimating() {
2893
- return !!this.animation;
2679
+ /**
2680
+ * Returns `true` if this value is currently animating.
2681
+ *
2682
+ * @public
2683
+ */
2684
+ isAnimating() {
2685
+ return !!this.animation;
2686
+ }
2687
+ clearAnimation() {
2688
+ delete this.animation;
2689
+ }
2690
+ /**
2691
+ * Destroy and clean up subscribers to this `MotionValue`.
2692
+ *
2693
+ * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2694
+ * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2695
+ * created a `MotionValue` via the `motionValue` function.
2696
+ *
2697
+ * @public
2698
+ */
2699
+ destroy() {
2700
+ this.dependents?.clear();
2701
+ this.events.destroy?.notify();
2702
+ this.clearListeners();
2703
+ this.stop();
2704
+ if (this.stopPassiveEffect) {
2705
+ this.stopPassiveEffect();
2706
+ }
2707
+ }
2708
+ };
2709
+ function motionValue(init, options) {
2710
+ return new MotionValue(init, options);
2711
+ }
2712
+
2713
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2714
+ function resolveTransition(transition, parentTransition) {
2715
+ if (transition?.inherit && parentTransition) {
2716
+ const { inherit: _, ...rest } = transition;
2717
+ return { ...parentTransition, ...rest };
2718
+ }
2719
+ return transition;
2720
+ }
2721
+
2722
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2723
+ function getValueTransition(transition, key) {
2724
+ const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2725
+ if (valueTransition !== transition) {
2726
+ return resolveTransition(valueTransition, transition);
2727
+ }
2728
+ return valueTransition;
2729
+ }
2730
+
2731
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2732
+ var underDampedSpring = {
2733
+ type: "spring",
2734
+ stiffness: 500,
2735
+ damping: 25,
2736
+ restSpeed: 10
2737
+ };
2738
+ var criticallyDampedSpring = (target) => ({
2739
+ type: "spring",
2740
+ stiffness: 550,
2741
+ damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2742
+ restSpeed: 10
2743
+ });
2744
+ var keyframesTransition = {
2745
+ type: "keyframes",
2746
+ duration: 0.8
2747
+ };
2748
+ var ease = {
2749
+ type: "keyframes",
2750
+ ease: [0.25, 0.1, 0.35, 1],
2751
+ duration: 0.3
2752
+ };
2753
+ var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2754
+ if (keyframes2.length > 2) {
2755
+ return keyframesTransition;
2756
+ } else if (transformProps.has(valueKey)) {
2757
+ return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2758
+ }
2759
+ return ease;
2760
+ };
2761
+
2762
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2763
+ var orchestrationKeys = /* @__PURE__ */ new Set([
2764
+ "when",
2765
+ "delay",
2766
+ "delayChildren",
2767
+ "staggerChildren",
2768
+ "staggerDirection",
2769
+ "repeat",
2770
+ "repeatType",
2771
+ "repeatDelay",
2772
+ "from",
2773
+ "elapsed"
2774
+ ]);
2775
+ function isTransitionDefined(transition) {
2776
+ for (const key in transition) {
2777
+ if (!orchestrationKeys.has(key))
2778
+ return true;
2779
+ }
2780
+ return false;
2781
+ }
2782
+
2783
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2784
+ var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2785
+ const valueTransition = getValueTransition(transition, name) || {};
2786
+ const delay2 = valueTransition.delay || transition.delay || 0;
2787
+ let { elapsed = 0 } = transition;
2788
+ elapsed = elapsed - secondsToMilliseconds(delay2);
2789
+ const options = {
2790
+ keyframes: Array.isArray(target) ? target : [null, target],
2791
+ ease: "easeOut",
2792
+ velocity: value.getVelocity(),
2793
+ ...valueTransition,
2794
+ delay: -elapsed,
2795
+ onUpdate: (v) => {
2796
+ value.set(v);
2797
+ valueTransition.onUpdate && valueTransition.onUpdate(v);
2798
+ },
2799
+ onComplete: () => {
2800
+ onComplete();
2801
+ valueTransition.onComplete && valueTransition.onComplete();
2802
+ },
2803
+ name,
2804
+ motionValue: value,
2805
+ element: isHandoff ? void 0 : element
2806
+ };
2807
+ if (!isTransitionDefined(valueTransition)) {
2808
+ Object.assign(options, getDefaultTransition(name, options));
2809
+ }
2810
+ options.duration && (options.duration = secondsToMilliseconds(options.duration));
2811
+ options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2812
+ if (options.from !== void 0) {
2813
+ options.keyframes[0] = options.from;
2814
+ }
2815
+ let shouldSkip = false;
2816
+ if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2817
+ makeAnimationInstant(options);
2818
+ if (options.delay === 0) {
2819
+ shouldSkip = true;
2820
+ }
2894
2821
  }
2895
- clearAnimation() {
2896
- delete this.animation;
2822
+ if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations || valueTransition.skipAnimations) {
2823
+ shouldSkip = true;
2824
+ makeAnimationInstant(options);
2825
+ options.delay = 0;
2897
2826
  }
2898
- /**
2899
- * Destroy and clean up subscribers to this `MotionValue`.
2900
- *
2901
- * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2902
- * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2903
- * created a `MotionValue` via the `motionValue` function.
2904
- *
2905
- * @public
2906
- */
2907
- destroy() {
2908
- this.dependents?.clear();
2909
- this.events.destroy?.notify();
2910
- this.clearListeners();
2911
- this.stop();
2912
- if (this.stopPassiveEffect) {
2913
- this.stopPassiveEffect();
2827
+ options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2828
+ if (shouldSkip && !isHandoff && value.get() !== void 0) {
2829
+ const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2830
+ if (finalKeyframe !== void 0) {
2831
+ frame.update(() => {
2832
+ options.onUpdate(finalKeyframe);
2833
+ options.onComplete();
2834
+ });
2835
+ return;
2914
2836
  }
2915
2837
  }
2838
+ return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2916
2839
  };
2917
- function motionValue(init, options) {
2918
- return new MotionValue(init, options);
2840
+
2841
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2842
+ var splitCSSVariableRegex = (
2843
+ // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2844
+ /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2845
+ );
2846
+ function parseCSSVariable(current) {
2847
+ const match = splitCSSVariableRegex.exec(current);
2848
+ if (!match)
2849
+ return [,];
2850
+ const [, token1, token2, fallback] = match;
2851
+ return [`--${token1 ?? token2}`, fallback];
2852
+ }
2853
+ var maxDepth = 4;
2854
+ function getVariableValue(current, element, depth = 1) {
2855
+ invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2856
+ const [token, fallback] = parseCSSVariable(current);
2857
+ if (!token)
2858
+ return;
2859
+ const resolved = window.getComputedStyle(element).getPropertyValue(token);
2860
+ if (resolved) {
2861
+ const trimmed = resolved.trim();
2862
+ return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2863
+ }
2864
+ return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2865
+ }
2866
+
2867
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2868
+ function getValueState(visualElement) {
2869
+ const state = [{}, {}];
2870
+ visualElement?.values.forEach((value, key) => {
2871
+ state[0][key] = value.get();
2872
+ state[1][key] = value.getVelocity();
2873
+ });
2874
+ return state;
2875
+ }
2876
+ function resolveVariantFromProps(props, definition, custom, visualElement) {
2877
+ if (typeof definition === "function") {
2878
+ const [current, velocity] = getValueState(visualElement);
2879
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2880
+ }
2881
+ if (typeof definition === "string") {
2882
+ definition = props.variants && props.variants[definition];
2883
+ }
2884
+ if (typeof definition === "function") {
2885
+ const [current, velocity] = getValueState(visualElement);
2886
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2887
+ }
2888
+ return definition;
2889
+ }
2890
+
2891
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2892
+ function resolveVariant(visualElement, definition, custom) {
2893
+ const props = visualElement.getProps();
2894
+ return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2919
2895
  }
2920
2896
 
2921
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2897
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2898
+ var positionalKeys = /* @__PURE__ */ new Set([
2899
+ "width",
2900
+ "height",
2901
+ "top",
2902
+ "left",
2903
+ "right",
2904
+ "bottom",
2905
+ ...transformPropOrder
2906
+ ]);
2907
+
2908
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2922
2909
  var isKeyframesTarget = (v) => {
2923
2910
  return Array.isArray(v);
2924
2911
  };
2925
2912
 
2926
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2913
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2927
2914
  function setMotionValue(visualElement, key, value) {
2928
2915
  if (visualElement.hasValue(key)) {
2929
2916
  visualElement.getValue(key).set(value);
@@ -2944,15 +2931,15 @@ function setTarget(visualElement, definition) {
2944
2931
  }
2945
2932
  }
2946
2933
 
2947
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2934
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2948
2935
  var isMotionValue = (value) => Boolean(value && value.getVelocity);
2949
2936
 
2950
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2937
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2951
2938
  function isWillChangeMotionValue(value) {
2952
2939
  return Boolean(isMotionValue(value) && value.add);
2953
2940
  }
2954
2941
 
2955
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2942
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2956
2943
  function addValueToWillChange(visualElement, key) {
2957
2944
  const willChange = visualElement.getValue("willChange");
2958
2945
  if (isWillChangeMotionValue(willChange)) {
@@ -2964,21 +2951,22 @@ function addValueToWillChange(visualElement, key) {
2964
2951
  }
2965
2952
  }
2966
2953
 
2967
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2954
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2968
2955
  function camelToDash(str) {
2969
2956
  return str.replace(/([A-Z])/g, (match) => `-${match.toLowerCase()}`);
2970
2957
  }
2971
2958
 
2972
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2959
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2973
2960
  var optimizedAppearDataId = "framerAppearId";
2974
2961
  var optimizedAppearDataAttribute = "data-" + camelToDash(optimizedAppearDataId);
2975
2962
 
2976
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
2963
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
2977
2964
  function getOptimisedAppearId(visualElement) {
2978
2965
  return visualElement.props[optimizedAppearDataAttribute];
2979
2966
  }
2980
2967
 
2981
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2968
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2969
+ var isBrowser2 = typeof window !== "undefined";
2982
2970
  function shouldBlockAnimation({ protectedKeys, needsAnimating }, key) {
2983
2971
  const shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true;
2984
2972
  needsAnimating[key] = false;
@@ -2989,10 +2977,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
2989
2977
  const defaultTransition = visualElement.getDefaultTransition();
2990
2978
  transition = transition ? resolveTransition(transition, defaultTransition) : defaultTransition;
2991
2979
  const reduceMotion = transition?.reduceMotion;
2980
+ const skipAnimations = transition?.skipAnimations;
2992
2981
  if (transitionOverride)
2993
2982
  transition = transitionOverride;
2994
2983
  const animations2 = [];
2995
2984
  const animationTypeState = type && visualElement.animationState && visualElement.animationState.getState()[type];
2985
+ const path = transition?.path;
2986
+ if (path) {
2987
+ path.animateVisualElement(visualElement, target, transition, delay2, animations2);
2988
+ }
2996
2989
  for (const key in target) {
2997
2990
  const value = visualElement.getValue(key, visualElement.latestValues[key] ?? null);
2998
2991
  const valueTarget = target[key];
@@ -3003,13 +2996,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3003
2996
  delay: delay2,
3004
2997
  ...getValueTransition(transition || {}, key)
3005
2998
  };
2999
+ if (skipAnimations)
3000
+ valueTransition.skipAnimations = true;
3006
3001
  const currentValue = value.get();
3007
3002
  if (currentValue !== void 0 && !value.isAnimating() && !Array.isArray(valueTarget) && valueTarget === currentValue && !valueTransition.velocity) {
3008
3003
  frame.update(() => value.set(valueTarget));
3009
3004
  continue;
3010
3005
  }
3011
3006
  let isHandoff = false;
3012
- if (window.MotionHandoffAnimation) {
3007
+ if (isBrowser2 && window.MotionHandoffAnimation) {
3013
3008
  const appearId = getOptimisedAppearId(visualElement);
3014
3009
  if (appearId) {
3015
3010
  const startTime = window.MotionHandoffAnimation(appearId, key, frame);
@@ -3040,7 +3035,7 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3040
3035
  return animations2;
3041
3036
  }
3042
3037
 
3043
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3038
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3044
3039
  function animateVariant(visualElement, variant, options = {}) {
3045
3040
  const resolved = resolveVariant(visualElement, variant, options.type === "exit" ? visualElement.presenceContext?.custom : void 0);
3046
3041
  let { transition = visualElement.getDefaultTransition() || {} } = resolved || {};
@@ -3072,7 +3067,7 @@ function animateChildren(visualElement, variant, delay2 = 0, delayChildren = 0,
3072
3067
  return Promise.all(animations2);
3073
3068
  }
3074
3069
 
3075
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3070
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3076
3071
  function animateVisualElement(visualElement, definition, options = {}) {
3077
3072
  visualElement.notify("AnimationStart", definition);
3078
3073
  let animation;
@@ -3090,20 +3085,20 @@ function animateVisualElement(visualElement, definition, options = {}) {
3090
3085
  });
3091
3086
  }
3092
3087
 
3093
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/auto.mjs
3088
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/auto.mjs
3094
3089
  var auto = {
3095
3090
  test: (v) => v === "auto",
3096
3091
  parse: (v) => v
3097
3092
  };
3098
3093
 
3099
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/test.mjs
3094
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/test.mjs
3100
3095
  var testValueType = (v) => (type) => type.test(v);
3101
3096
 
3102
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3097
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3103
3098
  var dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto];
3104
3099
  var findDimensionValueType = (v) => dimensionValueTypes.find(testValueType(v));
3105
3100
 
3106
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3101
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3107
3102
  function isNone(value) {
3108
3103
  if (typeof value === "number") {
3109
3104
  return value === 0;
@@ -3114,7 +3109,7 @@ function isNone(value) {
3114
3109
  }
3115
3110
  }
3116
3111
 
3117
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3112
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3118
3113
  var maxDefaults = /* @__PURE__ */ new Set(["brightness", "contrast", "saturate", "opacity"]);
3119
3114
  function applyDefaultFilter(v) {
3120
3115
  const [name, value] = v.slice(0, -1).split("(");
@@ -3138,7 +3133,7 @@ var filter = {
3138
3133
  }
3139
3134
  };
3140
3135
 
3141
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3136
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3142
3137
  var mask = {
3143
3138
  ...complex,
3144
3139
  getAnimatableNone: (v) => {
@@ -3148,15 +3143,21 @@ var mask = {
3148
3143
  }
3149
3144
  };
3150
3145
 
3151
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/int.mjs
3146
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/int.mjs
3152
3147
  var int = {
3153
3148
  ...number,
3154
3149
  transform: Math.round
3155
3150
  };
3156
3151
 
3157
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3152
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3158
3153
  var transformValueTypes = {
3159
3154
  rotate: degrees,
3155
+ /**
3156
+ * Internal channel for `transition.path` orientToPath. Composed onto
3157
+ * `rotate` at the transform-build sites so the user's `rotate` is
3158
+ * never read or overwritten. Not part of `transformPropOrder`.
3159
+ */
3160
+ pathRotation: degrees,
3160
3161
  rotateX: degrees,
3161
3162
  rotateY: degrees,
3162
3163
  rotateZ: degrees,
@@ -3182,7 +3183,7 @@ var transformValueTypes = {
3182
3183
  originZ: px
3183
3184
  };
3184
3185
 
3185
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3186
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3186
3187
  var numberValueTypes = {
3187
3188
  // Border props
3188
3189
  borderWidth: px,
@@ -3247,7 +3248,7 @@ var numberValueTypes = {
3247
3248
  numOctaves: int
3248
3249
  };
3249
3250
 
3250
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3251
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3251
3252
  var defaultValueTypes = {
3252
3253
  ...numberValueTypes,
3253
3254
  // Color props
@@ -3269,7 +3270,7 @@ var defaultValueTypes = {
3269
3270
  };
3270
3271
  var getDefaultValueType = (key) => defaultValueTypes[key];
3271
3272
 
3272
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3273
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3273
3274
  var customTypes = /* @__PURE__ */ new Set([filter, mask]);
3274
3275
  function getAnimatableNone2(key, value) {
3275
3276
  let defaultValueType = getDefaultValueType(key);
@@ -3278,7 +3279,7 @@ function getAnimatableNone2(key, value) {
3278
3279
  return defaultValueType.getAnimatableNone ? defaultValueType.getAnimatableNone(value) : void 0;
3279
3280
  }
3280
3281
 
3281
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3282
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3282
3283
  var invalidTemplates = /* @__PURE__ */ new Set(["auto", "none", "0"]);
3283
3284
  function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name) {
3284
3285
  let i = 0;
@@ -3297,7 +3298,7 @@ function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, n
3297
3298
  }
3298
3299
  }
3299
3300
 
3300
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3301
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3301
3302
  var DOMKeyframesResolver = class extends KeyframeResolver {
3302
3303
  constructor(unresolvedKeyframes, onComplete, name, motionValue2, element) {
3303
3304
  super(unresolvedKeyframes, onComplete, name, motionValue2, element, true);
@@ -3395,7 +3396,15 @@ var DOMKeyframesResolver = class extends KeyframeResolver {
3395
3396
  }
3396
3397
  };
3397
3398
 
3398
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3399
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/border-radius.mjs
3400
+ var cornerRadiusProps = [
3401
+ "borderTopLeftRadius",
3402
+ "borderTopRightRadius",
3403
+ "borderBottomRightRadius",
3404
+ "borderBottomLeftRadius"
3405
+ ];
3406
+
3407
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3399
3408
  function resolveElements(elementOrSelector, scope, selectorCache) {
3400
3409
  if (elementOrSelector == null) {
3401
3410
  return [];
@@ -3410,20 +3419,20 @@ function resolveElements(elementOrSelector, scope, selectorCache) {
3410
3419
  return Array.from(elementOrSelector).filter((element) => element != null);
3411
3420
  }
3412
3421
 
3413
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3422
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3414
3423
  var getValueAsType = (value, type) => {
3415
3424
  return type && typeof value === "number" ? type.transform(value) : value;
3416
3425
  };
3417
3426
 
3418
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3427
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3419
3428
  function isHTMLElement(element) {
3420
3429
  return isObject(element) && "offsetHeight" in element && !("ownerSVGElement" in element);
3421
3430
  }
3422
3431
 
3423
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3432
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3424
3433
  var { schedule: microtask} = /* @__PURE__ */ createRenderBatcher(queueMicrotask, false);
3425
3434
 
3426
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3435
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3427
3436
  var isDragging = {
3428
3437
  x: false,
3429
3438
  y: false
@@ -3432,7 +3441,7 @@ function isDragActive() {
3432
3441
  return isDragging.x || isDragging.y;
3433
3442
  }
3434
3443
 
3435
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3444
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3436
3445
  function setDragLock(axis) {
3437
3446
  if (axis === "x" || axis === "y") {
3438
3447
  if (isDragging[axis]) {
@@ -3455,7 +3464,7 @@ function setDragLock(axis) {
3455
3464
  }
3456
3465
  }
3457
3466
 
3458
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3467
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3459
3468
  function setupGesture(elementOrSelector, options) {
3460
3469
  const elements = resolveElements(elementOrSelector);
3461
3470
  const gestureAbortController = new AbortController();
@@ -3468,7 +3477,7 @@ function setupGesture(elementOrSelector, options) {
3468
3477
  return [elements, eventOptions, cancel];
3469
3478
  }
3470
3479
 
3471
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/hover.mjs
3480
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/hover.mjs
3472
3481
  function isValidHover(event) {
3473
3482
  return !(event.pointerType === "touch" || isDragActive());
3474
3483
  }
@@ -3527,7 +3536,7 @@ function hover(elementOrSelector, onHoverStart, options = {}) {
3527
3536
  return cancel;
3528
3537
  }
3529
3538
 
3530
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3539
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3531
3540
  var isNodeOrChild = (parent, child) => {
3532
3541
  if (!child) {
3533
3542
  return false;
@@ -3538,7 +3547,7 @@ var isNodeOrChild = (parent, child) => {
3538
3547
  }
3539
3548
  };
3540
3549
 
3541
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3550
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3542
3551
  var isPrimaryPointer = (event) => {
3543
3552
  if (event.pointerType === "mouse") {
3544
3553
  return typeof event.button !== "number" || event.button <= 0;
@@ -3547,7 +3556,7 @@ var isPrimaryPointer = (event) => {
3547
3556
  }
3548
3557
  };
3549
3558
 
3550
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3559
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3551
3560
  var keyboardAccessibleElements = /* @__PURE__ */ new Set([
3552
3561
  "BUTTON",
3553
3562
  "INPUT",
@@ -3563,10 +3572,10 @@ function isElementTextInput(element) {
3563
3572
  return textInputElements.has(element.tagName) || element.isContentEditable === true;
3564
3573
  }
3565
3574
 
3566
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3575
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3567
3576
  var isPressing = /* @__PURE__ */ new WeakSet();
3568
3577
 
3569
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3578
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3570
3579
  function filterEvents(callback) {
3571
3580
  return (event) => {
3572
3581
  if (event.key !== "Enter")
@@ -3596,7 +3605,7 @@ var enableKeyboardPress = (focusEvent, eventOptions) => {
3596
3605
  element.addEventListener("blur", () => element.removeEventListener("keydown", handleKeydown), eventOptions);
3597
3606
  };
3598
3607
 
3599
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3608
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3600
3609
  function isValidPressEvent(event) {
3601
3610
  return isPrimaryPointer(event) && !isDragActive();
3602
3611
  }
@@ -3614,9 +3623,10 @@ function press(targetOrSelector, onPressStart, options = {}) {
3614
3623
  claimedPointerDownEvents.add(startEvent);
3615
3624
  }
3616
3625
  const onPressEnd = onPressStart(target, startEvent);
3626
+ const endEventOptions = { ...eventOptions, capture: true };
3617
3627
  const onPointerEnd = (endEvent, success) => {
3618
- window.removeEventListener("pointerup", onPointerUp);
3619
- window.removeEventListener("pointercancel", onPointerCancel);
3628
+ window.removeEventListener("pointerup", onPointerUp, endEventOptions);
3629
+ window.removeEventListener("pointercancel", onPointerCancel, endEventOptions);
3620
3630
  if (isPressing.has(target)) {
3621
3631
  isPressing.delete(target);
3622
3632
  }
@@ -3633,8 +3643,8 @@ function press(targetOrSelector, onPressStart, options = {}) {
3633
3643
  const onPointerCancel = (cancelEvent) => {
3634
3644
  onPointerEnd(cancelEvent, false);
3635
3645
  };
3636
- window.addEventListener("pointerup", onPointerUp, eventOptions);
3637
- window.addEventListener("pointercancel", onPointerCancel, eventOptions);
3646
+ window.addEventListener("pointerup", onPointerUp, endEventOptions);
3647
+ window.addEventListener("pointercancel", onPointerCancel, endEventOptions);
3638
3648
  };
3639
3649
  targets.forEach((target) => {
3640
3650
  const pointerDownTarget = options.useGlobalTarget ? window : target;
@@ -3649,12 +3659,12 @@ function press(targetOrSelector, onPressStart, options = {}) {
3649
3659
  return cancelEvents;
3650
3660
  }
3651
3661
 
3652
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3662
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3653
3663
  function isSVGElement(element) {
3654
3664
  return isObject(element) && "ownerSVGElement" in element;
3655
3665
  }
3656
3666
 
3657
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3667
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3658
3668
  var resizeHandlers = /* @__PURE__ */ new WeakMap();
3659
3669
  var observer;
3660
3670
  var getSize = (borderBoxAxis, svgAxis, htmlAxis) => (target, borderBoxSize) => {
@@ -3712,7 +3722,7 @@ function resizeElement(target, handler) {
3712
3722
  };
3713
3723
  }
3714
3724
 
3715
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3725
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3716
3726
  var windowCallbacks = /* @__PURE__ */ new Set();
3717
3727
  var windowResizeHandler;
3718
3728
  function createWindowResizeHandler() {
@@ -3742,17 +3752,17 @@ function resizeWindow(callback) {
3742
3752
  };
3743
3753
  }
3744
3754
 
3745
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/index.mjs
3755
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/index.mjs
3746
3756
  function resize(a, b) {
3747
3757
  return typeof a === "function" ? resizeWindow(a) : resizeElement(a, b);
3748
3758
  }
3749
3759
 
3750
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3760
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3751
3761
  function isSVGSVGElement(element) {
3752
3762
  return isSVGElement(element) && element.tagName === "svg";
3753
3763
  }
3754
3764
 
3755
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/transform.mjs
3765
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/transform.mjs
3756
3766
  function transform(...args) {
3757
3767
  const useImmediate = !Array.isArray(args[0]);
3758
3768
  const argOffset = useImmediate ? 0 : -1;
@@ -3764,7 +3774,7 @@ function transform(...args) {
3764
3774
  return useImmediate ? interpolator(inputValue) : interpolator;
3765
3775
  }
3766
3776
 
3767
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/follow-value.mjs
3777
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/follow-value.mjs
3768
3778
  function attachFollow(value, source, options = {}) {
3769
3779
  const initialValue = value.get();
3770
3780
  let activeAnimation = null;
@@ -3837,11 +3847,11 @@ function asNumber(v) {
3837
3847
  return typeof v === "number" ? v : parseFloat(v);
3838
3848
  }
3839
3849
 
3840
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3850
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3841
3851
  var valueTypes = [...dimensionValueTypes, color, complex];
3842
3852
  var findValueType = (v) => valueTypes.find(testValueType(v));
3843
3853
 
3844
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3854
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3845
3855
  var createAxisDelta = () => ({
3846
3856
  translate: 0,
3847
3857
  scale: 1,
@@ -3858,20 +3868,20 @@ var createBox = () => ({
3858
3868
  y: createAxis()
3859
3869
  });
3860
3870
 
3861
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/store.mjs
3871
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/store.mjs
3862
3872
  var visualElementStore = /* @__PURE__ */ new WeakMap();
3863
3873
 
3864
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3874
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3865
3875
  function isAnimationControls(v) {
3866
3876
  return v !== null && typeof v === "object" && typeof v.start === "function";
3867
3877
  }
3868
3878
 
3869
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3879
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3870
3880
  function isVariantLabel(v) {
3871
3881
  return typeof v === "string" || Array.isArray(v);
3872
3882
  }
3873
3883
 
3874
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3884
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3875
3885
  var variantPriorityOrder = [
3876
3886
  "animate",
3877
3887
  "whileInView",
@@ -3883,7 +3893,7 @@ var variantPriorityOrder = [
3883
3893
  ];
3884
3894
  var variantProps = ["initial", ...variantPriorityOrder];
3885
3895
 
3886
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3896
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3887
3897
  function isControllingVariants(props) {
3888
3898
  return isAnimationControls(props.animate) || variantProps.some((name) => isVariantLabel(props[name]));
3889
3899
  }
@@ -3891,7 +3901,7 @@ function isVariantNode(props) {
3891
3901
  return Boolean(isControllingVariants(props) || props.variants);
3892
3902
  }
3893
3903
 
3894
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3904
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3895
3905
  function updateMotionValuesFromProps(element, next, prev) {
3896
3906
  for (const key in next) {
3897
3907
  const nextValue = next[key];
@@ -3921,15 +3931,15 @@ function updateMotionValuesFromProps(element, next, prev) {
3921
3931
  return next;
3922
3932
  }
3923
3933
 
3924
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3934
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3925
3935
  var prefersReducedMotion = { current: null };
3926
3936
  var hasReducedMotionListener = { current: false };
3927
3937
 
3928
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3929
- var isBrowser2 = typeof window !== "undefined";
3938
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3939
+ var isBrowser3 = typeof window !== "undefined";
3930
3940
  function initPrefersReducedMotion() {
3931
3941
  hasReducedMotionListener.current = true;
3932
- if (!isBrowser2)
3942
+ if (!isBrowser3)
3933
3943
  return;
3934
3944
  if (window.matchMedia) {
3935
3945
  const motionMediaQuery = window.matchMedia("(prefers-reduced-motion)");
@@ -3941,7 +3951,7 @@ function initPrefersReducedMotion() {
3941
3951
  }
3942
3952
  }
3943
3953
 
3944
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3954
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3945
3955
  var propEventHandlers = [
3946
3956
  "AnimationStart",
3947
3957
  "AnimationComplete",
@@ -4130,8 +4140,6 @@ var VisualElement = class {
4130
4140
  removeOnChange();
4131
4141
  if (removeSyncCheck)
4132
4142
  removeSyncCheck();
4133
- if (value.owner)
4134
- value.stop();
4135
4143
  });
4136
4144
  }
4137
4145
  sortNodePosition(other) {
@@ -4342,7 +4350,7 @@ var VisualElement = class {
4342
4350
  }
4343
4351
  };
4344
4352
 
4345
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4353
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4346
4354
  var DOMVisualElement = class extends VisualElement {
4347
4355
  constructor() {
4348
4356
  super(...arguments);
@@ -4375,7 +4383,7 @@ var DOMVisualElement = class extends VisualElement {
4375
4383
  }
4376
4384
  };
4377
4385
 
4378
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/Feature.mjs
4386
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/Feature.mjs
4379
4387
  var Feature = class {
4380
4388
  constructor(node) {
4381
4389
  this.isMounted = false;
@@ -4385,7 +4393,7 @@ var Feature = class {
4385
4393
  }
4386
4394
  };
4387
4395
 
4388
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4396
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4389
4397
  function convertBoundingBoxToBox({ top, left, right, bottom }) {
4390
4398
  return {
4391
4399
  x: { min: left, max: right },
@@ -4408,7 +4416,7 @@ function transformBoxPoints(point, transformPoint2) {
4408
4416
  };
4409
4417
  }
4410
4418
 
4411
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4419
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4412
4420
  function isIdentityScale(scale2) {
4413
4421
  return scale2 === void 0 || scale2 === 1;
4414
4422
  }
@@ -4425,7 +4433,7 @@ function is2DTranslate(value) {
4425
4433
  return value && value !== "0%";
4426
4434
  }
4427
4435
 
4428
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4436
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4429
4437
  function scalePoint(point, scale2, originPoint) {
4430
4438
  const distanceFromOrigin = point - originPoint;
4431
4439
  const scaled = scale2 * distanceFromOrigin;
@@ -4501,7 +4509,7 @@ function transformBox(box, transform2, sourceBox) {
4501
4509
  transformAxis(box.y, resolveAxisTranslate(transform2.y, resolveBox.y), transform2.scaleY, transform2.scale, transform2.originY);
4502
4510
  }
4503
4511
 
4504
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4512
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4505
4513
  function measureViewportBox(instance, transformPoint2) {
4506
4514
  return convertBoundingBoxToBox(transformBoxPoints(instance.getBoundingClientRect(), transformPoint2));
4507
4515
  }
@@ -4515,7 +4523,7 @@ function measurePageBox(element, rootProjectionNode2, transformPagePoint) {
4515
4523
  return viewportBox;
4516
4524
  }
4517
4525
 
4518
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4526
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4519
4527
  var translateAlias = {
4520
4528
  x: "translateX",
4521
4529
  y: "translateY",
@@ -4550,6 +4558,11 @@ function buildTransform(latestValues, transform2, transformTemplate) {
4550
4558
  }
4551
4559
  }
4552
4560
  }
4561
+ const pathRotation = latestValues.pathRotation;
4562
+ if (pathRotation) {
4563
+ transformIsDefault = false;
4564
+ transformString += `rotate(${getValueAsType(pathRotation, numberValueTypes.pathRotation)}) `;
4565
+ }
4553
4566
  transformString = transformString.trim();
4554
4567
  if (transformTemplate) {
4555
4568
  transformString = transformTemplate(transform2, transformIsDefault ? "" : transformString);
@@ -4559,7 +4572,7 @@ function buildTransform(latestValues, transform2, transformTemplate) {
4559
4572
  return transformString;
4560
4573
  }
4561
4574
 
4562
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4575
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4563
4576
  function buildHTMLStyles(state, latestValues, transformTemplate) {
4564
4577
  const { style, vars, transformOrigin } = state;
4565
4578
  let hasTransform2 = false;
@@ -4595,7 +4608,7 @@ function buildHTMLStyles(state, latestValues, transformTemplate) {
4595
4608
  }
4596
4609
  }
4597
4610
 
4598
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4611
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4599
4612
  function renderHTML(element, { style, vars }, styleProp, projection) {
4600
4613
  const elementStyle = element.style;
4601
4614
  let key;
@@ -4608,7 +4621,7 @@ function renderHTML(element, { style, vars }, styleProp, projection) {
4608
4621
  }
4609
4622
  }
4610
4623
 
4611
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4624
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4612
4625
  function pixelsToPercent(pixels, axis) {
4613
4626
  if (axis.max === axis.min)
4614
4627
  return 0;
@@ -4631,7 +4644,7 @@ var correctBorderRadius = {
4631
4644
  }
4632
4645
  };
4633
4646
 
4634
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4647
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4635
4648
  var correctBoxShadow = {
4636
4649
  correct: (latest, { treeScale, projectionDelta }) => {
4637
4650
  const original = latest;
@@ -4653,16 +4666,11 @@ var correctBoxShadow = {
4653
4666
  }
4654
4667
  };
4655
4668
 
4656
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4669
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4657
4670
  var scaleCorrectors = {
4658
4671
  borderRadius: {
4659
4672
  ...correctBorderRadius,
4660
- applyTo: [
4661
- "borderTopLeftRadius",
4662
- "borderTopRightRadius",
4663
- "borderBottomLeftRadius",
4664
- "borderBottomRightRadius"
4665
- ]
4673
+ applyTo: [...cornerRadiusProps]
4666
4674
  },
4667
4675
  borderTopLeftRadius: correctBorderRadius,
4668
4676
  borderTopRightRadius: correctBorderRadius,
@@ -4671,12 +4679,12 @@ var scaleCorrectors = {
4671
4679
  boxShadow: correctBoxShadow
4672
4680
  };
4673
4681
 
4674
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4682
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4675
4683
  function isForcedMotionValue(key, { layout: layout2, layoutId }) {
4676
4684
  return transformProps.has(key) || key.startsWith("origin") || (layout2 || layoutId !== void 0) && (!!scaleCorrectors[key] || key === "opacity");
4677
4685
  }
4678
4686
 
4679
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4687
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4680
4688
  function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4681
4689
  const style = props.style;
4682
4690
  const prevStyle = prevProps?.style;
@@ -4691,7 +4699,7 @@ function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4691
4699
  return newValues;
4692
4700
  }
4693
4701
 
4694
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4702
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4695
4703
  function getComputedStyle2(element) {
4696
4704
  return window.getComputedStyle(element);
4697
4705
  }
@@ -4701,6 +4709,10 @@ var HTMLVisualElement = class extends DOMVisualElement {
4701
4709
  this.type = "html";
4702
4710
  this.renderInstance = renderHTML;
4703
4711
  }
4712
+ mount(instance) {
4713
+ invariant(Boolean(instance.style), "motion.create() components must forward their ref to a HTML or SVG element", "custom-component-ref");
4714
+ super.mount(instance);
4715
+ }
4704
4716
  readValueFromInstance(instance, key) {
4705
4717
  if (transformProps.has(key)) {
4706
4718
  return this.projection?.isProjecting ? defaultTransformValue(key) : readTransformValue(instance, key);
@@ -4721,7 +4733,7 @@ var HTMLVisualElement = class extends DOMVisualElement {
4721
4733
  }
4722
4734
  };
4723
4735
 
4724
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4736
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4725
4737
  var dashKeys = {
4726
4738
  offset: "stroke-dashoffset",
4727
4739
  array: "stroke-dasharray"
@@ -4737,8 +4749,10 @@ function buildSVGPath(attrs, length, spacing = 1, offset = 0, useDashCase = true
4737
4749
  attrs[keys.array] = `${length} ${spacing}`;
4738
4750
  }
4739
4751
 
4740
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4741
- var cssMotionPathProperties = [
4752
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4753
+ var cssStyleProperties = [
4754
+ "transform",
4755
+ "opacity",
4742
4756
  "offsetDistance",
4743
4757
  "offsetPath",
4744
4758
  "offsetRotate",
@@ -4764,9 +4778,11 @@ function buildSVGAttrs(state, {
4764
4778
  state.attrs = state.style;
4765
4779
  state.style = {};
4766
4780
  const { attrs, style } = state;
4767
- if (attrs.transform) {
4768
- style.transform = attrs.transform;
4769
- delete attrs.transform;
4781
+ for (const key of cssStyleProperties) {
4782
+ if (attrs[key] !== void 0) {
4783
+ style[key] = attrs[key];
4784
+ delete attrs[key];
4785
+ }
4770
4786
  }
4771
4787
  if (style.transform || attrs.transformOrigin) {
4772
4788
  style.transformOrigin = attrs.transformOrigin ?? "50% 50%";
@@ -4776,12 +4792,6 @@ function buildSVGAttrs(state, {
4776
4792
  style.transformBox = styleProp?.transformBox ?? "fill-box";
4777
4793
  delete attrs.transformBox;
4778
4794
  }
4779
- for (const key of cssMotionPathProperties) {
4780
- if (attrs[key] !== void 0) {
4781
- style[key] = attrs[key];
4782
- delete attrs[key];
4783
- }
4784
- }
4785
4795
  if (attrX !== void 0)
4786
4796
  attrs.x = attrX;
4787
4797
  if (attrY !== void 0)
@@ -4793,7 +4803,7 @@ function buildSVGAttrs(state, {
4793
4803
  }
4794
4804
  }
4795
4805
 
4796
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4806
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4797
4807
  var camelCaseAttributes = /* @__PURE__ */ new Set([
4798
4808
  "baseFrequency",
4799
4809
  "diffuseConstant",
@@ -4820,10 +4830,10 @@ var camelCaseAttributes = /* @__PURE__ */ new Set([
4820
4830
  "lengthAdjust"
4821
4831
  ]);
4822
4832
 
4823
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4833
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4824
4834
  var isSVGTag = (tag) => typeof tag === "string" && tag.toLowerCase() === "svg";
4825
4835
 
4826
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4836
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4827
4837
  function renderSVG(element, renderState, _styleProp, projection) {
4828
4838
  renderHTML(element, renderState, void 0, projection);
4829
4839
  for (const key in renderState.attrs) {
@@ -4831,7 +4841,7 @@ function renderSVG(element, renderState, _styleProp, projection) {
4831
4841
  }
4832
4842
  }
4833
4843
 
4834
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4844
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4835
4845
  function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4836
4846
  const newValues = scrapeMotionValuesFromProps(props, prevProps, visualElement);
4837
4847
  for (const key in props) {
@@ -4843,7 +4853,7 @@ function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4843
4853
  return newValues;
4844
4854
  }
4845
4855
 
4846
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4856
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4847
4857
  var SVGVisualElement = class extends DOMVisualElement {
4848
4858
  constructor() {
4849
4859
  super(...arguments);
@@ -4859,6 +4869,12 @@ var SVGVisualElement = class extends DOMVisualElement {
4859
4869
  const defaultType = getDefaultValueType(key);
4860
4870
  return defaultType ? defaultType.default || 0 : 0;
4861
4871
  }
4872
+ if (cssStyleProperties.includes(key)) {
4873
+ const computedStyle = getComputedStyle(instance);
4874
+ const value = computedStyle[key];
4875
+ if (typeof value === "string" && value)
4876
+ return value.trim();
4877
+ }
4862
4878
  key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;
4863
4879
  return instance.getAttribute(key);
4864
4880
  }
@@ -4877,7 +4893,7 @@ var SVGVisualElement = class extends DOMVisualElement {
4877
4893
  }
4878
4894
  };
4879
4895
 
4880
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4896
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4881
4897
  var numVariantProps = variantProps.length;
4882
4898
  function getVariantContext(visualElement) {
4883
4899
  if (!visualElement)
@@ -4900,7 +4916,7 @@ function getVariantContext(visualElement) {
4900
4916
  return context;
4901
4917
  }
4902
4918
 
4903
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4919
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4904
4920
  function shallowCompare(next, prev) {
4905
4921
  if (!Array.isArray(prev))
4906
4922
  return false;
@@ -4914,7 +4930,7 @@ function shallowCompare(next, prev) {
4914
4930
  return true;
4915
4931
  }
4916
4932
 
4917
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4933
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4918
4934
  var reversePriorityOrder = [...variantPriorityOrder].reverse();
4919
4935
  var numAnimationTypes = variantPriorityOrder.length;
4920
4936
  function createAnimateFunction(visualElement) {
@@ -5007,7 +5023,7 @@ function createAnimationState(visualElement) {
5007
5023
  continue;
5008
5024
  let valueHasChanged = false;
5009
5025
  if (isKeyframesTarget(next) && isKeyframesTarget(prev)) {
5010
- valueHasChanged = !shallowCompare(next, prev);
5026
+ valueHasChanged = !shallowCompare(next, prev) || variantDidChange;
5011
5027
  } else {
5012
5028
  valueHasChanged = next !== prev;
5013
5029
  }
@@ -5126,7 +5142,7 @@ function createState() {
5126
5142
  };
5127
5143
  }
5128
5144
 
5129
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5145
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5130
5146
  function copyAxisInto(axis, originAxis) {
5131
5147
  axis.min = originAxis.min;
5132
5148
  axis.max = originAxis.max;
@@ -5142,7 +5158,7 @@ function copyAxisDeltaInto(delta, originDelta) {
5142
5158
  delta.origin = originDelta.origin;
5143
5159
  }
5144
5160
 
5145
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5161
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5146
5162
  var SCALE_PRECISION = 1e-4;
5147
5163
  var SCALE_MIN = 1 - SCALE_PRECISION;
5148
5164
  var SCALE_MAX = 1 + SCALE_PRECISION;
@@ -5190,7 +5206,7 @@ function calcRelativePosition(target, layout2, parent, anchor) {
5190
5206
  calcRelativeAxisPosition(target.y, layout2.y, parent.y, anchor?.y);
5191
5207
  }
5192
5208
 
5193
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5209
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5194
5210
  function removePointDelta(point, translate, scale2, originPoint, boxScale) {
5195
5211
  point -= translate;
5196
5212
  point = scalePoint(point, 1 / scale2, originPoint);
@@ -5223,7 +5239,7 @@ function removeBoxTransforms(box, transforms, originBox, sourceBox) {
5223
5239
  removeAxisTransforms(box.y, transforms, yKeys, originBox ? originBox.y : void 0, sourceBox ? sourceBox.y : void 0);
5224
5240
  }
5225
5241
 
5226
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5242
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5227
5243
  function isAxisDeltaZero(delta) {
5228
5244
  return delta.translate === 0 && delta.scale === 1;
5229
5245
  }
@@ -5249,12 +5265,12 @@ function axisDeltaEquals(a, b) {
5249
5265
  return a.translate === b.translate && a.scale === b.scale && a.originPoint === b.originPoint;
5250
5266
  }
5251
5267
 
5252
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5268
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5253
5269
  function eachAxis(callback) {
5254
5270
  return [callback("x"), callback("y")];
5255
5271
  }
5256
5272
 
5257
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5273
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5258
5274
  function buildProjectionTransform(delta, treeScale, latestTransform) {
5259
5275
  let transform2 = "";
5260
5276
  const xTranslate = delta.x.translate / treeScale.x;
@@ -5267,11 +5283,13 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5267
5283
  transform2 += `scale(${1 / treeScale.x}, ${1 / treeScale.y}) `;
5268
5284
  }
5269
5285
  if (latestTransform) {
5270
- const { transformPerspective, rotate: rotate2, rotateX, rotateY, skewX, skewY } = latestTransform;
5286
+ const { transformPerspective, rotate: rotate2, pathRotation, rotateX, rotateY, skewX, skewY } = latestTransform;
5271
5287
  if (transformPerspective)
5272
5288
  transform2 = `perspective(${transformPerspective}px) ${transform2}`;
5273
5289
  if (rotate2)
5274
5290
  transform2 += `rotate(${rotate2}deg) `;
5291
+ if (pathRotation)
5292
+ transform2 += `rotate(${pathRotation}deg) `;
5275
5293
  if (rotateX)
5276
5294
  transform2 += `rotateX(${rotateX}deg) `;
5277
5295
  if (rotateY)
@@ -5289,14 +5307,8 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5289
5307
  return transform2 || "none";
5290
5308
  }
5291
5309
 
5292
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5293
- var borderLabels = [
5294
- "borderTopLeftRadius",
5295
- "borderTopRightRadius",
5296
- "borderBottomLeftRadius",
5297
- "borderBottomRightRadius"
5298
- ];
5299
- var numBorders = borderLabels.length;
5310
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5311
+ var numBorders = cornerRadiusProps.length;
5300
5312
  var asNumber2 = (value) => typeof value === "string" ? parseFloat(value) : value;
5301
5313
  var isPx = (value) => typeof value === "number" || px.test(value);
5302
5314
  function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOnlyMember) {
@@ -5307,7 +5319,7 @@ function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOn
5307
5319
  target.opacity = mixNumber(follow.opacity ?? 1, lead.opacity ?? 1, progress2);
5308
5320
  }
5309
5321
  for (let i = 0; i < numBorders; i++) {
5310
- const borderLabel = borderLabels[i];
5322
+ const borderLabel = cornerRadiusProps[i];
5311
5323
  let followRadius = getRadius(follow, borderLabel);
5312
5324
  let leadRadius = getRadius(lead, borderLabel);
5313
5325
  if (followRadius === void 0 && leadRadius === void 0)
@@ -5343,23 +5355,23 @@ function compress(min, max, easing) {
5343
5355
  };
5344
5356
  }
5345
5357
 
5346
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5358
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5347
5359
  function animateSingleValue(value, keyframes2, options) {
5348
5360
  const motionValue$1 = isMotionValue(value) ? value : motionValue(value);
5349
5361
  motionValue$1.start(animateMotionValue("", motionValue$1, keyframes2, options));
5350
5362
  return motionValue$1.animation;
5351
5363
  }
5352
5364
 
5353
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5365
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5354
5366
  function addDomEvent(target, eventName, handler, options = { passive: true }) {
5355
5367
  target.addEventListener(eventName, handler, options);
5356
- return () => target.removeEventListener(eventName, handler);
5368
+ return () => target.removeEventListener(eventName, handler, options);
5357
5369
  }
5358
5370
 
5359
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5371
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5360
5372
  var compareByDepth = (a, b) => a.depth - b.depth;
5361
5373
 
5362
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5374
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5363
5375
  var FlatTree = class {
5364
5376
  constructor() {
5365
5377
  this.children = [];
@@ -5380,7 +5392,7 @@ var FlatTree = class {
5380
5392
  }
5381
5393
  };
5382
5394
 
5383
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/delay.mjs
5395
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/delay.mjs
5384
5396
  function delay(callback, timeout) {
5385
5397
  const start = time.now();
5386
5398
  const checkElapsed = ({ timestamp }) => {
@@ -5394,12 +5406,12 @@ function delay(callback, timeout) {
5394
5406
  return () => cancelFrame(checkElapsed);
5395
5407
  }
5396
5408
 
5397
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5409
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5398
5410
  function resolveMotionValue(value) {
5399
5411
  return isMotionValue(value) ? value.get() : value;
5400
5412
  }
5401
5413
 
5402
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5414
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5403
5415
  var NodeStack = class {
5404
5416
  constructor() {
5405
5417
  this.members = [];
@@ -5480,7 +5492,7 @@ var NodeStack = class {
5480
5492
  }
5481
5493
  };
5482
5494
 
5483
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/state.mjs
5495
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/state.mjs
5484
5496
  var globalProjectionState = {
5485
5497
  /**
5486
5498
  * Global flag as to whether the tree has animated since the last time
@@ -5661,7 +5673,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
5661
5673
  animationOptions.type = false;
5662
5674
  }
5663
5675
  this.startAnimation(animationOptions);
5664
- this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);
5676
+ this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged, animationOptions.path);
5665
5677
  } else {
5666
5678
  if (!hasLayoutChanged) {
5667
5679
  finishAnimation(this);
@@ -6133,7 +6145,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6133
6145
  this.projectionDelta = createDelta();
6134
6146
  this.projectionDeltaWithTransform = createDelta();
6135
6147
  }
6136
- setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false) {
6148
+ setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false, pathFn) {
6137
6149
  const snapshot = this.snapshot;
6138
6150
  const snapshotLatestValues = snapshot ? snapshot.latestValues : {};
6139
6151
  const mixedValues = { ...this.latestValues };
@@ -6151,10 +6163,23 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6151
6163
  const shouldCrossfadeOpacity = Boolean(isSharedLayoutAnimation && !isOnlyMember && this.options.crossfade === true && !this.path.some(hasOpacityCrossfade));
6152
6164
  this.animationProgress = 0;
6153
6165
  let prevRelativeTarget;
6166
+ const interpolate2 = pathFn?.interpolateProjection(delta);
6154
6167
  this.mixTargetDelta = (latest) => {
6155
6168
  const progress2 = latest / 1e3;
6156
- mixAxisDelta(targetDelta.x, delta.x, progress2);
6157
- mixAxisDelta(targetDelta.y, delta.y, progress2);
6169
+ const point = interpolate2?.(progress2);
6170
+ if (point) {
6171
+ targetDelta.x.translate = point.x;
6172
+ targetDelta.x.scale = mixNumber(delta.x.scale, 1, progress2);
6173
+ targetDelta.x.origin = delta.x.origin;
6174
+ targetDelta.x.originPoint = delta.x.originPoint;
6175
+ targetDelta.y.translate = point.y;
6176
+ targetDelta.y.scale = mixNumber(delta.y.scale, 1, progress2);
6177
+ targetDelta.y.origin = delta.y.origin;
6178
+ targetDelta.y.originPoint = delta.y.originPoint;
6179
+ } else {
6180
+ mixAxisDeltaLinear(targetDelta.x, delta.x, progress2);
6181
+ mixAxisDeltaLinear(targetDelta.y, delta.y, progress2);
6182
+ }
6158
6183
  this.setTargetDelta(targetDelta);
6159
6184
  if (this.relativeTarget && this.relativeTargetOrigin && this.layout && this.relativeParent && this.relativeParent.layout) {
6160
6185
  calcRelativePosition(relativeLayout, this.layout.layoutBox, this.relativeParent.layout.layoutBox, this.options.layoutAnchor || void 0);
@@ -6170,6 +6195,11 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6170
6195
  this.animationValues = mixedValues;
6171
6196
  mixValues(mixedValues, snapshotLatestValues, this.latestValues, progress2, shouldCrossfadeOpacity, isOnlyMember);
6172
6197
  }
6198
+ if (point && point.rotate !== void 0) {
6199
+ if (!this.animationValues)
6200
+ this.animationValues = mixedValues;
6201
+ this.animationValues.pathRotation = point.rotate;
6202
+ }
6173
6203
  this.root.scheduleUpdateProjection();
6174
6204
  this.scheduleRender();
6175
6205
  this.animationProgress = progress2;
@@ -6196,8 +6226,6 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6196
6226
  this.mixTargetDelta(latest);
6197
6227
  options.onUpdate && options.onUpdate(latest);
6198
6228
  },
6199
- onStop: () => {
6200
- },
6201
6229
  onComplete: () => {
6202
6230
  options.onComplete && options.onComplete();
6203
6231
  this.completeAnimation();
@@ -6526,7 +6554,7 @@ function resetSkewAndRotation(node) {
6526
6554
  function removeLeadSnapshots(stack) {
6527
6555
  stack.removeLeadSnapshot();
6528
6556
  }
6529
- function mixAxisDelta(output, delta, p) {
6557
+ function mixAxisDeltaLinear(output, delta, p) {
6530
6558
  output.translate = mixNumber(delta.translate, 0, p);
6531
6559
  output.scale = mixNumber(delta.scale, 1, p);
6532
6560
  output.origin = delta.origin;
@@ -6564,7 +6592,7 @@ function checkNodeWasScrollRoot(node) {
6564
6592
  return node !== node.root && node.scroll?.wasRoot;
6565
6593
  }
6566
6594
 
6567
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6595
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6568
6596
  var DocumentProjectionNode = createProjectionNode({
6569
6597
  attachResizeListener: (ref, notify) => addDomEvent(ref, "resize", notify),
6570
6598
  measureScroll: () => ({
@@ -6574,7 +6602,7 @@ var DocumentProjectionNode = createProjectionNode({
6574
6602
  checkIsScrollRoot: () => true
6575
6603
  });
6576
6604
 
6577
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6605
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6578
6606
  var rootProjectionNode = {
6579
6607
  current: void 0
6580
6608
  };
@@ -6618,7 +6646,7 @@ function usePresence(subscribe = true) {
6618
6646
  }
6619
6647
  var LazyContext = createContext({ strict: false });
6620
6648
 
6621
- // ../../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
6649
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/definitions.mjs
6622
6650
  var featureProps = {
6623
6651
  animation: [
6624
6652
  "animate",
@@ -6657,7 +6685,7 @@ function getInitializedFeatureDefinitions() {
6657
6685
  return getFeatureDefinitions();
6658
6686
  }
6659
6687
 
6660
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/load-features.mjs
6688
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/features/load-features.mjs
6661
6689
  function loadFeatures(features) {
6662
6690
  const featureDefinitions2 = getInitializedFeatureDefinitions();
6663
6691
  for (const key in features) {
@@ -6668,74 +6696,9 @@ function loadFeatures(features) {
6668
6696
  }
6669
6697
  setFeatureDefinitions(featureDefinitions2);
6670
6698
  }
6671
-
6672
- // ../../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
6673
- var validMotionProps = /* @__PURE__ */ new Set([
6674
- "animate",
6675
- "exit",
6676
- "variants",
6677
- "initial",
6678
- "style",
6679
- "values",
6680
- "variants",
6681
- "transition",
6682
- "transformTemplate",
6683
- "custom",
6684
- "inherit",
6685
- "onBeforeLayoutMeasure",
6686
- "onAnimationStart",
6687
- "onAnimationComplete",
6688
- "onUpdate",
6689
- "onDragStart",
6690
- "onDrag",
6691
- "onDragEnd",
6692
- "onMeasureDragConstraints",
6693
- "onDirectionLock",
6694
- "onDragTransitionEnd",
6695
- "_dragX",
6696
- "_dragY",
6697
- "onHoverStart",
6698
- "onHoverEnd",
6699
- "onViewportEnter",
6700
- "onViewportLeave",
6701
- "globalTapTarget",
6702
- "propagate",
6703
- "ignoreStrict",
6704
- "viewport"
6705
- ]);
6706
- function isValidMotionProp(key) {
6707
- return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
6708
- }
6709
-
6710
- // ../../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
6711
- var shouldForward = (key) => !isValidMotionProp(key);
6712
- function loadExternalIsValidProp(isValidProp) {
6713
- if (typeof isValidProp !== "function")
6714
- return;
6715
- shouldForward = (key) => key.startsWith("on") ? !isValidMotionProp(key) : isValidProp(key);
6716
- }
6717
- try {
6718
- const emotionPkg = "@emotion/is-prop-valid";
6719
- loadExternalIsValidProp(__require(emotionPkg).default);
6720
- } catch {
6721
- }
6722
- function filterProps(props, isDom, forwardMotionProps) {
6723
- const filteredProps = {};
6724
- for (const key in props) {
6725
- if (key === "values" && typeof props.values === "object")
6726
- continue;
6727
- if (isMotionValue(props[key]))
6728
- continue;
6729
- if (shouldForward(key) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
6730
- props["draggable"] && key.startsWith("onDrag")) {
6731
- filteredProps[key] = props[key];
6732
- }
6733
- }
6734
- return filteredProps;
6735
- }
6736
6699
  var MotionContext = /* @__PURE__ */ createContext({});
6737
6700
 
6738
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs
6701
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs
6739
6702
  function getCurrentTreeVariants(props, context) {
6740
6703
  if (isControllingVariants(props)) {
6741
6704
  const { initial, animate } = props;
@@ -6747,7 +6710,7 @@ function getCurrentTreeVariants(props, context) {
6747
6710
  return props.inherit !== false ? context : {};
6748
6711
  }
6749
6712
 
6750
- // ../../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
6713
+ // ../../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
6751
6714
  function useCreateMotionContext(props) {
6752
6715
  const { initial, animate } = getCurrentTreeVariants(props, useContext(MotionContext));
6753
6716
  return useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);
@@ -6756,7 +6719,7 @@ function variantLabelsAsDependency(prop) {
6756
6719
  return Array.isArray(prop) ? prop.join(" ") : prop;
6757
6720
  }
6758
6721
 
6759
- // ../../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
6722
+ // ../../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
6760
6723
  var createHtmlRenderState = () => ({
6761
6724
  style: {},
6762
6725
  transform: {},
@@ -6764,7 +6727,7 @@ var createHtmlRenderState = () => ({
6764
6727
  vars: {}
6765
6728
  });
6766
6729
 
6767
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/html/use-props.mjs
6730
+ // ../../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
6768
6731
  function copyRawValuesOnly(target, source, props) {
6769
6732
  for (const key in source) {
6770
6733
  if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {
@@ -6801,13 +6764,13 @@ function useHTMLProps(props, visualState) {
6801
6764
  return htmlProps;
6802
6765
  }
6803
6766
 
6804
- // ../../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
6767
+ // ../../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
6805
6768
  var createSvgRenderState = () => ({
6806
6769
  ...createHtmlRenderState(),
6807
6770
  attrs: {}
6808
6771
  });
6809
6772
 
6810
- // ../../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
6773
+ // ../../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
6811
6774
  function useSVGProps(props, visualState, _isStatic, Component2) {
6812
6775
  const visualProps = useMemo(() => {
6813
6776
  const state = createSvgRenderState();
@@ -6825,7 +6788,64 @@ function useSVGProps(props, visualState, _isStatic, Component2) {
6825
6788
  return visualProps;
6826
6789
  }
6827
6790
 
6828
- // ../../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
6791
+ // ../../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
6792
+ var validMotionProps = /* @__PURE__ */ new Set([
6793
+ "animate",
6794
+ "exit",
6795
+ "variants",
6796
+ "initial",
6797
+ "style",
6798
+ "values",
6799
+ "variants",
6800
+ "transition",
6801
+ "transformTemplate",
6802
+ "custom",
6803
+ "inherit",
6804
+ "onBeforeLayoutMeasure",
6805
+ "onAnimationStart",
6806
+ "onAnimationComplete",
6807
+ "onUpdate",
6808
+ "onDragStart",
6809
+ "onDrag",
6810
+ "onDragEnd",
6811
+ "onMeasureDragConstraints",
6812
+ "onDirectionLock",
6813
+ "onDragTransitionEnd",
6814
+ "_dragX",
6815
+ "_dragY",
6816
+ "onHoverStart",
6817
+ "onHoverEnd",
6818
+ "onViewportEnter",
6819
+ "onViewportLeave",
6820
+ "globalTapTarget",
6821
+ "propagate",
6822
+ "ignoreStrict",
6823
+ "viewport"
6824
+ ]);
6825
+ function isValidMotionProp(key) {
6826
+ return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
6827
+ }
6828
+
6829
+ // ../../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
6830
+ function shouldForward(key, isValidProp) {
6831
+ return key.startsWith("on") ? !isValidMotionProp(key) : isValidProp?.(key) ?? !isValidMotionProp(key);
6832
+ }
6833
+ function filterProps(props, isDom, forwardMotionProps, isValidProp) {
6834
+ const filteredProps = {};
6835
+ for (const key in props) {
6836
+ if (key === "values" && typeof props.values === "object")
6837
+ continue;
6838
+ if (isMotionValue(props[key]))
6839
+ continue;
6840
+ if (shouldForward(key, isValidProp) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
6841
+ props["draggable"] && key.startsWith("onDrag")) {
6842
+ filteredProps[key] = props[key];
6843
+ }
6844
+ }
6845
+ return filteredProps;
6846
+ }
6847
+
6848
+ // ../../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
6829
6849
  var lowercaseSVGElements = [
6830
6850
  "animate",
6831
6851
  "circle",
@@ -6854,7 +6874,7 @@ var lowercaseSVGElements = [
6854
6874
  "view"
6855
6875
  ];
6856
6876
 
6857
- // ../../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
6877
+ // ../../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
6858
6878
  function isSVGComponent(Component2) {
6859
6879
  if (
6860
6880
  /**
@@ -6881,11 +6901,11 @@ function isSVGComponent(Component2) {
6881
6901
  return false;
6882
6902
  }
6883
6903
 
6884
- // ../../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
6885
- function useRender(Component2, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG) {
6904
+ // ../../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
6905
+ function useRender(Component2, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG, isValidProp) {
6886
6906
  const useVisualProps = isSVG ?? isSVGComponent(Component2) ? useSVGProps : useHTMLProps;
6887
6907
  const visualProps = useVisualProps(props, latestValues, isStatic, Component2);
6888
- const filteredProps = filterProps(props, typeof Component2 === "string", forwardMotionProps);
6908
+ const filteredProps = filterProps(props, typeof Component2 === "string", forwardMotionProps, isValidProp);
6889
6909
  const elementProps = Component2 !== Fragment ? { ...filteredProps, ...visualProps, ref } : {};
6890
6910
  const { children } = props;
6891
6911
  const renderedChildren = useMemo(() => isMotionValue(children) ? children.get() : children, [children]);
@@ -6950,20 +6970,20 @@ var makeUseVisualState = (config) => (props, isStatic) => {
6950
6970
  return isStatic ? make() : useConstant(make);
6951
6971
  };
6952
6972
 
6953
- // ../../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
6973
+ // ../../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
6954
6974
  var useHTMLVisualState = /* @__PURE__ */ makeUseVisualState({
6955
6975
  scrapeMotionValuesFromProps,
6956
6976
  createRenderState: createHtmlRenderState
6957
6977
  });
6958
6978
 
6959
- // ../../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
6979
+ // ../../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
6960
6980
  var useSVGVisualState = /* @__PURE__ */ makeUseVisualState({
6961
6981
  scrapeMotionValuesFromProps: scrapeMotionValuesFromProps2,
6962
6982
  createRenderState: createSvgRenderState
6963
6983
  });
6964
6984
 
6965
- // ../../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
6966
- var motionComponentSymbol = Symbol.for("motionComponentSymbol");
6985
+ // ../../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
6986
+ var motionComponentSymbol = /* @__PURE__ */ Symbol.for("motionComponentSymbol");
6967
6987
  function useMotionRef(visualState, visualElement, externalRef) {
6968
6988
  const externalRefContainer = useRef(externalRef);
6969
6989
  useInsertionEffect(() => {
@@ -6974,6 +6994,9 @@ function useMotionRef(visualState, visualElement, externalRef) {
6974
6994
  if (instance) {
6975
6995
  visualState.onMount?.(instance);
6976
6996
  }
6997
+ if (visualElement) {
6998
+ instance ? visualElement.mount(instance) : visualElement.unmount();
6999
+ }
6977
7000
  const ref = externalRefContainer.current;
6978
7001
  if (typeof ref === "function") {
6979
7002
  if (instance) {
@@ -6990,19 +7013,16 @@ function useMotionRef(visualState, visualElement, externalRef) {
6990
7013
  } else if (ref) {
6991
7014
  ref.current = instance;
6992
7015
  }
6993
- if (visualElement) {
6994
- instance ? visualElement.mount(instance) : visualElement.unmount();
6995
- }
6996
7016
  }, [visualElement]);
6997
7017
  }
6998
7018
  var SwitchLayoutGroupContext = createContext({});
6999
7019
 
7000
- // ../../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
7020
+ // ../../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
7001
7021
  function isRefObject(ref) {
7002
7022
  return ref && typeof ref === "object" && Object.prototype.hasOwnProperty.call(ref, "current");
7003
7023
  }
7004
7024
 
7005
- // ../../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
7025
+ // ../../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
7006
7026
  function useVisualElement(Component2, visualState, props, createVisualElement, ProjectionNodeConstructor, isSVG) {
7007
7027
  const { visualElement: parent } = useContext(MotionContext);
7008
7028
  const lazyContext = useContext(LazyContext);
@@ -7098,7 +7118,7 @@ function getClosestProjectingNode(visualElement) {
7098
7118
  return visualElement.options.allowProjection !== false ? visualElement.projection : getClosestProjectingNode(visualElement.parent);
7099
7119
  }
7100
7120
 
7101
- // ../../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
7121
+ // ../../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
7102
7122
  function createMotionComponent(Component2, { forwardMotionProps = false, type } = {}, preloadedFeatures, createVisualElement) {
7103
7123
  preloadedFeatures && loadFeatures(preloadedFeatures);
7104
7124
  const isSVG = type ? type === "svg" : isSVGComponent(Component2);
@@ -7110,7 +7130,7 @@ function createMotionComponent(Component2, { forwardMotionProps = false, type }
7110
7130
  ...props,
7111
7131
  layoutId: useLayoutId(props)
7112
7132
  };
7113
- const { isStatic } = configAndProps;
7133
+ const { isStatic, isValidProp } = configAndProps;
7114
7134
  const context = useCreateMotionContext(props);
7115
7135
  const visualState = useVisualState(props, isStatic);
7116
7136
  if (!isStatic && typeof window !== "undefined") {
@@ -7119,7 +7139,7 @@ function createMotionComponent(Component2, { forwardMotionProps = false, type }
7119
7139
  MeasureLayout2 = layoutProjection.MeasureLayout;
7120
7140
  context.visualElement = useVisualElement(Component2, visualState, configAndProps, createVisualElement, layoutProjection.ProjectionNode, isSVG);
7121
7141
  }
7122
- return jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout2 && context.visualElement ? jsx(MeasureLayout2, { visualElement: context.visualElement, ...configAndProps }) : null, useRender(Component2, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG)] });
7142
+ return jsxs(MotionContext.Provider, { value: context, children: [MeasureLayout2 && context.visualElement ? jsx(MeasureLayout2, { visualElement: context.visualElement, ...configAndProps }) : null, useRender(Component2, props, useMotionRef(visualState, context.visualElement, externalRef), visualState, isStatic, forwardMotionProps, isSVG, isValidProp)] });
7123
7143
  }
7124
7144
  MotionDOMComponent.displayName = `motion.${typeof Component2 === "string" ? Component2 : `create(${Component2.displayName ?? Component2.name ?? ""})`}`;
7125
7145
  const ForwardRefMotionComponent = forwardRef(MotionDOMComponent);
@@ -7149,7 +7169,7 @@ function getProjectionFunctionality(props) {
7149
7169
  };
7150
7170
  }
7151
7171
 
7152
- // ../../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
7172
+ // ../../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
7153
7173
  function createMotionProxy(preloadedFeatures, createVisualElement) {
7154
7174
  if (typeof Proxy === "undefined") {
7155
7175
  return createMotionComponent;
@@ -7187,7 +7207,7 @@ var createDomVisualElement = (Component2, options) => {
7187
7207
  });
7188
7208
  };
7189
7209
 
7190
- // ../../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
7210
+ // ../../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
7191
7211
  var AnimationFeature = class extends Feature {
7192
7212
  /**
7193
7213
  * We dynamically generate the AnimationState manager as it contains a reference
@@ -7223,7 +7243,7 @@ var AnimationFeature = class extends Feature {
7223
7243
  }
7224
7244
  };
7225
7245
 
7226
- // ../../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
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/features/animation/exit.mjs
7227
7247
  var id2 = 0;
7228
7248
  var ExitAnimationFeature = class extends Feature {
7229
7249
  constructor() {
@@ -7242,7 +7262,7 @@ var ExitAnimationFeature = class extends Feature {
7242
7262
  if (isPresent && prevIsPresent === false) {
7243
7263
  if (this.isExitComplete) {
7244
7264
  const { initial, custom } = this.node.getProps();
7245
- if (typeof initial === "string") {
7265
+ if (typeof initial === "string" || typeof initial === "object" && initial !== null && !Array.isArray(initial)) {
7246
7266
  const resolved = resolveVariant(this.node, initial, custom);
7247
7267
  if (resolved) {
7248
7268
  const { transition, transitionEnd, ...target } = resolved;
@@ -7280,7 +7300,7 @@ var ExitAnimationFeature = class extends Feature {
7280
7300
  }
7281
7301
  };
7282
7302
 
7283
- // ../../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
7303
+ // ../../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
7284
7304
  var animations = {
7285
7305
  animation: {
7286
7306
  Feature: AnimationFeature
@@ -7290,7 +7310,7 @@ var animations = {
7290
7310
  }
7291
7311
  };
7292
7312
 
7293
- // ../../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
7313
+ // ../../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
7294
7314
  function extractEventInfo(event) {
7295
7315
  return {
7296
7316
  point: {
@@ -7301,17 +7321,17 @@ function extractEventInfo(event) {
7301
7321
  }
7302
7322
  var addPointerInfo = (handler) => (event) => isPrimaryPointer(event) && handler(event, extractEventInfo(event));
7303
7323
 
7304
- // ../../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
7324
+ // ../../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
7305
7325
  function addPointerEvent(target, eventName, handler, options) {
7306
7326
  return addDomEvent(target, eventName, addPointerInfo(handler), options);
7307
7327
  }
7308
7328
 
7309
- // ../../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
7329
+ // ../../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
7310
7330
  var getContextWindow = ({ current }) => {
7311
7331
  return current ? current.ownerDocument.defaultView : null;
7312
7332
  };
7313
7333
 
7314
- // ../../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
7334
+ // ../../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
7315
7335
  var distance = (a, b) => Math.abs(a - b);
7316
7336
  function distance2D(a, b) {
7317
7337
  const xDelta = distance(a.x, b.x);
@@ -7319,7 +7339,7 @@ function distance2D(a, b) {
7319
7339
  return Math.sqrt(xDelta ** 2 + yDelta ** 2);
7320
7340
  }
7321
7341
 
7322
- // ../../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
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/gestures/pan/PanSession.mjs
7323
7343
  var overflowStyles = /* @__PURE__ */ new Set(["auto", "scroll"]);
7324
7344
  var PanSession = class {
7325
7345
  constructor(event, handlers, { transformPagePoint, contextWindow = window, dragSnapToOrigin = false, distanceThreshold = 3, element } = {}) {
@@ -7392,7 +7412,8 @@ var PanSession = class {
7392
7412
  this.history = [{ ...point, timestamp }];
7393
7413
  const { onSessionStart } = handlers;
7394
7414
  onSessionStart && onSessionStart(event, getPanInfo(initialInfo, this.history));
7395
- this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp));
7415
+ const eventOptions = { passive: true, capture: true };
7416
+ this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove, eventOptions), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp, eventOptions), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp, eventOptions));
7396
7417
  if (element) {
7397
7418
  this.startScrollTracking(element);
7398
7419
  }
@@ -7526,7 +7547,7 @@ function getVelocity(history, timeDelta) {
7526
7547
  return currentVelocity;
7527
7548
  }
7528
7549
 
7529
- // ../../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
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/gestures/drag/utils/constraints.mjs
7530
7551
  function applyConstraints(point, { min, max }, elastic) {
7531
7552
  if (min !== void 0 && point < min) {
7532
7553
  point = elastic ? mixNumber(min, point, elastic.min) : Math.max(point, min);
@@ -7604,7 +7625,7 @@ function resolvePointElastic(dragElastic, label) {
7604
7625
  return typeof dragElastic === "number" ? dragElastic : dragElastic[label] || 0;
7605
7626
  }
7606
7627
 
7607
- // ../../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
7628
+ // ../../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
7608
7629
  var elementDragControls = /* @__PURE__ */ new WeakMap();
7609
7630
  var VisualElementDragControls = class {
7610
7631
  constructor(visualElement) {
@@ -7805,6 +7826,10 @@ var VisualElementDragControls = class {
7805
7826
  const { projection } = this.visualElement;
7806
7827
  if (!projection || !projection.layout)
7807
7828
  return false;
7829
+ if (projection.root) {
7830
+ projection.root.scroll = void 0;
7831
+ projection.root.updateScroll();
7832
+ }
7808
7833
  const constraintsBox = measurePageBox(constraintsElement, projection.root, this.visualElement.getTransformPagePoint());
7809
7834
  let measuredConstraints = calcViewportConstraints(projection.layout.layoutBox, constraintsBox);
7810
7835
  if (onMeasureDragConstraints) {
@@ -7861,7 +7886,7 @@ var VisualElementDragControls = class {
7861
7886
  const dragKey = `_drag${axis.toUpperCase()}`;
7862
7887
  const props = this.visualElement.getProps();
7863
7888
  const externalMotionValue = props[dragKey];
7864
- return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, (props.initial ? props.initial[axis] : void 0) || 0);
7889
+ return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, this.visualElement.latestValues[axis] ?? 0);
7865
7890
  }
7866
7891
  snapToCursor(point) {
7867
7892
  eachAxis((axis) => {
@@ -8009,7 +8034,7 @@ function getCurrentDirection(offset, lockThreshold = 10) {
8009
8034
  return direction;
8010
8035
  }
8011
8036
 
8012
- // ../../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
8037
+ // ../../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
8013
8038
  var DragGesture = class extends Feature {
8014
8039
  constructor(node) {
8015
8040
  super(node);
@@ -8043,7 +8068,7 @@ var DragGesture = class extends Feature {
8043
8068
  }
8044
8069
  };
8045
8070
 
8046
- // ../../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
8071
+ // ../../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
8047
8072
  var asyncHandler = (handler) => (event, info) => {
8048
8073
  if (handler) {
8049
8074
  frame.update(() => handler(event, info), false, true);
@@ -8186,7 +8211,7 @@ function MeasureLayout(props) {
8186
8211
  return jsx(MeasureLayoutWithContext, { ...props, layoutGroup, switchLayoutGroup: useContext(SwitchLayoutGroupContext), isPresent, safeToRemove });
8187
8212
  }
8188
8213
 
8189
- // ../../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
8214
+ // ../../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
8190
8215
  var drag = {
8191
8216
  pan: {
8192
8217
  Feature: PanGesture
@@ -8198,7 +8223,7 @@ var drag = {
8198
8223
  }
8199
8224
  };
8200
8225
 
8201
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/hover.mjs
8226
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/hover.mjs
8202
8227
  function handleHoverEvent(node, event, lifecycle) {
8203
8228
  const { props } = node;
8204
8229
  if (node.animationState && props.whileHover) {
@@ -8224,7 +8249,7 @@ var HoverGesture = class extends Feature {
8224
8249
  }
8225
8250
  };
8226
8251
 
8227
- // ../../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
8252
+ // ../../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
8228
8253
  var FocusGesture = class extends Feature {
8229
8254
  constructor() {
8230
8255
  super(...arguments);
@@ -8255,7 +8280,7 @@ var FocusGesture = class extends Feature {
8255
8280
  }
8256
8281
  };
8257
8282
 
8258
- // ../../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
8283
+ // ../../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
8259
8284
  function handlePressEvent(node, event, lifecycle) {
8260
8285
  const { props } = node;
8261
8286
  if (node.current instanceof HTMLButtonElement && node.current.disabled) {
@@ -8288,7 +8313,7 @@ var PressGesture = class extends Feature {
8288
8313
  }
8289
8314
  };
8290
8315
 
8291
- // ../../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
8316
+ // ../../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
8292
8317
  var observerCallbacks = /* @__PURE__ */ new WeakMap();
8293
8318
  var observers = /* @__PURE__ */ new WeakMap();
8294
8319
  var fireObserverCallback = (entry) => {
@@ -8320,7 +8345,7 @@ function observeIntersection(element, options, callback) {
8320
8345
  };
8321
8346
  }
8322
8347
 
8323
- // ../../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
8348
+ // ../../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
8324
8349
  var thresholdNames = {
8325
8350
  some: 0,
8326
8351
  all: 1
@@ -8381,7 +8406,7 @@ function hasViewportOptionChanged({ viewport = {} }, { viewport: prevViewport =
8381
8406
  return (name) => viewport[name] !== prevViewport[name];
8382
8407
  }
8383
8408
 
8384
- // ../../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
8409
+ // ../../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
8385
8410
  var gestureAnimations = {
8386
8411
  inView: {
8387
8412
  Feature: InViewFeature
@@ -8397,7 +8422,7 @@ var gestureAnimations = {
8397
8422
  }
8398
8423
  };
8399
8424
 
8400
- // ../../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
8425
+ // ../../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
8401
8426
  var layout = {
8402
8427
  layout: {
8403
8428
  ProjectionNode: HTMLProjectionNode,
@@ -8405,7 +8430,7 @@ var layout = {
8405
8430
  }
8406
8431
  };
8407
8432
 
8408
- // ../../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
8433
+ // ../../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
8409
8434
  var featureBundle = {
8410
8435
  ...animations,
8411
8436
  ...gestureAnimations,
@@ -8413,7 +8438,7 @@ var featureBundle = {
8413
8438
  ...layout
8414
8439
  };
8415
8440
 
8416
- // ../../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
8441
+ // ../../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
8417
8442
  var motion = /* @__PURE__ */ createMotionProxy(featureBundle, createDomVisualElement);
8418
8443
  function useMotionValue(initial) {
8419
8444
  const value = useConstant(() => motionValue(initial));
@@ -8425,7 +8450,7 @@ function useMotionValue(initial) {
8425
8450
  return value;
8426
8451
  }
8427
8452
 
8428
- // ../../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
8453
+ // ../../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
8429
8454
  function useCombineMotionValues(values, combineValues) {
8430
8455
  const value = useMotionValue(combineValues());
8431
8456
  const updateValue = () => value.set(combineValues());
@@ -8441,7 +8466,7 @@ function useCombineMotionValues(values, combineValues) {
8441
8466
  return value;
8442
8467
  }
8443
8468
 
8444
- // ../../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
8469
+ // ../../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
8445
8470
  function useComputed(compute) {
8446
8471
  collectMotionValues.current = [];
8447
8472
  compute();
@@ -8450,7 +8475,7 @@ function useComputed(compute) {
8450
8475
  return value;
8451
8476
  }
8452
8477
 
8453
- // ../../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
8478
+ // ../../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
8454
8479
  function useTransform(input, inputRangeOrTransformer, outputRangeOrMap, options) {
8455
8480
  if (typeof input === "function") {
8456
8481
  return useComputed(input);
@@ -8482,7 +8507,7 @@ function useListTransform(values, transformer) {
8482
8507
  });
8483
8508
  }
8484
8509
 
8485
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-follow-value.mjs
8510
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-follow-value.mjs
8486
8511
  function useFollowValue(source, options = {}) {
8487
8512
  const { isStatic } = useContext(MotionConfigContext);
8488
8513
  const getFromSource = () => isMotionValue(source) ? source.get() : source;
@@ -8496,10 +8521,13 @@ function useFollowValue(source, options = {}) {
8496
8521
  return value;
8497
8522
  }
8498
8523
 
8499
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-spring.mjs
8524
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/value/use-spring.mjs
8500
8525
  function useSpring(source, options = {}) {
8501
8526
  return useFollowValue(source, { type: "spring", ...options });
8502
8527
  }
8528
+
8529
+ // ../../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
8530
+ var motion2 = motion;
8503
8531
  function usePrefersReducedMotion() {
8504
8532
  const [prefersReducedMotion2, setPrefersReducedMotion] = useState(false);
8505
8533
  useEffect(() => {
@@ -8684,7 +8712,7 @@ function AnimatedNumber({
8684
8712
  };
8685
8713
  const prefersReducedMotion2 = usePrefersReducedMotion();
8686
8714
  return /* @__PURE__ */ jsxs(
8687
- motion.span,
8715
+ motion2.span,
8688
8716
  {
8689
8717
  className: cn("inline-block tabular-nums", className),
8690
8718
  style,
@@ -8696,7 +8724,7 @@ function AnimatedNumber({
8696
8724
  children: [
8697
8725
  prefix,
8698
8726
  /* @__PURE__ */ jsx(
8699
- motion.span,
8727
+ motion2.span,
8700
8728
  {
8701
8729
  initial: { opacity: 0, y: 20 },
8702
8730
  animate: { opacity: 1, y: 0 },
@@ -8738,7 +8766,7 @@ function AnimatedCounter({
8738
8766
  }
8739
8767
  return /* @__PURE__ */ jsxs(Box, { className: cn("flex items-center gap-2", className), children: [
8740
8768
  /* @__PURE__ */ jsx(
8741
- motion.button,
8769
+ motion2.button,
8742
8770
  {
8743
8771
  onClick: decrement,
8744
8772
  disabled: currentValue <= min,
@@ -8750,7 +8778,7 @@ function AnimatedCounter({
8750
8778
  ),
8751
8779
  /* @__PURE__ */ jsx(AnimatedNumber, { value: currentValue, ...props }),
8752
8780
  /* @__PURE__ */ jsx(
8753
- motion.button,
8781
+ motion2.button,
8754
8782
  {
8755
8783
  onClick: increment,
8756
8784
  disabled: currentValue >= max,