@luxfi/ui 8.2.11 → 8.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. package/dist/3d-carousel.d.ts +2 -1
  2. package/dist/3d-carousel.d.ts.map +1 -1
  3. package/dist/3d-marquee.cjs +635 -607
  4. package/dist/3d-marquee.js +635 -607
  5. package/dist/animated-background.cjs +643 -615
  6. package/dist/animated-background.js +643 -615
  7. package/dist/animated-beam.cjs +634 -606
  8. package/dist/animated-beam.js +634 -606
  9. package/dist/animated-icon.cjs +672 -625
  10. package/dist/animated-icon.js +672 -625
  11. package/dist/animated-list.cjs +794 -663
  12. package/dist/animated-list.js +794 -663
  13. package/dist/animated-number.cjs +644 -616
  14. package/dist/animated-number.js +644 -616
  15. package/dist/animated-testimonials.cjs +668 -621
  16. package/dist/animated-testimonials.js +668 -621
  17. package/dist/animated-text.cjs +675 -628
  18. package/dist/animated-text.js +675 -628
  19. package/dist/animated-tooltip.cjs +668 -621
  20. package/dist/animated-tooltip.js +668 -621
  21. package/dist/apple-cards-carousel.cjs +676 -629
  22. package/dist/apple-cards-carousel.js +676 -629
  23. package/dist/apple-hello-effect.cjs +634 -606
  24. package/dist/apple-hello-effect.js +634 -606
  25. package/dist/calendar.cjs +2 -37
  26. package/dist/calendar.d.ts +11 -1
  27. package/dist/calendar.d.ts.map +1 -1
  28. package/dist/calendar.js +3 -38
  29. package/dist/dock.cjs +645 -617
  30. package/dist/dock.js +645 -617
  31. package/dist/image-zoom.d.ts +3 -2
  32. package/dist/image-zoom.d.ts.map +1 -1
  33. package/dist/input-otp.d.ts +4 -2
  34. package/dist/input-otp.d.ts.map +1 -1
  35. package/dist/pulse-animation.cjs +636 -608
  36. package/dist/pulse-animation.js +636 -608
  37. package/dist/resizable.cjs +4 -24
  38. package/dist/resizable.d.ts +12 -12
  39. package/dist/resizable.d.ts.map +1 -1
  40. package/dist/resizable.js +4 -4
  41. package/dist/reveal-animation.cjs +639 -611
  42. package/dist/reveal-animation.js +639 -611
  43. package/package.json +43 -41
  44. package/src/3d-carousel.tsx +2 -2
  45. package/src/calendar.tsx +12 -43
  46. package/src/image-zoom.tsx +2 -2
  47. package/src/resizable.tsx +7 -7
  48. package/src/table.tsx +9 -9
  49. package/tokens.css +21 -0
