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