@moontra/moonui-pro 3.4.2 → 3.4.4
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.
- package/dist/cdn/index.global.js +198 -209
- package/dist/cdn/index.global.js.map +1 -1
- package/dist/index.d.ts +7 -124
- package/dist/index.mjs +353 -629
- package/dist/next-config-plugin.d.ts +30 -0
- package/dist/next-config-plugin.mjs +218 -0
- package/dist/server.d.ts +1 -0
- package/dist/server.mjs +216 -17
- package/dist/vite-plugin.d.ts +38 -0
- package/dist/vite-plugin.mjs +221 -0
- package/package.json +16 -1
- package/scripts/postinstall.cjs +69 -31
package/dist/index.mjs
CHANGED
|
@@ -88297,7 +88297,7 @@ var GridDistortionInternal = ({
|
|
|
88297
88297
|
if (!canvas || !container)
|
|
88298
88298
|
return;
|
|
88299
88299
|
const rect = container.getBoundingClientRect();
|
|
88300
|
-
const dpr = window.devicePixelRatio || 1;
|
|
88300
|
+
const dpr = typeof window !== "undefined" ? window.devicePixelRatio || 1 : 1;
|
|
88301
88301
|
canvas.style.width = "100%";
|
|
88302
88302
|
canvas.style.height = "100%";
|
|
88303
88303
|
canvas.width = rect.width * dpr;
|
|
@@ -91766,7 +91766,7 @@ var GeometricPatternsInternal = ({
|
|
|
91766
91766
|
lastFrameTimeRef.current = currentTime;
|
|
91767
91767
|
timeRef.current += 1;
|
|
91768
91768
|
const rect = container.getBoundingClientRect();
|
|
91769
|
-
const rawDPR = window.devicePixelRatio || 1;
|
|
91769
|
+
const rawDPR = typeof window !== "undefined" ? window.devicePixelRatio || 1 : 1;
|
|
91770
91770
|
Math.min(rawDPR, performanceSettings.maxDPR);
|
|
91771
91771
|
ctx.clearRect(0, 0, canvas.width, canvas.height);
|
|
91772
91772
|
if (backgroundColor !== "transparent") {
|
|
@@ -91795,7 +91795,7 @@ var GeometricPatternsInternal = ({
|
|
|
91795
91795
|
if (!canvas || !container)
|
|
91796
91796
|
return;
|
|
91797
91797
|
const rect = container.getBoundingClientRect();
|
|
91798
|
-
const rawDPR = window.devicePixelRatio || 1;
|
|
91798
|
+
const rawDPR = typeof window !== "undefined" ? window.devicePixelRatio || 1 : 1;
|
|
91799
91799
|
const devicePixelRatio = Math.min(rawDPR, performanceSettings.maxDPR);
|
|
91800
91800
|
const newWidth = rect.width * devicePixelRatio;
|
|
91801
91801
|
const newHeight = rect.height * devicePixelRatio;
|
|
@@ -91883,7 +91883,7 @@ var GeometricPatternsInternal = ({
|
|
|
91883
91883
|
if (!canvas || !container)
|
|
91884
91884
|
return;
|
|
91885
91885
|
const rect = container.getBoundingClientRect();
|
|
91886
|
-
const rawDPR = window.devicePixelRatio || 1;
|
|
91886
|
+
const rawDPR = typeof window !== "undefined" ? window.devicePixelRatio || 1 : 1;
|
|
91887
91887
|
const devicePixelRatio = Math.min(rawDPR, performanceSettings.maxDPR);
|
|
91888
91888
|
canvas.width = rect.width * devicePixelRatio;
|
|
91889
91889
|
canvas.height = rect.height * devicePixelRatio;
|
|
@@ -93848,7 +93848,11 @@ var GlowEffectInternal = ({
|
|
|
93848
93848
|
const [isHovered, setIsHovered] = useState(false);
|
|
93849
93849
|
const [mousePosition, setMousePosition] = useState({ x: 0, y: 0 });
|
|
93850
93850
|
const [flickerState, setFlickerState] = useState(true);
|
|
93851
|
+
const [mounted, setMounted] = useState(false);
|
|
93851
93852
|
useRef(void 0);
|
|
93853
|
+
useEffect(() => {
|
|
93854
|
+
setMounted(true);
|
|
93855
|
+
}, []);
|
|
93852
93856
|
const isMobile = () => {
|
|
93853
93857
|
return typeof window !== "undefined" && window.innerWidth <= 768;
|
|
93854
93858
|
};
|
|
@@ -94016,6 +94020,20 @@ var GlowEffectInternal = ({
|
|
|
94016
94020
|
animation: glow-rainbow ${duration}ms linear infinite;
|
|
94017
94021
|
}
|
|
94018
94022
|
`;
|
|
94023
|
+
if (!mounted) {
|
|
94024
|
+
return /* @__PURE__ */ jsx(
|
|
94025
|
+
"div",
|
|
94026
|
+
{
|
|
94027
|
+
className: cn(
|
|
94028
|
+
"glow-effect-container",
|
|
94029
|
+
"relative",
|
|
94030
|
+
"inline-block",
|
|
94031
|
+
containerClassName
|
|
94032
|
+
),
|
|
94033
|
+
children: /* @__PURE__ */ jsx("div", { className: "glow-content relative", children })
|
|
94034
|
+
}
|
|
94035
|
+
);
|
|
94036
|
+
}
|
|
94019
94037
|
return /* @__PURE__ */ jsxs(Fragment, { children: [
|
|
94020
94038
|
/* @__PURE__ */ jsx("style", { dangerouslySetInnerHTML: { __html: animationStyles } }),
|
|
94021
94039
|
/* @__PURE__ */ jsxs(
|
|
@@ -94062,7 +94080,7 @@ var GlowEffectInternal = ({
|
|
|
94062
94080
|
clipPath: getClipPath(),
|
|
94063
94081
|
filter: customFilter || (animation === "rainbow" ? "hue-rotate(0deg)" : void 0),
|
|
94064
94082
|
background: gradient ? getGlowColor() : void 0,
|
|
94065
|
-
opacity: gradient ? 0.5 : 1
|
|
94083
|
+
opacity: gradient ? "0.5" : "1"
|
|
94066
94084
|
}
|
|
94067
94085
|
}
|
|
94068
94086
|
),
|
|
@@ -96894,6 +96912,35 @@ var ScrollReveal = (props) => {
|
|
|
96894
96912
|
return /* @__PURE__ */ jsx(ScrollRevealInternal, { ...props });
|
|
96895
96913
|
};
|
|
96896
96914
|
ScrollReveal.displayName = "ScrollReveal";
|
|
96915
|
+
var getEasingValue = (t2, easing) => {
|
|
96916
|
+
switch (easing) {
|
|
96917
|
+
case "linear":
|
|
96918
|
+
return t2;
|
|
96919
|
+
case "ease":
|
|
96920
|
+
return t2 < 0.5 ? 2 * t2 * t2 : -1 + (4 - 2 * t2) * t2;
|
|
96921
|
+
case "ease-in":
|
|
96922
|
+
return t2 * t2;
|
|
96923
|
+
case "ease-out":
|
|
96924
|
+
return t2 * (2 - t2);
|
|
96925
|
+
case "bounce":
|
|
96926
|
+
if (t2 < 0.363636) {
|
|
96927
|
+
return 7.5625 * t2 * t2;
|
|
96928
|
+
} else if (t2 < 0.727272) {
|
|
96929
|
+
t2 -= 0.545454;
|
|
96930
|
+
return 7.5625 * t2 * t2 + 0.75;
|
|
96931
|
+
} else if (t2 < 0.90909) {
|
|
96932
|
+
t2 -= 0.818181;
|
|
96933
|
+
return 7.5625 * t2 * t2 + 0.9375;
|
|
96934
|
+
} else {
|
|
96935
|
+
t2 -= 0.954545;
|
|
96936
|
+
return 7.5625 * t2 * t2 + 0.984375;
|
|
96937
|
+
}
|
|
96938
|
+
case "elastic":
|
|
96939
|
+
return t2 === 0 || t2 === 1 ? t2 : -Math.pow(2, 10 * (t2 - 1)) * Math.sin((t2 - 1.1) * 5 * Math.PI);
|
|
96940
|
+
default:
|
|
96941
|
+
return t2;
|
|
96942
|
+
}
|
|
96943
|
+
};
|
|
96897
96944
|
var BounceEffectInternal = ({
|
|
96898
96945
|
children,
|
|
96899
96946
|
trigger = "hover",
|
|
@@ -96931,7 +96978,9 @@ var BounceEffectInternal = ({
|
|
|
96931
96978
|
}) => {
|
|
96932
96979
|
const elementRef = useRef(null);
|
|
96933
96980
|
const animationRef = useRef(void 0);
|
|
96934
|
-
const
|
|
96981
|
+
const isAnimatingRef = useRef(false);
|
|
96982
|
+
const hasAutoTriggered = useRef(false);
|
|
96983
|
+
const [animationState, setAnimationState] = useState(false);
|
|
96935
96984
|
const [currentBounce, setCurrentBounce] = useState(0);
|
|
96936
96985
|
const [position, setPosition] = useState({ x: 0, y: 0 });
|
|
96937
96986
|
const [rotation, setRotation] = useState(0);
|
|
@@ -96939,39 +96988,10 @@ var BounceEffectInternal = ({
|
|
|
96939
96988
|
const [squash, setSquash] = useState({ x: 1, y: 1 });
|
|
96940
96989
|
useRef({ x: 0, y: 0 });
|
|
96941
96990
|
const startTimeRef = useRef(0);
|
|
96942
|
-
const getEasing = (t2) => {
|
|
96943
|
-
switch (easing) {
|
|
96944
|
-
case "linear":
|
|
96945
|
-
return t2;
|
|
96946
|
-
case "ease":
|
|
96947
|
-
return t2 < 0.5 ? 2 * t2 * t2 : -1 + (4 - 2 * t2) * t2;
|
|
96948
|
-
case "ease-in":
|
|
96949
|
-
return t2 * t2;
|
|
96950
|
-
case "ease-out":
|
|
96951
|
-
return t2 * (2 - t2);
|
|
96952
|
-
case "bounce":
|
|
96953
|
-
if (t2 < 0.363636) {
|
|
96954
|
-
return 7.5625 * t2 * t2;
|
|
96955
|
-
} else if (t2 < 0.727272) {
|
|
96956
|
-
t2 -= 0.545454;
|
|
96957
|
-
return 7.5625 * t2 * t2 + 0.75;
|
|
96958
|
-
} else if (t2 < 0.90909) {
|
|
96959
|
-
t2 -= 0.818181;
|
|
96960
|
-
return 7.5625 * t2 * t2 + 0.9375;
|
|
96961
|
-
} else {
|
|
96962
|
-
t2 -= 0.954545;
|
|
96963
|
-
return 7.5625 * t2 * t2 + 0.984375;
|
|
96964
|
-
}
|
|
96965
|
-
case "elastic":
|
|
96966
|
-
return t2 === 0 || t2 === 1 ? t2 : -Math.pow(2, 10 * (t2 - 1)) * Math.sin((t2 - 1.1) * 5 * Math.PI);
|
|
96967
|
-
default:
|
|
96968
|
-
return t2;
|
|
96969
|
-
}
|
|
96970
|
-
};
|
|
96971
96991
|
const calculateBounce = useCallback((time) => {
|
|
96972
96992
|
const elapsed = time - startTimeRef.current;
|
|
96973
96993
|
const progress = Math.min(elapsed / duration, 1);
|
|
96974
|
-
const easedProgress =
|
|
96994
|
+
const easedProgress = getEasingValue(progress, easing);
|
|
96975
96995
|
let x2 = 0, y = 0;
|
|
96976
96996
|
switch (direction) {
|
|
96977
96997
|
case "up":
|
|
@@ -97024,10 +97044,12 @@ var BounceEffectInternal = ({
|
|
|
97024
97044
|
if (currentBounce >= bounces - 1) {
|
|
97025
97045
|
if (infinite) {
|
|
97026
97046
|
setTimeout(() => {
|
|
97027
|
-
|
|
97047
|
+
setCurrentBounce(0);
|
|
97048
|
+
startTimeRef.current = performance.now();
|
|
97028
97049
|
}, pauseBetween);
|
|
97029
97050
|
} else {
|
|
97030
|
-
|
|
97051
|
+
isAnimatingRef.current = false;
|
|
97052
|
+
setAnimationState(false);
|
|
97031
97053
|
if (onBounceComplete)
|
|
97032
97054
|
onBounceComplete();
|
|
97033
97055
|
}
|
|
@@ -97053,6 +97075,7 @@ var BounceEffectInternal = ({
|
|
|
97053
97075
|
squashAmount,
|
|
97054
97076
|
jelly,
|
|
97055
97077
|
jellyIntensity,
|
|
97078
|
+
easing,
|
|
97056
97079
|
currentBounce,
|
|
97057
97080
|
position.y,
|
|
97058
97081
|
infinite,
|
|
@@ -97060,15 +97083,16 @@ var BounceEffectInternal = ({
|
|
|
97060
97083
|
onBounceComplete
|
|
97061
97084
|
]);
|
|
97062
97085
|
const animate4 = useCallback((time) => {
|
|
97063
|
-
if (!
|
|
97086
|
+
if (!isAnimatingRef.current)
|
|
97064
97087
|
return;
|
|
97065
97088
|
calculateBounce(time);
|
|
97066
97089
|
animationRef.current = requestAnimationFrame(animate4);
|
|
97067
|
-
}, [
|
|
97090
|
+
}, [calculateBounce]);
|
|
97068
97091
|
const startAnimation = useCallback(() => {
|
|
97069
|
-
if (
|
|
97092
|
+
if (isAnimatingRef.current)
|
|
97070
97093
|
return;
|
|
97071
|
-
|
|
97094
|
+
isAnimatingRef.current = true;
|
|
97095
|
+
setAnimationState(true);
|
|
97072
97096
|
setCurrentBounce(0);
|
|
97073
97097
|
startTimeRef.current = performance.now();
|
|
97074
97098
|
if (onBounceStart)
|
|
@@ -97076,7 +97100,7 @@ var BounceEffectInternal = ({
|
|
|
97076
97100
|
setTimeout(() => {
|
|
97077
97101
|
animationRef.current = requestAnimationFrame(animate4);
|
|
97078
97102
|
}, delay);
|
|
97079
|
-
}, [delay, onBounceStart, animate4
|
|
97103
|
+
}, [delay, onBounceStart, animate4]);
|
|
97080
97104
|
const handleMouseEnter = () => {
|
|
97081
97105
|
if (trigger === "hover")
|
|
97082
97106
|
startAnimation();
|
|
@@ -97094,19 +97118,20 @@ var BounceEffectInternal = ({
|
|
|
97094
97118
|
return;
|
|
97095
97119
|
const rect = element.getBoundingClientRect();
|
|
97096
97120
|
const inView = rect.top < window.innerHeight && rect.bottom > 0;
|
|
97097
|
-
if (inView && !
|
|
97121
|
+
if (inView && !isAnimatingRef.current) {
|
|
97098
97122
|
startAnimation();
|
|
97099
97123
|
}
|
|
97100
97124
|
};
|
|
97101
97125
|
window.addEventListener("scroll", handleScroll);
|
|
97102
97126
|
handleScroll();
|
|
97103
97127
|
return () => window.removeEventListener("scroll", handleScroll);
|
|
97104
|
-
}, [trigger,
|
|
97128
|
+
}, [trigger, startAnimation]);
|
|
97105
97129
|
useEffect(() => {
|
|
97106
|
-
if (trigger === "auto") {
|
|
97130
|
+
if (trigger === "auto" && !hasAutoTriggered.current) {
|
|
97131
|
+
hasAutoTriggered.current = true;
|
|
97107
97132
|
startAnimation();
|
|
97108
97133
|
}
|
|
97109
|
-
}, [trigger
|
|
97134
|
+
}, [trigger]);
|
|
97110
97135
|
useEffect(() => {
|
|
97111
97136
|
return () => {
|
|
97112
97137
|
if (animationRef.current) {
|
|
@@ -97145,7 +97170,7 @@ var BounceEffectInternal = ({
|
|
|
97145
97170
|
onMouseEnter: handleMouseEnter,
|
|
97146
97171
|
onClick: handleClick2,
|
|
97147
97172
|
children: [
|
|
97148
|
-
trail &&
|
|
97173
|
+
trail && animationState && Array.from({ length: trailCount }).map((_2, i) => /* @__PURE__ */ jsx(
|
|
97149
97174
|
"div",
|
|
97150
97175
|
{
|
|
97151
97176
|
className: "absolute inset-0 pointer-events-none",
|
|
@@ -97197,449 +97222,50 @@ var BounceEffect = (props) => {
|
|
|
97197
97222
|
return /* @__PURE__ */ jsx(BounceEffectInternal, { ...props });
|
|
97198
97223
|
};
|
|
97199
97224
|
BounceEffect.displayName = "BounceEffect";
|
|
97200
|
-
var
|
|
97201
|
-
|
|
97202
|
-
|
|
97203
|
-
|
|
97204
|
-
|
|
97205
|
-
|
|
97206
|
-
|
|
97207
|
-
|
|
97208
|
-
|
|
97209
|
-
|
|
97210
|
-
|
|
97211
|
-
|
|
97212
|
-
|
|
97213
|
-
|
|
97214
|
-
|
|
97215
|
-
|
|
97216
|
-
|
|
97217
|
-
|
|
97218
|
-
|
|
97219
|
-
|
|
97220
|
-
|
|
97221
|
-
|
|
97222
|
-
|
|
97223
|
-
|
|
97224
|
-
|
|
97225
|
-
|
|
97226
|
-
|
|
97227
|
-
|
|
97228
|
-
skewIntensity = 10,
|
|
97229
|
-
trail = false,
|
|
97230
|
-
trailCount = 5,
|
|
97231
|
-
trailDecay = 0.9,
|
|
97232
|
-
boundaries = false,
|
|
97233
|
-
boundaryBox = {},
|
|
97234
|
-
multiSpring = false,
|
|
97235
|
-
chainCount = 3,
|
|
97236
|
-
chainDelay = 50,
|
|
97237
|
-
oscillate = false,
|
|
97238
|
-
oscillationFrequency = 2,
|
|
97239
|
-
oscillationAmplitude = 10,
|
|
97240
|
-
containerClassName,
|
|
97241
|
-
springClassName,
|
|
97242
|
-
onMotionStart,
|
|
97243
|
-
onMotionComplete,
|
|
97244
|
-
onSpringUpdate
|
|
97245
|
-
}) => {
|
|
97246
|
-
const elementRef = useRef(null);
|
|
97247
|
-
const animationRef = useRef(void 0);
|
|
97248
|
-
const [isAnimating, setIsAnimating] = useState(false);
|
|
97249
|
-
const [isDragging, setIsDragging] = useState(false);
|
|
97250
|
-
const [position, setPosition] = useState({ x: 0, y: 0 });
|
|
97251
|
-
const [velocity, setVelocity] = useState(initialVelocity);
|
|
97252
|
-
useState({ x: 0, y: 0 });
|
|
97253
|
-
const [trailPositions, setTrailPositions] = useState([]);
|
|
97254
|
-
const [chainPositions, setChainPositions] = useState([]);
|
|
97255
|
-
const restPositionRef = useRef({ x: 0, y: 0 });
|
|
97256
|
-
const dragStartRef = useRef({ x: 0, y: 0 });
|
|
97257
|
-
const elementStartRef = useRef({ x: 0, y: 0 });
|
|
97258
|
-
const timeRef = useRef(0);
|
|
97259
|
-
const motionCompleteRef = useRef(false);
|
|
97260
|
-
const getSpringConfig = () => {
|
|
97261
|
-
if (preset !== "default") {
|
|
97262
|
-
return SPRING_PRESETS[preset];
|
|
97263
|
-
}
|
|
97264
|
-
return { tension, friction };
|
|
97265
|
-
};
|
|
97266
|
-
const calculateSpringForce = useCallback((currentPos, targetPos, vel, config) => {
|
|
97267
|
-
const dx = targetPos.x - currentPos.x;
|
|
97268
|
-
const dy = targetPos.y - currentPos.y;
|
|
97269
|
-
const springForceX = dx * config.tension;
|
|
97270
|
-
const springForceY = dy * config.tension;
|
|
97271
|
-
const dampingForceX = vel.x * config.friction;
|
|
97272
|
-
const dampingForceY = vel.y * config.friction;
|
|
97273
|
-
return {
|
|
97274
|
-
x: springForceX - dampingForceX,
|
|
97275
|
-
y: springForceY - dampingForceY
|
|
97276
|
-
};
|
|
97277
|
-
}, []);
|
|
97278
|
-
const applyBoundaries = useCallback((pos) => {
|
|
97279
|
-
if (!boundaries)
|
|
97280
|
-
return pos;
|
|
97281
|
-
const bounded = { ...pos };
|
|
97282
|
-
const box = {
|
|
97283
|
-
left: boundaryBox?.left ?? -100,
|
|
97284
|
-
right: boundaryBox?.right ?? 100,
|
|
97285
|
-
top: boundaryBox?.top ?? -100,
|
|
97286
|
-
bottom: boundaryBox?.bottom ?? 100
|
|
97287
|
-
};
|
|
97288
|
-
if (bounded.x < box.left) {
|
|
97289
|
-
bounded.x = box.left;
|
|
97290
|
-
setVelocity((prev) => ({ ...prev, x: Math.abs(prev.x || 0) * 0.5 }));
|
|
97291
|
-
}
|
|
97292
|
-
if (bounded.x > box.right) {
|
|
97293
|
-
bounded.x = box.right;
|
|
97294
|
-
setVelocity((prev) => ({ ...prev, x: -Math.abs(prev.x || 0) * 0.5 }));
|
|
97295
|
-
}
|
|
97296
|
-
if (bounded.y < box.top) {
|
|
97297
|
-
bounded.y = box.top;
|
|
97298
|
-
setVelocity((prev) => ({ ...prev, y: Math.abs(prev.y || 0) * 0.5 }));
|
|
97299
|
-
}
|
|
97300
|
-
if (bounded.y > box.bottom) {
|
|
97301
|
-
bounded.y = box.bottom;
|
|
97302
|
-
setVelocity((prev) => ({ ...prev, y: -Math.abs(prev.y || 0) * 0.5 }));
|
|
97303
|
-
}
|
|
97304
|
-
return bounded;
|
|
97305
|
-
}, [boundaries, boundaryBox]);
|
|
97306
|
-
const updateSpring = useCallback((deltaTime) => {
|
|
97307
|
-
const config = getSpringConfig();
|
|
97308
|
-
let targetPos = { ...target };
|
|
97309
|
-
if (oscillate) {
|
|
97310
|
-
const time = timeRef.current * 1e-3;
|
|
97311
|
-
targetPos.x = (targetPos.x || 0) + Math.sin(time * oscillationFrequency) * oscillationAmplitude;
|
|
97312
|
-
targetPos.y = (targetPos.y || 0) + Math.cos(time * oscillationFrequency) * oscillationAmplitude;
|
|
97313
|
-
}
|
|
97314
|
-
const force = calculateSpringForce(position, { x: targetPos.x || 0, y: targetPos.y || 0 }, { x: velocity.x || 0, y: velocity.y || 0 }, config);
|
|
97315
|
-
const newVelocity = {
|
|
97316
|
-
x: (velocity.x || 0) + force.x / mass * deltaTime,
|
|
97317
|
-
y: (velocity.y || 0) + force.y / mass * deltaTime
|
|
97318
|
-
};
|
|
97319
|
-
if (clamp3 && !overshoot) {
|
|
97320
|
-
const distX = Math.abs((targetPos.x || 0) - position.x);
|
|
97321
|
-
const distY = Math.abs((targetPos.y || 0) - position.y);
|
|
97322
|
-
if (distX < 1)
|
|
97323
|
-
newVelocity.x *= 0.8;
|
|
97324
|
-
if (distY < 1)
|
|
97325
|
-
newVelocity.y *= 0.8;
|
|
97326
|
-
}
|
|
97327
|
-
let newPosition = {
|
|
97328
|
-
x: position.x + newVelocity.x * deltaTime,
|
|
97329
|
-
y: position.y + newVelocity.y * deltaTime
|
|
97330
|
-
};
|
|
97331
|
-
newPosition = applyBoundaries(newPosition);
|
|
97332
|
-
if (trail) {
|
|
97333
|
-
setTrailPositions((prev) => {
|
|
97334
|
-
const newTrail = [newPosition, ...prev.slice(0, trailCount - 1)];
|
|
97335
|
-
return newTrail.map((pos, i) => ({
|
|
97336
|
-
x: pos.x * Math.pow(trailDecay, i),
|
|
97337
|
-
y: pos.y * Math.pow(trailDecay, i)
|
|
97338
|
-
}));
|
|
97339
|
-
});
|
|
97340
|
-
}
|
|
97341
|
-
if (multiSpring) {
|
|
97342
|
-
setChainPositions((prev) => {
|
|
97343
|
-
const newChain = [...prev];
|
|
97344
|
-
for (let i = 0; i < chainCount; i++) {
|
|
97345
|
-
const chainTarget = i === 0 ? newPosition : newChain[i - 1];
|
|
97346
|
-
const chainConfig = {
|
|
97347
|
-
tension: config.tension * (1 - i * 0.1),
|
|
97348
|
-
friction: config.friction * (1 + i * 0.1)
|
|
97349
|
-
};
|
|
97350
|
-
const chainForce = calculateSpringForce(
|
|
97351
|
-
newChain[i] || { x: 0, y: 0 },
|
|
97352
|
-
chainTarget,
|
|
97353
|
-
{ x: 0, y: 0 },
|
|
97354
|
-
chainConfig
|
|
97355
|
-
);
|
|
97356
|
-
newChain[i] = {
|
|
97357
|
-
x: (newChain[i]?.x ?? 0) + chainForce.x * deltaTime,
|
|
97358
|
-
y: (newChain[i]?.y ?? 0) + chainForce.y * deltaTime
|
|
97359
|
-
};
|
|
97360
|
-
}
|
|
97361
|
-
return newChain;
|
|
97362
|
-
});
|
|
97363
|
-
}
|
|
97364
|
-
const isComplete = Math.abs(newVelocity.x) < precision && Math.abs(newVelocity.y) < precision && Math.abs(newPosition.x - (targetPos.x || 0)) < precision && Math.abs(newPosition.y - (targetPos.y || 0)) < precision;
|
|
97365
|
-
if (isComplete && !motionCompleteRef.current) {
|
|
97366
|
-
motionCompleteRef.current = true;
|
|
97367
|
-
onMotionComplete?.();
|
|
97368
|
-
} else if (!isComplete && motionCompleteRef.current) {
|
|
97369
|
-
motionCompleteRef.current = false;
|
|
97370
|
-
}
|
|
97371
|
-
setPosition(newPosition);
|
|
97372
|
-
setVelocity(newVelocity);
|
|
97373
|
-
onSpringUpdate?.(newPosition);
|
|
97374
|
-
return !isComplete;
|
|
97375
|
-
}, [
|
|
97376
|
-
position,
|
|
97377
|
-
velocity,
|
|
97378
|
-
target,
|
|
97379
|
-
mass,
|
|
97380
|
-
precision,
|
|
97381
|
-
overshoot,
|
|
97382
|
-
clamp3,
|
|
97383
|
-
trail,
|
|
97384
|
-
trailCount,
|
|
97385
|
-
trailDecay,
|
|
97386
|
-
multiSpring,
|
|
97387
|
-
chainCount,
|
|
97388
|
-
oscillate,
|
|
97389
|
-
oscillationFrequency,
|
|
97390
|
-
oscillationAmplitude,
|
|
97391
|
-
calculateSpringForce,
|
|
97392
|
-
applyBoundaries,
|
|
97393
|
-
onMotionComplete,
|
|
97394
|
-
onSpringUpdate
|
|
97395
|
-
]);
|
|
97396
|
-
const animate4 = useCallback((timestamp) => {
|
|
97397
|
-
if (!isAnimating)
|
|
97398
|
-
return;
|
|
97399
|
-
const deltaTime = Math.min((timestamp - timeRef.current) / 1e3, 0.1) || 0.016;
|
|
97400
|
-
timeRef.current = timestamp;
|
|
97401
|
-
const shouldContinue = updateSpring(deltaTime);
|
|
97402
|
-
if (shouldContinue || isDragging) {
|
|
97403
|
-
animationRef.current = requestAnimationFrame(animate4);
|
|
97404
|
-
} else {
|
|
97405
|
-
setIsAnimating(false);
|
|
97406
|
-
}
|
|
97407
|
-
}, [isAnimating, isDragging, updateSpring]);
|
|
97408
|
-
const startAnimation = useCallback((targetPos) => {
|
|
97409
|
-
setIsAnimating(true);
|
|
97410
|
-
motionCompleteRef.current = false;
|
|
97411
|
-
if (targetPos) {
|
|
97412
|
-
restPositionRef.current = targetPos;
|
|
97413
|
-
}
|
|
97414
|
-
onMotionStart?.();
|
|
97415
|
-
timeRef.current = performance.now();
|
|
97416
|
-
animationRef.current = requestAnimationFrame(animate4);
|
|
97417
|
-
}, [animate4, onMotionStart]);
|
|
97418
|
-
const handleMouseMove2 = useCallback((e) => {
|
|
97419
|
-
if (!mouseTracking || !elementRef.current)
|
|
97420
|
-
return;
|
|
97421
|
-
const rect = elementRef.current.getBoundingClientRect();
|
|
97422
|
-
const centerX = rect.left + rect.width / 2;
|
|
97423
|
-
const centerY = rect.top + rect.height / 2;
|
|
97424
|
-
const dx = e.clientX - centerX;
|
|
97425
|
-
const dy = e.clientY - centerY;
|
|
97426
|
-
const distance = Math.sqrt(dx * dx + dy * dy);
|
|
97427
|
-
if (distance < mouseRadius) {
|
|
97428
|
-
const influence = 1 - distance / mouseRadius;
|
|
97429
|
-
const targetX = dx * influence * 0.5;
|
|
97430
|
-
const targetY = dy * influence * 0.5;
|
|
97431
|
-
restPositionRef.current = { x: targetX, y: targetY };
|
|
97432
|
-
if (!isAnimating) {
|
|
97433
|
-
startAnimation({ x: targetX, y: targetY });
|
|
97434
|
-
}
|
|
97435
|
-
}
|
|
97436
|
-
}, [mouseTracking, mouseRadius, isAnimating, startAnimation]);
|
|
97437
|
-
const handleMouseDown3 = useCallback((e) => {
|
|
97438
|
-
if (trigger !== "drag")
|
|
97439
|
-
return;
|
|
97440
|
-
setIsDragging(true);
|
|
97441
|
-
dragStartRef.current = { x: e.clientX, y: e.clientY };
|
|
97442
|
-
elementStartRef.current = { ...position };
|
|
97443
|
-
e.preventDefault();
|
|
97444
|
-
}, [trigger, position]);
|
|
97445
|
-
const handleMouseMoveOnDrag = useCallback((e) => {
|
|
97446
|
-
if (!isDragging)
|
|
97447
|
-
return;
|
|
97448
|
-
const dx = e.clientX - dragStartRef.current.x;
|
|
97449
|
-
const dy = e.clientY - dragStartRef.current.y;
|
|
97450
|
-
setPosition({
|
|
97451
|
-
x: elementStartRef.current.x + dx,
|
|
97452
|
-
y: elementStartRef.current.y + dy
|
|
97453
|
-
});
|
|
97454
|
-
}, [isDragging]);
|
|
97455
|
-
const handleMouseUp = useCallback(() => {
|
|
97456
|
-
if (!isDragging)
|
|
97457
|
-
return;
|
|
97458
|
-
setIsDragging(false);
|
|
97459
|
-
startAnimation({ x: 0, y: 0 });
|
|
97460
|
-
}, [isDragging, startAnimation]);
|
|
97461
|
-
const handleMouseEnter = () => {
|
|
97462
|
-
if (trigger === "hover") {
|
|
97463
|
-
startAnimation({ x: 20, y: -10 });
|
|
97464
|
-
}
|
|
97465
|
-
};
|
|
97466
|
-
const handleMouseLeave2 = () => {
|
|
97467
|
-
if (trigger === "hover") {
|
|
97468
|
-
startAnimation({ x: 0, y: 0 });
|
|
97469
|
-
}
|
|
97470
|
-
};
|
|
97471
|
-
const handleClick2 = () => {
|
|
97472
|
-
if (trigger === "click") {
|
|
97473
|
-
const targetX = (Math.random() - 0.5) * 100;
|
|
97474
|
-
const targetY = (Math.random() - 0.5) * 100;
|
|
97475
|
-
startAnimation({ x: targetX, y: targetY });
|
|
97476
|
-
setTimeout(() => {
|
|
97477
|
-
startAnimation({ x: 0, y: 0 });
|
|
97478
|
-
}, 1e3);
|
|
97479
|
-
}
|
|
97480
|
-
};
|
|
97481
|
-
useEffect(() => {
|
|
97482
|
-
if (trigger !== "scroll")
|
|
97483
|
-
return;
|
|
97484
|
-
const handleScroll = () => {
|
|
97485
|
-
const scrollY = window.scrollY;
|
|
97486
|
-
const targetY = Math.sin(scrollY * 0.01) * 50;
|
|
97487
|
-
restPositionRef.current = { x: 0, y: targetY };
|
|
97488
|
-
if (!isAnimating) {
|
|
97489
|
-
startAnimation({ x: 0, y: targetY });
|
|
97490
|
-
}
|
|
97491
|
-
};
|
|
97492
|
-
window.addEventListener("scroll", handleScroll);
|
|
97493
|
-
return () => window.removeEventListener("scroll", handleScroll);
|
|
97494
|
-
}, [trigger, isAnimating, startAnimation]);
|
|
97495
|
-
useEffect(() => {
|
|
97496
|
-
if (trigger === "auto") {
|
|
97497
|
-
startAnimation({ x: target?.x || 0, y: target?.y || 0 });
|
|
97498
|
-
}
|
|
97499
|
-
}, [trigger, target, startAnimation]);
|
|
97500
|
-
useEffect(() => {
|
|
97501
|
-
if (trigger === "drag") {
|
|
97502
|
-
window.addEventListener("mousemove", handleMouseMoveOnDrag);
|
|
97503
|
-
window.addEventListener("mouseup", handleMouseUp);
|
|
97504
|
-
return () => {
|
|
97505
|
-
window.removeEventListener("mousemove", handleMouseMoveOnDrag);
|
|
97506
|
-
window.removeEventListener("mouseup", handleMouseUp);
|
|
97507
|
-
};
|
|
97508
|
-
}
|
|
97509
|
-
}, [trigger, handleMouseMoveOnDrag, handleMouseUp]);
|
|
97510
|
-
useEffect(() => {
|
|
97511
|
-
if (mouseTracking) {
|
|
97512
|
-
window.addEventListener("mousemove", handleMouseMove2);
|
|
97513
|
-
return () => window.removeEventListener("mousemove", handleMouseMove2);
|
|
97514
|
-
}
|
|
97515
|
-
}, [mouseTracking, handleMouseMove2]);
|
|
97516
|
-
useEffect(() => {
|
|
97517
|
-
return () => {
|
|
97518
|
-
if (animationRef.current) {
|
|
97519
|
-
cancelAnimationFrame(animationRef.current);
|
|
97520
|
-
}
|
|
97521
|
-
};
|
|
97522
|
-
}, []);
|
|
97523
|
-
const getTransformStyle = (pos = position) => {
|
|
97524
|
-
const transforms = [];
|
|
97525
|
-
if (transform3d) {
|
|
97526
|
-
transforms.push(`translate3d(${pos.x}px, ${pos.y}px, 0)`);
|
|
97527
|
-
} else {
|
|
97528
|
-
transforms.push(`translateX(${pos.x}px) translateY(${pos.y}px)`);
|
|
97529
|
-
}
|
|
97530
|
-
if (rotate) {
|
|
97531
|
-
const rotation = pos.x / 10 * rotationMultiplier;
|
|
97532
|
-
transforms.push(`rotate(${rotation}deg)`);
|
|
97533
|
-
}
|
|
97534
|
-
if (scale) {
|
|
97535
|
-
const distance = Math.sqrt(pos.x * pos.x + pos.y * pos.y);
|
|
97536
|
-
const scaleValue = scaleRange[0] + distance / 100 * (scaleRange[1] - scaleRange[0]);
|
|
97537
|
-
transforms.push(`scale(${Math.min(Math.max(scaleValue, scaleRange[0]), scaleRange[1])})`);
|
|
97538
|
-
}
|
|
97539
|
-
if (skew) {
|
|
97540
|
-
const skewX = (velocity.x || 0) / 10 * skewIntensity;
|
|
97541
|
-
const skewY = (velocity.y || 0) / 10 * skewIntensity;
|
|
97542
|
-
transforms.push(`skewX(${skewX}deg) skewY(${skewY}deg)`);
|
|
97543
|
-
}
|
|
97544
|
-
return transforms.join(" ");
|
|
97545
|
-
};
|
|
97546
|
-
return /* @__PURE__ */ jsxs(
|
|
97547
|
-
"div",
|
|
97548
|
-
{
|
|
97549
|
-
ref: elementRef,
|
|
97550
|
-
className: cn(
|
|
97551
|
-
"spring-physics-container",
|
|
97552
|
-
"relative",
|
|
97553
|
-
"inline-block",
|
|
97554
|
-
containerClassName
|
|
97555
|
-
),
|
|
97556
|
-
onMouseEnter: handleMouseEnter,
|
|
97557
|
-
onMouseLeave: handleMouseLeave2,
|
|
97558
|
-
onMouseDown: handleMouseDown3,
|
|
97559
|
-
onClick: handleClick2,
|
|
97560
|
-
style: {
|
|
97561
|
-
cursor: trigger === "drag" ? "grab" : void 0
|
|
97562
|
-
},
|
|
97563
|
-
children: [
|
|
97564
|
-
trail && trailPositions.map((pos, i) => /* @__PURE__ */ jsx(
|
|
97565
|
-
"div",
|
|
97566
|
-
{
|
|
97567
|
-
className: "absolute inset-0 pointer-events-none",
|
|
97568
|
-
style: {
|
|
97569
|
-
transform: getTransformStyle(pos),
|
|
97570
|
-
opacity: 1 - i / trailCount,
|
|
97571
|
-
filter: `blur(${i * 0.5}px)`
|
|
97572
|
-
},
|
|
97573
|
-
children: React71__default.isValidElement(children) && React71__default.cloneElement(children, {
|
|
97574
|
-
style: { opacity: 0.3 }
|
|
97575
|
-
})
|
|
97576
|
-
},
|
|
97577
|
-
i
|
|
97578
|
-
)),
|
|
97579
|
-
multiSpring && chainPositions.map((pos, i) => /* @__PURE__ */ jsx(
|
|
97580
|
-
"div",
|
|
97581
|
-
{
|
|
97582
|
-
className: "absolute inset-0 pointer-events-none",
|
|
97583
|
-
style: {
|
|
97584
|
-
transform: getTransformStyle(pos),
|
|
97585
|
-
opacity: 1 - i / chainCount * 0.5,
|
|
97586
|
-
transitionDelay: `${i * chainDelay}ms`
|
|
97587
|
-
},
|
|
97588
|
-
children: React71__default.isValidElement(children) && React71__default.cloneElement(children, {
|
|
97589
|
-
style: {
|
|
97590
|
-
opacity: 0.5,
|
|
97591
|
-
transform: `scale(${1 - i * 0.1})`
|
|
97592
|
-
}
|
|
97593
|
-
})
|
|
97594
|
-
},
|
|
97595
|
-
`chain-${i}`
|
|
97596
|
-
)),
|
|
97597
|
-
/* @__PURE__ */ jsx(
|
|
97598
|
-
"div",
|
|
97599
|
-
{
|
|
97600
|
-
className: cn(
|
|
97601
|
-
"spring-element",
|
|
97602
|
-
isDragging && "cursor-grabbing",
|
|
97603
|
-
springClassName
|
|
97604
|
-
),
|
|
97605
|
-
style: {
|
|
97606
|
-
transform: getTransformStyle(),
|
|
97607
|
-
willChange: "transform",
|
|
97608
|
-
transformOrigin: "center center"
|
|
97609
|
-
},
|
|
97610
|
-
children
|
|
97611
|
-
}
|
|
97612
|
-
)
|
|
97613
|
-
]
|
|
97614
|
-
}
|
|
97615
|
-
);
|
|
97616
|
-
};
|
|
97617
|
-
var SpringPhysics = (props) => {
|
|
97618
|
-
const { hasProAccess, isLoading } = useSubscription();
|
|
97619
|
-
if (!isLoading && !hasProAccess) {
|
|
97620
|
-
return /* @__PURE__ */ jsx(
|
|
97621
|
-
ProLockScreen,
|
|
97622
|
-
{
|
|
97623
|
-
componentName: "SpringPhysics",
|
|
97624
|
-
compact: true,
|
|
97625
|
-
className: "inline-block"
|
|
97225
|
+
var getEasingValue2 = (t2, easing) => {
|
|
97226
|
+
switch (easing) {
|
|
97227
|
+
case "linear":
|
|
97228
|
+
return t2;
|
|
97229
|
+
case "ease-in":
|
|
97230
|
+
return t2 * t2;
|
|
97231
|
+
case "ease-out":
|
|
97232
|
+
return t2 * (2 - t2);
|
|
97233
|
+
case "ease-in-out":
|
|
97234
|
+
return t2 < 0.5 ? 2 * t2 * t2 : -1 + (4 - 2 * t2) * t2;
|
|
97235
|
+
case "elastic":
|
|
97236
|
+
if (t2 === 0 || t2 === 1)
|
|
97237
|
+
return t2;
|
|
97238
|
+
const p = 0.3;
|
|
97239
|
+
const s = p / 4;
|
|
97240
|
+
return Math.pow(2, -10 * t2) * Math.sin((t2 - s) * (2 * Math.PI) / p) + 1;
|
|
97241
|
+
case "bounce":
|
|
97242
|
+
if (t2 < 0.363636) {
|
|
97243
|
+
return 7.5625 * t2 * t2;
|
|
97244
|
+
} else if (t2 < 0.727272) {
|
|
97245
|
+
t2 -= 0.545454;
|
|
97246
|
+
return 7.5625 * t2 * t2 + 0.75;
|
|
97247
|
+
} else if (t2 < 0.90909) {
|
|
97248
|
+
t2 -= 0.818181;
|
|
97249
|
+
return 7.5625 * t2 * t2 + 0.9375;
|
|
97250
|
+
} else {
|
|
97251
|
+
t2 -= 0.954545;
|
|
97252
|
+
return 7.5625 * t2 * t2 + 0.984375;
|
|
97626
97253
|
}
|
|
97627
|
-
|
|
97254
|
+
default:
|
|
97255
|
+
return t2;
|
|
97628
97256
|
}
|
|
97629
|
-
return /* @__PURE__ */ jsx(SpringPhysicsInternal, { ...props });
|
|
97630
97257
|
};
|
|
97631
|
-
SpringPhysics.displayName = "SpringPhysics";
|
|
97632
97258
|
var ElasticAnimationInternal = ({
|
|
97633
97259
|
children,
|
|
97634
97260
|
trigger = "hover",
|
|
97635
97261
|
elasticity = 0.8,
|
|
97636
|
-
damping = 0.
|
|
97637
|
-
duration =
|
|
97262
|
+
damping = 0.18,
|
|
97263
|
+
duration = 1200,
|
|
97638
97264
|
delay = 0,
|
|
97639
97265
|
direction = "both",
|
|
97640
97266
|
distance = 50,
|
|
97641
97267
|
oscillate = true,
|
|
97642
|
-
oscillationCount =
|
|
97268
|
+
oscillationCount = 2,
|
|
97643
97269
|
rubberBand = false,
|
|
97644
97270
|
rubberBandIntensity = 1.5,
|
|
97645
97271
|
jello = false,
|
|
@@ -97672,7 +97298,10 @@ var ElasticAnimationInternal = ({
|
|
|
97672
97298
|
}) => {
|
|
97673
97299
|
const elementRef = useRef(null);
|
|
97674
97300
|
const animationRef = useRef(void 0);
|
|
97675
|
-
const
|
|
97301
|
+
const isAnimatingRef = useRef(false);
|
|
97302
|
+
const hasAutoTriggered = useRef(false);
|
|
97303
|
+
const [animationState, setAnimationState] = useState(false);
|
|
97304
|
+
const [isResetting, setIsResetting] = useState(false);
|
|
97676
97305
|
const [currentTransform, setCurrentTransform] = useState({
|
|
97677
97306
|
x: 0,
|
|
97678
97307
|
y: 0,
|
|
@@ -97684,41 +97313,8 @@ var ElasticAnimationInternal = ({
|
|
|
97684
97313
|
const [morphIndex, setMorphIndex] = useState(0);
|
|
97685
97314
|
const startTimeRef = useRef(0);
|
|
97686
97315
|
const animationPhaseRef = useRef("main");
|
|
97687
|
-
const getEasingValue = (t2) => {
|
|
97688
|
-
switch (easing) {
|
|
97689
|
-
case "linear":
|
|
97690
|
-
return t2;
|
|
97691
|
-
case "ease-in":
|
|
97692
|
-
return t2 * t2;
|
|
97693
|
-
case "ease-out":
|
|
97694
|
-
return t2 * (2 - t2);
|
|
97695
|
-
case "ease-in-out":
|
|
97696
|
-
return t2 < 0.5 ? 2 * t2 * t2 : -1 + (4 - 2 * t2) * t2;
|
|
97697
|
-
case "elastic":
|
|
97698
|
-
if (t2 === 0 || t2 === 1)
|
|
97699
|
-
return t2;
|
|
97700
|
-
const p = 0.3;
|
|
97701
|
-
const s = p / 4;
|
|
97702
|
-
return Math.pow(2, -10 * t2) * Math.sin((t2 - s) * (2 * Math.PI) / p) + 1;
|
|
97703
|
-
case "bounce":
|
|
97704
|
-
if (t2 < 0.363636) {
|
|
97705
|
-
return 7.5625 * t2 * t2;
|
|
97706
|
-
} else if (t2 < 0.727272) {
|
|
97707
|
-
t2 -= 0.545454;
|
|
97708
|
-
return 7.5625 * t2 * t2 + 0.75;
|
|
97709
|
-
} else if (t2 < 0.90909) {
|
|
97710
|
-
t2 -= 0.818181;
|
|
97711
|
-
return 7.5625 * t2 * t2 + 0.9375;
|
|
97712
|
-
} else {
|
|
97713
|
-
t2 -= 0.954545;
|
|
97714
|
-
return 7.5625 * t2 * t2 + 0.984375;
|
|
97715
|
-
}
|
|
97716
|
-
default:
|
|
97717
|
-
return t2;
|
|
97718
|
-
}
|
|
97719
|
-
};
|
|
97720
97316
|
const calculateElasticMotion = useCallback((progress) => {
|
|
97721
|
-
const elasticProgress =
|
|
97317
|
+
const elasticProgress = getEasingValue2(progress, easing);
|
|
97722
97318
|
let x2 = 0, y = 0, scale = 1, rotate = 0, skewX = 0, skewY = 0;
|
|
97723
97319
|
if (direction === "horizontal" || direction === "both") {
|
|
97724
97320
|
x2 = distance * elasticProgress * Math.cos(progress * Math.PI * 2 * oscillationCount);
|
|
@@ -97794,6 +97390,7 @@ var ElasticAnimationInternal = ({
|
|
|
97794
97390
|
}
|
|
97795
97391
|
return { x: x2, y, scale, rotate, skewX, skewY };
|
|
97796
97392
|
}, [
|
|
97393
|
+
easing,
|
|
97797
97394
|
direction,
|
|
97798
97395
|
distance,
|
|
97799
97396
|
oscillate,
|
|
@@ -97822,7 +97419,7 @@ var ElasticAnimationInternal = ({
|
|
|
97822
97419
|
shakeIntensity
|
|
97823
97420
|
]);
|
|
97824
97421
|
const animate4 = useCallback((timestamp) => {
|
|
97825
|
-
if (!
|
|
97422
|
+
if (!isAnimatingRef.current)
|
|
97826
97423
|
return;
|
|
97827
97424
|
const elapsed = timestamp - startTimeRef.current;
|
|
97828
97425
|
let progress = Math.min(elapsed / duration, 1);
|
|
@@ -97849,14 +97446,18 @@ var ElasticAnimationInternal = ({
|
|
|
97849
97446
|
}
|
|
97850
97447
|
animationRef.current = requestAnimationFrame(animate4);
|
|
97851
97448
|
} else {
|
|
97852
|
-
|
|
97449
|
+
isAnimatingRef.current = false;
|
|
97450
|
+
setAnimationState(false);
|
|
97451
|
+
setIsResetting(true);
|
|
97853
97452
|
setCurrentTransform({ x: 0, y: 0, scale: 1, rotate: 0, skewX: 0, skewY: 0 });
|
|
97854
|
-
|
|
97855
|
-
|
|
97453
|
+
setTimeout(() => {
|
|
97454
|
+
setIsResetting(false);
|
|
97455
|
+
if (onAnimationComplete)
|
|
97456
|
+
onAnimationComplete();
|
|
97457
|
+
}, 300);
|
|
97856
97458
|
}
|
|
97857
97459
|
}
|
|
97858
97460
|
}, [
|
|
97859
|
-
isAnimating,
|
|
97860
97461
|
duration,
|
|
97861
97462
|
anticipation,
|
|
97862
97463
|
followThrough,
|
|
@@ -97866,9 +97467,10 @@ var ElasticAnimationInternal = ({
|
|
|
97866
97467
|
onAnimationComplete
|
|
97867
97468
|
]);
|
|
97868
97469
|
const startAnimation = useCallback(() => {
|
|
97869
|
-
if (
|
|
97470
|
+
if (isAnimatingRef.current && trigger !== "continuous")
|
|
97870
97471
|
return;
|
|
97871
|
-
|
|
97472
|
+
isAnimatingRef.current = true;
|
|
97473
|
+
setAnimationState(true);
|
|
97872
97474
|
startTimeRef.current = performance.now();
|
|
97873
97475
|
animationPhaseRef.current = anticipation ? "anticipation" : "main";
|
|
97874
97476
|
if (onAnimationStart)
|
|
@@ -97885,7 +97487,6 @@ var ElasticAnimationInternal = ({
|
|
|
97885
97487
|
}, secondaryDelay);
|
|
97886
97488
|
}
|
|
97887
97489
|
}, [
|
|
97888
|
-
isAnimating,
|
|
97889
97490
|
trigger,
|
|
97890
97491
|
delay,
|
|
97891
97492
|
anticipation,
|
|
@@ -97899,8 +97500,10 @@ var ElasticAnimationInternal = ({
|
|
|
97899
97500
|
startAnimation();
|
|
97900
97501
|
};
|
|
97901
97502
|
const handleMouseLeave2 = () => {
|
|
97902
|
-
if (trigger === "hover" && !
|
|
97503
|
+
if (trigger === "hover" && !isAnimatingRef.current) {
|
|
97504
|
+
setIsResetting(true);
|
|
97903
97505
|
setCurrentTransform({ x: 0, y: 0, scale: 1, rotate: 0, skewX: 0, skewY: 0 });
|
|
97506
|
+
setTimeout(() => setIsResetting(false), 300);
|
|
97904
97507
|
}
|
|
97905
97508
|
};
|
|
97906
97509
|
const handleClick2 = () => {
|
|
@@ -97916,16 +97519,17 @@ var ElasticAnimationInternal = ({
|
|
|
97916
97519
|
return;
|
|
97917
97520
|
const rect = element.getBoundingClientRect();
|
|
97918
97521
|
const inView = rect.top < window.innerHeight && rect.bottom > 0;
|
|
97919
|
-
if (inView && !
|
|
97522
|
+
if (inView && !isAnimatingRef.current) {
|
|
97920
97523
|
startAnimation();
|
|
97921
97524
|
}
|
|
97922
97525
|
};
|
|
97923
97526
|
window.addEventListener("scroll", handleScroll);
|
|
97924
97527
|
handleScroll();
|
|
97925
97528
|
return () => window.removeEventListener("scroll", handleScroll);
|
|
97926
|
-
}, [trigger,
|
|
97529
|
+
}, [trigger, startAnimation]);
|
|
97927
97530
|
useEffect(() => {
|
|
97928
|
-
if (trigger === "auto" || trigger === "continuous") {
|
|
97531
|
+
if ((trigger === "auto" || trigger === "continuous") && !hasAutoTriggered.current) {
|
|
97532
|
+
hasAutoTriggered.current = true;
|
|
97929
97533
|
startAnimation();
|
|
97930
97534
|
}
|
|
97931
97535
|
}, [trigger, startAnimation]);
|
|
@@ -97977,7 +97581,8 @@ var ElasticAnimationInternal = ({
|
|
|
97977
97581
|
transform: getTransformStyle(),
|
|
97978
97582
|
transformOrigin: "center center",
|
|
97979
97583
|
willChange: "transform",
|
|
97980
|
-
backfaceVisibility: "hidden"
|
|
97584
|
+
backfaceVisibility: "hidden",
|
|
97585
|
+
transition: isResetting ? "transform 0.3s ease-out" : "none"
|
|
97981
97586
|
},
|
|
97982
97587
|
children
|
|
97983
97588
|
}
|
|
@@ -98055,6 +97660,7 @@ var PathAnimationsInternal = ({
|
|
|
98055
97660
|
const pathRef = useRef(null);
|
|
98056
97661
|
const elementRef = useRef(null);
|
|
98057
97662
|
const animationRef = useRef(void 0);
|
|
97663
|
+
const isAnimatingRef = useRef(false);
|
|
98058
97664
|
const [isAnimating, setIsAnimating] = useState(false);
|
|
98059
97665
|
const [currentPath, setCurrentPath] = useState("");
|
|
98060
97666
|
const [pathLength, setPathLength] = useState(0);
|
|
@@ -98086,7 +97692,7 @@ var PathAnimationsInternal = ({
|
|
|
98086
97692
|
svgRef.current.removeChild(tempPath);
|
|
98087
97693
|
}
|
|
98088
97694
|
}, [getPathString]);
|
|
98089
|
-
const
|
|
97695
|
+
const getEasingValue3 = (t2) => {
|
|
98090
97696
|
switch (easing) {
|
|
98091
97697
|
case "linear":
|
|
98092
97698
|
return t2;
|
|
@@ -98143,11 +97749,11 @@ var PathAnimationsInternal = ({
|
|
|
98143
97749
|
requestAnimationFrame(animateMorph);
|
|
98144
97750
|
}, [morph, morphPaths, morphIndex, currentPath, morphDuration]);
|
|
98145
97751
|
const animate4 = useCallback((timestamp) => {
|
|
98146
|
-
if (!
|
|
97752
|
+
if (!isAnimatingRef.current)
|
|
98147
97753
|
return;
|
|
98148
97754
|
const elapsed = timestamp - startTimeRef.current + pausedTimeRef.current;
|
|
98149
97755
|
let progress = Math.min(elapsed / duration, 1);
|
|
98150
|
-
progress =
|
|
97756
|
+
progress = getEasingValue3(progress);
|
|
98151
97757
|
const pathPosition = calculatePathPosition(progress);
|
|
98152
97758
|
setPosition({ x: pathPosition.x, y: pathPosition.y });
|
|
98153
97759
|
setRotation(pathPosition.angle);
|
|
@@ -98204,7 +97810,6 @@ var PathAnimationsInternal = ({
|
|
|
98204
97810
|
animationRef.current = requestAnimationFrame(animate4);
|
|
98205
97811
|
}
|
|
98206
97812
|
}, [
|
|
98207
|
-
isAnimating,
|
|
98208
97813
|
duration,
|
|
98209
97814
|
calculatePathPosition,
|
|
98210
97815
|
scaleAnimation,
|
|
@@ -98226,8 +97831,9 @@ var PathAnimationsInternal = ({
|
|
|
98226
97831
|
onAnimationComplete
|
|
98227
97832
|
]);
|
|
98228
97833
|
const startAnimation = useCallback(() => {
|
|
98229
|
-
if (
|
|
97834
|
+
if (isAnimatingRef.current)
|
|
98230
97835
|
return;
|
|
97836
|
+
isAnimatingRef.current = true;
|
|
98231
97837
|
setIsAnimating(true);
|
|
98232
97838
|
setCurrentLoop(0);
|
|
98233
97839
|
startTimeRef.current = performance.now();
|
|
@@ -98236,8 +97842,9 @@ var PathAnimationsInternal = ({
|
|
|
98236
97842
|
setTimeout(() => {
|
|
98237
97843
|
animationRef.current = requestAnimationFrame(animate4);
|
|
98238
97844
|
}, delay);
|
|
98239
|
-
}, [
|
|
97845
|
+
}, [delay, animate4, onAnimationStart]);
|
|
98240
97846
|
const stopAnimation = useCallback(() => {
|
|
97847
|
+
isAnimatingRef.current = false;
|
|
98241
97848
|
setIsAnimating(false);
|
|
98242
97849
|
if (animationRef.current) {
|
|
98243
97850
|
cancelAnimationFrame(animationRef.current);
|
|
@@ -98281,9 +97888,10 @@ var PathAnimationsInternal = ({
|
|
|
98281
97888
|
if (trigger === "auto") {
|
|
98282
97889
|
startAnimation();
|
|
98283
97890
|
}
|
|
98284
|
-
}, [trigger
|
|
97891
|
+
}, [trigger]);
|
|
98285
97892
|
useEffect(() => {
|
|
98286
97893
|
return () => {
|
|
97894
|
+
isAnimatingRef.current = false;
|
|
98287
97895
|
if (animationRef.current) {
|
|
98288
97896
|
cancelAnimationFrame(animationRef.current);
|
|
98289
97897
|
}
|
|
@@ -98426,6 +98034,9 @@ var PathAnimations = (props) => {
|
|
|
98426
98034
|
PathAnimations.displayName = "PathAnimations";
|
|
98427
98035
|
var SVGAnimationsInternal = ({
|
|
98428
98036
|
children,
|
|
98037
|
+
viewBox = "0 0 200 200",
|
|
98038
|
+
width = "100%",
|
|
98039
|
+
height = "100%",
|
|
98429
98040
|
type = "draw",
|
|
98430
98041
|
duration = 2e3,
|
|
98431
98042
|
delay = 0,
|
|
@@ -98494,8 +98105,25 @@ var SVGAnimationsInternal = ({
|
|
|
98494
98105
|
onAnimationComplete,
|
|
98495
98106
|
onFrame
|
|
98496
98107
|
}) => {
|
|
98108
|
+
const mergedTransformOptions = {
|
|
98109
|
+
scale: [1, 1],
|
|
98110
|
+
rotate: 0,
|
|
98111
|
+
translate: [0, 0],
|
|
98112
|
+
skew: [0, 0],
|
|
98113
|
+
transformOrigin: "center",
|
|
98114
|
+
...transformOptions
|
|
98115
|
+
};
|
|
98116
|
+
const mergedFilterOptions = {
|
|
98117
|
+
blur: [0, 0],
|
|
98118
|
+
brightness: [1, 1],
|
|
98119
|
+
contrast: [1, 1],
|
|
98120
|
+
saturate: [1, 1],
|
|
98121
|
+
hueRotate: [0, 0],
|
|
98122
|
+
...filterOptions
|
|
98123
|
+
};
|
|
98497
98124
|
const svgRef = useRef(null);
|
|
98498
98125
|
const animationRef = useRef(void 0);
|
|
98126
|
+
const isAnimatingRef = useRef(false);
|
|
98499
98127
|
const [isAnimating, setIsAnimating] = useState(false);
|
|
98500
98128
|
const [paths, setPaths] = useState([]);
|
|
98501
98129
|
const [currentMorphIndex, setCurrentMorphIndex] = useState(0);
|
|
@@ -98521,7 +98149,7 @@ var SVGAnimationsInternal = ({
|
|
|
98521
98149
|
});
|
|
98522
98150
|
}
|
|
98523
98151
|
}, [type, drawOptions.fadeIn]);
|
|
98524
|
-
const
|
|
98152
|
+
const getEasingValue3 = (t2) => {
|
|
98525
98153
|
switch (easing) {
|
|
98526
98154
|
case "linear":
|
|
98527
98155
|
return t2;
|
|
@@ -98619,21 +98247,21 @@ var SVGAnimationsInternal = ({
|
|
|
98619
98247
|
const offset4 = strokeOptions.strokeDashoffset * (1 - progress);
|
|
98620
98248
|
path.style.strokeDashoffset = `${offset4}`;
|
|
98621
98249
|
if (strokeOptions.animateWidth) {
|
|
98622
|
-
const
|
|
98623
|
-
path.style.strokeWidth = `${
|
|
98250
|
+
const width2 = strokeOptions.strokeWidth * progress;
|
|
98251
|
+
path.style.strokeWidth = `${width2}`;
|
|
98624
98252
|
}
|
|
98625
98253
|
path.style.stroke = strokeOptions.strokeColor;
|
|
98626
98254
|
});
|
|
98627
98255
|
}, [paths, strokeOptions]);
|
|
98628
98256
|
const animateTransform = useCallback((progress) => {
|
|
98629
|
-
const easedProgress =
|
|
98630
|
-
const scaleX =
|
|
98631
|
-
const scaleY =
|
|
98632
|
-
const rotate =
|
|
98633
|
-
const translateX =
|
|
98634
|
-
const translateY =
|
|
98635
|
-
const skewX =
|
|
98636
|
-
const skewY =
|
|
98257
|
+
const easedProgress = getEasingValue3(progress);
|
|
98258
|
+
const scaleX = mergedTransformOptions.scale[0] + (1 - mergedTransformOptions.scale[0]) * easedProgress;
|
|
98259
|
+
const scaleY = mergedTransformOptions.scale[1] + (1 - mergedTransformOptions.scale[1]) * easedProgress;
|
|
98260
|
+
const rotate = mergedTransformOptions.rotate * easedProgress;
|
|
98261
|
+
const translateX = mergedTransformOptions.translate[0] * easedProgress;
|
|
98262
|
+
const translateY = mergedTransformOptions.translate[1] * easedProgress;
|
|
98263
|
+
const skewX = mergedTransformOptions.skew[0] * easedProgress;
|
|
98264
|
+
const skewY = mergedTransformOptions.skew[1] * easedProgress;
|
|
98637
98265
|
const transform = `
|
|
98638
98266
|
translate(${translateX}px, ${translateY}px)
|
|
98639
98267
|
scale(${scaleX}, ${scaleY})
|
|
@@ -98642,18 +98270,18 @@ var SVGAnimationsInternal = ({
|
|
|
98642
98270
|
skewY(${skewY}deg)
|
|
98643
98271
|
`;
|
|
98644
98272
|
if (svgRef.current) {
|
|
98645
|
-
svgRef.current.style.transformOrigin =
|
|
98273
|
+
svgRef.current.style.transformOrigin = mergedTransformOptions.transformOrigin;
|
|
98646
98274
|
svgRef.current.style.transform = transform;
|
|
98647
98275
|
}
|
|
98648
|
-
}, [
|
|
98276
|
+
}, [mergedTransformOptions]);
|
|
98649
98277
|
const animateFilter = useCallback((progress) => {
|
|
98650
98278
|
if (!svgRef.current)
|
|
98651
98279
|
return;
|
|
98652
|
-
const blur2 =
|
|
98653
|
-
const brightness =
|
|
98654
|
-
const contrast =
|
|
98655
|
-
const saturate =
|
|
98656
|
-
const hueRotate =
|
|
98280
|
+
const blur2 = mergedFilterOptions.blur[0] + (mergedFilterOptions.blur[1] - mergedFilterOptions.blur[0]) * progress;
|
|
98281
|
+
const brightness = mergedFilterOptions.brightness[0] + (mergedFilterOptions.brightness[1] - mergedFilterOptions.brightness[0]) * progress;
|
|
98282
|
+
const contrast = mergedFilterOptions.contrast[0] + (mergedFilterOptions.contrast[1] - mergedFilterOptions.contrast[0]) * progress;
|
|
98283
|
+
const saturate = mergedFilterOptions.saturate[0] + (mergedFilterOptions.saturate[1] - mergedFilterOptions.saturate[0]) * progress;
|
|
98284
|
+
const hueRotate = mergedFilterOptions.hueRotate[0] + (mergedFilterOptions.hueRotate[1] - mergedFilterOptions.hueRotate[0]) * progress;
|
|
98657
98285
|
const filter = `
|
|
98658
98286
|
blur(${blur2}px)
|
|
98659
98287
|
brightness(${brightness})
|
|
@@ -98662,13 +98290,13 @@ var SVGAnimationsInternal = ({
|
|
|
98662
98290
|
hue-rotate(${hueRotate}deg)
|
|
98663
98291
|
`;
|
|
98664
98292
|
svgRef.current.style.filter = filter;
|
|
98665
|
-
}, [
|
|
98293
|
+
}, [mergedFilterOptions]);
|
|
98666
98294
|
const animate4 = useCallback((timestamp) => {
|
|
98667
|
-
if (!
|
|
98295
|
+
if (!isAnimatingRef.current)
|
|
98668
98296
|
return;
|
|
98669
98297
|
const elapsed = timestamp - startTimeRef.current;
|
|
98670
98298
|
let progress = Math.min(elapsed / duration, 1);
|
|
98671
|
-
progress =
|
|
98299
|
+
progress = getEasingValue3(progress);
|
|
98672
98300
|
setAnimationProgress(progress);
|
|
98673
98301
|
switch (type) {
|
|
98674
98302
|
case "draw":
|
|
@@ -98699,6 +98327,7 @@ var SVGAnimationsInternal = ({
|
|
|
98699
98327
|
startTimeRef.current = timestamp;
|
|
98700
98328
|
animationRef.current = requestAnimationFrame(animate4);
|
|
98701
98329
|
} else {
|
|
98330
|
+
isAnimatingRef.current = false;
|
|
98702
98331
|
setIsAnimating(false);
|
|
98703
98332
|
if (onAnimationComplete)
|
|
98704
98333
|
onAnimationComplete();
|
|
@@ -98707,7 +98336,6 @@ var SVGAnimationsInternal = ({
|
|
|
98707
98336
|
animationRef.current = requestAnimationFrame(animate4);
|
|
98708
98337
|
}
|
|
98709
98338
|
}, [
|
|
98710
|
-
isAnimating,
|
|
98711
98339
|
duration,
|
|
98712
98340
|
type,
|
|
98713
98341
|
loop,
|
|
@@ -98723,8 +98351,10 @@ var SVGAnimationsInternal = ({
|
|
|
98723
98351
|
onAnimationComplete
|
|
98724
98352
|
]);
|
|
98725
98353
|
const startAnimation = useCallback(() => {
|
|
98726
|
-
if (
|
|
98727
|
-
|
|
98354
|
+
if (animationRef.current) {
|
|
98355
|
+
cancelAnimationFrame(animationRef.current);
|
|
98356
|
+
}
|
|
98357
|
+
isAnimatingRef.current = true;
|
|
98728
98358
|
setIsAnimating(true);
|
|
98729
98359
|
setCurrentLoop(0);
|
|
98730
98360
|
startTimeRef.current = performance.now();
|
|
@@ -98733,8 +98363,9 @@ var SVGAnimationsInternal = ({
|
|
|
98733
98363
|
setTimeout(() => {
|
|
98734
98364
|
animationRef.current = requestAnimationFrame(animate4);
|
|
98735
98365
|
}, delay);
|
|
98736
|
-
}, [
|
|
98366
|
+
}, [delay, animate4, onAnimationStart]);
|
|
98737
98367
|
const stopAnimation = useCallback(() => {
|
|
98368
|
+
isAnimatingRef.current = false;
|
|
98738
98369
|
setIsAnimating(false);
|
|
98739
98370
|
if (animationRef.current) {
|
|
98740
98371
|
cancelAnimationFrame(animationRef.current);
|
|
@@ -98778,12 +98409,13 @@ var SVGAnimationsInternal = ({
|
|
|
98778
98409
|
if (autoPlay && trigger === "auto") {
|
|
98779
98410
|
startAnimation();
|
|
98780
98411
|
}
|
|
98781
|
-
}, [autoPlay, trigger
|
|
98412
|
+
}, [autoPlay, trigger]);
|
|
98782
98413
|
useEffect(() => {
|
|
98783
98414
|
return () => {
|
|
98784
98415
|
if (animationRef.current) {
|
|
98785
98416
|
cancelAnimationFrame(animationRef.current);
|
|
98786
98417
|
}
|
|
98418
|
+
isAnimatingRef.current = false;
|
|
98787
98419
|
};
|
|
98788
98420
|
}, []);
|
|
98789
98421
|
return /* @__PURE__ */ jsxs(
|
|
@@ -98803,6 +98435,9 @@ var SVGAnimationsInternal = ({
|
|
|
98803
98435
|
"svg",
|
|
98804
98436
|
{
|
|
98805
98437
|
ref: svgRef,
|
|
98438
|
+
viewBox,
|
|
98439
|
+
width,
|
|
98440
|
+
height,
|
|
98806
98441
|
className: cn(
|
|
98807
98442
|
"svg-animated",
|
|
98808
98443
|
svgClassName
|
|
@@ -98891,7 +98526,9 @@ var FadeTransitionsInternal = ({
|
|
|
98891
98526
|
}) => {
|
|
98892
98527
|
const containerRef = useRef(null);
|
|
98893
98528
|
const [isVisible, setIsVisible] = useState(controlledVisible ?? false);
|
|
98894
|
-
const
|
|
98529
|
+
const isAnimatingRef = useRef(false);
|
|
98530
|
+
const hasAutoTriggered = useRef(false);
|
|
98531
|
+
const [animationState, setAnimationState] = useState(false);
|
|
98895
98532
|
const [currentLoop, setCurrentLoop] = useState(0);
|
|
98896
98533
|
const [childrenArray, setChildrenArray] = useState([]);
|
|
98897
98534
|
const observerRef = useRef(void 0);
|
|
@@ -98996,7 +98633,7 @@ var FadeTransitionsInternal = ({
|
|
|
98996
98633
|
filter: type === "blur-fade" && !visible ? `blur(${blurAmount}px)` : "none",
|
|
98997
98634
|
willChange: "transform, opacity, filter"
|
|
98998
98635
|
};
|
|
98999
|
-
if (glow &&
|
|
98636
|
+
if (glow && animationState) {
|
|
99000
98637
|
styles.boxShadow = `0 0 ${glowIntensity}px ${glowColor}`;
|
|
99001
98638
|
}
|
|
99002
98639
|
if (mask) {
|
|
@@ -99024,9 +98661,10 @@ var FadeTransitionsInternal = ({
|
|
|
99024
98661
|
return styles;
|
|
99025
98662
|
};
|
|
99026
98663
|
const handleVisibilityChange = useCallback((visible) => {
|
|
99027
|
-
if (
|
|
98664
|
+
if (isAnimatingRef.current)
|
|
99028
98665
|
return;
|
|
99029
|
-
|
|
98666
|
+
isAnimatingRef.current = true;
|
|
98667
|
+
setAnimationState(true);
|
|
99030
98668
|
setIsVisible(visible);
|
|
99031
98669
|
if (onTransitionStart)
|
|
99032
98670
|
onTransitionStart();
|
|
@@ -99036,7 +98674,8 @@ var FadeTransitionsInternal = ({
|
|
|
99036
98674
|
animationTimeoutsRef.current = [];
|
|
99037
98675
|
const totalDuration = duration + (staggered ? (childrenArray.length - 1) * stagger : 0) + delay;
|
|
99038
98676
|
const completeTimeout = setTimeout(() => {
|
|
99039
|
-
|
|
98677
|
+
isAnimatingRef.current = false;
|
|
98678
|
+
setAnimationState(false);
|
|
99040
98679
|
if (onTransitionComplete)
|
|
99041
98680
|
onTransitionComplete();
|
|
99042
98681
|
if (loop && visible) {
|
|
@@ -99044,15 +98683,15 @@ var FadeTransitionsInternal = ({
|
|
|
99044
98683
|
setCurrentLoop((prev) => prev + 1);
|
|
99045
98684
|
if (reverseOnExit) {
|
|
99046
98685
|
setTimeout(() => {
|
|
99047
|
-
|
|
98686
|
+
setIsVisible(false);
|
|
99048
98687
|
setTimeout(() => {
|
|
99049
|
-
|
|
98688
|
+
setIsVisible(true);
|
|
99050
98689
|
}, totalDuration);
|
|
99051
98690
|
}, 1e3);
|
|
99052
98691
|
} else {
|
|
99053
98692
|
setIsVisible(false);
|
|
99054
98693
|
setTimeout(() => {
|
|
99055
|
-
|
|
98694
|
+
setIsVisible(true);
|
|
99056
98695
|
}, 100);
|
|
99057
98696
|
}
|
|
99058
98697
|
}
|
|
@@ -99060,7 +98699,6 @@ var FadeTransitionsInternal = ({
|
|
|
99060
98699
|
}, totalDuration);
|
|
99061
98700
|
animationTimeoutsRef.current.push(completeTimeout);
|
|
99062
98701
|
}, [
|
|
99063
|
-
isAnimating,
|
|
99064
98702
|
duration,
|
|
99065
98703
|
delay,
|
|
99066
98704
|
stagger,
|
|
@@ -99089,19 +98727,20 @@ var FadeTransitionsInternal = ({
|
|
|
99089
98727
|
handleVisibilityChange(!isVisible);
|
|
99090
98728
|
}
|
|
99091
98729
|
};
|
|
98730
|
+
const observerCallback = useCallback((entries) => {
|
|
98731
|
+
entries.forEach((entry) => {
|
|
98732
|
+
if (entry.isIntersecting && !isVisible) {
|
|
98733
|
+
handleVisibilityChange(true);
|
|
98734
|
+
} else if (!entry.isIntersecting && reverseOnExit && isVisible) {
|
|
98735
|
+
handleVisibilityChange(false);
|
|
98736
|
+
}
|
|
98737
|
+
});
|
|
98738
|
+
}, [isVisible, reverseOnExit, handleVisibilityChange]);
|
|
99092
98739
|
useEffect(() => {
|
|
99093
98740
|
if (trigger !== "scroll" || !containerRef.current)
|
|
99094
98741
|
return;
|
|
99095
98742
|
observerRef.current = new IntersectionObserver(
|
|
99096
|
-
|
|
99097
|
-
entries.forEach((entry) => {
|
|
99098
|
-
if (entry.isIntersecting && !isVisible) {
|
|
99099
|
-
handleVisibilityChange(true);
|
|
99100
|
-
} else if (!entry.isIntersecting && reverseOnExit && isVisible) {
|
|
99101
|
-
handleVisibilityChange(false);
|
|
99102
|
-
}
|
|
99103
|
-
});
|
|
99104
|
-
},
|
|
98743
|
+
observerCallback,
|
|
99105
98744
|
{
|
|
99106
98745
|
threshold
|
|
99107
98746
|
}
|
|
@@ -99112,17 +98751,18 @@ var FadeTransitionsInternal = ({
|
|
|
99112
98751
|
observerRef.current.disconnect();
|
|
99113
98752
|
}
|
|
99114
98753
|
};
|
|
99115
|
-
}, [trigger, threshold,
|
|
98754
|
+
}, [trigger, threshold, observerCallback]);
|
|
99116
98755
|
useEffect(() => {
|
|
99117
98756
|
if (controlledVisible !== void 0) {
|
|
99118
98757
|
handleVisibilityChange(controlledVisible);
|
|
99119
98758
|
}
|
|
99120
|
-
}, [controlledVisible]);
|
|
98759
|
+
}, [controlledVisible, handleVisibilityChange]);
|
|
99121
98760
|
useEffect(() => {
|
|
99122
|
-
if (trigger === "auto" && !controlledVisible) {
|
|
98761
|
+
if (trigger === "auto" && !hasAutoTriggered.current && !controlledVisible) {
|
|
98762
|
+
hasAutoTriggered.current = true;
|
|
99123
98763
|
handleVisibilityChange(true);
|
|
99124
98764
|
}
|
|
99125
|
-
}, [trigger]);
|
|
98765
|
+
}, [trigger, controlledVisible, handleVisibilityChange]);
|
|
99126
98766
|
useEffect(() => {
|
|
99127
98767
|
return () => {
|
|
99128
98768
|
animationTimeoutsRef.current.forEach((timeout) => clearTimeout(timeout));
|
|
@@ -99809,25 +99449,64 @@ var SwipeActionsInternal = ({
|
|
|
99809
99449
|
swipeDirection === "up" && "justify-end pb-4 flex-col"
|
|
99810
99450
|
),
|
|
99811
99451
|
style: { backgroundColor: activeAction.backgroundColor },
|
|
99812
|
-
children: actions.map((action, index2) =>
|
|
99813
|
-
|
|
99814
|
-
|
|
99815
|
-
|
|
99816
|
-
|
|
99817
|
-
|
|
99818
|
-
|
|
99819
|
-
|
|
99820
|
-
|
|
99821
|
-
|
|
99822
|
-
|
|
99823
|
-
|
|
99824
|
-
|
|
99825
|
-
|
|
99452
|
+
children: actions.map((action, index2) => {
|
|
99453
|
+
const getTextColor = (bgColor) => {
|
|
99454
|
+
if (!bgColor)
|
|
99455
|
+
return "text-gray-900 dark:text-gray-100";
|
|
99456
|
+
const hexToRgb = (hex) => {
|
|
99457
|
+
hex = hex.replace(/^#/, "");
|
|
99458
|
+
if (hex.length === 3) {
|
|
99459
|
+
hex = hex.split("").map((char) => char + char).join("");
|
|
99460
|
+
}
|
|
99461
|
+
if (hex.length === 6) {
|
|
99462
|
+
const r3 = parseInt(hex.substring(0, 2), 16);
|
|
99463
|
+
const g2 = parseInt(hex.substring(2, 4), 16);
|
|
99464
|
+
const b2 = parseInt(hex.substring(4, 6), 16);
|
|
99465
|
+
return [r3, g2, b2];
|
|
99466
|
+
}
|
|
99467
|
+
return null;
|
|
99468
|
+
};
|
|
99469
|
+
const getLuminance = (r3, g2, b2) => {
|
|
99470
|
+
const [rs, gs, bs] = [r3, g2, b2].map((val) => {
|
|
99471
|
+
val = val / 255;
|
|
99472
|
+
return val <= 0.03928 ? val / 12.92 : Math.pow((val + 0.055) / 1.055, 2.4);
|
|
99473
|
+
});
|
|
99474
|
+
return 0.2126 * rs + 0.7152 * gs + 0.0722 * bs;
|
|
99475
|
+
};
|
|
99476
|
+
const rgb = hexToRgb(bgColor.toLowerCase());
|
|
99477
|
+
if (!rgb) {
|
|
99478
|
+
return "text-gray-900 dark:text-gray-100";
|
|
99479
|
+
}
|
|
99480
|
+
const [r2, g, b] = rgb;
|
|
99481
|
+
const luminance = getLuminance(r2, g, b);
|
|
99482
|
+
if (luminance > 0.5) {
|
|
99483
|
+
return "text-gray-900 dark:text-gray-800";
|
|
99484
|
+
} else {
|
|
99485
|
+
return "text-white dark:text-gray-100";
|
|
99486
|
+
}
|
|
99487
|
+
};
|
|
99488
|
+
const textColorClass = getTextColor(action.color);
|
|
99489
|
+
return /* @__PURE__ */ jsxs(
|
|
99490
|
+
"div",
|
|
99491
|
+
{
|
|
99492
|
+
className: cn(
|
|
99493
|
+
"flex items-center gap-2 px-4 py-2 rounded-lg transition-all duration-200",
|
|
99494
|
+
isHorizontal ? "mr-2 last:mr-0 flex-row" : "mb-2 last:mb-0 flex-col",
|
|
99495
|
+
action === activeAction && "scale-110"
|
|
99496
|
+
),
|
|
99497
|
+
style: {
|
|
99498
|
+
backgroundColor: action.color,
|
|
99499
|
+
marginRight: isHorizontal ? actionSpacing : 0,
|
|
99500
|
+
marginBottom: isHorizontal ? 0 : actionSpacing
|
|
99501
|
+
},
|
|
99502
|
+
children: [
|
|
99503
|
+
/* @__PURE__ */ jsx("div", { className: textColorClass, children: action.icon }),
|
|
99504
|
+
action.label && /* @__PURE__ */ jsx("span", { className: cn("font-medium text-sm whitespace-nowrap", textColorClass), children: action.label })
|
|
99505
|
+
]
|
|
99826
99506
|
},
|
|
99827
|
-
|
|
99828
|
-
|
|
99829
|
-
|
|
99830
|
-
))
|
|
99507
|
+
action.id
|
|
99508
|
+
);
|
|
99509
|
+
})
|
|
99831
99510
|
}
|
|
99832
99511
|
);
|
|
99833
99512
|
};
|
|
@@ -99890,6 +99569,7 @@ var SwipeActions = (props) => {
|
|
|
99890
99569
|
}
|
|
99891
99570
|
return /* @__PURE__ */ jsx(SwipeActionsInternal, { ...props });
|
|
99892
99571
|
};
|
|
99572
|
+
SwipeActions.displayName = "SwipeActions";
|
|
99893
99573
|
var ClickAnimationsInternal = ({
|
|
99894
99574
|
children,
|
|
99895
99575
|
className,
|
|
@@ -100178,6 +99858,13 @@ var ClickAnimationsInternal = ({
|
|
|
100178
99858
|
const easedProgress = getEasingFunction(config.easing, progress);
|
|
100179
99859
|
const intensity2 = config.intensity;
|
|
100180
99860
|
switch (type) {
|
|
99861
|
+
case "ripple":
|
|
99862
|
+
const rippleScale = 1 + easedProgress * intensity2 * 0.05;
|
|
99863
|
+
const rippleOpacity = 1 - easedProgress * 0.2;
|
|
99864
|
+
return {
|
|
99865
|
+
transform: `scale(${rippleScale})`,
|
|
99866
|
+
opacity: rippleOpacity
|
|
99867
|
+
};
|
|
100181
99868
|
case "scale":
|
|
100182
99869
|
const scale = 1 + easedProgress * intensity2 * 0.1;
|
|
100183
99870
|
return { transform: `scale(${scale})` };
|
|
@@ -100200,6 +99887,12 @@ var ClickAnimationsInternal = ({
|
|
|
100200
99887
|
opacity: pulseOpacity,
|
|
100201
99888
|
transform: `scale(${pulseScale})`
|
|
100202
99889
|
};
|
|
99890
|
+
case "wave":
|
|
99891
|
+
const waveRotate = Math.sin(easedProgress * Math.PI * 2) * intensity2 * 5;
|
|
99892
|
+
const waveScale = 1 + Math.sin(easedProgress * Math.PI) * intensity2 * 0.08;
|
|
99893
|
+
return {
|
|
99894
|
+
transform: `scale(${waveScale}) rotate(${waveRotate}deg)`
|
|
99895
|
+
};
|
|
100203
99896
|
default:
|
|
100204
99897
|
return {};
|
|
100205
99898
|
}
|
|
@@ -100277,6 +99970,25 @@ var ClickAnimations = (props) => {
|
|
|
100277
99970
|
}
|
|
100278
99971
|
return /* @__PURE__ */ jsx(ClickAnimationsInternal, { ...props });
|
|
100279
99972
|
};
|
|
99973
|
+
ClickAnimations.displayName = "ClickAnimations";
|
|
99974
|
+
var getColorValue = (colorName) => {
|
|
99975
|
+
const colors = {
|
|
99976
|
+
blue: "#3b82f6",
|
|
99977
|
+
purple: "#a855f7",
|
|
99978
|
+
green: "#10b981",
|
|
99979
|
+
red: "#ef4444",
|
|
99980
|
+
yellow: "#eab308",
|
|
99981
|
+
cyan: "#06b6d4",
|
|
99982
|
+
indigo: "#6366f1",
|
|
99983
|
+
pink: "#ec4899",
|
|
99984
|
+
orange: "#f97316",
|
|
99985
|
+
violet: "#8b5cf6",
|
|
99986
|
+
emerald: "#10b981",
|
|
99987
|
+
rose: "#f43f5e",
|
|
99988
|
+
slate: "#64748b"
|
|
99989
|
+
};
|
|
99990
|
+
return colors[colorName] || colorName;
|
|
99991
|
+
};
|
|
100280
99992
|
var FocusTransitionsInternal = forwardRef(({
|
|
100281
99993
|
children,
|
|
100282
99994
|
className,
|
|
@@ -100353,6 +100065,24 @@ var FocusTransitionsInternal = forwardRef(({
|
|
|
100353
100065
|
offset: focusOffset,
|
|
100354
100066
|
blur: focusBlur
|
|
100355
100067
|
}), [duration, easing, intensity, focusColor, focusOffset, focusBlur]);
|
|
100068
|
+
const getEasingCSS = useCallback((easingType) => {
|
|
100069
|
+
switch (easingType) {
|
|
100070
|
+
case "ease":
|
|
100071
|
+
return "ease";
|
|
100072
|
+
case "ease-in":
|
|
100073
|
+
return "ease-in";
|
|
100074
|
+
case "ease-out":
|
|
100075
|
+
return "ease-out";
|
|
100076
|
+
case "ease-in-out":
|
|
100077
|
+
return "ease-in-out";
|
|
100078
|
+
case "bounce":
|
|
100079
|
+
return "cubic-bezier(0.68, -0.55, 0.265, 1.55)";
|
|
100080
|
+
case "elastic":
|
|
100081
|
+
return "cubic-bezier(0.68, -0.25, 0.265, 1.25)";
|
|
100082
|
+
default:
|
|
100083
|
+
return "ease-out";
|
|
100084
|
+
}
|
|
100085
|
+
}, []);
|
|
100356
100086
|
const startAnimation = useCallback((direction, customConfig) => {
|
|
100357
100087
|
if (prefersReducedMotion)
|
|
100358
100088
|
return;
|
|
@@ -100521,9 +100251,10 @@ var FocusTransitionsInternal = forwardRef(({
|
|
|
100521
100251
|
const getAnimationStyles = useCallback((config) => {
|
|
100522
100252
|
const { type, intensity: intensity2, color, offset: offset4, blur: blur2 } = config;
|
|
100523
100253
|
const baseStyles = {};
|
|
100254
|
+
const cssColor = getColorValue(color || focusColor);
|
|
100524
100255
|
switch (type) {
|
|
100525
100256
|
case "glow":
|
|
100526
|
-
baseStyles.boxShadow = `0 0 ${intensity2 * 10}px ${intensity2 * 2}px ${
|
|
100257
|
+
baseStyles.boxShadow = `0 0 ${intensity2 * 10}px ${intensity2 * 2}px ${cssColor}`;
|
|
100527
100258
|
if (blur2)
|
|
100528
100259
|
baseStyles.filter = `blur(${blur2}px)`;
|
|
100529
100260
|
break;
|
|
@@ -100531,7 +100262,7 @@ var FocusTransitionsInternal = forwardRef(({
|
|
|
100531
100262
|
baseStyles.transform = `scale(${1 + intensity2 * 0.05})`;
|
|
100532
100263
|
break;
|
|
100533
100264
|
case "border":
|
|
100534
|
-
baseStyles.border = `${focusThickness}px solid ${
|
|
100265
|
+
baseStyles.border = `${focusThickness}px solid ${cssColor}`;
|
|
100535
100266
|
baseStyles.borderRadius = `${focusRadius}px`;
|
|
100536
100267
|
break;
|
|
100537
100268
|
case "shadow":
|
|
@@ -100544,34 +100275,35 @@ var FocusTransitionsInternal = forwardRef(({
|
|
|
100544
100275
|
baseStyles.opacity = 0.8 + intensity2 * 0.2;
|
|
100545
100276
|
break;
|
|
100546
100277
|
case "pulse":
|
|
100547
|
-
baseStyles.animation = `pulse ${duration}ms ${easing} infinite`;
|
|
100278
|
+
baseStyles.animation = `pulse ${duration}ms ${getEasingCSS(easing)} infinite`;
|
|
100548
100279
|
break;
|
|
100549
100280
|
case "outline":
|
|
100550
|
-
baseStyles.outline = `${focusThickness}px solid ${
|
|
100281
|
+
baseStyles.outline = `${focusThickness}px solid ${cssColor}`;
|
|
100551
100282
|
baseStyles.outlineOffset = `${offset4}px`;
|
|
100552
100283
|
break;
|
|
100553
100284
|
}
|
|
100554
100285
|
return baseStyles;
|
|
100555
|
-
}, [focusThickness, focusRadius, duration, easing]);
|
|
100286
|
+
}, [focusThickness, focusRadius, duration, easing, focusColor, getEasingCSS]);
|
|
100556
100287
|
const getFocusRingStyles = useCallback(() => {
|
|
100557
100288
|
if (!showFocusRing || !focusState.isFocused)
|
|
100558
100289
|
return {};
|
|
100290
|
+
const cssColor = getColorValue(focusColor);
|
|
100559
100291
|
const ringStyles = {
|
|
100560
100292
|
position: "absolute",
|
|
100561
100293
|
top: focusRingPosition === "outside" ? -focusOffset : 0,
|
|
100562
100294
|
left: focusRingPosition === "outside" ? -focusOffset : 0,
|
|
100563
100295
|
right: focusRingPosition === "outside" ? -focusOffset : 0,
|
|
100564
100296
|
bottom: focusRingPosition === "outside" ? -focusOffset : 0,
|
|
100565
|
-
border: `${focusThickness}px solid ${
|
|
100297
|
+
border: `${focusThickness}px solid ${cssColor}`,
|
|
100566
100298
|
borderRadius: focusRadius,
|
|
100567
100299
|
pointerEvents: "none",
|
|
100568
100300
|
zIndex: 1
|
|
100569
100301
|
};
|
|
100570
100302
|
if (glowEffect) {
|
|
100571
|
-
ringStyles.boxShadow = `0 0 ${focusBlur * 2}px ${
|
|
100303
|
+
ringStyles.boxShadow = `0 0 ${focusBlur * 2}px ${cssColor}`;
|
|
100572
100304
|
}
|
|
100573
100305
|
if (shadowEffect) {
|
|
100574
|
-
ringStyles.filter = `drop-shadow(0 0 ${focusBlur}px ${
|
|
100306
|
+
ringStyles.filter = `drop-shadow(0 0 ${focusBlur}px ${cssColor})`;
|
|
100575
100307
|
}
|
|
100576
100308
|
return ringStyles;
|
|
100577
100309
|
}, [
|
|
@@ -100627,7 +100359,7 @@ var FocusTransitionsInternal = forwardRef(({
|
|
|
100627
100359
|
"aria-disabled": disabled,
|
|
100628
100360
|
style: {
|
|
100629
100361
|
...getCombinedStyles(),
|
|
100630
|
-
transition: performanceMode ? "none" : `all ${duration}ms ${easing}`
|
|
100362
|
+
transition: performanceMode ? "none" : `all ${duration}ms ${getEasingCSS(easing)}`
|
|
100631
100363
|
},
|
|
100632
100364
|
children: [
|
|
100633
100365
|
!customFocusRing && /* @__PURE__ */ jsx(
|
|
@@ -100650,13 +100382,16 @@ var FocusTransitionsInternal = forwardRef(({
|
|
|
100650
100382
|
});
|
|
100651
100383
|
FocusTransitionsInternal.displayName = "FocusTransitionsInternal";
|
|
100652
100384
|
var FocusTransitions = forwardRef((props, ref) => {
|
|
100653
|
-
const { hasProAccess } = useSubscription();
|
|
100654
|
-
if (!hasProAccess) {
|
|
100655
|
-
return /* @__PURE__ */
|
|
100656
|
-
|
|
100657
|
-
|
|
100658
|
-
|
|
100659
|
-
|
|
100385
|
+
const { hasProAccess, isLoading } = useSubscription();
|
|
100386
|
+
if (!isLoading && !hasProAccess) {
|
|
100387
|
+
return /* @__PURE__ */ jsx(
|
|
100388
|
+
ProLockScreen,
|
|
100389
|
+
{
|
|
100390
|
+
componentName: "FocusTransitions",
|
|
100391
|
+
compact: true,
|
|
100392
|
+
className: "inline-block"
|
|
100393
|
+
}
|
|
100394
|
+
);
|
|
100660
100395
|
}
|
|
100661
100396
|
return /* @__PURE__ */ jsx(FocusTransitionsInternal, { ...props, ref });
|
|
100662
100397
|
});
|
|
@@ -101096,17 +100831,6 @@ FocusTransitions.displayName = "FocusTransitions";
|
|
|
101096
100831
|
* @license MIT
|
|
101097
100832
|
* @credits React Bits by David H
|
|
101098
100833
|
*/
|
|
101099
|
-
/**
|
|
101100
|
-
* SpringPhysics Component
|
|
101101
|
-
*
|
|
101102
|
-
* Provides realistic spring physics animations with damping and tension
|
|
101103
|
-
* Derived from React Bits (https://github.com/DavidHDev/react-bits)
|
|
101104
|
-
* Adapted for MoonUI Pro with TypeScript and enhanced features
|
|
101105
|
-
*
|
|
101106
|
-
* @author MoonUI Team
|
|
101107
|
-
* @license MIT
|
|
101108
|
-
* @credits React Bits by David H
|
|
101109
|
-
*/
|
|
101110
100834
|
/**
|
|
101111
100835
|
* ElasticAnimation Component
|
|
101112
100836
|
*
|
|
@@ -101163,4 +100887,4 @@ FocusTransitions.displayName = "FocusTransitions";
|
|
|
101163
100887
|
* @credits React Bits by David H
|
|
101164
100888
|
*/
|
|
101165
100889
|
|
|
101166
|
-
export { MoonUIAccordionPro as Accordion, MoonUIAccordionContentPro as AccordionContent, MoonUIAccordionItemPro as AccordionItem, MoonUIAccordionTriggerPro as AccordionTrigger, Calendar3 as AdvancedCalendar, AdvancedChart, AdvancedForms, MoonUIAlertPro as Alert, MoonUIAlertDescriptionPro as AlertDescription, AlertDialog2 as AlertDialog, AlertDialogAction2 as AlertDialogAction, AlertDialogCancel2 as AlertDialogCancel, AlertDialogContent2 as AlertDialogContent, AlertDialogDescription2 as AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay2 as AlertDialogOverlay, AlertDialogPortal2 as AlertDialogPortal, AlertDialogTitle2 as AlertDialogTitle, AlertDialogTrigger2 as AlertDialogTrigger, MoonUIAlertTitlePro as AlertTitle, AnimatedNumber, MoonUIAspectRatioPro as AspectRatio, AuroraBackground, MoonUIAvatarPro as Avatar, MoonUIAvatarFallbackPro as AvatarFallback, MoonUIAvatarImagePro as AvatarImage, MoonUIBadgePro as Badge, BentoGrid, BentoGridItem, BlurFade, BounceEffect, MoonUIBreadcrumbPro as Breadcrumb, MoonUIBreadcrumbEllipsisPro as BreadcrumbEllipsis, MoonUIBreadcrumbItemPro as BreadcrumbItem, MoonUIBreadcrumbLinkPro as BreadcrumbLink, MoonUIBreadcrumbListPro as BreadcrumbList, MoonUIBreadcrumbPagePro as BreadcrumbPage, MoonUIBreadcrumbSeparatorPro as BreadcrumbSeparator, BubbleBackground, MoonUIButtonPro as Button, Calendar, Calendar3 as CalendarPro, MoonUICardPro as Card, MoonUICardContentPro as CardContent, MoonUICardDescriptionPro as CardDescription, MoonUICardFooterPro as CardFooter, MoonUICardHeaderPro as CardHeader, MoonUICardTitlePro as CardTitle, ChartWidget2 as ChartWidget, MoonUICheckboxPro as Checkbox, ClaudeProvider, ClickAnimations, CodeSnippets, MoonUICollapsiblePro as Collapsible, MoonUICollapsibleContentPro as CollapsibleContent, MoonUICollapsibleTriggerPro as CollapsibleTrigger, MoonUIColorPickerPro as ColorPicker, MoonUICommandPro as Command, MoonUICommandDialogPro as CommandDialog, MoonUICommandEmptyPro as CommandEmpty, MoonUICommandGroupPro as CommandGroup, MoonUICommandInputPro as CommandInput, MoonUICommandItemPro as CommandItem, MoonUICommandListPro as CommandList, MoonUICommandSeparatorPro as CommandSeparator, MoonUICommandShortcutPro as CommandShortcut, Confetti, ConfettiButton, CursorTrail, Dashboard, DataTable, MoonUIDialogPro as Dialog, MoonUIDialogClosePro as DialogClose, MoonUIDialogContentPro as DialogContent, MoonUIDialogDescriptionPro as DialogDescription, MoonUIDialogFooterPro as DialogFooter, MoonUIDialogHeaderPro as DialogHeader, MoonUIDialogTitlePro as DialogTitle, MoonUIDialogTriggerPro as DialogTrigger, DocsProProvider, DotPattern, DraggableList, MoonUIDropdownMenuPro as DropdownMenu, MoonUIDropdownMenuCheckboxItemPro as DropdownMenuCheckboxItem, MoonUIDropdownMenuContentPro as DropdownMenuContent, MoonUIDropdownMenuGroupPro as DropdownMenuGroup, MoonUIDropdownMenuItemPro as DropdownMenuItem, MoonUIDropdownMenuLabelPro as DropdownMenuLabel, MoonUIDropdownMenuPortalPro as DropdownMenuPortal, MoonUIDropdownMenuRadioGroupPro as DropdownMenuRadioGroup, MoonUIDropdownMenuRadioItemPro as DropdownMenuRadioItem, MoonUIDropdownMenuSeparatorPro as DropdownMenuSeparator, MoonUIDropdownMenuShortcutPro as DropdownMenuShortcut, MoonUIDropdownMenuSubPro as DropdownMenuSub, MoonUIDropdownMenuSubContentPro as DropdownMenuSubContent, MoonUIDropdownMenuSubTriggerPro as DropdownMenuSubTrigger, MoonUIDropdownMenuTriggerPro as DropdownMenuTrigger, ElasticAnimation, ErrorBoundary, FadeTransitions, FlipText, FloatingActionButton, FloatingDock, FloatingElements, FocusTransitions, FormWizard, FormWizardNavigation, FormWizardProgress, FormWizardStep, FunnelWidget, MoonUIGalleryItemPro as GalleryItem, GaugeWidget, GeminiProvider, GeometricPatterns, GestureDrawer, GitHubStars, GlitchBackground, GlitchText, GlowCard, GlowEffect, GradientFlow, GradientText, GridDistortion, GridPattern, HealthCheck, HoverCard2 as HoverCard, HoverCard3D, HoverCardContent2 as HoverCardContent, HoverCardTrigger2 as HoverCardTrigger, MoonUIInputPro as Input, KPIWidget, Kanban, LANGUAGE_COLORS, MoonUILabelPro as Label, LazyComponent, LazyImage, LazyList, LightboxContent, LightboxProvider, LightboxTrigger, LiquidBackground, MagneticButton, MagneticElements, Marquee, MatrixRain, MoonUIMediaGalleryPro as MediaGallery, MemoryAnalytics, MemoryEfficientData, MeshGradient, Meteors, MoonUIAccordionContentPro, MoonUIAccordionItemPro, MoonUIAccordionPro, MoonUIAccordionTriggerPro, MoonUIAdvancedChartPro, MoonUIAlertDescriptionPro, AlertDialogAction2 as MoonUIAlertDialogActionPro, AlertDialogCancel2 as MoonUIAlertDialogCancelPro, AlertDialogContent2 as MoonUIAlertDialogContentPro, AlertDialogDescription2 as MoonUIAlertDialogDescriptionPro, AlertDialogFooter as MoonUIAlertDialogFooterPro, AlertDialogHeader as MoonUIAlertDialogHeaderPro, AlertDialogOverlay2 as MoonUIAlertDialogOverlayPro, AlertDialogPortal2 as MoonUIAlertDialogPortalPro, AlertDialog2 as MoonUIAlertDialogPro, AlertDialogTitle2 as MoonUIAlertDialogTitlePro, AlertDialogTrigger2 as MoonUIAlertDialogTriggerPro, MoonUIAlertPro, MoonUIAlertTitlePro, MoonUIAnimatedButtonPro, MoonUIAnimatedListPro, MoonUIAspectRatioPro, MoonUIAsyncAvatarPro, MoonUIAuthProvider, MoonUIAvatarFallbackPro, MoonUIAvatarGroupPro2 as MoonUIAvatarGroupPro, MoonUIAvatarImagePro, MoonUIAvatarPro2 as MoonUIAvatarPro, MoonUIBadgePro, MoonUIBreadcrumbEllipsisPro, MoonUIBreadcrumbItemPro, MoonUIBreadcrumbLinkPro, MoonUIBreadcrumbListPro, MoonUIBreadcrumbPagePro, MoonUIBreadcrumbPro, MoonUIBreadcrumbSeparatorPro, MoonUIButtonPro, Calendar3 as MoonUICalendarPro, MoonUICardContentPro, MoonUICardDescriptionPro, MoonUICardFooterPro, MoonUICardHeaderPro, MoonUICardPro, MoonUICardTitlePro, ChartWidget2 as MoonUIChartWidget, MoonUICheckboxPro, MoonUICollapsibleContentPro, MoonUICollapsiblePro, MoonUICollapsibleTriggerPro, MoonUIColorPickerPro, MoonUICommandDialogPro, MoonUICommandEmptyPro, MoonUICommandGroupPro, MoonUICommandInputPro, MoonUICommandItemPro, MoonUICommandListPro, MoonUICommandPro, MoonUICommandSeparatorPro, MoonUICommandShortcutPro, MoonUICreditCardInputPro, Dashboard as MoonUIDashboardPro, MoonUIDataTable, DataTable as MoonUIDataTablePro, MoonUIDialogClosePro, MoonUIDialogContentPro, MoonUIDialogDescriptionPro, MoonUIDialogFooterPro, MoonUIDialogHeaderPro, MoonUIDialogPro, MoonUIDialogTitlePro, MoonUIDialogTriggerPro, DraggableList as MoonUIDraggableListPro, MoonUIDropdownMenuCheckboxItemPro, MoonUIDropdownMenuContentPro, MoonUIDropdownMenuGroupPro, MoonUIDropdownMenuItemPro, MoonUIDropdownMenuLabelPro, MoonUIDropdownMenuPortalPro, MoonUIDropdownMenuPro, MoonUIDropdownMenuRadioGroupPro, MoonUIDropdownMenuRadioItemPro, MoonUIDropdownMenuSeparatorPro, MoonUIDropdownMenuShortcutPro, MoonUIDropdownMenuSubContentPro, MoonUIDropdownMenuSubPro, MoonUIDropdownMenuSubTriggerPro, MoonUIDropdownMenuTriggerPro, file_upload_default as MoonUIFileUploadPro, MoonUIFormWizardPro, FunnelWidget as MoonUIFunnelWidget, MoonUIGalleryItemPro, GaugeWidget as MoonUIGaugeWidget, MoonUIGestureDrawerPro, MoonUIInputPro, KPIWidget as MoonUIKPIWidget, MoonUIKanbanPro, MoonUILabelPro, LightboxContent as MoonUILightboxContentPro, SimpleLightbox as MoonUILightboxPro, LightboxProvider as MoonUILightboxProviderPro, LightboxTrigger as MoonUILightboxTriggerPro, MagneticButton as MoonUIMagneticButtonPro, MoonUIMediaGalleryPro, MoonUIMemoryEfficientDataPro, Navbar as MoonUINavbarPro, MoonUIPaginationContentPro, MoonUIPaginationEllipsisPro, MoonUIPaginationItemPro, MoonUIPaginationLinkPro, MoonUIPaginationNextPro, MoonUIPaginationPreviousPro, MoonUIPaginationPro, PhoneNumberInput as MoonUIPhoneNumberInputPro, MoonUIPhoneNumberInputSimple, MoonUIPopoverContentPro, MoonUIPopoverPro, MoonUIPopoverTriggerPro, MoonUIProgressPro, MoonUIQuizFormPro2 as MoonUIQuizFormPro, MoonUIRadioGroupContextPro, MoonUIRadioGroupItemPro, MoonUIRadioGroupPro, MoonUIRadioItemWithLabelPro, MoonUIRadioLabelPro, RevenueWidget as MoonUIRevenueWidget, RichTextEditor as MoonUIRichTextEditorPro, MoonUISelectContentPro, MoonUISelectGroupPro, MoonUISelectItemPro, MoonUISelectLabelPro, MoonUISelectPro, MoonUISelectSeparatorPro, MoonUISelectTriggerPro, MoonUISelectValuePro, SelectableVirtualList as MoonUISelectableVirtualListPro, MoonUISeparatorPro, ServerMonitorWidget as MoonUIServerMonitorWidget, Sidebar as MoonUISidebarPro, MoonUISkeletonPro, MoonUISliderPro, MoonUISpotlightCardPro, SwipeableCard as MoonUISwipeableCardPro, MoonUISwitchPro, MoonUITableBodyPro, MoonUITableCaptionPro, MoonUITableCellPro, MoonUITableFooterPro, MoonUITableHeadPro, MoonUITableHeaderPro, MoonUITablePro, MoonUITableRowPro, MoonUITabsContentPro, MoonUITabsPro as MoonUITabsEnhanced, MoonUITabsListPro, MoonUITabsPro, MoonUITabsTriggerPro, MoonUITextareaPro, Timeline as MoonUITimelinePro, MoonUIToastPro, MoonUITogglePro, MoonUITooltipContentPro, MoonUITooltipPro, MoonUITooltipProviderPro, MoonUITooltipTriggerPro, VirtualList as MoonUIVirtualListPro, WidgetBase as MoonUIWidgetBase, MoonUIalertVariantsPro, MoonUIaspectRatioVariantsPro, MoonUIbreadcrumbVariantsPro, collapsibleContentVariants as MoonUIcollapsibleContentVariantsPro, collapsibleTriggerVariants as MoonUIcollapsibleTriggerVariantsPro, MoonUIradioGroupItemVariantsPro, MoonUItableVariantsPro, MoonUItoggleVariantsPro, MorphingText, MouseTrail, Navbar, NavigationMenu2 as NavigationMenu, NavigationMenuContent2 as NavigationMenuContent, NavigationMenuIndicator2 as NavigationMenuIndicator, NavigationMenuItem2 as NavigationMenuItem, NavigationMenuLink2 as NavigationMenuLink, NavigationMenuList2 as NavigationMenuList, NavigationMenuTrigger2 as NavigationMenuTrigger, NavigationMenuViewport2 as NavigationMenuViewport, NeonEffect, NumberTicker, OpenAIProvider, OptimizedImage, MoonUIPaginationPro as Pagination, MoonUIPaginationContentPro as PaginationContent, MoonUIPaginationEllipsisPro as PaginationEllipsis, MoonUIPaginationItemPro as PaginationItem, MoonUIPaginationLinkPro as PaginationLink, MoonUIPaginationNextPro as PaginationNext, MoonUIPaginationPreviousPro as PaginationPrevious, ParallaxScroll, Particles, PathAnimations, PerformanceDebugger, PerformanceMonitor, PhoneNumberInput, PinchZoom, MoonUIPopoverPro as Popover, MoonUIPopoverContentPro as PopoverContent, MoonUIPopoverTriggerPro as PopoverTrigger, ProLockScreen, MoonUIProgressPro as Progress, QuizForm, MoonUIRadioGroupPro as RadioGroup, MoonUIRadioGroupContextPro as RadioGroupContext, MoonUIRadioGroupItemPro as RadioGroupItem, MoonUIRadioItemWithLabelPro as RadioItemWithLabel, MoonUIRadioLabelPro as RadioLabel, RealTimePerformanceMonitor, RevealCard, RevealCards, RevenueWidget, RichTextEditor, Ripple, spotlightPresets as SPOTLIGHT_PRESETS, SVGAnimations, ScrambledText, ScrollArea, ScrollBar, ScrollReveal, MoonUISelectPro as Select, MoonUISelectContentPro as SelectContent, MoonUISelectGroupPro as SelectGroup, MoonUISelectItemPro as SelectItem, MoonUISelectLabelPro as SelectLabel, MoonUISelectSeparatorPro as SelectSeparator, MoonUISelectTriggerPro as SelectTrigger, MoonUISelectValuePro as SelectValue, SelectableVirtualList, MoonUISeparatorPro as Separator, ServerMonitorWidget, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Shimmer, ShinyText, Sidebar, SimpleLightbox, MoonUISkeletonPro as Skeleton, MoonUISliderPro as Slider, Sparkles36 as Sparkles, SplashCursor, SplashCursorContainer, Spotlight, SpringPhysics, Starfield, SubscriptionProvider, SwipeActions, SwipeableCard, MoonUISwitchPro as Switch, MoonUITablePro as Table, MoonUITableBodyPro as TableBody, MoonUITableCaptionPro as TableCaption, MoonUITableCellPro as TableCell, MoonUITableFooterPro as TableFooter, MoonUITableHeadPro as TableHead, MoonUITableHeaderPro as TableHeader, MoonUITableRowPro as TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Text3D, TextReveal, MoonUITextareaPro as Textarea, Timeline, MoonUIToastPro as Toast, MoonUITogglePro as Toggle, MoonUITooltipPro as Tooltip, MoonUITooltipContentPro as TooltipContent, MoonUITooltipProviderPro as TooltipProvider, MoonUITooltipTriggerPro as TooltipTrigger, TouchGestures, TypewriterText, VirtualList, Waves, WavyText, WidgetBase, WordRotate, MoonUIalertVariantsPro as alertVariants, MoonUIaspectRatioVariantsPro as aspectRatioVariants, moonUIBadgeVariantsPro as badgeVariants, MoonUIbreadcrumbVariantsPro as breadcrumbVariants, moonUIButtonProVariants as buttonVariants, clearAuth, clearAuth as clearAuthV2, cn, codeSnippetsPresets, collapsibleContentVariants, collapsibleTriggerVariants, commandVariantsPro, createAIProvider, forceRefresh, forceRefresh as forceRefreshV2, galleryItemVariants, galleryVariants, getExpandableColumn, hoverCard3DVariants, magneticButtonVariants, moonUIAnimatedButtonProVariants, badgeVariants as moonUIAvatarBadgeVariants, avatarVariants as moonUIAvatarProVariants, statusVariants as moonUIAvatarStatusVariants, moonUIBadgeVariantsPro, moonUIButtonProVariants, gestureDrawerVariants as moonUIGestureDrawerProVariants, magneticButtonVariants as moonUIMagneticButtonVariantsPro, moonUISeparatorVariantsPro, navigationMenuTriggerStyle, countries as phoneCountries, MoonUIradioGroupItemVariantsPro as radioGroupItemVariants, moonUISeparatorVariantsPro as separatorVariants, spotlightPresets, MoonUItableVariantsPro as tableVariants, MoonUItoggleVariantsPro as toggleVariants, useAccordionAnalytics, useCollapsibleAnalytics, useExpandableRows, useFormWizard, useMoonUIAuth, useStreamingData, useSubscription, useSubscriptionContext, useSubscription as useSubscriptionV2, useVirtualList };
|
|
100890
|
+
export { MoonUIAccordionPro as Accordion, MoonUIAccordionContentPro as AccordionContent, MoonUIAccordionItemPro as AccordionItem, MoonUIAccordionTriggerPro as AccordionTrigger, Calendar3 as AdvancedCalendar, AdvancedChart, AdvancedForms, MoonUIAlertPro as Alert, MoonUIAlertDescriptionPro as AlertDescription, AlertDialog2 as AlertDialog, AlertDialogAction2 as AlertDialogAction, AlertDialogCancel2 as AlertDialogCancel, AlertDialogContent2 as AlertDialogContent, AlertDialogDescription2 as AlertDialogDescription, AlertDialogFooter, AlertDialogHeader, AlertDialogOverlay2 as AlertDialogOverlay, AlertDialogPortal2 as AlertDialogPortal, AlertDialogTitle2 as AlertDialogTitle, AlertDialogTrigger2 as AlertDialogTrigger, MoonUIAlertTitlePro as AlertTitle, MoonUIAnimatedListPro as AnimatedList, AnimatedNumber, MoonUIAspectRatioPro as AspectRatio, AuroraBackground, MoonUIAvatarPro as Avatar, MoonUIAvatarFallbackPro as AvatarFallback, MoonUIAvatarImagePro as AvatarImage, MoonUIBadgePro as Badge, BentoGrid, BentoGridItem, BlurFade, BounceEffect, MoonUIBreadcrumbPro as Breadcrumb, MoonUIBreadcrumbEllipsisPro as BreadcrumbEllipsis, MoonUIBreadcrumbItemPro as BreadcrumbItem, MoonUIBreadcrumbLinkPro as BreadcrumbLink, MoonUIBreadcrumbListPro as BreadcrumbList, MoonUIBreadcrumbPagePro as BreadcrumbPage, MoonUIBreadcrumbSeparatorPro as BreadcrumbSeparator, BubbleBackground, MoonUIButtonPro as Button, Calendar, Calendar3 as CalendarPro, MoonUICardPro as Card, MoonUICardContentPro as CardContent, MoonUICardDescriptionPro as CardDescription, MoonUICardFooterPro as CardFooter, MoonUICardHeaderPro as CardHeader, MoonUICardTitlePro as CardTitle, ChartWidget2 as ChartWidget, MoonUICheckboxPro as Checkbox, ClaudeProvider, ClickAnimations, CodeSnippets, MoonUICollapsiblePro as Collapsible, MoonUICollapsibleContentPro as CollapsibleContent, MoonUICollapsibleTriggerPro as CollapsibleTrigger, MoonUIColorPickerPro as ColorPicker, MoonUICommandPro as Command, MoonUICommandDialogPro as CommandDialog, MoonUICommandEmptyPro as CommandEmpty, MoonUICommandGroupPro as CommandGroup, MoonUICommandInputPro as CommandInput, MoonUICommandItemPro as CommandItem, MoonUICommandListPro as CommandList, MoonUICommandSeparatorPro as CommandSeparator, MoonUICommandShortcutPro as CommandShortcut, Confetti, ConfettiButton, CursorTrail, Dashboard, DataTable, MoonUIDialogPro as Dialog, MoonUIDialogClosePro as DialogClose, MoonUIDialogContentPro as DialogContent, MoonUIDialogDescriptionPro as DialogDescription, MoonUIDialogFooterPro as DialogFooter, MoonUIDialogHeaderPro as DialogHeader, MoonUIDialogTitlePro as DialogTitle, MoonUIDialogTriggerPro as DialogTrigger, DocsProProvider, DotPattern, DraggableList, MoonUIDropdownMenuPro as DropdownMenu, MoonUIDropdownMenuCheckboxItemPro as DropdownMenuCheckboxItem, MoonUIDropdownMenuContentPro as DropdownMenuContent, MoonUIDropdownMenuGroupPro as DropdownMenuGroup, MoonUIDropdownMenuItemPro as DropdownMenuItem, MoonUIDropdownMenuLabelPro as DropdownMenuLabel, MoonUIDropdownMenuPortalPro as DropdownMenuPortal, MoonUIDropdownMenuRadioGroupPro as DropdownMenuRadioGroup, MoonUIDropdownMenuRadioItemPro as DropdownMenuRadioItem, MoonUIDropdownMenuSeparatorPro as DropdownMenuSeparator, MoonUIDropdownMenuShortcutPro as DropdownMenuShortcut, MoonUIDropdownMenuSubPro as DropdownMenuSub, MoonUIDropdownMenuSubContentPro as DropdownMenuSubContent, MoonUIDropdownMenuSubTriggerPro as DropdownMenuSubTrigger, MoonUIDropdownMenuTriggerPro as DropdownMenuTrigger, ElasticAnimation, ErrorBoundary, FadeTransitions, FlipText, FloatingActionButton, FloatingDock, FloatingElements, FocusTransitions, FormWizard, FormWizardNavigation, FormWizardProgress, FormWizardStep, FunnelWidget, MoonUIGalleryItemPro as GalleryItem, GaugeWidget, GeminiProvider, GeometricPatterns, GestureDrawer, GitHubStars, GlitchBackground, GlitchText, GlowCard, GlowEffect, GradientFlow, GradientText, GridDistortion, GridPattern, HealthCheck, HoverCard2 as HoverCard, HoverCard3D, HoverCardContent2 as HoverCardContent, HoverCardTrigger2 as HoverCardTrigger, MoonUIInputPro as Input, KPIWidget, Kanban, LANGUAGE_COLORS, MoonUILabelPro as Label, LazyComponent, LazyImage, LazyList, LightboxContent, LightboxProvider, LightboxTrigger, LiquidBackground, MagneticButton, MagneticElements, Marquee, MatrixRain, MoonUIMediaGalleryPro as MediaGallery, MemoryAnalytics, MemoryEfficientData, MeshGradient, Meteors, MoonUIAccordionContentPro, MoonUIAccordionItemPro, MoonUIAccordionPro, MoonUIAccordionTriggerPro, MoonUIAdvancedChartPro, MoonUIAlertDescriptionPro, AlertDialogAction2 as MoonUIAlertDialogActionPro, AlertDialogCancel2 as MoonUIAlertDialogCancelPro, AlertDialogContent2 as MoonUIAlertDialogContentPro, AlertDialogDescription2 as MoonUIAlertDialogDescriptionPro, AlertDialogFooter as MoonUIAlertDialogFooterPro, AlertDialogHeader as MoonUIAlertDialogHeaderPro, AlertDialogOverlay2 as MoonUIAlertDialogOverlayPro, AlertDialogPortal2 as MoonUIAlertDialogPortalPro, AlertDialog2 as MoonUIAlertDialogPro, AlertDialogTitle2 as MoonUIAlertDialogTitlePro, AlertDialogTrigger2 as MoonUIAlertDialogTriggerPro, MoonUIAlertPro, MoonUIAlertTitlePro, MoonUIAnimatedButtonPro, MoonUIAnimatedListPro, MoonUIAspectRatioPro, MoonUIAsyncAvatarPro, MoonUIAuthProvider, MoonUIAvatarFallbackPro, MoonUIAvatarGroupPro2 as MoonUIAvatarGroupPro, MoonUIAvatarImagePro, MoonUIAvatarPro2 as MoonUIAvatarPro, MoonUIBadgePro, BounceEffect as MoonUIBounceEffectPro, MoonUIBreadcrumbEllipsisPro, MoonUIBreadcrumbItemPro, MoonUIBreadcrumbLinkPro, MoonUIBreadcrumbListPro, MoonUIBreadcrumbPagePro, MoonUIBreadcrumbPro, MoonUIBreadcrumbSeparatorPro, MoonUIButtonPro, Calendar3 as MoonUICalendarPro, MoonUICardContentPro, MoonUICardDescriptionPro, MoonUICardFooterPro, MoonUICardHeaderPro, MoonUICardPro, MoonUICardTitlePro, ChartWidget2 as MoonUIChartWidget, MoonUICheckboxPro, ClickAnimations as MoonUIClickAnimationsPro, MoonUICollapsibleContentPro, MoonUICollapsiblePro, MoonUICollapsibleTriggerPro, MoonUIColorPickerPro, MoonUICommandDialogPro, MoonUICommandEmptyPro, MoonUICommandGroupPro, MoonUICommandInputPro, MoonUICommandItemPro, MoonUICommandListPro, MoonUICommandPro, MoonUICommandSeparatorPro, MoonUICommandShortcutPro, MoonUICreditCardInputPro, Dashboard as MoonUIDashboardPro, MoonUIDataTable, DataTable as MoonUIDataTablePro, MoonUIDialogClosePro, MoonUIDialogContentPro, MoonUIDialogDescriptionPro, MoonUIDialogFooterPro, MoonUIDialogHeaderPro, MoonUIDialogPro, MoonUIDialogTitlePro, MoonUIDialogTriggerPro, DraggableList as MoonUIDraggableListPro, MoonUIDropdownMenuCheckboxItemPro, MoonUIDropdownMenuContentPro, MoonUIDropdownMenuGroupPro, MoonUIDropdownMenuItemPro, MoonUIDropdownMenuLabelPro, MoonUIDropdownMenuPortalPro, MoonUIDropdownMenuPro, MoonUIDropdownMenuRadioGroupPro, MoonUIDropdownMenuRadioItemPro, MoonUIDropdownMenuSeparatorPro, MoonUIDropdownMenuShortcutPro, MoonUIDropdownMenuSubContentPro, MoonUIDropdownMenuSubPro, MoonUIDropdownMenuSubTriggerPro, MoonUIDropdownMenuTriggerPro, ElasticAnimation as MoonUIElasticAnimationPro, FadeTransitions as MoonUIFadeTransitionsPro, file_upload_default as MoonUIFileUploadPro, FocusTransitions as MoonUIFocusTransitionsPro, MoonUIFormWizardPro, FunnelWidget as MoonUIFunnelWidget, MoonUIGalleryItemPro, GaugeWidget as MoonUIGaugeWidget, MoonUIGestureDrawerPro, GlowEffect as MoonUIGlowEffectPro, MoonUIInputPro, KPIWidget as MoonUIKPIWidget, MoonUIKanbanPro, MoonUILabelPro, LightboxContent as MoonUILightboxContentPro, SimpleLightbox as MoonUILightboxPro, LightboxProvider as MoonUILightboxProviderPro, LightboxTrigger as MoonUILightboxTriggerPro, MagneticButton as MoonUIMagneticButtonPro, MoonUIMediaGalleryPro, MoonUIMemoryEfficientDataPro, Navbar as MoonUINavbarPro, MoonUIPaginationContentPro, MoonUIPaginationEllipsisPro, MoonUIPaginationItemPro, MoonUIPaginationLinkPro, MoonUIPaginationNextPro, MoonUIPaginationPreviousPro, MoonUIPaginationPro, PathAnimations as MoonUIPathAnimationsPro, PhoneNumberInput as MoonUIPhoneNumberInputPro, MoonUIPhoneNumberInputSimple, MoonUIPopoverContentPro, MoonUIPopoverPro, MoonUIPopoverTriggerPro, MoonUIProgressPro, MoonUIQuizFormPro2 as MoonUIQuizFormPro, MoonUIRadioGroupContextPro, MoonUIRadioGroupItemPro, MoonUIRadioGroupPro, MoonUIRadioItemWithLabelPro, MoonUIRadioLabelPro, RevenueWidget as MoonUIRevenueWidget, RichTextEditor as MoonUIRichTextEditorPro, SVGAnimations as MoonUISVGAnimationsPro, MoonUISelectContentPro, MoonUISelectGroupPro, MoonUISelectItemPro, MoonUISelectLabelPro, MoonUISelectPro, MoonUISelectSeparatorPro, MoonUISelectTriggerPro, MoonUISelectValuePro, SelectableVirtualList as MoonUISelectableVirtualListPro, MoonUISeparatorPro, ServerMonitorWidget as MoonUIServerMonitorWidget, Sidebar as MoonUISidebarPro, MoonUISkeletonPro, MoonUISliderPro, MoonUISpotlightCardPro, SwipeActions as MoonUISwipeActionsPro, SwipeableCard as MoonUISwipeableCardPro, MoonUISwitchPro, MoonUITableBodyPro, MoonUITableCaptionPro, MoonUITableCellPro, MoonUITableFooterPro, MoonUITableHeadPro, MoonUITableHeaderPro, MoonUITablePro, MoonUITableRowPro, MoonUITabsContentPro, MoonUITabsPro as MoonUITabsEnhanced, MoonUITabsListPro, MoonUITabsPro, MoonUITabsTriggerPro, MoonUITextareaPro, Timeline as MoonUITimelinePro, MoonUIToastPro, MoonUITogglePro, MoonUITooltipContentPro, MoonUITooltipPro, MoonUITooltipProviderPro, MoonUITooltipTriggerPro, TouchGestures as MoonUITouchGesturesPro, VirtualList as MoonUIVirtualListPro, WidgetBase as MoonUIWidgetBase, MoonUIalertVariantsPro, MoonUIaspectRatioVariantsPro, MoonUIbreadcrumbVariantsPro, collapsibleContentVariants as MoonUIcollapsibleContentVariantsPro, collapsibleTriggerVariants as MoonUIcollapsibleTriggerVariantsPro, MoonUIradioGroupItemVariantsPro, MoonUItableVariantsPro, MoonUItoggleVariantsPro, MorphingText, MouseTrail, Navbar, NavigationMenu2 as NavigationMenu, NavigationMenuContent2 as NavigationMenuContent, NavigationMenuIndicator2 as NavigationMenuIndicator, NavigationMenuItem2 as NavigationMenuItem, NavigationMenuLink2 as NavigationMenuLink, NavigationMenuList2 as NavigationMenuList, NavigationMenuTrigger2 as NavigationMenuTrigger, NavigationMenuViewport2 as NavigationMenuViewport, NeonEffect, NumberTicker, OpenAIProvider, OptimizedImage, MoonUIPaginationPro as Pagination, MoonUIPaginationContentPro as PaginationContent, MoonUIPaginationEllipsisPro as PaginationEllipsis, MoonUIPaginationItemPro as PaginationItem, MoonUIPaginationLinkPro as PaginationLink, MoonUIPaginationNextPro as PaginationNext, MoonUIPaginationPreviousPro as PaginationPrevious, ParallaxScroll, Particles, PathAnimations, PerformanceDebugger, PerformanceMonitor, PhoneNumberInput, PinchZoom, MoonUIPopoverPro as Popover, MoonUIPopoverContentPro as PopoverContent, MoonUIPopoverTriggerPro as PopoverTrigger, ProLockScreen, MoonUIProgressPro as Progress, QuizForm, MoonUIRadioGroupPro as RadioGroup, MoonUIRadioGroupContextPro as RadioGroupContext, MoonUIRadioGroupItemPro as RadioGroupItem, MoonUIRadioItemWithLabelPro as RadioItemWithLabel, MoonUIRadioLabelPro as RadioLabel, RealTimePerformanceMonitor, RevealCard, RevealCards, RevenueWidget, RichTextEditor, Ripple, spotlightPresets as SPOTLIGHT_PRESETS, SVGAnimations, ScrambledText, ScrollArea, ScrollBar, ScrollReveal, MoonUISelectPro as Select, MoonUISelectContentPro as SelectContent, MoonUISelectGroupPro as SelectGroup, MoonUISelectItemPro as SelectItem, MoonUISelectLabelPro as SelectLabel, MoonUISelectSeparatorPro as SelectSeparator, MoonUISelectTriggerPro as SelectTrigger, MoonUISelectValuePro as SelectValue, SelectableVirtualList, MoonUISeparatorPro as Separator, ServerMonitorWidget, Sheet, SheetClose, SheetContent, SheetDescription, SheetFooter, SheetHeader, SheetOverlay, SheetPortal, SheetTitle, SheetTrigger, Shimmer, ShinyText, Sidebar, SimpleLightbox, MoonUISkeletonPro as Skeleton, MoonUISliderPro as Slider, Sparkles36 as Sparkles, SplashCursor, SplashCursorContainer, Spotlight, Starfield, SubscriptionProvider, SwipeActions, SwipeableCard, MoonUISwitchPro as Switch, MoonUITablePro as Table, MoonUITableBodyPro as TableBody, MoonUITableCaptionPro as TableCaption, MoonUITableCellPro as TableCell, MoonUITableFooterPro as TableFooter, MoonUITableHeadPro as TableHead, MoonUITableHeaderPro as TableHeader, MoonUITableRowPro as TableRow, Tabs, TabsContent, TabsList, TabsTrigger, Text3D, TextReveal, MoonUITextareaPro as Textarea, Timeline, MoonUIToastPro as Toast, MoonUITogglePro as Toggle, MoonUITooltipPro as Tooltip, MoonUITooltipContentPro as TooltipContent, MoonUITooltipProviderPro as TooltipProvider, MoonUITooltipTriggerPro as TooltipTrigger, TouchGestures, TypewriterText, VirtualList, Waves, WavyText, WidgetBase, WordRotate, MoonUIalertVariantsPro as alertVariants, MoonUIaspectRatioVariantsPro as aspectRatioVariants, moonUIBadgeVariantsPro as badgeVariants, MoonUIbreadcrumbVariantsPro as breadcrumbVariants, moonUIButtonProVariants as buttonVariants, clearAuth, clearAuth as clearAuthV2, cn, codeSnippetsPresets, collapsibleContentVariants, collapsibleTriggerVariants, commandVariantsPro, createAIProvider, forceRefresh, forceRefresh as forceRefreshV2, galleryItemVariants, galleryVariants, getExpandableColumn, hoverCard3DVariants, magneticButtonVariants, moonUIAnimatedButtonProVariants, badgeVariants as moonUIAvatarBadgeVariants, avatarVariants as moonUIAvatarProVariants, statusVariants as moonUIAvatarStatusVariants, moonUIBadgeVariantsPro, moonUIButtonProVariants, gestureDrawerVariants as moonUIGestureDrawerProVariants, magneticButtonVariants as moonUIMagneticButtonVariantsPro, moonUISeparatorVariantsPro, navigationMenuTriggerStyle, countries as phoneCountries, MoonUIradioGroupItemVariantsPro as radioGroupItemVariants, moonUISeparatorVariantsPro as separatorVariants, spotlightPresets, MoonUItableVariantsPro as tableVariants, MoonUItoggleVariantsPro as toggleVariants, useAccordionAnalytics, useCollapsibleAnalytics, useExpandableRows, useFormWizard, useMoonUIAuth, useStreamingData, useSubscription, useSubscriptionContext, useSubscription as useSubscriptionV2, useVirtualList };
|