@@ -3,12 +3,6 @@ import { createContext, useState, useEffect, forwardRef, useContext, useMemo, us
3
3
  import { cn, Box } from '@hanzo/ui';
4
4
  import { jsx, jsxs } from 'react/jsx-runtime';
5
5
 
6
- var __require = /* @__PURE__ */ ((x) => typeof require !== "undefined" ? require : typeof Proxy !== "undefined" ? new Proxy(x, {
7
- get: (a, b) => (typeof require !== "undefined" ? require : a)[b]
8
- }) : x)(function(x) {
9
- if (typeof require !== "undefined") return require.apply(this, arguments);
10
- throw Error('Dynamic require of "' + x + '" is not supported');
11
- });
12
6
  var LayoutGroupContext = createContext({});
13
7
  function useConstant(init) {
14
8
  const ref = useRef(null);
@@ -18,14 +12,14 @@ function useConstant(init) {
18
12
  return ref.current;
19
13
  }
20
14
 
21
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/is-browser.mjs
15
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/is-browser.mjs
22
16
  var isBrowser = typeof window !== "undefined";
23
17
 
24
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs
18
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/utils/use-isomorphic-effect.mjs
25
19
  var useIsomorphicLayoutEffect = isBrowser ? useLayoutEffect : useEffect;
26
20
  var PresenceContext = /* @__PURE__ */ createContext(null);
27
21
 
28
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/array.mjs
22
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/array.mjs
29
23
  function addUniqueItem(arr, item) {
30
24
  if (arr.indexOf(item) === -1)
31
25
  arr.push(item);
@@ -36,7 +30,7 @@ function removeItem(arr, item) {
36
30
  arr.splice(index, 1);
37
31
  }
38
32
 
39
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/clamp.mjs
33
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/clamp.mjs
40
34
  var clamp = (min, max, v) => {
41
35
  if (v > max)
42
36
  return max;
@@ -45,12 +39,12 @@ var clamp = (min, max, v) => {
45
39
  return v;
46
40
  };
47
41
 
48
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/format-error-message.mjs
42
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/format-error-message.mjs
49
43
  function formatErrorMessage(message, errorCode) {
50
44
  return errorCode ? `${message}. For more information and steps for solving, visit https://motion.dev/troubleshooting/${errorCode}` : message;
51
45
  }
52
46
 
53
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/errors.mjs
47
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/errors.mjs
54
48
  var warning = () => {
55
49
  };
56
50
  var invariant = () => {
@@ -68,21 +62,19 @@ if (typeof process !== "undefined" && process.env?.NODE_ENV !== "production") {
68
62
  };
69
63
  }
70
64
 
71
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/global-config.mjs
65
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/global-config.mjs
72
66
  var MotionGlobalConfig = {};
73
67
 
74
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
68
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-numerical-string.mjs
75
69
  var isNumericalString = (v) => /^-?(?:\d+(?:\.\d+)?|\.\d+)$/u.test(v);
76
70
 
77
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-object.mjs
78
- function isObject(value) {
79
- return typeof value === "object" && value !== null;
80
- }
71
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-object.mjs
72
+ var isObject = (value) => typeof value === "object" && value !== null;
81
73
 
82
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
74
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/is-zero-value-string.mjs
83
75
  var isZeroValueString = (v) => /^0[^.\s]+$/u.test(v);
84
76
 
85
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/memo.mjs
77
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/memo.mjs
86
78
  // @__NO_SIDE_EFFECTS__
87
79
  function memo(callback) {
88
80
  let result;
@@ -93,20 +85,19 @@ function memo(callback) {
93
85
  };
94
86
  }
95
87
 
96
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/noop.mjs
88
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/noop.mjs
97
89
  var noop = /* @__NO_SIDE_EFFECTS__ */ (any) => any;
98
90
 
99
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/pipe.mjs
100
- var combineFunctions = (a, b) => (v) => b(a(v));
101
- var pipe = (...transformers) => transformers.reduce(combineFunctions);
91
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/pipe.mjs
92
+ var pipe = (...transformers) => transformers.reduce((a, b) => (v) => b(a(v)));
102
93
 
103
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/progress.mjs
94
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/progress.mjs
104
95
  var progress = /* @__NO_SIDE_EFFECTS__ */ (from, to, value) => {
105
- const toFromDifference = to - from;
106
- return toFromDifference === 0 ? 1 : (value - from) / toFromDifference;
96
+ const range = to - from;
97
+ return range ? (value - from) / range : 1;
107
98
  };
108
99
 
109
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
100
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/subscription-manager.mjs
110
101
  var SubscriptionManager = class {
111
102
  constructor() {
112
103
  this.subscriptions = [];
@@ -136,16 +127,14 @@ var SubscriptionManager = class {
136
127
  }
137
128
  };
138
129
 
139
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/time-conversion.mjs
130
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/time-conversion.mjs
140
131
  var secondsToMilliseconds = /* @__NO_SIDE_EFFECTS__ */ (seconds) => seconds * 1e3;
141
132
  var millisecondsToSeconds = /* @__NO_SIDE_EFFECTS__ */ (milliseconds) => milliseconds / 1e3;
142
133
 
143
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
144
- function velocityPerSecond(velocity, frameDuration) {
145
- return frameDuration ? velocity * (1e3 / frameDuration) : 0;
146
- }
134
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/velocity-per-second.mjs
135
+ var velocityPerSecond = /* @__NO_SIDE_EFFECTS__ */ (velocity, frameDuration) => frameDuration ? velocity * (1e3 / frameDuration) : 0;
147
136
 
148
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/warn-once.mjs
137
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/warn-once.mjs
149
138
  var warned = /* @__PURE__ */ new Set();
150
139
  function warnOnce(condition, message, errorCode) {
151
140
  if (condition || warned.has(message))
@@ -154,7 +143,7 @@ function warnOnce(condition, message, errorCode) {
154
143
  warned.add(message);
155
144
  }
156
145
 
157
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
146
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/cubic-bezier.mjs
158
147
  var calcBezier = (t, a1, a2) => (((1 - 3 * a2 + 3 * a1) * t + (3 * a2 - 6 * a1)) * t + 3 * a1) * t;
159
148
  var subdivisionPrecision = 1e-7;
160
149
  var subdivisionMaxIterations = 12;
@@ -173,6 +162,7 @@ function binarySubdivide(x, lowerBound, upperBound, mX1, mX2) {
173
162
  } while (Math.abs(currentX) > subdivisionPrecision && ++i < subdivisionMaxIterations);
174
163
  return currentT;
175
164
  }
165
+ // @__NO_SIDE_EFFECTS__
176
166
  function cubicBezier(mX1, mY1, mX2, mY2) {
177
167
  if (mX1 === mY1 && mX2 === mY2)
178
168
  return noop;
@@ -180,39 +170,39 @@ function cubicBezier(mX1, mY1, mX2, mY2) {
180
170
  return (t) => t === 0 || t === 1 ? t : calcBezier(getTForX(t), mY1, mY2);
181
171
  }
182
172
 
183
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
184
- var mirrorEasing = (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
173
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/mirror.mjs
174
+ var mirrorEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => p <= 0.5 ? easing(2 * p) / 2 : (2 - easing(2 * (1 - p))) / 2;
185
175
 
186
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
187
- var reverseEasing = (easing) => (p) => 1 - easing(1 - p);
176
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/modifiers/reverse.mjs
177
+ var reverseEasing = /* @__NO_SIDE_EFFECTS__ */ (easing) => (p) => 1 - easing(1 - p);
188
178
 
189
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/back.mjs
179
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/back.mjs
190
180
  var backOut = /* @__PURE__ */ cubicBezier(0.33, 1.53, 0.69, 0.99);
191
181
  var backIn = /* @__PURE__ */ reverseEasing(backOut);
192
182
  var backInOut = /* @__PURE__ */ mirrorEasing(backIn);
193
183
 
194
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
184
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/anticipate.mjs
195
185
  var anticipate = (p) => p >= 1 ? 1 : (p *= 2) < 1 ? 0.5 * backIn(p) : 0.5 * (2 - Math.pow(2, -10 * (p - 1)));
196
186
 
197
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/circ.mjs
187
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/circ.mjs
198
188
  var circIn = (p) => 1 - Math.sin(Math.acos(p));
199
189
  var circOut = reverseEasing(circIn);
200
190
  var circInOut = mirrorEasing(circIn);
201
191
 
202
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/ease.mjs
192
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/ease.mjs
203
193
  var easeIn = /* @__PURE__ */ cubicBezier(0.42, 0, 1, 1);
204
194
  var easeOut = /* @__PURE__ */ cubicBezier(0, 0, 0.58, 1);
205
195
  var easeInOut = /* @__PURE__ */ cubicBezier(0.42, 0, 0.58, 1);
206
196
 
207
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
208
- var isEasingArray = (ease2) => {
197
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-easing-array.mjs
198
+ var isEasingArray = /* @__NO_SIDE_EFFECTS__ */ (ease2) => {
209
199
  return Array.isArray(ease2) && typeof ease2[0] !== "number";
210
200
  };
211
201
 
212
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
213
- var isBezierDefinition = (easing) => Array.isArray(easing) && typeof easing[0] === "number";
202
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/is-bezier-definition.mjs
203
+ var isBezierDefinition = /* @__NO_SIDE_EFFECTS__ */ (easing) => Array.isArray(easing) && typeof easing[0] === "number";
214
204
 
215
- // ../../node_modules/.pnpm/motion-utils@12.36.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
205
+ // ../../node_modules/.pnpm/motion-utils@13.0.0/node_modules/motion-utils/dist/es/easing/utils/map.mjs
216
206
  var easingLookup = {
217
207
  linear: noop,
218
208
  easeIn,
@@ -241,7 +231,7 @@ var easingDefinitionToFunction = (definition) => {
241
231
  return definition;
242
232
  };
243
233
 
244
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/order.mjs
234
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/order.mjs
245
235
  var stepsOrder = [
246
236
  "setup",
247
237
  // Compute
@@ -261,8 +251,8 @@ var stepsOrder = [
261
251
  // Compute
262
252
  ];
263
253
 
264
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
265
- function createRenderStep(runNextFrame, stepName) {
254
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/render-step.mjs
255
+ function createRenderStep(runNextFrame) {
266
256
  let thisFrame = /* @__PURE__ */ new Set();
267
257
  let nextFrame = /* @__PURE__ */ new Set();
268
258
  let isProcessing = false;
@@ -324,7 +314,7 @@ function createRenderStep(runNextFrame, stepName) {
324
314
  return step;
325
315
  }
326
316
 
327
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
317
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/batcher.mjs
328
318
  var maxElapsed = 40;
329
319
  function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
330
320
  let runNextFrame = false;
@@ -387,10 +377,10 @@ function createRenderBatcher(scheduleNextBatch, allowKeepAlive) {
387
377
  return { schedule, cancel, state, steps };
388
378
  }
389
379
 
390
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/frame.mjs
380
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/frame.mjs
391
381
  var { schedule: frame, cancel: cancelFrame, state: frameData, steps: frameSteps } = /* @__PURE__ */ createRenderBatcher(typeof requestAnimationFrame !== "undefined" ? requestAnimationFrame : noop, true);
392
382
 
393
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
383
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/sync-time.mjs
394
384
  var now;
395
385
  function clearTime() {
396
386
  now = void 0;
@@ -408,7 +398,7 @@ var time = {
408
398
  }
409
399
  };
410
400
 
411
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
401
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-css-variable.mjs
412
402
  var checkStringStartsWith = (token) => (key) => typeof key === "string" && key.startsWith(token);
413
403
  var isCSSVariableName = /* @__PURE__ */ checkStringStartsWith("--");
414
404
  var startsAsVariableToken = /* @__PURE__ */ checkStringStartsWith("var(--");
@@ -425,7 +415,7 @@ function containsCSSVariable(value) {
425
415
  return value.split("/*")[0].includes("var(--");
426
416
  }
427
417
 
428
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
418
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/numbers/index.mjs
429
419
  var number = {
430
420
  test: (v) => typeof v === "number",
431
421
  parse: parseFloat,
@@ -440,21 +430,21 @@ var scale = {
440
430
  default: 1
441
431
  };
442
432
 
443
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
433
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/sanitize.mjs
444
434
  var sanitize = (v) => Math.round(v * 1e5) / 1e5;
445
435
 
446
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
436
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/float-regex.mjs
447
437
  var floatRegex = /-?(?:\d+(?:\.\d+)?|\.\d+)/gu;
448
438
 
449
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
439
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/is-nullish.mjs
450
440
  function isNullish(v) {
451
441
  return v == null;
452
442
  }
453
443
 
454
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
444
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/single-color-regex.mjs
455
445
  var singleColorRegex = /^(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))$/iu;
456
446
 
457
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
447
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/utils.mjs
458
448
  var isColorString = (type, testProp) => (v) => {
459
449
  return Boolean(typeof v === "string" && singleColorRegex.test(v) && v.startsWith(type) || testProp && !isNullish(v) && Object.prototype.hasOwnProperty.call(v, testProp));
460
450
  };
@@ -470,7 +460,7 @@ var splitColor = (aName, bName, cName) => (v) => {
470
460
  };
471
461
  };
472
462
 
473
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
463
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/rgba.mjs
474
464
  var clampRgbUnit = (v) => clamp(0, 255, v);
475
465
  var rgbUnit = {
476
466
  ...number,
@@ -482,7 +472,7 @@ var rgba = {
482
472
  transform: ({ red, green, blue, alpha: alpha$1 = 1 }) => "rgba(" + rgbUnit.transform(red) + ", " + rgbUnit.transform(green) + ", " + rgbUnit.transform(blue) + ", " + sanitize(alpha.transform(alpha$1)) + ")"
483
473
  };
484
474
 
485
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
475
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hex.mjs
486
476
  function parseHex(v) {
487
477
  let r = "";
488
478
  let g = "";
@@ -516,7 +506,7 @@ var hex = {
516
506
  transform: rgba.transform
517
507
  };
518
508
 
519
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
509
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/numbers/units.mjs
520
510
  var createUnitType = /* @__NO_SIDE_EFFECTS__ */ (unit) => ({
521
511
  test: (v) => typeof v === "string" && v.endsWith(unit) && v.split(" ").length === 1,
522
512
  parse: parseFloat,
@@ -533,7 +523,7 @@ var progressPercentage = /* @__PURE__ */ (() => ({
533
523
  transform: (v) => percent.transform(v * 100)
534
524
  }))();
535
525
 
536
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
526
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hsla.mjs
537
527
  var hsla = {
538
528
  test: /* @__PURE__ */ isColorString("hsl", "hue"),
539
529
  parse: /* @__PURE__ */ splitColor("hue", "saturation", "lightness"),
@@ -542,7 +532,7 @@ var hsla = {
542
532
  }
543
533
  };
544
534
 
545
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/index.mjs
535
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/index.mjs
546
536
  var color = {
547
537
  test: (v) => rgba.test(v) || hex.test(v) || hsla.test(v),
548
538
  parse: (v) => {
@@ -564,10 +554,10 @@ var color = {
564
554
  }
565
555
  };
566
556
 
567
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
557
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/color-regex.mjs
568
558
  var colorRegex = /(?:#[\da-f]{3,8}|(?:rgb|hsl)a?\((?:-?[\d.]+%?[,\s]+){2}-?[\d.]+%?\s*(?:[,/]\s*)?(?:\b\d+(?:\.\d+)?|\.\d+)?%?\))/giu;
569
559
 
570
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
560
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/index.mjs
571
561
  function test(v) {
572
562
  return isNaN(v) && typeof v === "string" && (v.match(floatRegex)?.length || 0) + (v.match(colorRegex)?.length || 0) > 0;
573
563
  }
@@ -652,7 +642,7 @@ var complex = {
652
642
  getAnimatableNone
653
643
  };
654
644
 
655
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
645
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/color/hsla-to-rgba.mjs
656
646
  function hueToRgb(p, q, t) {
657
647
  if (t < 0)
658
648
  t += 1;
@@ -690,17 +680,17 @@ function hslaToRgba({ hue, saturation, lightness, alpha: alpha2 }) {
690
680
  };
691
681
  }
692
682
 
693
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
683
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/immediate.mjs
694
684
  function mixImmediate(a, b) {
695
685
  return (p) => p > 0 ? b : a;
696
686
  }
697
687
 
698
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/number.mjs
688
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/number.mjs
699
689
  var mixNumber = (from, to, progress2) => {
700
690
  return from + (to - from) * progress2;
701
691
  };
702
692
 
703
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/color.mjs
693
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/color.mjs
704
694
  var mixLinearColor = (from, to, v) => {
705
695
  const fromExpo = from * from;
706
696
  const expo = v * (to * to - fromExpo) + fromExpo;
@@ -735,7 +725,7 @@ var mixColor = (from, to) => {
735
725
  };
736
726
  };
737
727
 
738
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
728
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/visibility.mjs
739
729
  var invisibleValues = /* @__PURE__ */ new Set(["none", "hidden"]);
740
730
  function mixVisibility(origin, target) {
741
731
  if (invisibleValues.has(origin)) {
@@ -745,7 +735,7 @@ function mixVisibility(origin, target) {
745
735
  }
746
736
  }
747
737
 
748
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
738
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/complex.mjs
749
739
  function mixNumber2(a, b) {
750
740
  return (p) => mixNumber(a, b, p);
751
741
  }
@@ -815,7 +805,7 @@ var mixComplex = (origin, target) => {
815
805
  }
816
806
  };
817
807
 
818
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/mix/index.mjs
808
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/mix/index.mjs
819
809
  function mix(from, to, p) {
820
810
  if (typeof from === "number" && typeof to === "number" && typeof p === "number") {
821
811
  return mixNumber(from, to, p);
@@ -824,7 +814,7 @@ function mix(from, to, p) {
824
814
  return mixer(from, to);
825
815
  }
826
816
 
827
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
817
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/drivers/frame.mjs
828
818
  var frameloopDriver = (update) => {
829
819
  const passTimestamp = ({ timestamp }) => update(timestamp);
830
820
  return {
@@ -838,7 +828,7 @@ var frameloopDriver = (update) => {
838
828
  };
839
829
  };
840
830
 
841
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
831
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/linear.mjs
842
832
  var generateLinearEasing = (easing, duration, resolution = 10) => {
843
833
  let points = "";
844
834
  const numPoints = Math.max(Math.round(duration / resolution), 2);
@@ -848,7 +838,7 @@ var generateLinearEasing = (easing, duration, resolution = 10) => {
848
838
  return `linear(${points.substring(0, points.length - 2)})`;
849
839
  };
850
840
 
851
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
841
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/calc-duration.mjs
852
842
  var maxGeneratorDuration = 2e4;
853
843
  function calcGeneratorDuration(generator) {
854
844
  let duration = 0;
@@ -861,7 +851,7 @@ function calcGeneratorDuration(generator) {
861
851
  return duration >= maxGeneratorDuration ? Infinity : duration;
862
852
  }
863
853
 
864
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
854
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/create-generator-easing.mjs
865
855
  function createGeneratorEasing(options, scale2 = 100, createGenerator) {
866
856
  const generator = createGenerator({ ...options, keyframes: [0, scale2] });
867
857
  const duration = Math.min(calcGeneratorDuration(generator), maxGeneratorDuration);
@@ -874,7 +864,7 @@ function createGeneratorEasing(options, scale2 = 100, createGenerator) {
874
864
  };
875
865
  }
876
866
 
877
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
867
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/spring.mjs
878
868
  var springDefaults = {
879
869
  // Default spring physics
880
870
  stiffness: 100,
@@ -1113,14 +1103,14 @@ spring.applyToOptions = (options) => {
1113
1103
  return options;
1114
1104
  };
1115
1105
 
1116
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
1106
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/velocity.mjs
1117
1107
  var velocitySampleDuration = 5;
1118
1108
  function getGeneratorVelocity(resolveValue, t, current) {
1119
1109
  const prevT = Math.max(t - velocitySampleDuration, 0);
1120
1110
  return velocityPerSecond(current - resolveValue(prevT), t - prevT);
1121
1111
  }
1122
1112
 
1123
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
1113
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/inertia.mjs
1124
1114
  function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstant = 325, bounceDamping = 10, bounceStiffness = 500, modifyTarget, min, max, restDelta = 0.5, restSpeed }) {
1125
1115
  const origin = keyframes2[0];
1126
1116
  const state = {
@@ -1184,7 +1174,7 @@ function inertia({ keyframes: keyframes2, velocity = 0, power = 0.8, timeConstan
1184
1174
  };
1185
1175
  }
1186
1176
 
1187
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/interpolate.mjs
1177
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/interpolate.mjs
1188
1178
  function createMixers(output, ease2, customMixer) {
1189
1179
  const mixers = [];
1190
1180
  const mixerFactory = customMixer || MotionGlobalConfig.mix || mix;
@@ -1229,7 +1219,7 @@ function interpolate(input, output, { clamp: isClamp = true, ease: ease2, mixer
1229
1219
  return isClamp ? (v) => interpolator(clamp(input[0], input[inputLength - 1], v)) : interpolator;
1230
1220
  }
1231
1221
 
1232
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
1222
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/fill.mjs
1233
1223
  function fillOffset(offset, remaining) {
1234
1224
  const min = offset[offset.length - 1];
1235
1225
  for (let i = 1; i <= remaining; i++) {
@@ -1238,19 +1228,19 @@ function fillOffset(offset, remaining) {
1238
1228
  }
1239
1229
  }
1240
1230
 
1241
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
1231
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/default.mjs
1242
1232
  function defaultOffset(arr) {
1243
1233
  const offset = [0];
1244
1234
  fillOffset(offset, arr.length - 1);
1245
1235
  return offset;
1246
1236
  }
1247
1237
 
1248
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
1238
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/offsets/time.mjs
1249
1239
  function convertOffsetToTimes(offset, duration) {
1250
1240
  return offset.map((o) => o * duration);
1251
1241
  }
1252
1242
 
1253
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
1243
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/keyframes.mjs
1254
1244
  function defaultEasing(values, easing) {
1255
1245
  return values.map(() => easing || easeInOut).splice(0, values.length - 1);
1256
1246
  }
@@ -1279,7 +1269,7 @@ function keyframes({ duration = 300, keyframes: keyframeValues, times, ease: eas
1279
1269
  };
1280
1270
  }
1281
1271
 
1282
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
1272
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/get-final.mjs
1283
1273
  var isNotNull = (value) => value !== null;
1284
1274
  function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyframe, speed = 1) {
1285
1275
  const resolvedKeyframes = keyframes2.filter(isNotNull);
@@ -1288,7 +1278,7 @@ function getFinalKeyframe(keyframes2, { repeat, repeatType = "loop" }, finalKeyf
1288
1278
  return !index || finalKeyframe === void 0 ? resolvedKeyframes[index] : finalKeyframe;
1289
1279
  }
1290
1280
 
1291
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
1281
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/replace-transition-type.mjs
1292
1282
  var transitionTypeMap = {
1293
1283
  decay: inertia,
1294
1284
  inertia,
@@ -1302,7 +1292,7 @@ function replaceTransitionType(transition) {
1302
1292
  }
1303
1293
  }
1304
1294
 
1305
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
1295
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/WithPromise.mjs
1306
1296
  var WithPromise = class {
1307
1297
  constructor() {
1308
1298
  this.updateFinished();
@@ -1328,7 +1318,7 @@ var WithPromise = class {
1328
1318
  }
1329
1319
  };
1330
1320
 
1331
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
1321
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/JSAnimation.mjs
1332
1322
  var percentToProgress = (percent2) => percent2 / 100;
1333
1323
  var JSAnimation = class extends WithPromise {
1334
1324
  constructor(options) {
@@ -1607,14 +1597,14 @@ var JSAnimation = class extends WithPromise {
1607
1597
  }
1608
1598
  };
1609
1599
 
1610
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
1600
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/fill-wildcards.mjs
1611
1601
  function fillWildcards(keyframes2) {
1612
1602
  for (let i = 1; i < keyframes2.length; i++) {
1613
1603
  keyframes2[i] ?? (keyframes2[i] = keyframes2[i - 1]);
1614
1604
  }
1615
1605
  }
1616
1606
 
1617
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
1607
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/parse-transform.mjs
1618
1608
  var radToDeg = (rad) => rad * 180 / Math.PI;
1619
1609
  var rotate = (v) => {
1620
1610
  const angle = radToDeg(Math.atan2(v[1], v[0]));
@@ -1694,7 +1684,7 @@ function convertTransformToNumber(value) {
1694
1684
  return parseFloat(value.trim());
1695
1685
  }
1696
1686
 
1697
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
1687
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-transform.mjs
1698
1688
  var transformPropOrder = [
1699
1689
  "transformPerspective",
1700
1690
  "x",
@@ -1714,9 +1704,9 @@ var transformPropOrder = [
1714
1704
  "skewX",
1715
1705
  "skewY"
1716
1706
  ];
1717
- var transformProps = /* @__PURE__ */ (() => new Set(transformPropOrder))();
1707
+ var transformProps = /* @__PURE__ */ (() => /* @__PURE__ */ new Set([...transformPropOrder, "pathRotation"]))();
1718
1708
 
1719
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
1709
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/unit-conversion.mjs
1720
1710
  var isNumOrPxType = (v) => v === number || v === px;
1721
1711
  var transformKeys = /* @__PURE__ */ new Set(["x", "y", "z"]);
1722
1712
  var nonTranslationalTransformKeys = transformPropOrder.filter((key) => !transformKeys.has(key));
@@ -1752,7 +1742,7 @@ var positionalValues = {
1752
1742
  positionalValues.translateX = positionalValues.x;
1753
1743
  positionalValues.translateY = positionalValues.y;
1754
1744
 
1755
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
1745
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/KeyframesResolver.mjs
1756
1746
  var toResolve = /* @__PURE__ */ new Set();
1757
1747
  var isScheduled = false;
1758
1748
  var anyNeedsMeasurement = false;
@@ -1878,27 +1868,27 @@ var KeyframeResolver = class {
1878
1868
  }
1879
1869
  };
1880
1870
 
1881
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
1871
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/is-css-var.mjs
1882
1872
  var isCSSVar = (name) => name.startsWith("--");
1883
1873
 
1884
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
1874
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/style-set.mjs
1885
1875
  function setStyle(element, name, value) {
1886
1876
  isCSSVar(name) ? element.style.setProperty(name, value) : element.style[name] = value;
1887
1877
  }
1888
1878
 
1889
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
1879
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/flags.mjs
1890
1880
  var supportsFlags = {};
1891
1881
 
1892
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
1882
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/memo.mjs
1893
1883
  function memoSupports(callback, supportsFlag) {
1894
1884
  const memoized = memo(callback);
1895
1885
  return () => supportsFlags[supportsFlag] ?? memoized();
1896
1886
  }
1897
1887
 
1898
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
1888
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/scroll-timeline.mjs
1899
1889
  var supportsScrollTimeline = /* @__PURE__ */ memoSupports(() => window.ScrollTimeline !== void 0, "scrollTimeline");
1900
1890
 
1901
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
1891
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/supports/linear-easing.mjs
1902
1892
  var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
1903
1893
  try {
1904
1894
  document.createElement("div").animate({ opacity: 0 }, { easing: "linear(0, 1)" });
@@ -1908,10 +1898,10 @@ var supportsLinearEasing = /* @__PURE__ */ memoSupports(() => {
1908
1898
  return true;
1909
1899
  }, "linearEasing");
1910
1900
 
1911
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
1901
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/cubic-bezier.mjs
1912
1902
  var cubicBezierAsString = ([a, b, c, d]) => `cubic-bezier(${a}, ${b}, ${c}, ${d})`;
1913
1903
 
1914
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
1904
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/supported.mjs
1915
1905
  var supportedWaapiEasing = {
1916
1906
  linear: "linear",
1917
1907
  ease: "ease",
@@ -1924,7 +1914,7 @@ var supportedWaapiEasing = {
1924
1914
  backOut: /* @__PURE__ */ cubicBezierAsString([0.33, 1.53, 0.69, 0.99])
1925
1915
  };
1926
1916
 
1927
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
1917
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/easing/map-easing.mjs
1928
1918
  function mapEasingToNativeEasing(easing, duration) {
1929
1919
  if (!easing) {
1930
1920
  return void 0;
@@ -1939,7 +1929,7 @@ function mapEasingToNativeEasing(easing, duration) {
1939
1929
  }
1940
1930
  }
1941
1931
 
1942
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
1932
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/start-waapi-animation.mjs
1943
1933
  function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0, duration = 300, repeat = 0, repeatType = "loop", ease: ease2 = "easeOut", times } = {}, pseudoElement = void 0) {
1944
1934
  const keyframeOptions = {
1945
1935
  [valueName]: keyframes2
@@ -1959,16 +1949,15 @@ function startWaapiAnimation(element, valueName, keyframes2, { delay: delay2 = 0
1959
1949
  };
1960
1950
  if (pseudoElement)
1961
1951
  options.pseudoElement = pseudoElement;
1962
- const animation = element.animate(keyframeOptions, options);
1963
- return animation;
1952
+ return element.animate(keyframeOptions, options);
1964
1953
  }
1965
1954
 
1966
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
1955
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/generators/utils/is-generator.mjs
1967
1956
  function isGenerator(type) {
1968
1957
  return typeof type === "function" && "applyToOptions" in type;
1969
1958
  }
1970
1959
 
1971
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
1960
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/apply-generator.mjs
1972
1961
  function applyGeneratorOptions({ type, ...options }) {
1973
1962
  if (isGenerator(type) && supportsLinearEasing()) {
1974
1963
  return type.applyToOptions(options);
@@ -1979,7 +1968,7 @@ function applyGeneratorOptions({ type, ...options }) {
1979
1968
  return options;
1980
1969
  }
1981
1970
 
1982
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
1971
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/NativeAnimation.mjs
1983
1972
  var NativeAnimation = class extends WithPromise {
1984
1973
  constructor(options) {
1985
1974
  super();
@@ -2129,7 +2118,7 @@ var NativeAnimation = class extends WithPromise {
2129
2118
  }
2130
2119
  };
2131
2120
 
2132
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
2121
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/unsupported-easing.mjs
2133
2122
  var unsupportedEasingFunctions = {
2134
2123
  anticipate,
2135
2124
  backInOut,
@@ -2144,7 +2133,7 @@ function replaceStringEasing(transition) {
2144
2133
  }
2145
2134
  }
2146
2135
 
2147
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
2136
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/NativeAnimationExtended.mjs
2148
2137
  var sampleDelta = 10;
2149
2138
  var NativeAnimationExtended = class extends NativeAnimation {
2150
2139
  constructor(options) {
@@ -2187,7 +2176,7 @@ var NativeAnimationExtended = class extends NativeAnimation {
2187
2176
  }
2188
2177
  };
2189
2178
 
2190
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
2179
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-animatable.mjs
2191
2180
  var isAnimatable = (value, name) => {
2192
2181
  if (name === "zIndex")
2193
2182
  return false;
@@ -2201,7 +2190,7 @@ var isAnimatable = (value, name) => {
2201
2190
  return false;
2202
2191
  };
2203
2192
 
2204
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
2193
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/can-animate.mjs
2205
2194
  function hasKeyframesChanged(keyframes2) {
2206
2195
  const current = keyframes2[0];
2207
2196
  if (keyframes2.length === 1)
@@ -2228,24 +2217,22 @@ function canAnimate(keyframes2, name, type, velocity) {
2228
2217
  return hasKeyframesChanged(keyframes2) || (type === "spring" || isGenerator(type)) && velocity;
2229
2218
  }
2230
2219
 
2231
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
2220
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/make-animation-instant.mjs
2232
2221
  function makeAnimationInstant(options) {
2233
2222
  options.duration = 0;
2234
2223
  options.type = "keyframes";
2235
2224
  }
2236
2225
 
2237
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
2226
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/accelerated-values.mjs
2238
2227
  var acceleratedValues = /* @__PURE__ */ new Set([
2239
2228
  "opacity",
2240
2229
  "clipPath",
2241
2230
  "filter",
2242
- "transform"
2243
- // TODO: Can be accelerated but currently disabled until https://issues.chromium.org/issues/41491098 is resolved
2244
- // or until we implement support for linear() easing.
2245
- // "background-color"
2231
+ "transform",
2232
+ "backgroundColor"
2246
2233
  ]);
2247
2234
 
2248
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
2235
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/utils/is-browser-color.mjs
2249
2236
  var browserColorFunctions = /^(?:oklch|oklab|lab|lch|color|color-mix|light-dark)\(/;
2250
2237
  function hasBrowserOnlyColors(keyframes2) {
2251
2238
  for (let i = 0; i < keyframes2.length; i++) {
@@ -2256,7 +2243,7 @@ function hasBrowserOnlyColors(keyframes2) {
2256
2243
  return false;
2257
2244
  }
2258
2245
 
2259
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
2246
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/waapi/supports/waapi.mjs
2260
2247
  var colorProperties = /* @__PURE__ */ new Set([
2261
2248
  "color",
2262
2249
  "backgroundColor",
@@ -2273,7 +2260,7 @@ var supportsWaapi = /* @__PURE__ */ memo(() => Object.hasOwnProperty.call(Elemen
2273
2260
  function supportsBrowserAnimation(options) {
2274
2261
  const { motionValue: motionValue2, name, repeatDelay, repeatType, damping, type, keyframes: keyframes2 } = options;
2275
2262
  const subject = motionValue2?.owner?.current;
2276
- if (!(subject instanceof HTMLElement)) {
2263
+ if (!(subject instanceof HTMLElement) && !(subject instanceof SVGElement)) {
2277
2264
  return false;
2278
2265
  }
2279
2266
  const { onUpdate, transformTemplate } = motionValue2.owner.getProps();
@@ -2288,7 +2275,7 @@ function supportsBrowserAnimation(options) {
2288
2275
  !onUpdate && !repeatDelay && repeatType !== "mirror" && damping !== 0 && type !== "inertia";
2289
2276
  }
2290
2277
 
2291
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
2278
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/AsyncMotionValueAnimation.mjs
2292
2279
  var MAX_RESOLVE_DELAY = 40;
2293
2280
  var AsyncMotionValueAnimation = class extends WithPromise {
2294
2281
  constructor({ autoplay = true, delay: delay2 = 0, type = "keyframes", repeat = 0, repeatDelay = 0, repeatType = "loop", keyframes: keyframes2, name, motionValue: motionValue2, element, ...options }) {
@@ -2429,7 +2416,7 @@ var AsyncMotionValueAnimation = class extends WithPromise {
2429
2416
  }
2430
2417
  };
2431
2418
 
2432
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
2419
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/calc-child-stagger.mjs
2433
2420
  function calcChildStagger(children, child, delayChildren, staggerChildren = 0, staggerDirection = 1) {
2434
2421
  const index = Array.from(children).sort((a, b) => a.sortNodePosition(b)).indexOf(child);
2435
2422
  const numChildren = children.size;
@@ -2438,202 +2425,7 @@ function calcChildStagger(children, child, delayChildren, staggerChildren = 0, s
2438
2425
  return delayIsFunction ? delayChildren(index, numChildren) : staggerDirection === 1 ? index * staggerChildren : maxStaggerDuration - index * staggerChildren;
2439
2426
  }
2440
2427
 
2441
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2442
- var splitCSSVariableRegex = (
2443
- // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2444
- /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2445
- );
2446
- function parseCSSVariable(current) {
2447
- const match = splitCSSVariableRegex.exec(current);
2448
- if (!match)
2449
- return [,];
2450
- const [, token1, token2, fallback] = match;
2451
- return [`--${token1 ?? token2}`, fallback];
2452
- }
2453
- var maxDepth = 4;
2454
- function getVariableValue(current, element, depth = 1) {
2455
- invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2456
- const [token, fallback] = parseCSSVariable(current);
2457
- if (!token)
2458
- return;
2459
- const resolved = window.getComputedStyle(element).getPropertyValue(token);
2460
- if (resolved) {
2461
- const trimmed = resolved.trim();
2462
- return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2463
- }
2464
- return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2465
- }
2466
-
2467
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2468
- var underDampedSpring = {
2469
- type: "spring",
2470
- stiffness: 500,
2471
- damping: 25,
2472
- restSpeed: 10
2473
- };
2474
- var criticallyDampedSpring = (target) => ({
2475
- type: "spring",
2476
- stiffness: 550,
2477
- damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2478
- restSpeed: 10
2479
- });
2480
- var keyframesTransition = {
2481
- type: "keyframes",
2482
- duration: 0.8
2483
- };
2484
- var ease = {
2485
- type: "keyframes",
2486
- ease: [0.25, 0.1, 0.35, 1],
2487
- duration: 0.3
2488
- };
2489
- var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2490
- if (keyframes2.length > 2) {
2491
- return keyframesTransition;
2492
- } else if (transformProps.has(valueKey)) {
2493
- return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2494
- }
2495
- return ease;
2496
- };
2497
-
2498
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2499
- function resolveTransition(transition, parentTransition) {
2500
- if (transition?.inherit && parentTransition) {
2501
- const { inherit: _, ...rest } = transition;
2502
- return { ...parentTransition, ...rest };
2503
- }
2504
- return transition;
2505
- }
2506
-
2507
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2508
- function getValueTransition(transition, key) {
2509
- const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2510
- if (valueTransition !== transition) {
2511
- return resolveTransition(valueTransition, transition);
2512
- }
2513
- return valueTransition;
2514
- }
2515
-
2516
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2517
- var orchestrationKeys = /* @__PURE__ */ new Set([
2518
- "when",
2519
- "delay",
2520
- "delayChildren",
2521
- "staggerChildren",
2522
- "staggerDirection",
2523
- "repeat",
2524
- "repeatType",
2525
- "repeatDelay",
2526
- "from",
2527
- "elapsed"
2528
- ]);
2529
- function isTransitionDefined(transition) {
2530
- for (const key in transition) {
2531
- if (!orchestrationKeys.has(key))
2532
- return true;
2533
- }
2534
- return false;
2535
- }
2536
-
2537
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2538
- var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2539
- const valueTransition = getValueTransition(transition, name) || {};
2540
- const delay2 = valueTransition.delay || transition.delay || 0;
2541
- let { elapsed = 0 } = transition;
2542
- elapsed = elapsed - secondsToMilliseconds(delay2);
2543
- const options = {
2544
- keyframes: Array.isArray(target) ? target : [null, target],
2545
- ease: "easeOut",
2546
- velocity: value.getVelocity(),
2547
- ...valueTransition,
2548
- delay: -elapsed,
2549
- onUpdate: (v) => {
2550
- value.set(v);
2551
- valueTransition.onUpdate && valueTransition.onUpdate(v);
2552
- },
2553
- onComplete: () => {
2554
- onComplete();
2555
- valueTransition.onComplete && valueTransition.onComplete();
2556
- },
2557
- name,
2558
- motionValue: value,
2559
- element: isHandoff ? void 0 : element
2560
- };
2561
- if (!isTransitionDefined(valueTransition)) {
2562
- Object.assign(options, getDefaultTransition(name, options));
2563
- }
2564
- options.duration && (options.duration = secondsToMilliseconds(options.duration));
2565
- options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2566
- if (options.from !== void 0) {
2567
- options.keyframes[0] = options.from;
2568
- }
2569
- let shouldSkip = false;
2570
- if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2571
- makeAnimationInstant(options);
2572
- if (options.delay === 0) {
2573
- shouldSkip = true;
2574
- }
2575
- }
2576
- if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations) {
2577
- shouldSkip = true;
2578
- makeAnimationInstant(options);
2579
- options.delay = 0;
2580
- }
2581
- options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2582
- if (shouldSkip && !isHandoff && value.get() !== void 0) {
2583
- const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2584
- if (finalKeyframe !== void 0) {
2585
- frame.update(() => {
2586
- options.onUpdate(finalKeyframe);
2587
- options.onComplete();
2588
- });
2589
- return;
2590
- }
2591
- }
2592
- return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2593
- };
2594
-
2595
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2596
- function getValueState(visualElement) {
2597
- const state = [{}, {}];
2598
- visualElement?.values.forEach((value, key) => {
2599
- state[0][key] = value.get();
2600
- state[1][key] = value.getVelocity();
2601
- });
2602
- return state;
2603
- }
2604
- function resolveVariantFromProps(props, definition, custom, visualElement) {
2605
- if (typeof definition === "function") {
2606
- const [current, velocity] = getValueState(visualElement);
2607
- definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2608
- }
2609
- if (typeof definition === "string") {
2610
- definition = props.variants && props.variants[definition];
2611
- }
2612
- if (typeof definition === "function") {
2613
- const [current, velocity] = getValueState(visualElement);
2614
- definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2615
- }
2616
- return definition;
2617
- }
2618
-
2619
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2620
- function resolveVariant(visualElement, definition, custom) {
2621
- const props = visualElement.getProps();
2622
- return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2623
- }
2624
-
2625
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2626
- var positionalKeys = /* @__PURE__ */ new Set([
2627
- "width",
2628
- "height",
2629
- "top",
2630
- "left",
2631
- "right",
2632
- "bottom",
2633
- ...transformPropOrder
2634
- ]);
2635
-
2636
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/index.mjs
2428
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/index.mjs
2637
2429
  var MAX_VELOCITY_DELTA = 30;
2638
2430
  var isFloat = (value) => {
2639
2431
  return !isNaN(parseFloat(value));
@@ -2878,46 +2670,241 @@ var MotionValue = class {
2878
2670
  }
2879
2671
  this.clearAnimation();
2880
2672
  }
2881
- /**
2882
- * Returns `true` if this value is currently animating.
2883
- *
2884
- * @public
2885
- */
2886
- isAnimating() {
2887
- return !!this.animation;
2673
+ /**
2674
+ * Returns `true` if this value is currently animating.
2675
+ *
2676
+ * @public
2677
+ */
2678
+ isAnimating() {
2679
+ return !!this.animation;
2680
+ }
2681
+ clearAnimation() {
2682
+ delete this.animation;
2683
+ }
2684
+ /**
2685
+ * Destroy and clean up subscribers to this `MotionValue`.
2686
+ *
2687
+ * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2688
+ * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2689
+ * created a `MotionValue` via the `motionValue` function.
2690
+ *
2691
+ * @public
2692
+ */
2693
+ destroy() {
2694
+ this.dependents?.clear();
2695
+ this.events.destroy?.notify();
2696
+ this.clearListeners();
2697
+ this.stop();
2698
+ if (this.stopPassiveEffect) {
2699
+ this.stopPassiveEffect();
2700
+ }
2701
+ }
2702
+ };
2703
+ function motionValue(init, options) {
2704
+ return new MotionValue(init, options);
2705
+ }
2706
+
2707
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/resolve-transition.mjs
2708
+ function resolveTransition(transition, parentTransition) {
2709
+ if (transition?.inherit && parentTransition) {
2710
+ const { inherit: _, ...rest } = transition;
2711
+ return { ...parentTransition, ...rest };
2712
+ }
2713
+ return transition;
2714
+ }
2715
+
2716
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/get-value-transition.mjs
2717
+ function getValueTransition(transition, key) {
2718
+ const valueTransition = transition?.[key] ?? transition?.["default"] ?? transition;
2719
+ if (valueTransition !== transition) {
2720
+ return resolveTransition(valueTransition, transition);
2721
+ }
2722
+ return valueTransition;
2723
+ }
2724
+
2725
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/default-transitions.mjs
2726
+ var underDampedSpring = {
2727
+ type: "spring",
2728
+ stiffness: 500,
2729
+ damping: 25,
2730
+ restSpeed: 10
2731
+ };
2732
+ var criticallyDampedSpring = (target) => ({
2733
+ type: "spring",
2734
+ stiffness: 550,
2735
+ damping: target === 0 ? 2 * Math.sqrt(550) : 30,
2736
+ restSpeed: 10
2737
+ });
2738
+ var keyframesTransition = {
2739
+ type: "keyframes",
2740
+ duration: 0.8
2741
+ };
2742
+ var ease = {
2743
+ type: "keyframes",
2744
+ ease: [0.25, 0.1, 0.35, 1],
2745
+ duration: 0.3
2746
+ };
2747
+ var getDefaultTransition = (valueKey, { keyframes: keyframes2 }) => {
2748
+ if (keyframes2.length > 2) {
2749
+ return keyframesTransition;
2750
+ } else if (transformProps.has(valueKey)) {
2751
+ return valueKey.startsWith("scale") ? criticallyDampedSpring(keyframes2[1]) : underDampedSpring;
2752
+ }
2753
+ return ease;
2754
+ };
2755
+
2756
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/is-transition-defined.mjs
2757
+ var orchestrationKeys = /* @__PURE__ */ new Set([
2758
+ "when",
2759
+ "delay",
2760
+ "delayChildren",
2761
+ "staggerChildren",
2762
+ "staggerDirection",
2763
+ "repeat",
2764
+ "repeatType",
2765
+ "repeatDelay",
2766
+ "from",
2767
+ "elapsed"
2768
+ ]);
2769
+ function isTransitionDefined(transition) {
2770
+ for (const key in transition) {
2771
+ if (!orchestrationKeys.has(key))
2772
+ return true;
2773
+ }
2774
+ return false;
2775
+ }
2776
+
2777
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/motion-value.mjs
2778
+ var animateMotionValue = (name, value, target, transition = {}, element, isHandoff) => (onComplete) => {
2779
+ const valueTransition = getValueTransition(transition, name) || {};
2780
+ const delay2 = valueTransition.delay || transition.delay || 0;
2781
+ let { elapsed = 0 } = transition;
2782
+ elapsed = elapsed - secondsToMilliseconds(delay2);
2783
+ const options = {
2784
+ keyframes: Array.isArray(target) ? target : [null, target],
2785
+ ease: "easeOut",
2786
+ velocity: value.getVelocity(),
2787
+ ...valueTransition,
2788
+ delay: -elapsed,
2789
+ onUpdate: (v) => {
2790
+ value.set(v);
2791
+ valueTransition.onUpdate && valueTransition.onUpdate(v);
2792
+ },
2793
+ onComplete: () => {
2794
+ onComplete();
2795
+ valueTransition.onComplete && valueTransition.onComplete();
2796
+ },
2797
+ name,
2798
+ motionValue: value,
2799
+ element: isHandoff ? void 0 : element
2800
+ };
2801
+ if (!isTransitionDefined(valueTransition)) {
2802
+ Object.assign(options, getDefaultTransition(name, options));
2803
+ }
2804
+ options.duration && (options.duration = secondsToMilliseconds(options.duration));
2805
+ options.repeatDelay && (options.repeatDelay = secondsToMilliseconds(options.repeatDelay));
2806
+ if (options.from !== void 0) {
2807
+ options.keyframes[0] = options.from;
2808
+ }
2809
+ let shouldSkip = false;
2810
+ if (options.type === false || options.duration === 0 && !options.repeatDelay) {
2811
+ makeAnimationInstant(options);
2812
+ if (options.delay === 0) {
2813
+ shouldSkip = true;
2814
+ }
2888
2815
  }
2889
- clearAnimation() {
2890
- delete this.animation;
2816
+ if (MotionGlobalConfig.instantAnimations || MotionGlobalConfig.skipAnimations || element?.shouldSkipAnimations || valueTransition.skipAnimations) {
2817
+ shouldSkip = true;
2818
+ makeAnimationInstant(options);
2819
+ options.delay = 0;
2891
2820
  }
2892
- /**
2893
- * Destroy and clean up subscribers to this `MotionValue`.
2894
- *
2895
- * The `MotionValue` hooks like `useMotionValue` and `useTransform` automatically
2896
- * handle the lifecycle of the returned `MotionValue`, so this method is only necessary if you've manually
2897
- * created a `MotionValue` via the `motionValue` function.
2898
- *
2899
- * @public
2900
- */
2901
- destroy() {
2902
- this.dependents?.clear();
2903
- this.events.destroy?.notify();
2904
- this.clearListeners();
2905
- this.stop();
2906
- if (this.stopPassiveEffect) {
2907
- this.stopPassiveEffect();
2821
+ options.allowFlatten = !valueTransition.type && !valueTransition.ease;
2822
+ if (shouldSkip && !isHandoff && value.get() !== void 0) {
2823
+ const finalKeyframe = getFinalKeyframe(options.keyframes, valueTransition);
2824
+ if (finalKeyframe !== void 0) {
2825
+ frame.update(() => {
2826
+ options.onUpdate(finalKeyframe);
2827
+ options.onComplete();
2828
+ });
2829
+ return;
2908
2830
  }
2909
2831
  }
2832
+ return valueTransition.isSync ? new JSAnimation(options) : new AsyncMotionValueAnimation(options);
2910
2833
  };
2911
- function motionValue(init, options) {
2912
- return new MotionValue(init, options);
2834
+
2835
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/utils/css-variables-conversion.mjs
2836
+ var splitCSSVariableRegex = (
2837
+ // eslint-disable-next-line redos-detector/no-unsafe-regex -- false positive, as it can match a lot of words
2838
+ /^var\(--(?:([\w-]+)|([\w-]+), ?([a-zA-Z\d ()%#.,-]+))\)/u
2839
+ );
2840
+ function parseCSSVariable(current) {
2841
+ const match = splitCSSVariableRegex.exec(current);
2842
+ if (!match)
2843
+ return [,];
2844
+ const [, token1, token2, fallback] = match;
2845
+ return [`--${token1 ?? token2}`, fallback];
2846
+ }
2847
+ var maxDepth = 4;
2848
+ function getVariableValue(current, element, depth = 1) {
2849
+ invariant(depth <= maxDepth, `Max CSS variable fallback depth detected in property "${current}". This may indicate a circular fallback dependency.`, "max-css-var-depth");
2850
+ const [token, fallback] = parseCSSVariable(current);
2851
+ if (!token)
2852
+ return;
2853
+ const resolved = window.getComputedStyle(element).getPropertyValue(token);
2854
+ if (resolved) {
2855
+ const trimmed = resolved.trim();
2856
+ return isNumericalString(trimmed) ? parseFloat(trimmed) : trimmed;
2857
+ }
2858
+ return isCSSVariableToken(fallback) ? getVariableValue(fallback, element, depth + 1) : fallback;
2859
+ }
2860
+
2861
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-variants.mjs
2862
+ function getValueState(visualElement) {
2863
+ const state = [{}, {}];
2864
+ visualElement?.values.forEach((value, key) => {
2865
+ state[0][key] = value.get();
2866
+ state[1][key] = value.getVelocity();
2867
+ });
2868
+ return state;
2869
+ }
2870
+ function resolveVariantFromProps(props, definition, custom, visualElement) {
2871
+ if (typeof definition === "function") {
2872
+ const [current, velocity] = getValueState(visualElement);
2873
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2874
+ }
2875
+ if (typeof definition === "string") {
2876
+ definition = props.variants && props.variants[definition];
2877
+ }
2878
+ if (typeof definition === "function") {
2879
+ const [current, velocity] = getValueState(visualElement);
2880
+ definition = definition(custom !== void 0 ? custom : props.custom, current, velocity);
2881
+ }
2882
+ return definition;
2883
+ }
2884
+
2885
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/resolve-dynamic-variants.mjs
2886
+ function resolveVariant(visualElement, definition, custom) {
2887
+ const props = visualElement.getProps();
2888
+ return resolveVariantFromProps(props, definition, custom !== void 0 ? custom : props.custom, visualElement);
2913
2889
  }
2914
2890
 
2915
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2891
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/keys-position.mjs
2892
+ var positionalKeys = /* @__PURE__ */ new Set([
2893
+ "width",
2894
+ "height",
2895
+ "top",
2896
+ "left",
2897
+ "right",
2898
+ "bottom",
2899
+ ...transformPropOrder
2900
+ ]);
2901
+
2902
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-keyframes-target.mjs
2916
2903
  var isKeyframesTarget = (v) => {
2917
2904
  return Array.isArray(v);
2918
2905
  };
2919
2906
 
2920
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2907
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/setters.mjs
2921
2908
  function setMotionValue(visualElement, key, value) {
2922
2909
  if (visualElement.hasValue(key)) {
2923
2910
  visualElement.getValue(key).set(value);
@@ -2938,15 +2925,15 @@ function setTarget(visualElement, definition) {
2938
2925
  }
2939
2926
  }
2940
2927
 
2941
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2928
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/is-motion-value.mjs
2942
2929
  var isMotionValue = (value) => Boolean(value && value.getVelocity);
2943
2930
 
2944
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2931
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/is.mjs
2945
2932
  function isWillChangeMotionValue(value) {
2946
2933
  return Boolean(isMotionValue(value) && value.add);
2947
2934
  }
2948
2935
 
2949
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2936
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/will-change/add-will-change.mjs
2950
2937
  function addValueToWillChange(visualElement, key) {
2951
2938
  const willChange = visualElement.getValue("willChange");
2952
2939
  if (isWillChangeMotionValue(willChange)) {
@@ -2958,21 +2945,22 @@ function addValueToWillChange(visualElement, key) {
2958
2945
  }
2959
2946
  }
2960
2947
 
2961
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2948
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/utils/camel-to-dash.mjs
2962
2949
  function camelToDash(str) {
2963
2950
  return str.replace(/([A-Z])/g, (match) => `-${match.toLowerCase()}`);
2964
2951
  }
2965
2952
 
2966
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2953
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/data-id.mjs
2967
2954
  var optimizedAppearDataId = "framerAppearId";
2968
2955
  var optimizedAppearDataAttribute = "data-" + camelToDash(optimizedAppearDataId);
2969
2956
 
2970
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
2957
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/optimized-appear/get-appear-id.mjs
2971
2958
  function getOptimisedAppearId(visualElement) {
2972
2959
  return visualElement.props[optimizedAppearDataAttribute];
2973
2960
  }
2974
2961
 
2975
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2962
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-target.mjs
2963
+ var isBrowser2 = typeof window !== "undefined";
2976
2964
  function shouldBlockAnimation({ protectedKeys, needsAnimating }, key) {
2977
2965
  const shouldBlock = protectedKeys.hasOwnProperty(key) && needsAnimating[key] !== true;
2978
2966
  needsAnimating[key] = false;
@@ -2983,10 +2971,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
2983
2971
  const defaultTransition = visualElement.getDefaultTransition();
2984
2972
  transition = transition ? resolveTransition(transition, defaultTransition) : defaultTransition;
2985
2973
  const reduceMotion = transition?.reduceMotion;
2974
+ const skipAnimations = transition?.skipAnimations;
2986
2975
  if (transitionOverride)
2987
2976
  transition = transitionOverride;
2988
2977
  const animations2 = [];
2989
2978
  const animationTypeState = type && visualElement.animationState && visualElement.animationState.getState()[type];
2979
+ const path = transition?.path;
2980
+ if (path) {
2981
+ path.animateVisualElement(visualElement, target, transition, delay2, animations2);
2982
+ }
2990
2983
  for (const key in target) {
2991
2984
  const value = visualElement.getValue(key, visualElement.latestValues[key] ?? null);
2992
2985
  const valueTarget = target[key];
@@ -2997,13 +2990,15 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
2997
2990
  delay: delay2,
2998
2991
  ...getValueTransition(transition || {}, key)
2999
2992
  };
2993
+ if (skipAnimations)
2994
+ valueTransition.skipAnimations = true;
3000
2995
  const currentValue = value.get();
3001
2996
  if (currentValue !== void 0 && !value.isAnimating() && !Array.isArray(valueTarget) && valueTarget === currentValue && !valueTransition.velocity) {
3002
2997
  frame.update(() => value.set(valueTarget));
3003
2998
  continue;
3004
2999
  }
3005
3000
  let isHandoff = false;
3006
- if (window.MotionHandoffAnimation) {
3001
+ if (isBrowser2 && window.MotionHandoffAnimation) {
3007
3002
  const appearId = getOptimisedAppearId(visualElement);
3008
3003
  if (appearId) {
3009
3004
  const startTime = window.MotionHandoffAnimation(appearId, key, frame);
@@ -3034,7 +3029,7 @@ function animateTarget(visualElement, targetAndTransition, { delay: delay2 = 0,
3034
3029
  return animations2;
3035
3030
  }
3036
3031
 
3037
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3032
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element-variant.mjs
3038
3033
  function animateVariant(visualElement, variant, options = {}) {
3039
3034
  const resolved = resolveVariant(visualElement, variant, options.type === "exit" ? visualElement.presenceContext?.custom : void 0);
3040
3035
  let { transition = visualElement.getDefaultTransition() || {} } = resolved || {};
@@ -3066,7 +3061,7 @@ function animateChildren(visualElement, variant, delay2 = 0, delayChildren = 0,
3066
3061
  return Promise.all(animations2);
3067
3062
  }
3068
3063
 
3069
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3064
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/interfaces/visual-element.mjs
3070
3065
  function animateVisualElement(visualElement, definition, options = {}) {
3071
3066
  visualElement.notify("AnimationStart", definition);
3072
3067
  let animation;
@@ -3084,20 +3079,20 @@ function animateVisualElement(visualElement, definition, options = {}) {
3084
3079
  });
3085
3080
  }
3086
3081
 
3087
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/auto.mjs
3082
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/auto.mjs
3088
3083
  var auto = {
3089
3084
  test: (v) => v === "auto",
3090
3085
  parse: (v) => v
3091
3086
  };
3092
3087
 
3093
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/test.mjs
3088
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/test.mjs
3094
3089
  var testValueType = (v) => (type) => type.test(v);
3095
3090
 
3096
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3091
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/dimensions.mjs
3097
3092
  var dimensionValueTypes = [number, px, percent, degrees, vw, vh, auto];
3098
3093
  var findDimensionValueType = (v) => dimensionValueTypes.find(testValueType(v));
3099
3094
 
3100
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3095
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/is-none.mjs
3101
3096
  function isNone(value) {
3102
3097
  if (typeof value === "number") {
3103
3098
  return value === 0;
@@ -3108,7 +3103,7 @@ function isNone(value) {
3108
3103
  }
3109
3104
  }
3110
3105
 
3111
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3106
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/filter.mjs
3112
3107
  var maxDefaults = /* @__PURE__ */ new Set(["brightness", "contrast", "saturate", "opacity"]);
3113
3108
  function applyDefaultFilter(v) {
3114
3109
  const [name, value] = v.slice(0, -1).split("(");
@@ -3132,7 +3127,7 @@ var filter = {
3132
3127
  }
3133
3128
  };
3134
3129
 
3135
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3130
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/complex/mask.mjs
3136
3131
  var mask = {
3137
3132
  ...complex,
3138
3133
  getAnimatableNone: (v) => {
@@ -3142,15 +3137,21 @@ var mask = {
3142
3137
  }
3143
3138
  };
3144
3139
 
3145
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/int.mjs
3140
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/int.mjs
3146
3141
  var int = {
3147
3142
  ...number,
3148
3143
  transform: Math.round
3149
3144
  };
3150
3145
 
3151
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3146
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/transform.mjs
3152
3147
  var transformValueTypes = {
3153
3148
  rotate: degrees,
3149
+ /**
3150
+ * Internal channel for `transition.path` orientToPath. Composed onto
3151
+ * `rotate` at the transform-build sites so the user's `rotate` is
3152
+ * never read or overwritten. Not part of `transformPropOrder`.
3153
+ */
3154
+ pathRotation: degrees,
3154
3155
  rotateX: degrees,
3155
3156
  rotateY: degrees,
3156
3157
  rotateZ: degrees,
@@ -3176,7 +3177,7 @@ var transformValueTypes = {
3176
3177
  originZ: px
3177
3178
  };
3178
3179
 
3179
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3180
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/number.mjs
3180
3181
  var numberValueTypes = {
3181
3182
  // Border props
3182
3183
  borderWidth: px,
@@ -3241,7 +3242,7 @@ var numberValueTypes = {
3241
3242
  numOctaves: int
3242
3243
  };
3243
3244
 
3244
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3245
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/maps/defaults.mjs
3245
3246
  var defaultValueTypes = {
3246
3247
  ...numberValueTypes,
3247
3248
  // Color props
@@ -3263,7 +3264,7 @@ var defaultValueTypes = {
3263
3264
  };
3264
3265
  var getDefaultValueType = (key) => defaultValueTypes[key];
3265
3266
 
3266
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3267
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/animatable-none.mjs
3267
3268
  var customTypes = /* @__PURE__ */ new Set([filter, mask]);
3268
3269
  function getAnimatableNone2(key, value) {
3269
3270
  let defaultValueType = getDefaultValueType(key);
@@ -3272,7 +3273,7 @@ function getAnimatableNone2(key, value) {
3272
3273
  return defaultValueType.getAnimatableNone ? defaultValueType.getAnimatableNone(value) : void 0;
3273
3274
  }
3274
3275
 
3275
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3276
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/utils/make-none-animatable.mjs
3276
3277
  var invalidTemplates = /* @__PURE__ */ new Set(["auto", "none", "0"]);
3277
3278
  function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, name) {
3278
3279
  let i = 0;
@@ -3291,7 +3292,7 @@ function makeNoneKeyframesAnimatable(unresolvedKeyframes, noneKeyframeIndexes, n
3291
3292
  }
3292
3293
  }
3293
3294
 
3294
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3295
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/keyframes/DOMKeyframesResolver.mjs
3295
3296
  var DOMKeyframesResolver = class extends KeyframeResolver {
3296
3297
  constructor(unresolvedKeyframes, onComplete, name, motionValue2, element) {
3297
3298
  super(unresolvedKeyframes, onComplete, name, motionValue2, element, true);
@@ -3389,7 +3390,15 @@ var DOMKeyframesResolver = class extends KeyframeResolver {
3389
3390
  }
3390
3391
  };
3391
3392
 
3392
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3393
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/border-radius.mjs
3394
+ var cornerRadiusProps = [
3395
+ "borderTopLeftRadius",
3396
+ "borderTopRightRadius",
3397
+ "borderBottomRightRadius",
3398
+ "borderBottomLeftRadius"
3399
+ ];
3400
+
3401
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/resolve-elements.mjs
3393
3402
  function resolveElements(elementOrSelector, scope, selectorCache) {
3394
3403
  if (elementOrSelector == null) {
3395
3404
  return [];
@@ -3404,20 +3413,20 @@ function resolveElements(elementOrSelector, scope, selectorCache) {
3404
3413
  return Array.from(elementOrSelector).filter((element) => element != null);
3405
3414
  }
3406
3415
 
3407
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3416
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/get-as-type.mjs
3408
3417
  var getValueAsType = (value, type) => {
3409
3418
  return type && typeof value === "number" ? type.transform(value) : value;
3410
3419
  };
3411
3420
 
3412
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3421
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-html-element.mjs
3413
3422
  function isHTMLElement(element) {
3414
3423
  return isObject(element) && "offsetHeight" in element && !("ownerSVGElement" in element);
3415
3424
  }
3416
3425
 
3417
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3426
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/frameloop/microtask.mjs
3418
3427
  var { schedule: microtask} = /* @__PURE__ */ createRenderBatcher(queueMicrotask, false);
3419
3428
 
3420
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3429
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/is-active.mjs
3421
3430
  var isDragging = {
3422
3431
  x: false,
3423
3432
  y: false
@@ -3426,7 +3435,7 @@ function isDragActive() {
3426
3435
  return isDragging.x || isDragging.y;
3427
3436
  }
3428
3437
 
3429
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3438
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/drag/state/set-active.mjs
3430
3439
  function setDragLock(axis) {
3431
3440
  if (axis === "x" || axis === "y") {
3432
3441
  if (isDragging[axis]) {
@@ -3449,7 +3458,7 @@ function setDragLock(axis) {
3449
3458
  }
3450
3459
  }
3451
3460
 
3452
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3461
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/setup.mjs
3453
3462
  function setupGesture(elementOrSelector, options) {
3454
3463
  const elements = resolveElements(elementOrSelector);
3455
3464
  const gestureAbortController = new AbortController();
@@ -3462,7 +3471,7 @@ function setupGesture(elementOrSelector, options) {
3462
3471
  return [elements, eventOptions, cancel];
3463
3472
  }
3464
3473
 
3465
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/hover.mjs
3474
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/hover.mjs
3466
3475
  function isValidHover(event) {
3467
3476
  return !(event.pointerType === "touch" || isDragActive());
3468
3477
  }
@@ -3521,7 +3530,7 @@ function hover(elementOrSelector, onHoverStart, options = {}) {
3521
3530
  return cancel;
3522
3531
  }
3523
3532
 
3524
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3533
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-node-or-child.mjs
3525
3534
  var isNodeOrChild = (parent, child) => {
3526
3535
  if (!child) {
3527
3536
  return false;
@@ -3532,7 +3541,7 @@ var isNodeOrChild = (parent, child) => {
3532
3541
  }
3533
3542
  };
3534
3543
 
3535
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3544
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/utils/is-primary-pointer.mjs
3536
3545
  var isPrimaryPointer = (event) => {
3537
3546
  if (event.pointerType === "mouse") {
3538
3547
  return typeof event.button !== "number" || event.button <= 0;
@@ -3541,7 +3550,7 @@ var isPrimaryPointer = (event) => {
3541
3550
  }
3542
3551
  };
3543
3552
 
3544
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3553
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/is-keyboard-accessible.mjs
3545
3554
  var keyboardAccessibleElements = /* @__PURE__ */ new Set([
3546
3555
  "BUTTON",
3547
3556
  "INPUT",
@@ -3557,10 +3566,10 @@ function isElementTextInput(element) {
3557
3566
  return textInputElements.has(element.tagName) || element.isContentEditable === true;
3558
3567
  }
3559
3568
 
3560
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3569
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/state.mjs
3561
3570
  var isPressing = /* @__PURE__ */ new WeakSet();
3562
3571
 
3563
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3572
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/utils/keyboard.mjs
3564
3573
  function filterEvents(callback) {
3565
3574
  return (event) => {
3566
3575
  if (event.key !== "Enter")
@@ -3590,7 +3599,7 @@ var enableKeyboardPress = (focusEvent, eventOptions) => {
3590
3599
  element.addEventListener("blur", () => element.removeEventListener("keydown", handleKeydown), eventOptions);
3591
3600
  };
3592
3601
 
3593
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3602
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/gestures/press/index.mjs
3594
3603
  function isValidPressEvent(event) {
3595
3604
  return isPrimaryPointer(event) && !isDragActive();
3596
3605
  }
@@ -3608,9 +3617,10 @@ function press(targetOrSelector, onPressStart, options = {}) {
3608
3617
  claimedPointerDownEvents.add(startEvent);
3609
3618
  }
3610
3619
  const onPressEnd = onPressStart(target, startEvent);
3620
+ const endEventOptions = { ...eventOptions, capture: true };
3611
3621
  const onPointerEnd = (endEvent, success) => {
3612
- window.removeEventListener("pointerup", onPointerUp);
3613
- window.removeEventListener("pointercancel", onPointerCancel);
3622
+ window.removeEventListener("pointerup", onPointerUp, endEventOptions);
3623
+ window.removeEventListener("pointercancel", onPointerCancel, endEventOptions);
3614
3624
  if (isPressing.has(target)) {
3615
3625
  isPressing.delete(target);
3616
3626
  }
@@ -3627,8 +3637,8 @@ function press(targetOrSelector, onPressStart, options = {}) {
3627
3637
  const onPointerCancel = (cancelEvent) => {
3628
3638
  onPointerEnd(cancelEvent, false);
3629
3639
  };
3630
- window.addEventListener("pointerup", onPointerUp, eventOptions);
3631
- window.addEventListener("pointercancel", onPointerCancel, eventOptions);
3640
+ window.addEventListener("pointerup", onPointerUp, endEventOptions);
3641
+ window.addEventListener("pointercancel", onPointerCancel, endEventOptions);
3632
3642
  };
3633
3643
  targets.forEach((target) => {
3634
3644
  const pointerDownTarget = options.useGlobalTarget ? window : target;
@@ -3643,12 +3653,12 @@ function press(targetOrSelector, onPressStart, options = {}) {
3643
3653
  return cancelEvents;
3644
3654
  }
3645
3655
 
3646
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3656
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-element.mjs
3647
3657
  function isSVGElement(element) {
3648
3658
  return isObject(element) && "ownerSVGElement" in element;
3649
3659
  }
3650
3660
 
3651
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3661
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-element.mjs
3652
3662
  var resizeHandlers = /* @__PURE__ */ new WeakMap();
3653
3663
  var observer;
3654
3664
  var getSize = (borderBoxAxis, svgAxis, htmlAxis) => (target, borderBoxSize) => {
@@ -3706,7 +3716,7 @@ function resizeElement(target, handler) {
3706
3716
  };
3707
3717
  }
3708
3718
 
3709
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3719
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/handle-window.mjs
3710
3720
  var windowCallbacks = /* @__PURE__ */ new Set();
3711
3721
  var windowResizeHandler;
3712
3722
  function createWindowResizeHandler() {
@@ -3736,21 +3746,21 @@ function resizeWindow(callback) {
3736
3746
  };
3737
3747
  }
3738
3748
 
3739
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/resize/index.mjs
3749
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/resize/index.mjs
3740
3750
  function resize(a, b) {
3741
3751
  return typeof a === "function" ? resizeWindow(a) : resizeElement(a, b);
3742
3752
  }
3743
3753
 
3744
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3754
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/is-svg-svg-element.mjs
3745
3755
  function isSVGSVGElement(element) {
3746
3756
  return isSVGElement(element) && element.tagName === "svg";
3747
3757
  }
3748
3758
 
3749
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3759
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/types/utils/find.mjs
3750
3760
  var valueTypes = [...dimensionValueTypes, color, complex];
3751
3761
  var findValueType = (v) => valueTypes.find(testValueType(v));
3752
3762
 
3753
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3763
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/models.mjs
3754
3764
  var createAxisDelta = () => ({
3755
3765
  translate: 0,
3756
3766
  scale: 1,
@@ -3767,20 +3777,20 @@ var createBox = () => ({
3767
3777
  y: createAxis()
3768
3778
  });
3769
3779
 
3770
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/store.mjs
3780
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/store.mjs
3771
3781
  var visualElementStore = /* @__PURE__ */ new WeakMap();
3772
3782
 
3773
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3783
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-animation-controls.mjs
3774
3784
  function isAnimationControls(v) {
3775
3785
  return v !== null && typeof v === "object" && typeof v.start === "function";
3776
3786
  }
3777
3787
 
3778
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3788
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-variant-label.mjs
3779
3789
  function isVariantLabel(v) {
3780
3790
  return typeof v === "string" || Array.isArray(v);
3781
3791
  }
3782
3792
 
3783
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3793
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/variant-props.mjs
3784
3794
  var variantPriorityOrder = [
3785
3795
  "animate",
3786
3796
  "whileInView",
@@ -3792,7 +3802,7 @@ var variantPriorityOrder = [
3792
3802
  ];
3793
3803
  var variantProps = ["initial", ...variantPriorityOrder];
3794
3804
 
3795
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3805
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-controlling-variants.mjs
3796
3806
  function isControllingVariants(props) {
3797
3807
  return isAnimationControls(props.animate) || variantProps.some((name) => isVariantLabel(props[name]));
3798
3808
  }
@@ -3800,7 +3810,7 @@ function isVariantNode(props) {
3800
3810
  return Boolean(isControllingVariants(props) || props.variants);
3801
3811
  }
3802
3812
 
3803
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3813
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/motion-values.mjs
3804
3814
  function updateMotionValuesFromProps(element, next, prev) {
3805
3815
  for (const key in next) {
3806
3816
  const nextValue = next[key];
@@ -3830,15 +3840,15 @@ function updateMotionValuesFromProps(element, next, prev) {
3830
3840
  return next;
3831
3841
  }
3832
3842
 
3833
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3843
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/state.mjs
3834
3844
  var prefersReducedMotion = { current: null };
3835
3845
  var hasReducedMotionListener = { current: false };
3836
3846
 
3837
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3838
- var isBrowser2 = typeof window !== "undefined";
3847
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/reduced-motion/index.mjs
3848
+ var isBrowser3 = typeof window !== "undefined";
3839
3849
  function initPrefersReducedMotion() {
3840
3850
  hasReducedMotionListener.current = true;
3841
- if (!isBrowser2)
3851
+ if (!isBrowser3)
3842
3852
  return;
3843
3853
  if (window.matchMedia) {
3844
3854
  const motionMediaQuery = window.matchMedia("(prefers-reduced-motion)");
@@ -3850,7 +3860,7 @@ function initPrefersReducedMotion() {
3850
3860
  }
3851
3861
  }
3852
3862
 
3853
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3863
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/VisualElement.mjs
3854
3864
  var propEventHandlers = [
3855
3865
  "AnimationStart",
3856
3866
  "AnimationComplete",
@@ -4039,8 +4049,6 @@ var VisualElement = class {
4039
4049
  removeOnChange();
4040
4050
  if (removeSyncCheck)
4041
4051
  removeSyncCheck();
4042
- if (value.owner)
4043
- value.stop();
4044
4052
  });
4045
4053
  }
4046
4054
  sortNodePosition(other) {
@@ -4251,7 +4259,7 @@ var VisualElement = class {
4251
4259
  }
4252
4260
  };
4253
4261
 
4254
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4262
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/dom/DOMVisualElement.mjs
4255
4263
  var DOMVisualElement = class extends VisualElement {
4256
4264
  constructor() {
4257
4265
  super(...arguments);
@@ -4284,7 +4292,7 @@ var DOMVisualElement = class extends VisualElement {
4284
4292
  }
4285
4293
  };
4286
4294
 
4287
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/Feature.mjs
4295
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/Feature.mjs
4288
4296
  var Feature = class {
4289
4297
  constructor(node) {
4290
4298
  this.isMounted = false;
@@ -4294,7 +4302,7 @@ var Feature = class {
4294
4302
  }
4295
4303
  };
4296
4304
 
4297
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4305
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/conversion.mjs
4298
4306
  function convertBoundingBoxToBox({ top, left, right, bottom }) {
4299
4307
  return {
4300
4308
  x: { min: left, max: right },
@@ -4317,7 +4325,7 @@ function transformBoxPoints(point, transformPoint2) {
4317
4325
  };
4318
4326
  }
4319
4327
 
4320
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4328
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/has-transform.mjs
4321
4329
  function isIdentityScale(scale2) {
4322
4330
  return scale2 === void 0 || scale2 === 1;
4323
4331
  }
@@ -4334,7 +4342,7 @@ function is2DTranslate(value) {
4334
4342
  return value && value !== "0%";
4335
4343
  }
4336
4344
 
4337
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4345
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-apply.mjs
4338
4346
  function scalePoint(point, scale2, originPoint) {
4339
4347
  const distanceFromOrigin = point - originPoint;
4340
4348
  const scaled = scale2 * distanceFromOrigin;
@@ -4410,7 +4418,7 @@ function transformBox(box, transform, sourceBox) {
4410
4418
  transformAxis(box.y, resolveAxisTranslate(transform.y, resolveBox.y), transform.scaleY, transform.scale, transform.originY);
4411
4419
  }
4412
4420
 
4413
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4421
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/measure.mjs
4414
4422
  function measureViewportBox(instance, transformPoint2) {
4415
4423
  return convertBoundingBoxToBox(transformBoxPoints(instance.getBoundingClientRect(), transformPoint2));
4416
4424
  }
@@ -4424,7 +4432,7 @@ function measurePageBox(element, rootProjectionNode2, transformPagePoint) {
4424
4432
  return viewportBox;
4425
4433
  }
4426
4434
 
4427
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4435
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-transform.mjs
4428
4436
  var translateAlias = {
4429
4437
  x: "translateX",
4430
4438
  y: "translateY",
@@ -4459,6 +4467,11 @@ function buildTransform(latestValues, transform, transformTemplate) {
4459
4467
  }
4460
4468
  }
4461
4469
  }
4470
+ const pathRotation = latestValues.pathRotation;
4471
+ if (pathRotation) {
4472
+ transformIsDefault = false;
4473
+ transformString += `rotate(${getValueAsType(pathRotation, numberValueTypes.pathRotation)}) `;
4474
+ }
4462
4475
  transformString = transformString.trim();
4463
4476
  if (transformTemplate) {
4464
4477
  transformString = transformTemplate(transform, transformIsDefault ? "" : transformString);
@@ -4468,7 +4481,7 @@ function buildTransform(latestValues, transform, transformTemplate) {
4468
4481
  return transformString;
4469
4482
  }
4470
4483
 
4471
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4484
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/build-styles.mjs
4472
4485
  function buildHTMLStyles(state, latestValues, transformTemplate) {
4473
4486
  const { style, vars, transformOrigin } = state;
4474
4487
  let hasTransform2 = false;
@@ -4504,7 +4517,7 @@ function buildHTMLStyles(state, latestValues, transformTemplate) {
4504
4517
  }
4505
4518
  }
4506
4519
 
4507
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4520
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/render.mjs
4508
4521
  function renderHTML(element, { style, vars }, styleProp, projection) {
4509
4522
  const elementStyle = element.style;
4510
4523
  let key;
@@ -4517,7 +4530,7 @@ function renderHTML(element, { style, vars }, styleProp, projection) {
4517
4530
  }
4518
4531
  }
4519
4532
 
4520
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4533
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-border-radius.mjs
4521
4534
  function pixelsToPercent(pixels, axis) {
4522
4535
  if (axis.max === axis.min)
4523
4536
  return 0;
@@ -4540,7 +4553,7 @@ var correctBorderRadius = {
4540
4553
  }
4541
4554
  };
4542
4555
 
4543
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4556
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-box-shadow.mjs
4544
4557
  var correctBoxShadow = {
4545
4558
  correct: (latest, { treeScale, projectionDelta }) => {
4546
4559
  const original = latest;
@@ -4562,16 +4575,11 @@ var correctBoxShadow = {
4562
4575
  }
4563
4576
  };
4564
4577
 
4565
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4578
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/scale-correction.mjs
4566
4579
  var scaleCorrectors = {
4567
4580
  borderRadius: {
4568
4581
  ...correctBorderRadius,
4569
- applyTo: [
4570
- "borderTopLeftRadius",
4571
- "borderTopRightRadius",
4572
- "borderBottomLeftRadius",
4573
- "borderBottomRightRadius"
4574
- ]
4582
+ applyTo: [...cornerRadiusProps]
4575
4583
  },
4576
4584
  borderTopLeftRadius: correctBorderRadius,
4577
4585
  borderTopRightRadius: correctBorderRadius,
@@ -4580,12 +4588,12 @@ var scaleCorrectors = {
4580
4588
  boxShadow: correctBoxShadow
4581
4589
  };
4582
4590
 
4583
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4591
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/is-forced-motion-value.mjs
4584
4592
  function isForcedMotionValue(key, { layout: layout2, layoutId }) {
4585
4593
  return transformProps.has(key) || key.startsWith("origin") || (layout2 || layoutId !== void 0) && (!!scaleCorrectors[key] || key === "opacity");
4586
4594
  }
4587
4595
 
4588
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4596
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/utils/scrape-motion-values.mjs
4589
4597
  function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4590
4598
  const style = props.style;
4591
4599
  const prevStyle = prevProps?.style;
@@ -4600,7 +4608,7 @@ function scrapeMotionValuesFromProps(props, prevProps, visualElement) {
4600
4608
  return newValues;
4601
4609
  }
4602
4610
 
4603
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4611
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/html/HTMLVisualElement.mjs
4604
4612
  function getComputedStyle2(element) {
4605
4613
  return window.getComputedStyle(element);
4606
4614
  }
@@ -4610,6 +4618,10 @@ var HTMLVisualElement = class extends DOMVisualElement {
4610
4618
  this.type = "html";
4611
4619
  this.renderInstance = renderHTML;
4612
4620
  }
4621
+ mount(instance) {
4622
+ invariant(Boolean(instance.style), "motion.create() components must forward their ref to a HTML or SVG element", "custom-component-ref");
4623
+ super.mount(instance);
4624
+ }
4613
4625
  readValueFromInstance(instance, key) {
4614
4626
  if (transformProps.has(key)) {
4615
4627
  return this.projection?.isProjecting ? defaultTransformValue(key) : readTransformValue(instance, key);
@@ -4630,7 +4642,7 @@ var HTMLVisualElement = class extends DOMVisualElement {
4630
4642
  }
4631
4643
  };
4632
4644
 
4633
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4645
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/path.mjs
4634
4646
  var dashKeys = {
4635
4647
  offset: "stroke-dashoffset",
4636
4648
  array: "stroke-dasharray"
@@ -4646,8 +4658,10 @@ function buildSVGPath(attrs, length, spacing = 1, offset = 0, useDashCase = true
4646
4658
  attrs[keys.array] = `${length} ${spacing}`;
4647
4659
  }
4648
4660
 
4649
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4650
- var cssMotionPathProperties = [
4661
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/build-attrs.mjs
4662
+ var cssStyleProperties = [
4663
+ "transform",
4664
+ "opacity",
4651
4665
  "offsetDistance",
4652
4666
  "offsetPath",
4653
4667
  "offsetRotate",
@@ -4673,9 +4687,11 @@ function buildSVGAttrs(state, {
4673
4687
  state.attrs = state.style;
4674
4688
  state.style = {};
4675
4689
  const { attrs, style } = state;
4676
- if (attrs.transform) {
4677
- style.transform = attrs.transform;
4678
- delete attrs.transform;
4690
+ for (const key of cssStyleProperties) {
4691
+ if (attrs[key] !== void 0) {
4692
+ style[key] = attrs[key];
4693
+ delete attrs[key];
4694
+ }
4679
4695
  }
4680
4696
  if (style.transform || attrs.transformOrigin) {
4681
4697
  style.transformOrigin = attrs.transformOrigin ?? "50% 50%";
@@ -4685,12 +4701,6 @@ function buildSVGAttrs(state, {
4685
4701
  style.transformBox = styleProp?.transformBox ?? "fill-box";
4686
4702
  delete attrs.transformBox;
4687
4703
  }
4688
- for (const key of cssMotionPathProperties) {
4689
- if (attrs[key] !== void 0) {
4690
- style[key] = attrs[key];
4691
- delete attrs[key];
4692
- }
4693
- }
4694
4704
  if (attrX !== void 0)
4695
4705
  attrs.x = attrX;
4696
4706
  if (attrY !== void 0)
@@ -4702,7 +4712,7 @@ function buildSVGAttrs(state, {
4702
4712
  }
4703
4713
  }
4704
4714
 
4705
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4715
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/camel-case-attrs.mjs
4706
4716
  var camelCaseAttributes = /* @__PURE__ */ new Set([
4707
4717
  "baseFrequency",
4708
4718
  "diffuseConstant",
@@ -4729,10 +4739,10 @@ var camelCaseAttributes = /* @__PURE__ */ new Set([
4729
4739
  "lengthAdjust"
4730
4740
  ]);
4731
4741
 
4732
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4742
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/is-svg-tag.mjs
4733
4743
  var isSVGTag = (tag) => typeof tag === "string" && tag.toLowerCase() === "svg";
4734
4744
 
4735
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4745
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/render.mjs
4736
4746
  function renderSVG(element, renderState, _styleProp, projection) {
4737
4747
  renderHTML(element, renderState, void 0, projection);
4738
4748
  for (const key in renderState.attrs) {
@@ -4740,7 +4750,7 @@ function renderSVG(element, renderState, _styleProp, projection) {
4740
4750
  }
4741
4751
  }
4742
4752
 
4743
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4753
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/utils/scrape-motion-values.mjs
4744
4754
  function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4745
4755
  const newValues = scrapeMotionValuesFromProps(props, prevProps, visualElement);
4746
4756
  for (const key in props) {
@@ -4752,7 +4762,7 @@ function scrapeMotionValuesFromProps2(props, prevProps, visualElement) {
4752
4762
  return newValues;
4753
4763
  }
4754
4764
 
4755
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4765
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/svg/SVGVisualElement.mjs
4756
4766
  var SVGVisualElement = class extends DOMVisualElement {
4757
4767
  constructor() {
4758
4768
  super(...arguments);
@@ -4768,6 +4778,12 @@ var SVGVisualElement = class extends DOMVisualElement {
4768
4778
  const defaultType = getDefaultValueType(key);
4769
4779
  return defaultType ? defaultType.default || 0 : 0;
4770
4780
  }
4781
+ if (cssStyleProperties.includes(key)) {
4782
+ const computedStyle = getComputedStyle(instance);
4783
+ const value = computedStyle[key];
4784
+ if (typeof value === "string" && value)
4785
+ return value.trim();
4786
+ }
4771
4787
  key = !camelCaseAttributes.has(key) ? camelToDash(key) : key;
4772
4788
  return instance.getAttribute(key);
4773
4789
  }
@@ -4786,7 +4802,7 @@ var SVGVisualElement = class extends DOMVisualElement {
4786
4802
  }
4787
4803
  };
4788
4804
 
4789
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4805
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/get-variant-context.mjs
4790
4806
  var numVariantProps = variantProps.length;
4791
4807
  function getVariantContext(visualElement) {
4792
4808
  if (!visualElement)
@@ -4809,7 +4825,7 @@ function getVariantContext(visualElement) {
4809
4825
  return context;
4810
4826
  }
4811
4827
 
4812
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4828
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/shallow-compare.mjs
4813
4829
  function shallowCompare(next, prev) {
4814
4830
  if (!Array.isArray(prev))
4815
4831
  return false;
@@ -4823,7 +4839,7 @@ function shallowCompare(next, prev) {
4823
4839
  return true;
4824
4840
  }
4825
4841
 
4826
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4842
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/render/utils/animation-state.mjs
4827
4843
  var reversePriorityOrder = [...variantPriorityOrder].reverse();
4828
4844
  var numAnimationTypes = variantPriorityOrder.length;
4829
4845
  function createAnimateFunction(visualElement) {
@@ -4916,7 +4932,7 @@ function createAnimationState(visualElement) {
4916
4932
  continue;
4917
4933
  let valueHasChanged = false;
4918
4934
  if (isKeyframesTarget(next) && isKeyframesTarget(prev)) {
4919
- valueHasChanged = !shallowCompare(next, prev);
4935
+ valueHasChanged = !shallowCompare(next, prev) || variantDidChange;
4920
4936
  } else {
4921
4937
  valueHasChanged = next !== prev;
4922
4938
  }
@@ -5035,7 +5051,7 @@ function createState() {
5035
5051
  };
5036
5052
  }
5037
5053
 
5038
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5054
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/copy.mjs
5039
5055
  function copyAxisInto(axis, originAxis) {
5040
5056
  axis.min = originAxis.min;
5041
5057
  axis.max = originAxis.max;
@@ -5051,7 +5067,7 @@ function copyAxisDeltaInto(delta, originDelta) {
5051
5067
  delta.origin = originDelta.origin;
5052
5068
  }
5053
5069
 
5054
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5070
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-calc.mjs
5055
5071
  var SCALE_PRECISION = 1e-4;
5056
5072
  var SCALE_MIN = 1 - SCALE_PRECISION;
5057
5073
  var SCALE_MAX = 1 + SCALE_PRECISION;
@@ -5099,7 +5115,7 @@ function calcRelativePosition(target, layout2, parent, anchor) {
5099
5115
  calcRelativeAxisPosition(target.y, layout2.y, parent.y, anchor?.y);
5100
5116
  }
5101
5117
 
5102
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5118
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/delta-remove.mjs
5103
5119
  function removePointDelta(point, translate, scale2, originPoint, boxScale) {
5104
5120
  point -= translate;
5105
5121
  point = scalePoint(point, 1 / scale2, originPoint);
@@ -5132,7 +5148,7 @@ function removeBoxTransforms(box, transforms, originBox, sourceBox) {
5132
5148
  removeAxisTransforms(box.y, transforms, yKeys, originBox ? originBox.y : void 0, sourceBox ? sourceBox.y : void 0);
5133
5149
  }
5134
5150
 
5135
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5151
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/geometry/utils.mjs
5136
5152
  function isAxisDeltaZero(delta) {
5137
5153
  return delta.translate === 0 && delta.scale === 1;
5138
5154
  }
@@ -5158,12 +5174,12 @@ function axisDeltaEquals(a, b) {
5158
5174
  return a.translate === b.translate && a.scale === b.scale && a.originPoint === b.originPoint;
5159
5175
  }
5160
5176
 
5161
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5177
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/each-axis.mjs
5162
5178
  function eachAxis(callback) {
5163
5179
  return [callback("x"), callback("y")];
5164
5180
  }
5165
5181
 
5166
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5182
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/styles/transform.mjs
5167
5183
  function buildProjectionTransform(delta, treeScale, latestTransform) {
5168
5184
  let transform = "";
5169
5185
  const xTranslate = delta.x.translate / treeScale.x;
@@ -5176,11 +5192,13 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5176
5192
  transform += `scale(${1 / treeScale.x}, ${1 / treeScale.y}) `;
5177
5193
  }
5178
5194
  if (latestTransform) {
5179
- const { transformPerspective, rotate: rotate2, rotateX, rotateY, skewX, skewY } = latestTransform;
5195
+ const { transformPerspective, rotate: rotate2, pathRotation, rotateX, rotateY, skewX, skewY } = latestTransform;
5180
5196
  if (transformPerspective)
5181
5197
  transform = `perspective(${transformPerspective}px) ${transform}`;
5182
5198
  if (rotate2)
5183
5199
  transform += `rotate(${rotate2}deg) `;
5200
+ if (pathRotation)
5201
+ transform += `rotate(${pathRotation}deg) `;
5184
5202
  if (rotateX)
5185
5203
  transform += `rotateX(${rotateX}deg) `;
5186
5204
  if (rotateY)
@@ -5198,14 +5216,8 @@ function buildProjectionTransform(delta, treeScale, latestTransform) {
5198
5216
  return transform || "none";
5199
5217
  }
5200
5218
 
5201
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5202
- var borderLabels = [
5203
- "borderTopLeftRadius",
5204
- "borderTopRightRadius",
5205
- "borderBottomLeftRadius",
5206
- "borderBottomRightRadius"
5207
- ];
5208
- var numBorders = borderLabels.length;
5219
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/animation/mix-values.mjs
5220
+ var numBorders = cornerRadiusProps.length;
5209
5221
  var asNumber = (value) => typeof value === "string" ? parseFloat(value) : value;
5210
5222
  var isPx = (value) => typeof value === "number" || px.test(value);
5211
5223
  function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOnlyMember) {
@@ -5216,7 +5228,7 @@ function mixValues(target, follow, lead, progress2, shouldCrossfadeOpacity, isOn
5216
5228
  target.opacity = mixNumber(follow.opacity ?? 1, lead.opacity ?? 1, progress2);
5217
5229
  }
5218
5230
  for (let i = 0; i < numBorders; i++) {
5219
- const borderLabel = borderLabels[i];
5231
+ const borderLabel = cornerRadiusProps[i];
5220
5232
  let followRadius = getRadius(follow, borderLabel);
5221
5233
  let leadRadius = getRadius(lead, borderLabel);
5222
5234
  if (followRadius === void 0 && leadRadius === void 0)
@@ -5252,23 +5264,23 @@ function compress(min, max, easing) {
5252
5264
  };
5253
5265
  }
5254
5266
 
5255
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5267
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/animation/animate/single-value.mjs
5256
5268
  function animateSingleValue(value, keyframes2, options) {
5257
5269
  const motionValue$1 = isMotionValue(value) ? value : motionValue(value);
5258
5270
  motionValue$1.start(animateMotionValue("", motionValue$1, keyframes2, options));
5259
5271
  return motionValue$1.animation;
5260
5272
  }
5261
5273
 
5262
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5274
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/events/add-dom-event.mjs
5263
5275
  function addDomEvent(target, eventName, handler, options = { passive: true }) {
5264
5276
  target.addEventListener(eventName, handler, options);
5265
- return () => target.removeEventListener(eventName, handler);
5277
+ return () => target.removeEventListener(eventName, handler, options);
5266
5278
  }
5267
5279
 
5268
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5280
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/compare-by-depth.mjs
5269
5281
  var compareByDepth = (a, b) => a.depth - b.depth;
5270
5282
 
5271
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5283
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/utils/flat-tree.mjs
5272
5284
  var FlatTree = class {
5273
5285
  constructor() {
5274
5286
  this.children = [];
@@ -5289,7 +5301,7 @@ var FlatTree = class {
5289
5301
  }
5290
5302
  };
5291
5303
 
5292
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/utils/delay.mjs
5304
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/utils/delay.mjs
5293
5305
  function delay(callback, timeout) {
5294
5306
  const start = time.now();
5295
5307
  const checkElapsed = ({ timestamp }) => {
@@ -5303,12 +5315,12 @@ function delay(callback, timeout) {
5303
5315
  return () => cancelFrame(checkElapsed);
5304
5316
  }
5305
5317
 
5306
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5318
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/value/utils/resolve-motion-value.mjs
5307
5319
  function resolveMotionValue(value) {
5308
5320
  return isMotionValue(value) ? value.get() : value;
5309
5321
  }
5310
5322
 
5311
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5323
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/shared/stack.mjs
5312
5324
  var NodeStack = class {
5313
5325
  constructor() {
5314
5326
  this.members = [];
@@ -5389,7 +5401,7 @@ var NodeStack = class {
5389
5401
  }
5390
5402
  };
5391
5403
 
5392
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/state.mjs
5404
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/state.mjs
5393
5405
  var globalProjectionState = {
5394
5406
  /**
5395
5407
  * Global flag as to whether the tree has animated since the last time
@@ -5570,7 +5582,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
5570
5582
  animationOptions.type = false;
5571
5583
  }
5572
5584
  this.startAnimation(animationOptions);
5573
- this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged);
5585
+ this.setAnimationOrigin(delta, hasOnlyRelativeTargetChanged, animationOptions.path);
5574
5586
  } else {
5575
5587
  if (!hasLayoutChanged) {
5576
5588
  finishAnimation(this);
@@ -6042,7 +6054,7 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6042
6054
  this.projectionDelta = createDelta();
6043
6055
  this.projectionDeltaWithTransform = createDelta();
6044
6056
  }
6045
- setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false) {
6057
+ setAnimationOrigin(delta, hasOnlyRelativeTargetChanged = false, pathFn) {
6046
6058
  const snapshot = this.snapshot;
6047
6059
  const snapshotLatestValues = snapshot ? snapshot.latestValues : {};
6048
6060
  const mixedValues = { ...this.latestValues };
@@ -6060,10 +6072,23 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6060
6072
  const shouldCrossfadeOpacity = Boolean(isSharedLayoutAnimation && !isOnlyMember && this.options.crossfade === true && !this.path.some(hasOpacityCrossfade));
6061
6073
  this.animationProgress = 0;
6062
6074
  let prevRelativeTarget;
6075
+ const interpolate2 = pathFn?.interpolateProjection(delta);
6063
6076
  this.mixTargetDelta = (latest) => {
6064
6077
  const progress2 = latest / 1e3;
6065
- mixAxisDelta(targetDelta.x, delta.x, progress2);
6066
- mixAxisDelta(targetDelta.y, delta.y, progress2);
6078
+ const point = interpolate2?.(progress2);
6079
+ if (point) {
6080
+ targetDelta.x.translate = point.x;
6081
+ targetDelta.x.scale = mixNumber(delta.x.scale, 1, progress2);
6082
+ targetDelta.x.origin = delta.x.origin;
6083
+ targetDelta.x.originPoint = delta.x.originPoint;
6084
+ targetDelta.y.translate = point.y;
6085
+ targetDelta.y.scale = mixNumber(delta.y.scale, 1, progress2);
6086
+ targetDelta.y.origin = delta.y.origin;
6087
+ targetDelta.y.originPoint = delta.y.originPoint;
6088
+ } else {
6089
+ mixAxisDeltaLinear(targetDelta.x, delta.x, progress2);
6090
+ mixAxisDeltaLinear(targetDelta.y, delta.y, progress2);
6091
+ }
6067
6092
  this.setTargetDelta(targetDelta);
6068
6093
  if (this.relativeTarget && this.relativeTargetOrigin && this.layout && this.relativeParent && this.relativeParent.layout) {
6069
6094
  calcRelativePosition(relativeLayout, this.layout.layoutBox, this.relativeParent.layout.layoutBox, this.options.layoutAnchor || void 0);
@@ -6079,6 +6104,11 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6079
6104
  this.animationValues = mixedValues;
6080
6105
  mixValues(mixedValues, snapshotLatestValues, this.latestValues, progress2, shouldCrossfadeOpacity, isOnlyMember);
6081
6106
  }
6107
+ if (point && point.rotate !== void 0) {
6108
+ if (!this.animationValues)
6109
+ this.animationValues = mixedValues;
6110
+ this.animationValues.pathRotation = point.rotate;
6111
+ }
6082
6112
  this.root.scheduleUpdateProjection();
6083
6113
  this.scheduleRender();
6084
6114
  this.animationProgress = progress2;
@@ -6105,8 +6135,6 @@ function createProjectionNode({ attachResizeListener, defaultParent, measureScro
6105
6135
  this.mixTargetDelta(latest);
6106
6136
  options.onUpdate && options.onUpdate(latest);
6107
6137
  },
6108
- onStop: () => {
6109
- },
6110
6138
  onComplete: () => {
6111
6139
  options.onComplete && options.onComplete();
6112
6140
  this.completeAnimation();
@@ -6435,7 +6463,7 @@ function resetSkewAndRotation(node) {
6435
6463
  function removeLeadSnapshots(stack) {
6436
6464
  stack.removeLeadSnapshot();
6437
6465
  }
6438
- function mixAxisDelta(output, delta, p) {
6466
+ function mixAxisDeltaLinear(output, delta, p) {
6439
6467
  output.translate = mixNumber(delta.translate, 0, p);
6440
6468
  output.scale = mixNumber(delta.scale, 1, p);
6441
6469
  output.origin = delta.origin;
@@ -6473,7 +6501,7 @@ function checkNodeWasScrollRoot(node) {
6473
6501
  return node !== node.root && node.scroll?.wasRoot;
6474
6502
  }
6475
6503
 
6476
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6504
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/DocumentProjectionNode.mjs
6477
6505
  var DocumentProjectionNode = createProjectionNode({
6478
6506
  attachResizeListener: (ref, notify) => addDomEvent(ref, "resize", notify),
6479
6507
  measureScroll: () => ({
@@ -6483,7 +6511,7 @@ var DocumentProjectionNode = createProjectionNode({
6483
6511
  checkIsScrollRoot: () => true
6484
6512
  });
6485
6513
 
6486
- // ../../node_modules/.pnpm/motion-dom@12.38.0/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6514
+ // ../../node_modules/.pnpm/motion-dom@13.1.1/node_modules/motion-dom/dist/es/projection/node/HTMLProjectionNode.mjs
6487
6515
  var rootProjectionNode = {
6488
6516
  current: void 0
6489
6517
  };
@@ -6527,7 +6555,7 @@ function usePresence(subscribe = true) {
6527
6555
  }
6528
6556
  var LazyContext = createContext({ strict: false });
6529
6557
 
6530
- // ../../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
6558
+ // ../../node_modules/.pnpm/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
6531
6559
  var featureProps = {
6532
6560
  animation: [
6533
6561
  "animate",
@@ -6566,7 +6594,7 @@ function getInitializedFeatureDefinitions() {
6566
6594
  return getFeatureDefinitions();
6567
6595
  }
6568
6596
 
6569
- // ../../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
6597
+ // ../../node_modules/.pnpm/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
6570
6598
  function loadFeatures(features) {
6571
6599
  const featureDefinitions2 = getInitializedFeatureDefinitions();
6572
6600
  for (const key in features) {
@@ -6577,74 +6605,9 @@ function loadFeatures(features) {
6577
6605
  }
6578
6606
  setFeatureDefinitions(featureDefinitions2);
6579
6607
  }
6580
-
6581
- // ../../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
6582
- var validMotionProps = /* @__PURE__ */ new Set([
6583
- "animate",
6584
- "exit",
6585
- "variants",
6586
- "initial",
6587
- "style",
6588
- "values",
6589
- "variants",
6590
- "transition",
6591
- "transformTemplate",
6592
- "custom",
6593
- "inherit",
6594
- "onBeforeLayoutMeasure",
6595
- "onAnimationStart",
6596
- "onAnimationComplete",
6597
- "onUpdate",
6598
- "onDragStart",
6599
- "onDrag",
6600
- "onDragEnd",
6601
- "onMeasureDragConstraints",
6602
- "onDirectionLock",
6603
- "onDragTransitionEnd",
6604
- "_dragX",
6605
- "_dragY",
6606
- "onHoverStart",
6607
- "onHoverEnd",
6608
- "onViewportEnter",
6609
- "onViewportLeave",
6610
- "globalTapTarget",
6611
- "propagate",
6612
- "ignoreStrict",
6613
- "viewport"
6614
- ]);
6615
- function isValidMotionProp(key) {
6616
- return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
6617
- }
6618
-
6619
- // ../../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
6620
- var shouldForward = (key) => !isValidMotionProp(key);
6621
- function loadExternalIsValidProp(isValidProp) {
6622
- if (typeof isValidProp !== "function")
6623
- return;
6624
- shouldForward = (key) => key.startsWith("on") ? !isValidMotionProp(key) : isValidProp(key);
6625
- }
6626
- try {
6627
- const emotionPkg = "@emotion/is-prop-valid";
6628
- loadExternalIsValidProp(__require(emotionPkg).default);
6629
- } catch {
6630
- }
6631
- function filterProps(props, isDom, forwardMotionProps) {
6632
- const filteredProps = {};
6633
- for (const key in props) {
6634
- if (key === "values" && typeof props.values === "object")
6635
- continue;
6636
- if (isMotionValue(props[key]))
6637
- continue;
6638
- if (shouldForward(key) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
6639
- props["draggable"] && key.startsWith("onDrag")) {
6640
- filteredProps[key] = props[key];
6641
- }
6642
- }
6643
- return filteredProps;
6644
- }
6645
6608
  var MotionContext = /* @__PURE__ */ createContext({});
6646
6609
 
6647
- // ../../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
6610
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/context/MotionContext/utils.mjs
6648
6611
  function getCurrentTreeVariants(props, context) {
6649
6612
  if (isControllingVariants(props)) {
6650
6613
  const { initial, animate } = props;
@@ -6656,7 +6619,7 @@ function getCurrentTreeVariants(props, context) {
6656
6619
  return props.inherit !== false ? context : {};
6657
6620
  }
6658
6621
 
6659
- // ../../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
6622
+ // ../../node_modules/.pnpm/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
6660
6623
  function useCreateMotionContext(props) {
6661
6624
  const { initial, animate } = getCurrentTreeVariants(props, useContext(MotionContext));
6662
6625
  return useMemo(() => ({ initial, animate }), [variantLabelsAsDependency(initial), variantLabelsAsDependency(animate)]);
@@ -6665,7 +6628,7 @@ function variantLabelsAsDependency(prop) {
6665
6628
  return Array.isArray(prop) ? prop.join(" ") : prop;
6666
6629
  }
6667
6630
 
6668
- // ../../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
6631
+ // ../../node_modules/.pnpm/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
6669
6632
  var createHtmlRenderState = () => ({
6670
6633
  style: {},
6671
6634
  transform: {},
@@ -6673,7 +6636,7 @@ var createHtmlRenderState = () => ({
6673
6636
  vars: {}
6674
6637
  });
6675
6638
 
6676
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/html/use-props.mjs
6639
+ // ../../node_modules/.pnpm/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
6677
6640
  function copyRawValuesOnly(target, source, props) {
6678
6641
  for (const key in source) {
6679
6642
  if (!isMotionValue(source[key]) && !isForcedMotionValue(key, props)) {
@@ -6710,13 +6673,13 @@ function useHTMLProps(props, visualState) {
6710
6673
  return htmlProps;
6711
6674
  }
6712
6675
 
6713
- // ../../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
6676
+ // ../../node_modules/.pnpm/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
6714
6677
  var createSvgRenderState = () => ({
6715
6678
  ...createHtmlRenderState(),
6716
6679
  attrs: {}
6717
6680
  });
6718
6681
 
6719
- // ../../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
6682
+ // ../../node_modules/.pnpm/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
6720
6683
  function useSVGProps(props, visualState, _isStatic, Component2) {
6721
6684
  const visualProps = useMemo(() => {
6722
6685
  const state = createSvgRenderState();
@@ -6734,7 +6697,64 @@ function useSVGProps(props, visualState, _isStatic, Component2) {
6734
6697
  return visualProps;
6735
6698
  }
6736
6699
 
6737
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/svg/lowercase-elements.mjs
6700
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/utils/valid-prop.mjs
6701
+ var validMotionProps = /* @__PURE__ */ new Set([
6702
+ "animate",
6703
+ "exit",
6704
+ "variants",
6705
+ "initial",
6706
+ "style",
6707
+ "values",
6708
+ "variants",
6709
+ "transition",
6710
+ "transformTemplate",
6711
+ "custom",
6712
+ "inherit",
6713
+ "onBeforeLayoutMeasure",
6714
+ "onAnimationStart",
6715
+ "onAnimationComplete",
6716
+ "onUpdate",
6717
+ "onDragStart",
6718
+ "onDrag",
6719
+ "onDragEnd",
6720
+ "onMeasureDragConstraints",
6721
+ "onDirectionLock",
6722
+ "onDragTransitionEnd",
6723
+ "_dragX",
6724
+ "_dragY",
6725
+ "onHoverStart",
6726
+ "onHoverEnd",
6727
+ "onViewportEnter",
6728
+ "onViewportLeave",
6729
+ "globalTapTarget",
6730
+ "propagate",
6731
+ "ignoreStrict",
6732
+ "viewport"
6733
+ ]);
6734
+ function isValidMotionProp(key) {
6735
+ return key.startsWith("while") || key.startsWith("drag") && key !== "draggable" || key.startsWith("layout") || key.startsWith("onTap") || key.startsWith("onPan") || key.startsWith("onLayout") || validMotionProps.has(key);
6736
+ }
6737
+
6738
+ // ../../node_modules/.pnpm/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
6739
+ function shouldForward(key, isValidProp) {
6740
+ return key.startsWith("on") ? !isValidMotionProp(key) : isValidProp?.(key) ?? !isValidMotionProp(key);
6741
+ }
6742
+ function filterProps(props, isDom, forwardMotionProps, isValidProp) {
6743
+ const filteredProps = {};
6744
+ for (const key in props) {
6745
+ if (key === "values" && typeof props.values === "object")
6746
+ continue;
6747
+ if (isMotionValue(props[key]))
6748
+ continue;
6749
+ if (shouldForward(key, isValidProp) || forwardMotionProps === true && isValidMotionProp(key) || !isDom && !isValidMotionProp(key) || // If trying to use native HTML drag events, forward drag listeners
6750
+ props["draggable"] && key.startsWith("onDrag")) {
6751
+ filteredProps[key] = props[key];
6752
+ }
6753
+ }
6754
+ return filteredProps;
6755
+ }
6756
+
6757
+ // ../../node_modules/.pnpm/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
6738
6758
  var lowercaseSVGElements = [
6739
6759
  "animate",
6740
6760
  "circle",
@@ -6763,7 +6783,7 @@ var lowercaseSVGElements = [
6763
6783
  "view"
6764
6784
  ];
6765
6785
 
6766
- // ../../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
6786
+ // ../../node_modules/.pnpm/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
6767
6787
  function isSVGComponent(Component2) {
6768
6788
  if (
6769
6789
  /**
@@ -6790,11 +6810,11 @@ function isSVGComponent(Component2) {
6790
6810
  return false;
6791
6811
  }
6792
6812
 
6793
- // ../../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
6794
- function useRender(Component2, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG) {
6813
+ // ../../node_modules/.pnpm/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
6814
+ function useRender(Component2, props, ref, { latestValues }, isStatic, forwardMotionProps = false, isSVG, isValidProp) {
6795
6815
  const useVisualProps = isSVG ?? isSVGComponent(Component2) ? useSVGProps : useHTMLProps;
6796
6816
  const visualProps = useVisualProps(props, latestValues, isStatic, Component2);
6797
- const filteredProps = filterProps(props, typeof Component2 === "string", forwardMotionProps);
6817
+ const filteredProps = filterProps(props, typeof Component2 === "string", forwardMotionProps, isValidProp);
6798
6818
  const elementProps = Component2 !== Fragment ? { ...filteredProps, ...visualProps, ref } : {};
6799
6819
  const { children } = props;
6800
6820
  const renderedChildren = useMemo(() => isMotionValue(children) ? children.get() : children, [children]);
@@ -6859,20 +6879,20 @@ var makeUseVisualState = (config) => (props, isStatic) => {
6859
6879
  return isStatic ? make() : useConstant(make);
6860
6880
  };
6861
6881
 
6862
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/render/html/use-html-visual-state.mjs
6882
+ // ../../node_modules/.pnpm/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
6863
6883
  var useHTMLVisualState = /* @__PURE__ */ makeUseVisualState({
6864
6884
  scrapeMotionValuesFromProps,
6865
6885
  createRenderState: createHtmlRenderState
6866
6886
  });
6867
6887
 
6868
- // ../../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
6888
+ // ../../node_modules/.pnpm/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
6869
6889
  var useSVGVisualState = /* @__PURE__ */ makeUseVisualState({
6870
6890
  scrapeMotionValuesFromProps: scrapeMotionValuesFromProps2,
6871
6891
  createRenderState: createSvgRenderState
6872
6892
  });
6873
6893
 
6874
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/utils/symbol.mjs
6875
- var motionComponentSymbol = Symbol.for("motionComponentSymbol");
6894
+ // ../../node_modules/.pnpm/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
6895
+ var motionComponentSymbol = /* @__PURE__ */ Symbol.for("motionComponentSymbol");
6876
6896
  function useMotionRef(visualState, visualElement, externalRef) {
6877
6897
  const externalRefContainer = useRef(externalRef);
6878
6898
  useInsertionEffect(() => {
@@ -6883,6 +6903,9 @@ function useMotionRef(visualState, visualElement, externalRef) {
6883
6903
  if (instance) {
6884
6904
  visualState.onMount?.(instance);
6885
6905
  }
6906
+ if (visualElement) {
6907
+ instance ? visualElement.mount(instance) : visualElement.unmount();
6908
+ }
6886
6909
  const ref = externalRefContainer.current;
6887
6910
  if (typeof ref === "function") {
6888
6911
  if (instance) {
@@ -6899,19 +6922,16 @@ function useMotionRef(visualState, visualElement, externalRef) {
6899
6922
  } else if (ref) {
6900
6923
  ref.current = instance;
6901
6924
  }
6902
- if (visualElement) {
6903
- instance ? visualElement.mount(instance) : visualElement.unmount();
6904
- }
6905
6925
  }, [visualElement]);
6906
6926
  }
6907
6927
  var SwitchLayoutGroupContext = createContext({});
6908
6928
 
6909
- // ../../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
6929
+ // ../../node_modules/.pnpm/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
6910
6930
  function isRefObject(ref) {
6911
6931
  return ref && typeof ref === "object" && Object.prototype.hasOwnProperty.call(ref, "current");
6912
6932
  }
6913
6933
 
6914
- // ../../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
6934
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/motion/utils/use-visual-element.mjs
6915
6935
  function useVisualElement(Component2, visualState, props, createVisualElement, ProjectionNodeConstructor, isSVG) {
6916
6936
  const { visualElement: parent } = useContext(MotionContext);
6917
6937
  const lazyContext = useContext(LazyContext);
@@ -7007,7 +7027,7 @@ function getClosestProjectingNode(visualElement) {
7007
7027
  return visualElement.options.allowProjection !== false ? visualElement.projection : getClosestProjectingNode(visualElement.parent);
7008
7028
  }
7009
7029
 
7010
- // ../../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
7030
+ // ../../node_modules/.pnpm/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
7011
7031
  function createMotionComponent(Component2, { forwardMotionProps = false, type } = {}, preloadedFeatures, createVisualElement) {
7012
7032
  preloadedFeatures && loadFeatures(preloadedFeatures);
7013
7033
  const isSVG = type ? type === "svg" : isSVGComponent(Component2);
@@ -7019,7 +7039,7 @@ function createMotionComponent(Component2, { forwardMotionProps = false, type }
7019
7039
  ...props,
7020
7040
  layoutId: useLayoutId(props)
7021
7041
  };
7022
- const { isStatic } = configAndProps;
7042
+ const { isStatic, isValidProp } = configAndProps;
7023
7043
  const context = useCreateMotionContext(props);
7024
7044
  const visualState = useVisualState(props, isStatic);
7025
7045
  if (!isStatic && typeof window !== "undefined") {
@@ -7028,7 +7048,7 @@ function createMotionComponent(Component2, { forwardMotionProps = false, type }
7028
7048
  MeasureLayout2 = layoutProjection.MeasureLayout;
7029
7049
  context.visualElement = useVisualElement(Component2, visualState, configAndProps, createVisualElement, layoutProjection.ProjectionNode, isSVG);
7030
7050
  }
7031
- 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)] });
7051
+ 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)] });
7032
7052
  }
7033
7053
  MotionDOMComponent.displayName = `motion.${typeof Component2 === "string" ? Component2 : `create(${Component2.displayName ?? Component2.name ?? ""})`}`;
7034
7054
  const ForwardRefMotionComponent = forwardRef(MotionDOMComponent);
@@ -7058,7 +7078,7 @@ function getProjectionFunctionality(props) {
7058
7078
  };
7059
7079
  }
7060
7080
 
7061
- // ../../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
7081
+ // ../../node_modules/.pnpm/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
7062
7082
  function createMotionProxy(preloadedFeatures, createVisualElement) {
7063
7083
  if (typeof Proxy === "undefined") {
7064
7084
  return createMotionComponent;
@@ -7096,7 +7116,7 @@ var createDomVisualElement = (Component2, options) => {
7096
7116
  });
7097
7117
  };
7098
7118
 
7099
- // ../../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
7119
+ // ../../node_modules/.pnpm/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
7100
7120
  var AnimationFeature = class extends Feature {
7101
7121
  /**
7102
7122
  * We dynamically generate the AnimationState manager as it contains a reference
@@ -7132,7 +7152,7 @@ var AnimationFeature = class extends Feature {
7132
7152
  }
7133
7153
  };
7134
7154
 
7135
- // ../../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
7155
+ // ../../node_modules/.pnpm/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
7136
7156
  var id2 = 0;
7137
7157
  var ExitAnimationFeature = class extends Feature {
7138
7158
  constructor() {
@@ -7151,7 +7171,7 @@ var ExitAnimationFeature = class extends Feature {
7151
7171
  if (isPresent && prevIsPresent === false) {
7152
7172
  if (this.isExitComplete) {
7153
7173
  const { initial, custom } = this.node.getProps();
7154
- if (typeof initial === "string") {
7174
+ if (typeof initial === "string" || typeof initial === "object" && initial !== null && !Array.isArray(initial)) {
7155
7175
  const resolved = resolveVariant(this.node, initial, custom);
7156
7176
  if (resolved) {
7157
7177
  const { transition, transitionEnd, ...target } = resolved;
@@ -7189,7 +7209,7 @@ var ExitAnimationFeature = class extends Feature {
7189
7209
  }
7190
7210
  };
7191
7211
 
7192
- // ../../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
7212
+ // ../../node_modules/.pnpm/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
7193
7213
  var animations = {
7194
7214
  animation: {
7195
7215
  Feature: AnimationFeature
@@ -7199,7 +7219,7 @@ var animations = {
7199
7219
  }
7200
7220
  };
7201
7221
 
7202
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/events/event-info.mjs
7222
+ // ../../node_modules/.pnpm/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
7203
7223
  function extractEventInfo(event) {
7204
7224
  return {
7205
7225
  point: {
@@ -7210,17 +7230,17 @@ function extractEventInfo(event) {
7210
7230
  }
7211
7231
  var addPointerInfo = (handler) => (event) => isPrimaryPointer(event) && handler(event, extractEventInfo(event));
7212
7232
 
7213
- // ../../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
7233
+ // ../../node_modules/.pnpm/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
7214
7234
  function addPointerEvent(target, eventName, handler, options) {
7215
7235
  return addDomEvent(target, eventName, addPointerInfo(handler), options);
7216
7236
  }
7217
7237
 
7218
- // ../../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
7238
+ // ../../node_modules/.pnpm/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
7219
7239
  var getContextWindow = ({ current }) => {
7220
7240
  return current ? current.ownerDocument.defaultView : null;
7221
7241
  };
7222
7242
 
7223
- // ../../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
7243
+ // ../../node_modules/.pnpm/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
7224
7244
  var distance = (a, b) => Math.abs(a - b);
7225
7245
  function distance2D(a, b) {
7226
7246
  const xDelta = distance(a.x, b.x);
@@ -7228,7 +7248,7 @@ function distance2D(a, b) {
7228
7248
  return Math.sqrt(xDelta ** 2 + yDelta ** 2);
7229
7249
  }
7230
7250
 
7231
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/pan/PanSession.mjs
7251
+ // ../../node_modules/.pnpm/framer-motion@13.1.1_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/pan/PanSession.mjs
7232
7252
  var overflowStyles = /* @__PURE__ */ new Set(["auto", "scroll"]);
7233
7253
  var PanSession = class {
7234
7254
  constructor(event, handlers, { transformPagePoint, contextWindow = window, dragSnapToOrigin = false, distanceThreshold = 3, element } = {}) {
@@ -7301,7 +7321,8 @@ var PanSession = class {
7301
7321
  this.history = [{ ...point, timestamp }];
7302
7322
  const { onSessionStart } = handlers;
7303
7323
  onSessionStart && onSessionStart(event, getPanInfo(initialInfo, this.history));
7304
- this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp));
7324
+ const eventOptions = { passive: true, capture: true };
7325
+ this.removeListeners = pipe(addPointerEvent(this.contextWindow, "pointermove", this.handlePointerMove, eventOptions), addPointerEvent(this.contextWindow, "pointerup", this.handlePointerUp, eventOptions), addPointerEvent(this.contextWindow, "pointercancel", this.handlePointerUp, eventOptions));
7305
7326
  if (element) {
7306
7327
  this.startScrollTracking(element);
7307
7328
  }
@@ -7435,7 +7456,7 @@ function getVelocity(history, timeDelta) {
7435
7456
  return currentVelocity;
7436
7457
  }
7437
7458
 
7438
- // ../../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
7459
+ // ../../node_modules/.pnpm/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
7439
7460
  function applyConstraints(point, { min, max }, elastic) {
7440
7461
  if (min !== void 0 && point < min) {
7441
7462
  point = elastic ? mixNumber(min, point, elastic.min) : Math.max(point, min);
@@ -7513,7 +7534,7 @@ function resolvePointElastic(dragElastic, label) {
7513
7534
  return typeof dragElastic === "number" ? dragElastic : dragElastic[label] || 0;
7514
7535
  }
7515
7536
 
7516
- // ../../node_modules/.pnpm/framer-motion@12.38.0_@emotion+is-prop-valid@1.4.0_react-dom@19.2.8_react@19.2.8__react@19.2.8/node_modules/framer-motion/dist/es/gestures/drag/VisualElementDragControls.mjs
7537
+ // ../../node_modules/.pnpm/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
7517
7538
  var elementDragControls = /* @__PURE__ */ new WeakMap();
7518
7539
  var VisualElementDragControls = class {
7519
7540
  constructor(visualElement) {
@@ -7714,6 +7735,10 @@ var VisualElementDragControls = class {
7714
7735
  const { projection } = this.visualElement;
7715
7736
  if (!projection || !projection.layout)
7716
7737
  return false;
7738
+ if (projection.root) {
7739
+ projection.root.scroll = void 0;
7740
+ projection.root.updateScroll();
7741
+ }
7717
7742
  const constraintsBox = measurePageBox(constraintsElement, projection.root, this.visualElement.getTransformPagePoint());
7718
7743
  let measuredConstraints = calcViewportConstraints(projection.layout.layoutBox, constraintsBox);
7719
7744
  if (onMeasureDragConstraints) {
@@ -7770,7 +7795,7 @@ var VisualElementDragControls = class {
7770
7795
  const dragKey = `_drag${axis.toUpperCase()}`;
7771
7796
  const props = this.visualElement.getProps();
7772
7797
  const externalMotionValue = props[dragKey];
7773
- return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, (props.initial ? props.initial[axis] : void 0) || 0);
7798
+ return externalMotionValue ? externalMotionValue : this.visualElement.getValue(axis, this.visualElement.latestValues[axis] ?? 0);
7774
7799
  }
7775
7800
  snapToCursor(point) {
7776
7801
  eachAxis((axis) => {
@@ -7918,7 +7943,7 @@ function getCurrentDirection(offset, lockThreshold = 10) {
7918
7943
  return direction;
7919
7944
  }
7920
7945
 
7921
- // ../../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
7946
+ // ../../node_modules/.pnpm/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
7922
7947
  var DragGesture = class extends Feature {
7923
7948
  constructor(node) {
7924
7949
  super(node);
@@ -7952,7 +7977,7 @@ var DragGesture = class extends Feature {
7952
7977
  }
7953
7978
  };
7954
7979
 
7955
- // ../../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
7980
+ // ../../node_modules/.pnpm/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
7956
7981
  var asyncHandler = (handler) => (event, info) => {
7957
7982
  if (handler) {
7958
7983
  frame.update(() => handler(event, info), false, true);
@@ -8095,7 +8120,7 @@ function MeasureLayout(props) {
8095
8120
  return jsx(MeasureLayoutWithContext, { ...props, layoutGroup, switchLayoutGroup: useContext(SwitchLayoutGroupContext), isPresent, safeToRemove });
8096
8121
  }
8097
8122
 
8098
- // ../../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
8123
+ // ../../node_modules/.pnpm/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
8099
8124
  var drag = {
8100
8125
  pan: {
8101
8126
  Feature: PanGesture
@@ -8107,7 +8132,7 @@ var drag = {
8107
8132
  }
8108
8133
  };
8109
8134
 
8110
- // ../../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
8135
+ // ../../node_modules/.pnpm/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
8111
8136
  function handleHoverEvent(node, event, lifecycle) {
8112
8137
  const { props } = node;
8113
8138
  if (node.animationState && props.whileHover) {
@@ -8133,7 +8158,7 @@ var HoverGesture = class extends Feature {
8133
8158
  }
8134
8159
  };
8135
8160
 
8136
- // ../../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
8161
+ // ../../node_modules/.pnpm/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
8137
8162
  var FocusGesture = class extends Feature {
8138
8163
  constructor() {
8139
8164
  super(...arguments);
@@ -8164,7 +8189,7 @@ var FocusGesture = class extends Feature {
8164
8189
  }
8165
8190
  };
8166
8191
 
8167
- // ../../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
8192
+ // ../../node_modules/.pnpm/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
8168
8193
  function handlePressEvent(node, event, lifecycle) {
8169
8194
  const { props } = node;
8170
8195
  if (node.current instanceof HTMLButtonElement && node.current.disabled) {
@@ -8197,7 +8222,7 @@ var PressGesture = class extends Feature {
8197
8222
  }
8198
8223
  };
8199
8224
 
8200
- // ../../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
8225
+ // ../../node_modules/.pnpm/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
8201
8226
  var observerCallbacks = /* @__PURE__ */ new WeakMap();
8202
8227
  var observers = /* @__PURE__ */ new WeakMap();
8203
8228
  var fireObserverCallback = (entry) => {
@@ -8229,7 +8254,7 @@ function observeIntersection(element, options, callback) {
8229
8254
  };
8230
8255
  }
8231
8256
 
8232
- // ../../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
8257
+ // ../../node_modules/.pnpm/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
8233
8258
  var thresholdNames = {
8234
8259
  some: 0,
8235
8260
  all: 1
@@ -8290,7 +8315,7 @@ function hasViewportOptionChanged({ viewport = {} }, { viewport: prevViewport =
8290
8315
  return (name) => viewport[name] !== prevViewport[name];
8291
8316
  }
8292
8317
 
8293
- // ../../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
8318
+ // ../../node_modules/.pnpm/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
8294
8319
  var gestureAnimations = {
8295
8320
  inView: {
8296
8321
  Feature: InViewFeature
@@ -8306,7 +8331,7 @@ var gestureAnimations = {
8306
8331
  }
8307
8332
  };
8308
8333
 
8309
- // ../../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
8334
+ // ../../node_modules/.pnpm/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
8310
8335
  var layout = {
8311
8336
  layout: {
8312
8337
  ProjectionNode: HTMLProjectionNode,
@@ -8314,7 +8339,7 @@ var layout = {
8314
8339
  }
8315
8340
  };
8316
8341
 
8317
- // ../../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
8342
+ // ../../node_modules/.pnpm/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
8318
8343
  var featureBundle = {
8319
8344
  ...animations,
8320
8345
  ...gestureAnimations,
@@ -8322,8 +8347,11 @@ var featureBundle = {
8322
8347
  ...layout
8323
8348
  };
8324
8349
 
8325
- // ../../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
8350
+ // ../../node_modules/.pnpm/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
8326
8351
  var motion = /* @__PURE__ */ createMotionProxy(featureBundle, createDomVisualElement);
8352
+
8353
+ // ../../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
8354
+ var motion2 = motion;
8327
8355
  function usePrefersReducedMotion() {
8328
8356
  const [prefersReducedMotion2, setPrefersReducedMotion] = useState(false);
8329
8357
  useEffect(() => {
@@ -8400,7 +8428,7 @@ function PulseRings({
8400
8428
  }
8401
8429
  };
8402
8430
  return /* @__PURE__ */ jsx(Box, { className: "absolute inset-0 pointer-events-none", children: Array.from({ length: layers }, (_, i) => /* @__PURE__ */ jsx(
8403
- motion.div,
8431
+ motion2.div,
8404
8432
  {
8405
8433
  className: cn("absolute border-2", getShapeClasses()),
8406
8434
  style: {
@@ -8447,7 +8475,7 @@ function PulseGlow({
8447
8475
  }
8448
8476
  };
8449
8477
  return /* @__PURE__ */ jsx(
8450
- motion.div,
8478
+ motion2.div,
8451
8479
  {
8452
8480
  className: cn("absolute inset-0 pointer-events-none", getShapeClasses()),
8453
8481
  style: {
@@ -8551,7 +8579,7 @@ function PulseAnimation({
8551
8579
  }
8552
8580
  };
8553
8581
  return /* @__PURE__ */ jsxs(
8554
- motion.div,
8582
+ motion2.div,
8555
8583
  {
8556
8584
  className: cn(
8557
8585
  "relative inline-flex items-center justify-center",