@emekaugbanu/trigr 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +384 -0
- package/dist/animations-DhYFMdig.d.mts +63 -0
- package/dist/animations-DhYFMdig.d.ts +63 -0
- package/dist/block/animations.cjs +2 -0
- package/dist/block/animations.cjs.map +1 -0
- package/dist/block/animations.d.mts +13 -0
- package/dist/block/animations.d.ts +13 -0
- package/dist/block/animations.js +2 -0
- package/dist/block/animations.js.map +1 -0
- package/dist/block/index.cjs +11 -0
- package/dist/block/index.cjs.map +1 -0
- package/dist/block/index.d.mts +22 -0
- package/dist/block/index.d.ts +22 -0
- package/dist/block/index.js +11 -0
- package/dist/block/index.js.map +1 -0
- package/dist/list/animations.cjs +2 -0
- package/dist/list/animations.cjs.map +1 -0
- package/dist/list/animations.d.mts +13 -0
- package/dist/list/animations.d.ts +13 -0
- package/dist/list/animations.js +2 -0
- package/dist/list/animations.js.map +1 -0
- package/dist/list/index.cjs +2 -0
- package/dist/list/index.cjs.map +1 -0
- package/dist/list/index.d.mts +10 -0
- package/dist/list/index.d.ts +10 -0
- package/dist/list/index.js +2 -0
- package/dist/list/index.js.map +1 -0
- package/dist/paragraph/animations.cjs +2 -0
- package/dist/paragraph/animations.cjs.map +1 -0
- package/dist/paragraph/animations.d.mts +2 -0
- package/dist/paragraph/animations.d.ts +2 -0
- package/dist/paragraph/animations.js +2 -0
- package/dist/paragraph/animations.js.map +1 -0
- package/dist/paragraph/index.cjs +3 -0
- package/dist/paragraph/index.cjs.map +1 -0
- package/dist/paragraph/index.d.mts +10 -0
- package/dist/paragraph/index.d.ts +10 -0
- package/dist/paragraph/index.js +3 -0
- package/dist/paragraph/index.js.map +1 -0
- package/dist/text/animations.cjs +2 -0
- package/dist/text/animations.cjs.map +1 -0
- package/dist/text/animations.d.mts +12 -0
- package/dist/text/animations.d.ts +12 -0
- package/dist/text/animations.js +2 -0
- package/dist/text/animations.js.map +1 -0
- package/dist/text/index.cjs +3 -0
- package/dist/text/index.cjs.map +1 -0
- package/dist/text/index.d.mts +10 -0
- package/dist/text/index.d.ts +10 -0
- package/dist/text/index.js +3 -0
- package/dist/text/index.js.map +1 -0
- package/dist/types-BuLn_v48.d.mts +59 -0
- package/dist/types-BuLn_v48.d.ts +59 -0
- package/dist/types-BuzDNWZT.d.mts +62 -0
- package/dist/types-BuzDNWZT.d.ts +62 -0
- package/dist/types-C3sFNX1j.d.mts +77 -0
- package/dist/types-C3sFNX1j.d.ts +77 -0
- package/package.json +98 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../../src/block/animations.ts","../../src/block/parallax.tsx","../../src/block/index.tsx"],"names":["EASE_IN","SPRING","SMOOTH","presetCategory","presets","getScrollRoot","el","parent","style","Parallax","children","type","_strength","className","containerRef","useRef","items","Children","count","strength","useEffect","_a","_b","container","mm","ticking","scrollRoot","measureViewport","update","top","viewH","rect","progress","i","frame","child","relative","depth","transform","focus","scale","onScroll","onResize","h","target","jsx","warned","prefersReducedMotion","finishWillChange","validDuration","value","fallback","n","effectiveDuration","duration","d","cancelElementAnimations","animation","scrollObserverOptions","threshold","root","rootHeight","clamped","inset","scrollCenterOffset","rootRect","viewTop","viewHeight","viewCenter","HOVER_STATE_CSS","CONTINUOUS_KEYFRAMES","hasScale","kf","k","t","hasScaleY","applyInitialState","keyframes","first","applyFinalState","last","hadOpacity","hadFilter","rebaseBlockKeyframes","options","distance","blur","rotate","f","_","val","axis","runAnimation","onEnd","presetOptions","prevTransition","rebased","usesScale","usesScaleY","prevOrigin","opacity","anim","cleanup","setStyles","styles","key","clearStyles","runPropertyAnimation","properties","from","to","property","pair","spawnOverlay","preset","x","y","px","py","prevPosition","prevOverflow","overlayColor","pending","done","size","dot","dotAnim","angle","particle","dx","dy","pa","AnimateBlock","forwardRef","triggersProp","trigger","baseAnimation","scrollAnimation","exitAnimation","show","unmountOnExit","easing","delay","speed","repeat","once","as","onClick","onEnter","onExit","onHoverStart","onHoverEnd","onAnimationEndProp","drag","dragThreshold","dragElastic","dragSnapBackDuration","onDragEnd","layoutId","layoutTransition","forwardedRef","_c","_d","_e","_f","_g","ref","animRef","propertyAnimRef","rafRef","runTimerRef","prevValueRef","hoverApplied","hoverAnimRef","runningRef","queueRef","runIdRef","currentRun","setCurrentRun","useState","phase","setPhase","exitAnimRef","exitKeyRef","mountPlayedRef","scrollTriggeredRef","dragStartRef","dragOffsetRef","dragVelocityRef","dragLastPosRef","dragMovedRef","dragSuppressClickRef","layoutSnapshotRef","shouldObserveOnce","dragEnabled","dragX","dragY","dragThresholdPx","dragElasticVal","dragSnapBackMs","triggerConfigs","useMemo","tc","s","triggerSources","hasTrigger","useCallback","source","activeTrigger","activeConfig","cat","animationRef","scrollConfig","scrollThreshold","getAnimationFor","cfg","finishRun","next","requestRun","play","presetName","name","motionDuration","category","savedHoverStyles","hoverStyleDef","restoreHover","loopDuration","def","animate","useImperativeHandle","useLayoutEffect","prevRect","nextRect","deltaX","deltaY","scaleX","scaleY","savedHover","prevWillChange","a","onTransitionEnd","scrollName","scrollCat","observer","entry","previous","color","exitCat","onExitEnd","hoverName","previousTransform","previousTransition","onMove","e","onLeave","prevUserSelect","prevTouchAction","snapBack","ox","oy","dismissElement","dirX","dirY","dismissX","dismissY","handlePointerDown","handlePointerMove","dist","now","dt","elastic","factorX","factorY","offsetX","offsetY","handlePointerUp","handlePointerCancel","previousTransformOrigin","scrollTarget","idleTimer","clearIdleTimer","resetWillChange","offset","intensity","handleClick","event","clickAnimation","c","handleMouseEnter","hoverAnimation","transitionDuration","handleMouseLeave","clickCategory","hoverCategory","createElement","Animate","block_default"],"mappings":"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","file":"index.cjs","sourcesContent":["import type { BlockAnimationPreset, AnimationDefinition, PresetCategory } from \"./types\"\n\nexport const EASE_IN = \"cubic-bezier(0.0, 0.0, 0.2, 1)\"\nexport const EASE_OUT = \"cubic-bezier(0.4, 0.0, 1, 1)\"\nexport const EASE_IN_OUT = \"cubic-bezier(0.4, 0.0, 0.2, 1)\"\nexport const SPRING = \"cubic-bezier(0.34, 1.56, 0.64, 1)\"\nexport const SNAPPY = \"cubic-bezier(0.2, 0, 0, 1)\"\nexport const SMOOTH = \"cubic-bezier(0.22, 1, 0.36, 1)\"\n\nexport const presetCategory: Record<string, PresetCategory> = {\n fadeIn: \"oneshot\", fadeOut: \"oneshot\", fadeSwap: \"oneshot\",\n slideUp: \"oneshot\", slideDown: \"oneshot\", slideLeft: \"oneshot\", slideRight: \"oneshot\",\n scaleIn: \"oneshot\", scaleOut: \"oneshot\", popIn: \"oneshot\", popOut: \"oneshot\",\n rotateIn: \"oneshot\", rotateOut: \"oneshot\", flipX: \"oneshot\", flipY: \"oneshot\",\n bounceIn: \"oneshot\", bounceOut: \"oneshot\",\n shake: \"oneshot\", wiggle: \"oneshot\", jello: \"oneshot\", flash: \"oneshot\", heartBeat: \"oneshot\",\n glideIn: \"oneshot\", glideOut: \"oneshot\", dropIn: \"oneshot\", riseUp: \"oneshot\",\n expandIn: \"oneshot\", collapseOut: \"oneshot\", expandHeight: \"oneshot\", fadeSlideUp: \"oneshot\",\n blurIn: \"oneshot\", blurOut: \"oneshot\",\n clipUp: \"oneshot\", clipLeft: \"oneshot\",\n zoomIn: \"oneshot\", zoomOut: \"oneshot\",\n springBounce: \"oneshot\", springScale: \"oneshot\", springSlideUp: \"oneshot\", springSlideDown: \"oneshot\",\n morphRadius: \"oneshot\", morphCircle: \"oneshot\",\n press: \"hoverState\",\n parallax: \"scrollLink\", parallaxFast: \"scrollLink\", parallaxReverse: \"scrollLink\",\n tiltScroll: \"scrollLink\", scaleScroll: \"scrollLink\",\n lift: \"hoverState\", sink: \"hoverState\", grow: \"hoverState\",\n glow: \"hoverState\", shadow: \"hoverState\", borderPop: \"hoverState\",\n tilt: \"cursorTrack\", tilt3D: \"cursorTrack\", rotate3D: \"cursorTrack\", depth: \"cursorTrack\",\n float: \"continuous\",\n pulse: \"continuous\",\n spin: \"continuous\", ping: \"continuous\", shimmer: \"continuous\",\n ripple: \"overlay\", burst: \"overlay\",\n modalIn: \"oneshot\", modalOut: \"oneshot\",\n popoverIn: \"oneshot\", popoverOut: \"oneshot\",\n toastIn: \"oneshot\", toastOut: \"oneshot\",\n successCheckIn: \"oneshot\", buttonLoading: \"oneshot\",\n focusRingPulse: \"continuous\",\n tabPanelIn: \"oneshot\",\n tabPanelOut: \"oneshot\",\n successToast: \"oneshot\",\n checkboxCheck: \"oneshot\",\n dialogOut: \"oneshot\", drawerOutLeft: \"oneshot\", drawerOutRight: \"oneshot\", drawerOutTop: \"oneshot\", drawerOutBottom: \"oneshot\",\n menuOut: \"oneshot\", toastOutRight: \"oneshot\", toastOutUp: \"oneshot\", collapseWidth: \"oneshot\", dismissOut: \"oneshot\", errorOut: \"oneshot\", successOut: \"oneshot\",\n}\n\nexport const presets: Record<string, AnimationDefinition> = {\n fadeIn: {\n in: [{ opacity: 0, filter: \"blur(3px)\" }, { opacity: 1, filter: \"blur(0px)\" }],\n out: [{ opacity: 1, filter: \"blur(0px)\" }, { opacity: 0, filter: \"blur(3px)\" }],\n },\n fadeOut: {\n in: [{ opacity: 0, filter: \"blur(3px)\" }, { opacity: 1, filter: \"blur(0px)\" }],\n out: [{ opacity: 1, filter: \"blur(0px)\" }, { opacity: 0, filter: \"blur(3px)\" }],\n },\n fadeSwap: {\n in: [\n { opacity: 0, transform: \"translateY(12px)\", filter: \"blur(3px)\" },\n { opacity: 0.72, transform: \"translateY(2px)\", filter: \"blur(0.5px)\", offset: 0.58 },\n { opacity: 1, transform: \"translateY(0)\", filter: \"blur(0px)\" },\n ],\n out: [\n { opacity: 1, transform: \"translateY(0)\", filter: \"blur(0px)\" },\n { opacity: 0, transform: \"translateY(-12px)\", filter: \"blur(3px)\" },\n ],\n },\n slideUp: {\n in: [\n { opacity: 0, transform: \"translateY(28px)\", filter: \"blur(3px)\" },\n { opacity: 0.76, transform: \"translateY(6px)\", filter: \"blur(0.5px)\", offset: 0.62 },\n { opacity: 1, transform: \"translateY(0)\", filter: \"blur(0px)\" },\n ],\n out: [{ opacity: 1, transform: \"translateY(0)\", filter: \"blur(0px)\" }, { opacity: 0, transform: \"translateY(-24px)\", filter: \"blur(3px)\" }],\n },\n slideDown: {\n in: [\n { opacity: 0, transform: \"translateY(-28px)\", filter: \"blur(3px)\" },\n { opacity: 0.76, transform: \"translateY(-6px)\", filter: \"blur(0.5px)\", offset: 0.62 },\n { opacity: 1, transform: \"translateY(0)\", filter: \"blur(0px)\" },\n ],\n out: [{ opacity: 1, transform: \"translateY(0)\", filter: \"blur(0px)\" }, { opacity: 0, transform: \"translateY(24px)\", filter: \"blur(3px)\" }],\n },\n slideLeft: {\n in: [\n { opacity: 0, transform: \"translateX(-28px)\", filter: \"blur(3px)\" },\n { opacity: 0.76, transform: \"translateX(-6px)\", filter: \"blur(0.5px)\", offset: 0.62 },\n { opacity: 1, transform: \"translateX(0)\", filter: \"blur(0px)\" },\n ],\n out: [{ opacity: 1, transform: \"translateX(0)\", filter: \"blur(0px)\" }, { opacity: 0, transform: \"translateX(-24px)\", filter: \"blur(3px)\" }],\n },\n slideRight: {\n in: [\n { opacity: 0, transform: \"translateX(28px)\", filter: \"blur(3px)\" },\n { opacity: 0.76, transform: \"translateX(6px)\", filter: \"blur(0.5px)\", offset: 0.62 },\n { opacity: 1, transform: \"translateX(0)\", filter: \"blur(0px)\" },\n ],\n out: [{ opacity: 1, transform: \"translateX(0)\", filter: \"blur(0px)\" }, { opacity: 0, transform: \"translateX(24px)\", filter: \"blur(3px)\" }],\n },\n scaleIn: {\n in: [{ opacity: 0, transform: \"scale(0.88)\", filter: \"blur(2.5px)\" }, { opacity: 1, transform: \"scale(1)\", filter: \"blur(0px)\" }],\n out: [{ opacity: 1, transform: \"scale(1)\", filter: \"blur(0px)\" }, { opacity: 0, transform: \"scale(0.88)\", filter: \"blur(2.5px)\" }],\n },\n scaleOut: {\n in: [{ opacity: 0, transform: \"scale(0.88)\", filter: \"blur(2.5px)\" }, { opacity: 1, transform: \"scale(1)\", filter: \"blur(0px)\" }],\n out: [{ opacity: 1, transform: \"scale(1)\", filter: \"blur(0px)\" }, { opacity: 0, transform: \"scale(0.88)\", filter: \"blur(2.5px)\" }],\n },\n popIn: {\n in: [{ opacity: 0, transform: \"scale(0.9)\", filter: \"blur(2px)\" }, { opacity: 1, transform: \"scale(1.06)\", filter: \"blur(0px)\", offset: 0.58 }, { opacity: 1, transform: \"scale(1)\", filter: \"blur(0px)\" }],\n out: [{ opacity: 1, transform: \"scale(1)\", filter: \"blur(0px)\" }, { opacity: 0, transform: \"scale(0.9)\", filter: \"blur(2px)\" }],\n },\n popOut: {\n in: [{ opacity: 0, transform: \"scale(0.9)\", filter: \"blur(2px)\" }, { opacity: 1, transform: \"scale(1.06)\", filter: \"blur(0px)\", offset: 0.58 }, { opacity: 1, transform: \"scale(1)\", filter: \"blur(0px)\" }],\n out: [{ opacity: 1, transform: \"scale(1)\", filter: \"blur(0px)\" }, { opacity: 1, transform: \"scale(1.06)\", filter: \"blur(0px)\", offset: 0.4 }, { opacity: 0, transform: \"scale(0.9)\", filter: \"blur(2px)\" }],\n },\n rotateIn: {\n in: [{ opacity: 0, transform: \"rotate(-14deg) scale(0.88)\", filter: \"blur(3px)\" }, { opacity: 1, transform: \"rotate(0deg) scale(1)\", filter: \"blur(0px)\" }],\n out: [{ opacity: 1, transform: \"rotate(0deg) scale(1)\", filter: \"blur(0px)\" }, { opacity: 0, transform: \"rotate(14deg) scale(0.88)\", filter: \"blur(3px)\" }],\n },\n rotateOut: {\n in: [{ opacity: 0, transform: \"rotate(-14deg) scale(0.88)\", filter: \"blur(3px)\" }, { opacity: 1, transform: \"rotate(0deg) scale(1)\", filter: \"blur(0px)\" }],\n out: [{ opacity: 1, transform: \"rotate(0deg) scale(1)\", filter: \"blur(0px)\" }, { opacity: 0, transform: \"rotate(14deg) scale(0.88)\", filter: \"blur(3px)\" }],\n },\n flipX: {\n in: [{ opacity: 0, transform: \"perspective(800px) rotateX(-90deg)\" }, { opacity: 1, transform: \"perspective(800px) rotateX(0deg)\" }],\n out: [{ opacity: 1, transform: \"perspective(800px) rotateX(0deg)\" }, { opacity: 0, transform: \"perspective(800px) rotateX(90deg)\" }],\n },\n flipY: {\n in: [{ opacity: 0, transform: \"perspective(800px) rotateY(-90deg)\" }, { opacity: 1, transform: \"perspective(800px) rotateY(0deg)\" }],\n out: [{ opacity: 1, transform: \"perspective(800px) rotateY(0deg)\" }, { opacity: 0, transform: \"perspective(800px) rotateY(90deg)\" }],\n },\n bounceIn: {\n in: [{ opacity: 0, transform: \"scale(0.88)\", filter: \"blur(2px)\" }, { opacity: 1, transform: \"scale(1.07)\", filter: \"blur(0px)\", offset: 0.52 }, { opacity: 1, transform: \"scale(0.97)\", filter: \"blur(0px)\", offset: 0.74 }, { opacity: 1, transform: \"scale(1)\", filter: \"blur(0px)\" }],\n out: [{ opacity: 1, transform: \"scale(1)\", filter: \"blur(0px)\" }, { opacity: 0, transform: \"scale(0.88)\", filter: \"blur(2px)\" }],\n },\n bounceOut: {\n in: [{ opacity: 0, transform: \"scale(0.88)\", filter: \"blur(2px)\" }, { opacity: 1, transform: \"scale(1.07)\", filter: \"blur(0px)\", offset: 0.52 }, { opacity: 1, transform: \"scale(0.97)\", filter: \"blur(0px)\", offset: 0.74 }, { opacity: 1, transform: \"scale(1)\", filter: \"blur(0px)\" }],\n out: [{ opacity: 1, transform: \"scale(1)\", filter: \"blur(0px)\" }, { opacity: 1, transform: \"scale(1.06)\", filter: \"blur(0px)\", offset: 0.35 }, { opacity: 0, transform: \"scale(0.9)\", filter: \"blur(2px)\" }],\n },\n shake: {\n in: [\n { opacity: 0, transform: \"translateX(0)\" },\n { opacity: 1, transform: \"translateX(-7px)\", offset: 0.18 },\n { opacity: 1, transform: \"translateX(7px)\", offset: 0.36 },\n { opacity: 1, transform: \"translateX(-5px)\", offset: 0.56 },\n { opacity: 1, transform: \"translateX(3px)\", offset: 0.72 },\n { opacity: 1, transform: \"translateX(0)\" },\n ],\n out: [{ opacity: 1, transform: \"translateX(0)\" }, { opacity: 0, transform: \"translateX(-7px)\" }],\n },\n wiggle: {\n in: [\n { opacity: 0, transform: \"rotate(0deg)\" },\n { opacity: 1, transform: \"rotate(8deg)\", offset: 0.22 },\n { opacity: 1, transform: \"rotate(-6deg)\", offset: 0.44 },\n { opacity: 1, transform: \"rotate(4deg)\", offset: 0.66 },\n { opacity: 1, transform: \"rotate(-2deg)\", offset: 0.82 },\n { opacity: 1, transform: \"rotate(0deg)\" },\n ],\n out: [{ opacity: 1, transform: \"rotate(0deg)\" }, { opacity: 0, transform: \"rotate(8deg)\" }],\n },\n jello: {\n in: [\n { opacity: 0, transform: \"scale(1, 1)\" },\n { opacity: 1, transform: \"scale(1.06, 0.96)\", offset: 0.28 },\n { opacity: 1, transform: \"scale(0.97, 1.04)\", offset: 0.52 },\n { opacity: 1, transform: \"scale(1.02, 0.99)\", offset: 0.76 },\n { opacity: 1, transform: \"scale(1, 1)\" },\n ],\n out: [{ opacity: 1, transform: \"scale(1, 1)\" }, { opacity: 0, transform: \"scale(0.9, 0.9)\" }],\n },\n flash: {\n in: [\n { opacity: 0 },\n { opacity: 0.78, offset: 0.22 },\n { opacity: 1, offset: 0.44 },\n { opacity: 0.75, offset: 0.66 },\n { opacity: 1, offset: 0.84 },\n { opacity: 1 },\n ],\n out: [{ opacity: 1 }, { opacity: 0 }],\n },\n heartBeat: {\n in: [\n { opacity: 0, transform: \"scale(1)\" },\n { opacity: 1, transform: \"scale(1.12)\", offset: 0.2 },\n { opacity: 1, transform: \"scale(1)\", offset: 0.38 },\n { opacity: 1, transform: \"scale(1.12)\", offset: 0.56 },\n { opacity: 1, transform: \"scale(1)\", offset: 0.72 },\n { opacity: 1, transform: \"scale(1.06)\", offset: 0.86 },\n { opacity: 1, transform: \"scale(1)\" },\n ],\n out: [{ opacity: 1, transform: \"scale(1)\" }, { opacity: 0, transform: \"scale(0.85)\" }],\n },\n glideIn: {\n in: [\n { opacity: 0, transform: \"translateY(28px) scale(0.96)\", filter: \"blur(3px)\" },\n { opacity: 0.82, transform: \"translateY(4px) scale(0.995)\", filter: \"blur(0.5px)\", offset: 0.62 },\n { opacity: 1, transform: \"translateY(0) scale(1)\", filter: \"blur(0px)\" },\n ],\n out: [{ opacity: 1, transform: \"translateY(0) scale(1)\", filter: \"blur(0px)\" }, { opacity: 0, transform: \"translateY(-22px) scale(0.96)\", filter: \"blur(3px)\" }],\n },\n glideOut: {\n in: [\n { opacity: 0, transform: \"translateY(28px) scale(0.96)\", filter: \"blur(3px)\" },\n { opacity: 0.82, transform: \"translateY(4px) scale(0.995)\", filter: \"blur(0.5px)\", offset: 0.62 },\n { opacity: 1, transform: \"translateY(0) scale(1)\", filter: \"blur(0px)\" },\n ],\n out: [{ opacity: 1, transform: \"translateY(0) scale(1)\", filter: \"blur(0px)\" }, { opacity: 0, transform: \"translateY(-22px) scale(0.96)\", filter: \"blur(3px)\" }],\n },\n dropIn: {\n in: [{ opacity: 0, transform: \"translateY(-28px)\", filter: \"blur(4px)\" }, { opacity: 1, transform: \"translateY(3px)\", filter: \"blur(0px)\", offset: 0.68 }, { opacity: 1, transform: \"translateY(0)\", filter: \"blur(0px)\" }],\n out: [{ opacity: 1, transform: \"translateY(0)\", filter: \"blur(0px)\" }, { opacity: 0, transform: \"translateY(-28px)\", filter: \"blur(4px)\" }],\n },\n riseUp: {\n in: [{ opacity: 0, transform: \"translateY(28px)\", filter: \"blur(4px)\" }, { opacity: 1, transform: \"translateY(-3px)\", filter: \"blur(0px)\", offset: 0.68 }, { opacity: 1, transform: \"translateY(0)\", filter: \"blur(0px)\" }],\n out: [{ opacity: 1, transform: \"translateY(0)\", filter: \"blur(0px)\" }, { opacity: 0, transform: \"translateY(28px)\", filter: \"blur(4px)\" }],\n },\n expandIn: {\n in: [{ opacity: 0, transform: \"scaleX(0.86)\", filter: \"blur(2px)\" }, { opacity: 1, transform: \"scaleX(1)\", filter: \"blur(0px)\" }],\n out: [{ opacity: 1, transform: \"scaleX(1)\", filter: \"blur(0px)\" }, { opacity: 0, transform: \"scaleX(0.86)\", filter: \"blur(2px)\" }],\n },\n collapseOut: {\n in: [{ opacity: 0, transform: \"scaleX(0.86)\", filter: \"blur(2px)\" }, { opacity: 1, transform: \"scaleX(1)\", filter: \"blur(0px)\" }],\n out: [{ opacity: 1, transform: \"scaleX(1)\", filter: \"blur(0px)\" }, { opacity: 0, transform: \"scaleX(0.86)\", filter: \"blur(2px)\" }],\n },\n expandHeight: {\n in: [{ opacity: 0, transform: \"scaleY(0.5)\" }, { opacity: 1, transform: \"scaleY(1)\" }],\n out: [{ opacity: 1, transform: \"scaleY(1)\" }, { opacity: 0, transform: \"scaleY(0.5)\" }],\n },\n fadeSlideUp: {\n in: [{ opacity: 0, transform: \"translateY(20px)\", filter: \"blur(2.5px)\" }, { opacity: 1, transform: \"translateY(0)\", filter: \"blur(0px)\" }],\n out: [{ opacity: 1, transform: \"translateY(0)\", filter: \"blur(0px)\" }, { opacity: 0, transform: \"translateY(-20px)\", filter: \"blur(2.5px)\" }],\n },\n blurIn: {\n in: [{ opacity: 0, filter: \"blur(6px)\" }, { opacity: 1, filter: \"blur(0px)\" }],\n out: [{ opacity: 1, filter: \"blur(0px)\" }, { opacity: 0, filter: \"blur(6px)\" }],\n },\n blurOut: {\n in: [{ opacity: 0, filter: \"blur(6px)\" }, { opacity: 1, filter: \"blur(0px)\" }],\n out: [{ opacity: 1, filter: \"blur(0px)\" }, { opacity: 0, filter: \"blur(6px)\" }],\n },\n clipUp: {\n in: [\n { opacity: 0, transform: \"translateY(14px)\", clipPath: \"inset(100% 0 0 0)\", filter: \"blur(2px)\" },\n { opacity: 1, transform: \"translateY(0)\", clipPath: \"inset(0 0 0 0)\", filter: \"blur(0px)\" },\n ],\n out: [\n { opacity: 1, transform: \"translateY(0)\", clipPath: \"inset(0 0 0 0)\", filter: \"blur(0px)\" },\n { opacity: 0, transform: \"translateY(-10px)\", clipPath: \"inset(0 0 100% 0)\", filter: \"blur(2px)\" },\n ],\n },\n clipLeft: {\n in: [\n { opacity: 0, transform: \"translateX(14px)\", clipPath: \"inset(0 100% 0 0)\", filter: \"blur(2px)\" },\n { opacity: 1, transform: \"translateX(0)\", clipPath: \"inset(0 0 0 0)\", filter: \"blur(0px)\" },\n ],\n out: [\n { opacity: 1, transform: \"translateX(0)\", clipPath: \"inset(0 0 0 0)\", filter: \"blur(0px)\" },\n { opacity: 0, transform: \"translateX(-10px)\", clipPath: \"inset(0 0 0 100%)\", filter: \"blur(2px)\" },\n ],\n },\n zoomIn: {\n in: [{ opacity: 0, transform: \"scale(0.82)\", filter: \"blur(3px)\" }, { opacity: 1, transform: \"scale(1.03)\", filter: \"blur(0px)\", offset: 0.62 }, { opacity: 1, transform: \"scale(1)\", filter: \"blur(0px)\" }],\n out: [{ opacity: 1, transform: \"scale(1)\", filter: \"blur(0px)\" }, { opacity: 0, transform: \"scale(0.82)\", filter: \"blur(3px)\" }],\n },\n zoomOut: {\n in: [{ opacity: 0, transform: \"scale(1.12)\", filter: \"blur(3px)\" }, { opacity: 1, transform: \"scale(1)\", filter: \"blur(0px)\" }],\n out: [{ opacity: 1, transform: \"scale(1)\", filter: \"blur(0px)\" }, { opacity: 0, transform: \"scale(1.12)\", filter: \"blur(3px)\" }],\n },\n springBounce: {\n in: [\n { transform: \"scale(0.3)\", opacity: 0, filter: \"blur(4px)\" },\n { transform: \"scale(1.12)\", opacity: 1, filter: \"blur(0px)\", offset: 0.52 },\n { transform: \"scale(0.93)\", opacity: 1, filter: \"blur(0px)\", offset: 0.7 },\n { transform: \"scale(1.02)\", opacity: 1, filter: \"blur(0px)\", offset: 0.84 },\n { transform: \"scale(1)\", opacity: 1, filter: \"blur(0px)\" },\n ],\n out: [\n { transform: \"scale(1)\", opacity: 1, filter: \"blur(0px)\" },\n { transform: \"scale(1.08)\", opacity: 0.4, filter: \"blur(0px)\", offset: 0.28 },\n { transform: \"scale(0.3)\", opacity: 0, filter: \"blur(3px)\" },\n ],\n },\n springScale: {\n in: [\n { transform: \"scale(0.7)\", opacity: 0, filter: \"blur(3px)\" },\n { transform: \"scale(1.08)\", opacity: 1, filter: \"blur(0px)\", offset: 0.58 },\n { transform: \"scale(0.96)\", opacity: 1, filter: \"blur(0px)\", offset: 0.78 },\n { transform: \"scale(1)\", opacity: 1, filter: \"blur(0px)\" },\n ],\n out: [\n { transform: \"scale(1)\", opacity: 1, filter: \"blur(0px)\" },\n { transform: \"scale(0.7)\", opacity: 0, filter: \"blur(3px)\" },\n ],\n },\n springSlideUp: {\n in: [\n { transform: \"translateY(36px)\", opacity: 0, filter: \"blur(4px)\" },\n { transform: \"translateY(-6px)\", opacity: 1, filter: \"blur(0px)\", offset: 0.6 },\n { transform: \"translateY(3px)\", opacity: 1, filter: \"blur(0px)\", offset: 0.78 },\n { transform: \"translateY(0)\", opacity: 1, filter: \"blur(0px)\" },\n ],\n out: [\n { transform: \"translateY(0)\", opacity: 1, filter: \"blur(0px)\" },\n { transform: \"translateY(-20px)\", opacity: 0, filter: \"blur(4px)\" },\n ],\n },\n springSlideDown: {\n in: [\n { transform: \"translateY(-36px)\", opacity: 0, filter: \"blur(4px)\" },\n { transform: \"translateY(6px)\", opacity: 1, filter: \"blur(0px)\", offset: 0.6 },\n { transform: \"translateY(-3px)\", opacity: 1, filter: \"blur(0px)\", offset: 0.78 },\n { transform: \"translateY(0)\", opacity: 1, filter: \"blur(0px)\" },\n ],\n out: [\n { transform: \"translateY(0)\", opacity: 1, filter: \"blur(0px)\" },\n { transform: \"translateY(20px)\", opacity: 0, filter: \"blur(4px)\" },\n ],\n },\n morphRadius: {\n in: [\n { borderRadius: \"16px\", opacity: 0, filter: \"blur(2px)\" },\n { borderRadius: \"0px\", opacity: 1, filter: \"blur(0px)\" },\n ],\n out: [\n { borderRadius: \"0px\", opacity: 1, filter: \"blur(0px)\" },\n { borderRadius: \"16px\", opacity: 0, filter: \"blur(2px)\" },\n ],\n },\n morphCircle: {\n in: [\n { borderRadius: \"50%\", opacity: 0, filter: \"blur(3px)\" },\n { borderRadius: \"8px\", opacity: 1, filter: \"blur(0px)\", offset: 0.52 },\n { borderRadius: \"12px\", opacity: 1, filter: \"blur(0px)\" },\n ],\n out: [\n { borderRadius: \"12px\", opacity: 1, filter: \"blur(0px)\" },\n { borderRadius: \"50%\", opacity: 0, filter: \"blur(3px)\" },\n ],\n },\n press: {\n in: [{ transform: \"scale(1)\", opacity: 1 }, { transform: \"scale(0.94)\", opacity: 1 }],\n out: [{ transform: \"scale(0.94)\", opacity: 1 }, { transform: \"scale(1)\", opacity: 1 }],\n },\n modalIn: {\n in: [\n { transform: 'scale(0.88)', opacity: 0, filter: 'blur(4px)' },\n { transform: 'scale(1.03)', opacity: 1, filter: 'blur(0px)', offset: 0.62 },\n { transform: 'scale(1)', opacity: 1, filter: 'blur(0px)' },\n ],\n out: [\n { transform: 'scale(1)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'scale(0.92)', opacity: 0, filter: 'blur(3px)' },\n ],\n },\n modalOut: {\n in: [],\n out: [\n { transform: 'scale(1)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'scale(0.88)', opacity: 0, filter: 'blur(3px)' },\n ],\n },\n popoverIn: {\n in: [\n { transform: 'scale(0.5)', opacity: 0, filter: 'blur(4px)' },\n { transform: 'scale(1.06)', opacity: 1, filter: 'blur(0px)', offset: 0.68 },\n { transform: 'scale(1)', opacity: 1, filter: 'blur(0px)' },\n ],\n out: [\n { transform: 'scale(1)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'scale(0.94)', opacity: 0, filter: 'blur(2px)' },\n ],\n },\n popoverOut: {\n in: [],\n out: [\n { transform: 'scale(1)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'scale(0.92)', opacity: 0, filter: 'blur(3px)' },\n ],\n },\n toastIn: {\n in: [\n { transform: 'translateY(-28px)', opacity: 0, filter: 'blur(3px)' },\n { transform: 'translateY(2px)', opacity: 1, filter: 'blur(0px)', offset: 0.68 },\n { transform: 'translateY(0)', opacity: 1, filter: 'blur(0px)' },\n ],\n out: [\n { transform: 'translateY(0)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'translateY(-14px)', opacity: 0, filter: 'blur(2.5px)' },\n ],\n },\n toastOut: {\n in: [],\n out: [\n { transform: 'translateY(0)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'translateY(-14px)', opacity: 0, filter: 'blur(2.5px)' },\n ],\n },\n successCheckIn: {\n in: [\n { transform: 'scale(0.5)', opacity: 0, filter: 'blur(4px)' },\n { transform: 'scale(1.1)', opacity: 1, filter: 'blur(0px)', offset: 0.52 },\n { transform: 'scale(0.93)', opacity: 1, filter: 'blur(0px)', offset: 0.74 },\n { transform: 'scale(1)', opacity: 1, filter: 'blur(0px)' },\n ],\n out: [\n { transform: 'scale(1)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'scale(0.6)', opacity: 0, filter: 'blur(3px)' },\n ],\n },\n buttonLoading: {\n in: [\n { transform: \"scale(1)\", opacity: 1, filter: \"blur(0px)\" },\n { transform: \"scale(0.95)\", opacity: 0.72, filter: \"blur(0px)\" },\n { transform: \"scale(1)\", opacity: 1, filter: \"blur(0px)\" },\n ],\n out: [\n { transform: \"scale(1)\", opacity: 1, filter: \"blur(0px)\" },\n { transform: \"scale(0.96)\", opacity: 0, filter: \"blur(2px)\" },\n ],\n },\n tabPanelIn: {\n in: [\n { transform: 'translateX(20px)', opacity: 0, filter: 'blur(2px)' },\n { transform: 'translateX(0)', opacity: 1, filter: 'blur(0px)' },\n ],\n out: [\n { transform: 'translateX(0)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'translateX(-20px)', opacity: 0, filter: 'blur(2px)' },\n ],\n },\n tabPanelOut: {\n in: [],\n out: [\n { transform: 'translateX(0)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'translateX(-20px)', opacity: 0, filter: 'blur(2px)' },\n ],\n },\n successToast: {\n in: [\n { transform: 'translateY(28px) scale(0.88)', opacity: 0, filter: 'blur(3px)' },\n { transform: 'translateY(-2px) scale(1.02)', opacity: 1, filter: 'blur(0px)', offset: 0.58 },\n { transform: 'translateY(0) scale(1)', opacity: 1, filter: 'blur(0px)' },\n ],\n out: [\n { transform: 'translateY(0) scale(1)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'translateY(-10px) scale(0.98)', opacity: 0, filter: 'blur(2.5px)' },\n ],\n },\n checkboxCheck: {\n in: [\n { transform: 'scale(0.4) rotate(-50deg)', opacity: 0, filter: 'blur(3px)' },\n { transform: 'scale(1.15) rotate(0deg)', opacity: 1, filter: 'blur(0px)', offset: 0.58 },\n { transform: 'scale(1) rotate(0deg)', opacity: 1, filter: 'blur(0px)' },\n ],\n out: [\n { transform: 'scale(1)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'scale(0.4)', opacity: 0, filter: 'blur(2px)' },\n ],\n },\n dialogOut: {\n in: [],\n out: [\n { transform: 'scale(1)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'scale(0.93)', opacity: 0, filter: 'blur(2px)' },\n ],\n },\n drawerOutLeft: {\n in: [],\n out: [\n { transform: 'translateX(0)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'translateX(-100%)', opacity: 0, filter: 'blur(3px)' },\n ],\n },\n drawerOutRight: {\n in: [],\n out: [\n { transform: 'translateX(0)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'translateX(100%)', opacity: 0, filter: 'blur(3px)' },\n ],\n },\n drawerOutTop: {\n in: [],\n out: [\n { transform: 'translateY(0)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'translateY(-100%)', opacity: 0, filter: 'blur(3px)' },\n ],\n },\n drawerOutBottom: {\n in: [],\n out: [\n { transform: 'translateY(0)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'translateY(100%)', opacity: 0, filter: 'blur(3px)' },\n ],\n },\n menuOut: {\n in: [],\n out: [\n { transform: 'scale(1)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'scale(0.93)', opacity: 0, filter: 'blur(2px)' },\n ],\n },\n toastOutRight: {\n in: [],\n out: [\n { transform: 'translateX(0)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'translateX(28px)', opacity: 0, filter: 'blur(2.5px)' },\n ],\n },\n toastOutUp: {\n in: [],\n out: [\n { transform: 'translateY(0)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'translateY(-18px)', opacity: 0, filter: 'blur(2.5px)' },\n ],\n },\n dismissOut: {\n in: [],\n out: [\n { transform: 'translateY(0)', opacity: 1, filter: 'blur(0px)' },\n { transform: 'translateY(10px) scale(0.95)', opacity: 0, filter: 'blur(3px)' },\n ],\n },\n errorOut: {\n in: [],\n out: [\n { transform: \"translateX(0)\", opacity: 1, filter: \"blur(0px)\" },\n { transform: \"translateX(-5px)\", opacity: 1, offset: 0.18 },\n { transform: \"translateX(5px)\", opacity: 1, offset: 0.36 },\n { transform: \"translateX(-3px)\", opacity: 0.5, offset: 0.56 },\n { transform: \"translateX(2px)\", opacity: 0.15, filter: \"blur(1px)\", offset: 0.76 },\n { transform: \"translateX(0)\", opacity: 0, filter: \"blur(2px)\" },\n ],\n },\n successOut: {\n in: [],\n out: [\n { transform: \"scale(1)\", opacity: 1, filter: \"blur(0px)\" },\n { transform: \"scale(1.12)\", opacity: 0.35, filter: \"blur(1px)\", offset: 0.38 },\n { transform: \"scale(0.88)\", opacity: 0, filter: \"blur(3px)\" },\n ],\n },\n collapseWidth: {\n in: [],\n out: [\n { clipPath: \"inset(0 0 0 0)\", opacity: 1, filter: \"blur(0px)\" },\n { clipPath: \"inset(0 100% 0 0)\", opacity: 0, filter: \"blur(2px)\" },\n ],\n },\n}\n\n","import { useRef, useEffect, Children, type ReactNode, type CSSProperties } from \"react\"\n\nfunction getScrollRoot(el: HTMLElement): HTMLElement | null {\n let parent = el.parentElement\n while (parent && parent !== document.body && parent !== document.documentElement) {\n const style = getComputedStyle(parent)\n if (/(auto|scroll|overlay)/.test(`${style.overflowY}${style.overflow}`) && parent.scrollHeight > parent.clientHeight) {\n return parent\n }\n parent = parent.parentElement\n }\n return null\n}\n\nexport interface ParallaxProps {\n children: ReactNode\n type?: \"parallax\" | \"parallaxFast\" | \"parallaxReverse\" | \"tiltScroll\" | \"scaleScroll\"\n strength?: number\n className?: string\n style?: CSSProperties\n}\n\nexport function Parallax({\n children,\n type = \"parallax\",\n strength: _strength,\n className,\n style,\n}: ParallaxProps) {\n const containerRef = useRef<HTMLDivElement>(null)\n const items = Children.toArray(children)\n const count = items.length\n\n const strength = _strength ?? (\n type === \"parallaxFast\" ? 0.55 :\n type === \"parallaxReverse\" ? 0.35 :\n type === \"tiltScroll\" ? 0.3 :\n type === \"scaleScroll\" ? 0.4 :\n 0.3\n )\n\n useEffect(() => {\n const container = containerRef.current\n if (!container || count === 0) return\n\n const mm = typeof window !== \"undefined\" ? window.matchMedia?.(\"(prefers-reduced-motion: reduce)\") : null\n if (mm?.matches) return\n\n let ticking = false\n let scrollRoot: HTMLElement | Window | null = null\n\n function measureViewport() {\n if (scrollRoot && scrollRoot instanceof HTMLElement) {\n const rect = scrollRoot.getBoundingClientRect()\n return { top: rect.top, height: scrollRoot.clientHeight }\n }\n\n return { top: 0, height: window.innerHeight }\n }\n\n function update() {\n ticking = false\n const { top, height: viewH } = measureViewport()\n if (viewH === 0) return\n\n const rect = container!.getBoundingClientRect()\n const scrollY = top - rect.top\n const progress = scrollY / viewH\n\n for (let i = 0; i < count; i++) {\n const frame = container!.children[i] as HTMLElement | undefined\n const child = frame?.firstElementChild as HTMLElement | undefined\n if (!child) continue\n\n const relative = Math.max(-1.4, Math.min(1.4, progress - i))\n const depth = Math.abs(relative)\n child.style.willChange = \"transform\"\n\n let transform = \"\"\n switch (type) {\n case \"parallax\":\n case \"parallaxFast\":\n transform = `translateY(${-relative * strength * 110}px) scale(${1 - Math.min(depth, 1) * 0.025})`\n break\n case \"parallaxReverse\":\n transform = `translateY(${relative * strength * 110}px) scale(${1 - Math.min(depth, 1) * 0.025})`\n break\n case \"tiltScroll\":\n transform = `perspective(700px) translateY(${-relative * strength * 60}px) rotateX(${-relative * strength * 14}deg)`\n break\n case \"scaleScroll\":\n {\n const focus = 1 - Math.min(depth, 1)\n const scale = Math.min(1.12, Math.max(0.9, 0.9 + focus * (0.18 + strength * 0.08)))\n child.style.transformOrigin = \"center\"\n transform = `translateY(${-relative * strength * 42}px) scale(${scale.toFixed(3)})`\n }\n break\n }\n child.style.transform = transform\n }\n }\n\n function onScroll() {\n if (!ticking) {\n requestAnimationFrame(update)\n ticking = true\n }\n }\n\n function onResize() {\n const { height: h } = measureViewport()\n if (container) {\n container.style.height = `${count * h}px`\n for (let i = 0; i < count; i++) {\n const child = container.children[i] as HTMLElement | undefined\n if (child) child.style.height = `${h}px`\n }\n }\n onScroll()\n }\n\n scrollRoot = getScrollRoot(container) ?? window\n ;(scrollRoot as any).addEventListener(\"scroll\", onScroll, { passive: true })\n window.addEventListener(\"resize\", onResize, { passive: true })\n onResize()\n\n return () => {\n const target = scrollRoot as any\n if (target && typeof target.removeEventListener === \"function\") {\n target.removeEventListener(\"scroll\", onScroll)\n }\n window.removeEventListener(\"resize\", onResize)\n for (let i = 0; i < count; i++) {\n const frame = container.children[i] as HTMLElement | undefined\n const child = frame?.firstElementChild as HTMLElement | undefined\n if (child) {\n child.style.transform = \"\"\n child.style.transformOrigin = \"\"\n child.style.willChange = \"auto\"\n }\n }\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [count, type, strength])\n\n if (count === 0) return null\n\n return (\n <div\n ref={containerRef}\n className={className}\n style={{\n position: \"relative\",\n height: `calc(${count} * 100dvh)`,\n ...style,\n }}\n >\n {items.map((child, i) => (\n <div\n key={i}\n style={{\n position: \"sticky\",\n top: 0,\n height: \"100dvh\",\n zIndex: i + 1,\n boxSizing: \"border-box\",\n display: \"grid\",\n placeItems: \"center\",\n overflow: \"visible\",\n }}\n >\n <div className=\"trigr-parallax-layer\">\n {child}\n </div>\n </div>\n ))}\n </div>\n )\n}\n","import { useRef, useEffect, useLayoutEffect, useState, createElement, forwardRef, useCallback, useImperativeHandle, useMemo } from \"react\"\nimport type { MouseEvent } from \"react\"\nimport type { AnimateBlockHandle, AnimateBlockProps, AnimationProperties, AnimationTrigger, BlockPresetOptions } from \"./types\"\nimport { EASE_IN, SMOOTH, SNAPPY, SPRING, presetCategory, presets } from \"./animations\"\nimport { Parallax } from \"./parallax\"\n\nconst warned = new Set<string>()\n\nfunction prefersReducedMotion(): boolean {\n if (typeof window === \"undefined\") return false\n return window.matchMedia?.(\"(prefers-reduced-motion: reduce)\").matches ?? false\n}\n\nfunction finishWillChange(el: HTMLElement) {\n el.style.willChange = \"auto\"\n}\n\nfunction validDuration(value: unknown, fallback = 300): number {\n const n = Number(value)\n return Number.isFinite(n) && n > 0 ? n : fallback\n}\n\nfunction effectiveDuration(duration: number): number {\n const d = validDuration(duration, 300)\n return prefersReducedMotion() ? d / 2 : d\n}\n\nfunction cancelElementAnimations(el: HTMLElement) {\n el.getAnimations({ subtree: true }).forEach((animation) => animation.cancel())\n}\n\nfunction getScrollRoot(el: HTMLElement): HTMLElement | null {\n let parent = el.parentElement\n while (parent && parent !== document.body && parent !== document.documentElement) {\n const style = getComputedStyle(parent)\n if (/(auto|scroll|overlay)/.test(`${style.overflowY}${style.overflow}`) && parent.scrollHeight > parent.clientHeight) {\n return parent\n }\n parent = parent.parentElement\n }\n return null\n}\n\nfunction scrollObserverOptions(el: HTMLElement, threshold: number): IntersectionObserverInit {\n const root = getScrollRoot(el)\n const rootHeight = root?.clientHeight ?? window.innerHeight\n const clamped = Math.min(0.95, Math.max(0.05, threshold))\n const inset = Math.round(rootHeight * Math.min(0.48, clamped / 2))\n return {\n root,\n rootMargin: `-${inset}px 0px -${inset}px 0px`,\n threshold: 0,\n }\n}\n\nfunction scrollCenterOffset(el: HTMLElement, root: HTMLElement | null): number {\n const rect = el.getBoundingClientRect()\n const rootRect = root?.getBoundingClientRect()\n const viewTop = rootRect?.top ?? 0\n const viewHeight = rootRect?.height ?? window.innerHeight\n const viewCenter = viewTop + viewHeight / 2\n const elCenter = rect.top + rect.height / 2\n return (elCenter - viewCenter) / Math.max(viewHeight, 1)\n}\n\nconst HOVER_STATE_CSS: Record<string, Record<string, string>> = {\n lift: { transform: \"translateY(-4px)\" },\n sink: { transform: \"translateY(4px)\" },\n grow: { transform: \"scale(1.03)\" },\n glow: { filter: \"brightness(1.15)\" },\n shadow: { boxShadow: \"0 8px 24px currentColor\" },\n borderPop: { borderColor: \"currentColor\", borderWidth: \"2px\" },\n press: { transform: \"scale(0.96)\" },\n}\n\nconst CONTINUOUS_KEYFRAMES: Record<string, { keyframes: Keyframe[]; duration: number; easing: string }> = {\n pulse: {\n keyframes: [\n { transform: \"scale(1)\" },\n { transform: \"scale(1.05)\", offset: 0.5 },\n { transform: \"scale(1)\" },\n ],\n duration: 2000,\n easing: SMOOTH,\n },\n float: {\n keyframes: [\n { transform: \"translateY(0)\" },\n { transform: \"translateY(-5px)\", offset: 0.5 },\n { transform: \"translateY(0)\" },\n ],\n duration: 1500,\n easing: SMOOTH,\n },\n spin: {\n keyframes: [\n { transform: \"rotate(0deg)\" },\n { transform: \"rotate(360deg)\" },\n ],\n duration: 2000,\n easing: \"linear\",\n },\n ping: {\n keyframes: [\n { transform: \"scale(1)\", opacity: 1 },\n { transform: \"scale(1.15)\", opacity: 0 },\n ],\n duration: 1500,\n easing: SMOOTH,\n },\n shimmer: {\n keyframes: [\n { backgroundPosition: \"-200% 0\" },\n { backgroundPosition: \"200% 0\" },\n ],\n duration: 2500,\n easing: \"linear\",\n },\n focusRingPulse: {\n keyframes: [\n { boxShadow: '0 0 0 0 rgba(99, 102, 241, 0.4)' },\n { boxShadow: '0 0 0 4px rgba(99, 102, 241, 0)' },\n ],\n duration: 2000,\n easing: 'ease-out',\n },\n}\n\nfunction hasScale(kf: Keyframe[]): boolean {\n return kf.some((k) => {\n const t = (k as any).transform as string | undefined\n return t ? /\\bscalef?[a-zA-Z]*\\(/.test(t) : false\n })\n}\n\nfunction hasScaleY(kf: Keyframe[]): boolean {\n return kf.some((k) => {\n const t = (k as any).transform as string | undefined\n return t ? /\\bscaleY\\(/.test(t) : false\n })\n}\n\n// Apply first keyframe as inline styles to prevent flash during cancel→restart transitions\nfunction applyInitialState(el: HTMLElement, keyframes: Keyframe[]) {\n const first = keyframes[0]\n if (!first) return\n if ((first as any).opacity !== undefined) el.style.opacity = String((first as any).opacity)\n if ((first as any).transform !== undefined) el.style.transform = String((first as any).transform)\n if ((first as any).filter !== undefined) el.style.filter = String((first as any).filter)\n}\n\n// Apply last keyframe as inline styles to capture final state after animation finishes\nfunction applyFinalState(el: HTMLElement, keyframes: Keyframe[]) {\n const first = keyframes[0]\n const last = keyframes[keyframes.length - 1]\n if (!last) return\n // If the first keyframe set these but the last doesn't, default to visible values\n const hadOpacity = (first as any).opacity !== undefined\n const hadFilter = (first as any).filter !== undefined\n if ((last as any).opacity !== undefined) {\n el.style.opacity = String((last as any).opacity)\n } else if (hadOpacity) {\n el.style.opacity = \"1\"\n }\n if ((last as any).transform !== undefined) el.style.transform = String((last as any).transform)\n if ((last as any).filter !== undefined) {\n el.style.filter = String((last as any).filter)\n } else if (hadFilter) {\n el.style.filter = \"blur(0px)\"\n }\n}\n\nfunction rebaseBlockKeyframes(keyframes: Keyframe[], options?: BlockPresetOptions): Keyframe[] {\n if (!options) return keyframes\n const { distance, scale, blur, rotate } = options\n return keyframes.map(kf => {\n let t = (kf as any).transform as string | undefined\n let f = (kf as any).filter as string | undefined\n if (distance !== undefined && t) {\n t = t.replace(/translateY\\((-?\\d+(?:\\.\\d+)?)(px)?\\)/g, (_, val) =>\n `translateY(${Math.round(Number(val) * (distance / 32))}px)`)\n t = t.replace(/translateX\\((-?\\d+(?:\\.\\d+)?)(px)?\\)/g, (_, val) =>\n `translateX(${Math.round(Number(val) * (distance / 32))}px)`)\n }\n if (scale !== undefined && t) {\n t = t.replace(/scale\\((-?[\\d.]+(?:,\\s*-?[\\d.]+)?)\\)/g, `scale(${scale})`)\n }\n if (blur !== undefined && f) {\n f = f.replace(/blur\\((\\d+)px\\)/g, `blur(${blur}px)`)\n }\n if (rotate !== undefined && t) {\n t = t.replace(/(rotateX?Y?Z?)\\((-?[\\d.]+)deg\\)/g, (_, axis, val) =>\n `${axis}(${Math.round(Number(val) * (rotate / 8))}deg)`)\n }\n return { ...kf, transform: t, filter: f }\n })\n}\n\nfunction runAnimation(\n el: HTMLElement,\n keyframes: Keyframe[],\n options: KeyframeAnimationOptions,\n onEnd?: () => void,\n presetOptions?: BlockPresetOptions,\n): Animation {\n el.style.willChange = \"transform, opacity, filter\"\n const prevTransition = el.style.transition\n el.style.transition = \"none\"\n const rebased = rebaseBlockKeyframes(keyframes, presetOptions)\n const usesScale = hasScale(rebased)\n const usesScaleY = hasScaleY(rebased)\n const prevOrigin = el.style.transformOrigin\n if (usesScale) el.style.transformOrigin = \"center\"\n if (usesScaleY) el.style.transformOrigin = \"top\"\n\n // Always set initial state inline — prevents flash when animations are cancelled/restarted\n applyInitialState(el, rebased)\n\n const kf = prefersReducedMotion()\n ? rebased.map(({ opacity }) => ({ opacity: opacity ?? 1 }))\n : rebased\n const anim = el.animate(kf, { ...options, fill: \"forwards\" })\n const cleanup = () => {\n el.style.transition = prevTransition\n if (usesScale || usesScaleY) el.style.transformOrigin = prevOrigin\n }\n anim.addEventListener(\"finish\", () => {\n applyFinalState(el, rebased)\n finishWillChange(el)\n cleanup()\n onEnd?.()\n })\n anim.addEventListener(\"cancel\", () => {\n applyFinalState(el, rebased)\n cleanup()\n })\n return anim\n}\n\nfunction setStyles(el: HTMLElement, styles: Record<string, string>) {\n for (const key in styles) {\n (el.style as any)[key] = styles[key]\n }\n}\n\nfunction clearStyles(el: HTMLElement, styles: Record<string, string>) {\n for (const key in styles) {\n (el.style as any)[key] = \"\"\n }\n}\n\nfunction runPropertyAnimation(\n el: HTMLElement,\n properties: AnimationProperties | undefined,\n options: KeyframeAnimationOptions,\n): Animation | null {\n if (!properties || Object.keys(properties).length === 0) return null\n const from: Keyframe = {}\n const to: Keyframe = {}\n for (const [property, pair] of Object.entries(properties)) {\n from[property as keyof Keyframe] = pair[0] as any\n to[property as keyof Keyframe] = pair[1] as any\n }\n // Apply initial from-styles inline to prevent flash on cancel/restart\n for (const [property, value] of Object.entries(from)) {\n ;(el.style as any)[property] = value\n }\n const anim = el.animate([from, to], { ...options, fill: \"forwards\" })\n anim.addEventListener(\"finish\", () => {\n for (const [property, pair] of Object.entries(properties)) {\n ;(el.style as any)[property] = String(pair[1])\n }\n })\n anim.addEventListener(\"cancel\", () => {\n for (const [property, value] of Object.entries(from)) {\n ;(el.style as any)[property] = value\n }\n })\n return anim\n}\n\nfunction spawnOverlay(el: HTMLElement, preset: string, x: number, y: number) {\n const rect = el.getBoundingClientRect()\n const px = x - rect.left\n const py = y - rect.top\n const prevPosition = el.style.position\n const prevOverflow = el.style.overflow\n\n const overlayColor = getComputedStyle(el).getPropertyValue(\"--trigr-overlay-color\") || \"currentColor\"\n\n el.style.position = \"relative\"\n el.style.overflow = \"hidden\"\n\n let pending = 0\n function done() {\n pending -= 1\n if (pending <= 0) {\n el.style.position = prevPosition\n el.style.overflow = prevOverflow\n }\n }\n\n if (preset === \"ripple\") {\n pending = 1\n const size = Math.max(rect.width, rect.height) * 2.5\n const dot = document.createElement(\"span\")\n dot.style.cssText = `\n position: absolute; left: ${px}px; top: ${py}px; width: 0; height: 0;\n border-radius: 50%; background: ${overlayColor};\n transform: translate(-50%, -50%); pointer-events: none;\n opacity: 1;\n `\n el.appendChild(dot)\n const dotAnim = dot.animate(\n [{ width: \"0\", height: \"0\", opacity: 1 }, { width: `${size}px`, height: `${size}px`, opacity: 0 }],\n { duration: 400, easing: \"cubic-bezier(0.22, 1, 0.36, 1)\", fill: \"forwards\" },\n )\n dotAnim.onfinish = () => { dot.remove(); done() }\n dotAnim.oncancel = () => { dot.remove(); done() }\n }\n\n if (preset === \"burst\") {\n pending = 8\n for (let i = 0; i < 8; i++) {\n const angle = (Math.PI * 2 * i) / 8\n const particle = document.createElement(\"span\")\n particle.style.cssText = `\n position: absolute; left: ${px}px; top: ${py}px; width: 6px; height: 6px;\n border-radius: 50%; background: ${overlayColor};\n pointer-events: none; transform: translate(-50%, -50%);\n `\n el.appendChild(particle)\n const dx = Math.cos(angle) * 60\n const dy = Math.sin(angle) * 60\n const pa = particle.animate(\n [\n { transform: \"translate(-50%, -50%) scale(1)\", opacity: 1 },\n { transform: `translate(calc(-50% + ${dx}px), calc(-50% + ${dy}px)) scale(0)`, opacity: 0 },\n ],\n { duration: 360, easing: \"cubic-bezier(0.4, 0.0, 1, 1)\", fill: \"forwards\" },\n )\n pa.onfinish = () => { particle.remove(); done() }\n pa.oncancel = () => { particle.remove(); done() }\n }\n }\n}\n\nconst AnimateBlock = forwardRef<AnimateBlockHandle, AnimateBlockProps>(function AnimateBlock({\n value,\n triggers: triggersProp,\n trigger = \"change\",\n animation: baseAnimation,\n scrollAnimation,\n properties,\n exitAnimation,\n show,\n unmountOnExit = true,\n duration = 400,\n easing = SPRING,\n delay = 0,\n speed = 0.5,\n threshold = 0.4,\n repeat = false,\n once,\n as = \"div\",\n className,\n style,\n onClick,\n onEnter,\n onExit,\n onHoverStart,\n onHoverEnd,\n onAnimationEnd: onAnimationEndProp,\n presetOptions,\n drag,\n dragThreshold,\n dragElastic,\n dragSnapBackDuration,\n onDragEnd,\n layoutId,\n layoutTransition,\n children,\n}: AnimateBlockProps, forwardedRef) {\n const ref = useRef<HTMLElement>(null)\n const animRef = useRef<Animation | null>(null)\n const propertyAnimRef = useRef<Animation | null>(null)\n const rafRef = useRef<number | null>(null)\n const runTimerRef = useRef<ReturnType<typeof setTimeout> | null>(null)\n const prevValueRef = useRef<string | number | undefined>(value)\n const hoverApplied = useRef(false)\n const hoverAnimRef = useRef<string | null>(null)\n const runningRef = useRef(false)\n const queueRef = useRef<AnimationTrigger[]>([])\n const runIdRef = useRef(0)\n const [currentRun, setCurrentRun] = useState<{ id: number; source: AnimationTrigger } | null>(null)\n const [phase, setPhase] = useState<\"entered\" | \"exiting\" | \"exited\">(\n show !== false ? \"entered\" : \"exited\"\n )\n const exitAnimRef = useRef<Animation | null>(null)\n const exitKeyRef = useRef(0)\n const mountPlayedRef = useRef(false)\n const scrollTriggeredRef = useRef(false)\n const dragStartRef = useRef<{ x: number; y: number } | null>(null)\n const dragOffsetRef = useRef<{ x: number; y: number }>({ x: 0, y: 0 })\n const dragVelocityRef = useRef<{ x: number; y: number }>({ x: 0, y: 0 })\n const dragLastPosRef = useRef<{ x: number; y: number; t: number } | null>(null)\n const dragMovedRef = useRef(false)\n const dragSuppressClickRef = useRef(false)\n const layoutSnapshotRef = useRef<DOMRect | null>(null)\n const shouldObserveOnce = once ?? !repeat\n const dragEnabled = drag === true || drag === \"both\" || drag === \"x\" || drag === \"y\"\n const dragX = drag === true || drag === \"both\" || drag === \"x\"\n const dragY = drag === true || drag === \"both\" || drag === \"y\"\n const dragThresholdPx = dragThreshold ?? 100\n const dragElasticVal = dragElastic ?? 0.5\n const dragSnapBackMs = dragSnapBackDuration ?? 300\n const triggerConfigs = useMemo(() => {\n if (triggersProp) {\n return triggersProp.map(tc => ({\n trigger: tc.trigger as AnimationTrigger,\n animation: tc.animation,\n threshold: tc.threshold ?? threshold,\n }))\n }\n const sources = (Array.isArray(trigger) ? trigger.slice(0, 2) : [trigger]) as AnimationTrigger[]\n return sources.map(s => ({\n trigger: s,\n animation: s === \"scroll\" && scrollAnimation ? scrollAnimation : baseAnimation,\n threshold,\n }))\n }, [triggersProp, trigger, baseAnimation, scrollAnimation, threshold])\n\n const triggerSources = useMemo(\n () => triggerConfigs.map(tc => tc.trigger),\n [triggerConfigs]\n )\n\n const hasTrigger = useCallback((source: AnimationTrigger) => triggerSources.includes(source), [triggerSources])\n const activeTrigger = currentRun?.source ?? triggerSources[0] ?? \"change\"\n const activeConfig = triggerConfigs.find(tc => tc.trigger === activeTrigger)\n const animation = activeConfig?.animation ?? baseAnimation\n const cat = presetCategory[animation] ?? \"oneshot\"\n const animationRef = useRef(animation)\n animationRef.current = animation\n const scrollConfig = triggerConfigs.find(tc => tc.trigger === \"scroll\")\n const scrollThreshold = scrollConfig?.threshold ?? threshold\n\n const getAnimationFor = useCallback(\n (source: AnimationTrigger) => {\n const cfg = triggerConfigs.find(tc => tc.trigger === source)\n return cfg?.animation ?? baseAnimation\n },\n [triggerConfigs, baseAnimation],\n )\n\n const finishRun = useCallback(() => {\n if (runTimerRef.current !== null) {\n clearTimeout(runTimerRef.current)\n runTimerRef.current = null\n }\n runningRef.current = false\n onAnimationEndProp?.()\n const next = queueRef.current.shift()\n if (next) {\n runningRef.current = true\n setCurrentRun({ id: ++runIdRef.current, source: next })\n } else {\n setCurrentRun(null)\n }\n }, [onAnimationEndProp])\n\n const requestRun = useCallback((source: AnimationTrigger) => {\n if (runningRef.current) {\n if (source !== \"scroll\") queueRef.current = [...queueRef.current, source].slice(-2)\n return\n }\n runningRef.current = true\n setCurrentRun({ id: ++runIdRef.current, source })\n }, [])\n\n const play = useCallback((source: AnimationTrigger = activeTrigger, presetName?: string) => {\n const el = ref.current\n if (!el) {\n finishRun()\n return\n }\n const name = presetName ?? getAnimationFor(source)\n\n cancelElementAnimations(el)\n animRef.current = null\n propertyAnimRef.current = null\n if (rafRef.current !== null) cancelAnimationFrame(rafRef.current)\n if (runTimerRef.current !== null) {\n clearTimeout(runTimerRef.current)\n runTimerRef.current = null\n }\n\n const motionDuration = effectiveDuration(duration)\n const category = presetCategory[name] ?? \"oneshot\"\n propertyAnimRef.current = runPropertyAnimation(el, properties, {\n duration: motionDuration,\n easing,\n delay,\n })\n\n // Save and clear hoverState inline styles so the animation starts from a clean position\n const savedHoverStyles: Record<string, string> = {}\n if (hoverApplied.current) {\n const hoverStyleDef = HOVER_STATE_CSS[hoverAnimRef.current ?? name]\n if (hoverStyleDef) {\n for (const key in hoverStyleDef) {\n savedHoverStyles[key] = (el.style as any)[key]\n ;(el.style as any)[key] = \"\"\n }\n }\n }\n\n function restoreHover() {\n if (hoverApplied.current) {\n for (const key in savedHoverStyles) {\n (el!.style as any)[key] = savedHoverStyles[key]\n }\n }\n }\n\n if (category === \"overlay\" || category === \"hoverState\" || category === \"cursorTrack\") {\n finishRun()\n return\n }\n\n if (category === \"continuous\") {\n const cfg = CONTINUOUS_KEYFRAMES[name]\n if (!cfg || prefersReducedMotion()) {\n finishRun()\n return\n }\n const loopDuration = Math.max(360, cfg.duration)\n animRef.current = runAnimation(\n el,\n cfg.keyframes,\n { duration: loopDuration, easing: cfg.easing, delay, iterations: 1, fill: \"forwards\" },\n finishRun,\n presetOptions,\n )\n if (Object.keys(savedHoverStyles).length) {\n animRef.current.addEventListener(\"finish\", restoreHover, { once: true })\n animRef.current.addEventListener(\"cancel\", restoreHover, { once: true })\n }\n runTimerRef.current = setTimeout(finishRun, loopDuration + delay + 80)\n return\n }\n\n const def = presets[name]\n if (!def) {\n if (!warned.has(name)) {\n warned.add(name)\n if (process.env.NODE_ENV === \"development\") {\n console.warn(`[trigr] Unknown block animation preset \"${name}\". Expected one of: ${Object.keys(presets).join(\", \")}`)\n }\n }\n finishRun()\n return\n }\n\n runTimerRef.current = setTimeout(finishRun, Math.max(500, motionDuration + delay + 300))\n animRef.current = runAnimation(el, def.in, { duration: motionDuration, easing, delay }, finishRun, presetOptions)\n\n if (Object.keys(savedHoverStyles).length) {\n animRef.current.addEventListener(\"finish\", restoreHover, { once: true })\n animRef.current.addEventListener(\"cancel\", restoreHover, { once: true })\n }\n }, [activeTrigger, delay, duration, easing, finishRun, getAnimationFor, properties])\n\n const animate = useCallback(() => {\n requestRun(\"manual\")\n }, [requestRun])\n\n useImperativeHandle(forwardedRef, () => ({\n animate,\n get element() {\n return ref.current\n },\n }), [animate])\n\n // layoutId — FLIP-based shared layout animation\n useLayoutEffect(() => {\n if (!layoutId || !ref.current) return\n\n if (animRef.current?.playState === \"running\") return\n if (dragEnabled && dragStartRef.current) return\n if (exitAnimRef.current?.playState === \"running\") return\n\n const prevRect = layoutSnapshotRef.current\n const nextRect = ref.current.getBoundingClientRect()\n\n if (prevRect && (prevRect.x !== nextRect.x || prevRect.y !== nextRect.y || prevRect.width !== nextRect.width || prevRect.height !== nextRect.height)) {\n const deltaX = prevRect.left - nextRect.left\n const deltaY = prevRect.top - nextRect.top\n const scaleX = prevRect.width / nextRect.width\n const scaleY = prevRect.height / nextRect.height\n\n const savedHover: Record<string, string> = {}\n if (hoverApplied.current) {\n const styles = HOVER_STATE_CSS[hoverAnimRef.current ?? \"\"]\n if (styles) {\n for (const key in styles) {\n savedHover[key] = (ref.current!.style as any)[key]\n ;(ref.current!.style as any)[key] = \"\"\n }\n }\n }\n\n const prevWillChange = ref.current.style.willChange\n const prevTransform = ref.current.style.transform\n const prevTransition = ref.current.style.transition\n\n ref.current.getAnimations().forEach((a) => a.cancel())\n\n ref.current.style.transform = `translate(${deltaX}px, ${deltaY}px) scale(${scaleX}, ${scaleY})`\n ref.current.style.transformOrigin = \"top left\"\n\n requestAnimationFrame(() => {\n if (!ref.current) return\n ref.current.style.transition = `transform ${layoutTransition?.duration ?? 400}ms ${layoutTransition?.easing ?? \"cubic-bezier(0.34, 1.56, 0.64, 1)\"}`\n ref.current.style.transform = \"\"\n\n const onTransitionEnd = () => {\n if (!ref.current) return\n ref.current.style.transition = prevTransition\n ref.current.style.transformOrigin = \"\"\n ref.current.style.willChange = prevWillChange\n if (Object.keys(savedHover).length) {\n setStyles(ref.current, savedHover)\n }\n ref.current.removeEventListener(\"transitionend\", onTransitionEnd)\n }\n ref.current.addEventListener(\"transitionend\", onTransitionEnd)\n })\n }\n\n layoutSnapshotRef.current = nextRect\n })\n\n // scroll trigger (IntersectionObserver)\n useEffect(() => {\n const scrollName = getAnimationFor(\"scroll\")\n const scrollCat = presetCategory[scrollName] ?? \"oneshot\"\n if (!hasTrigger(\"scroll\") || scrollCat !== \"oneshot\") return\n const el = ref.current\n if (!el) return\n\n scrollTriggeredRef.current = false\n\n const observer = new IntersectionObserver(\n ([entry]) => {\n if (!entry.isIntersecting) {\n scrollTriggeredRef.current = false\n if (repeat) onExit?.()\n return\n }\n if (scrollTriggeredRef.current) return\n scrollTriggeredRef.current = true\n onEnter?.()\n requestRun(\"scroll\")\n if (shouldObserveOnce) observer.disconnect()\n },\n scrollObserverOptions(el, scrollThreshold),\n )\n observer.observe(el)\n return () => observer.disconnect()\n }, [getAnimationFor, hasTrigger, onEnter, onExit, repeat, requestRun, shouldObserveOnce, scrollThreshold])\n\n useEffect(() => {\n const previous = prevValueRef.current\n if (!hasTrigger(\"change\") || cat !== \"oneshot\") {\n prevValueRef.current = value\n return\n }\n prevValueRef.current = value\n if (previous === undefined || Object.is(previous, value) || !ref.current) return\n requestRun(\"change\")\n }, [cat, hasTrigger, value, requestRun])\n\n // continuous animations\n useEffect(() => {\n if (cat !== \"continuous\" || hasTrigger(\"hover\") || hasTrigger(\"click\") || hasTrigger(\"manual\") || hasTrigger(\"mount\")) return\n const el = ref.current\n if (!el) return\n const cfg = CONTINUOUS_KEYFRAMES[animation]\n if (!cfg || prefersReducedMotion()) return\n\n if (animation === \"shimmer\") {\n const color = getComputedStyle(el).color\n el.style.background = `linear-gradient(90deg, transparent 0%, ${color}33 50%, transparent 100%)`\n el.style.backgroundSize = \"200% 100%\"\n }\n\n el.style.willChange = \"transform, opacity, filter\"\n animRef.current = el.animate(cfg.keyframes, {\n duration: cfg.duration,\n iterations: Infinity,\n easing: cfg.easing,\n })\n animRef.current.addEventListener(\"cancel\", () => finishWillChange(el))\n return () => {\n if (animRef.current) {\n animRef.current.cancel()\n animRef.current = null\n }\n if (animation === \"shimmer\") {\n el.style.background = \"\"\n el.style.backgroundSize = \"\"\n }\n }\n }, [animation, cat, hasTrigger])\n\n // mount trigger — animate on mount or when show transitions false → true\n useEffect(() => {\n if (!hasTrigger(\"mount\")) return\n if (phase !== \"entered\") return\n if (mountPlayedRef.current) return\n const isShown = show ?? true\n if (!isShown) return\n\n mountPlayedRef.current = true\n const el = ref.current\n if (!el) return\n\n if (cat === \"continuous\") {\n const cfg = CONTINUOUS_KEYFRAMES[animation]\n if (!cfg || prefersReducedMotion()) return\n el.style.willChange = \"transform, opacity, filter\"\n animRef.current = el.animate(cfg.keyframes, {\n duration: cfg.duration,\n iterations: Infinity,\n easing: cfg.easing,\n })\n animRef.current.addEventListener(\"cancel\", () => finishWillChange(el))\n return () => {\n animRef.current?.cancel()\n animRef.current = null\n }\n }\n\n if (cat === \"oneshot\") {\n const motionDuration = effectiveDuration(duration)\n const def = presets[animation]\n if (!def) return\n propertyAnimRef.current = runPropertyAnimation(el, properties, {\n duration: motionDuration,\n easing,\n delay,\n })\n runTimerRef.current = setTimeout(finishRun, Math.max(600, motionDuration + delay + 300))\n animRef.current = runAnimation(el, def.in, { duration: motionDuration, easing, delay }, finishRun, presetOptions)\n }\n }, [hasTrigger, phase, show, animation, cat, duration, easing, delay, finishRun, properties])\n\n // reset mountPlayedRef when exiting\n useEffect(() => {\n if (phase === \"exiting\" || phase === \"exited\") {\n mountPlayedRef.current = false\n }\n }, [phase])\n\n useLayoutEffect(() => {\n if (!currentRun) return\n play(currentRun.source)\n }, [currentRun, play])\n\n // exit lifecycle — play exit animation when show transitions true → false\n useEffect(() => {\n if (show === undefined) return\n\n if (show) {\n exitAnimRef.current?.cancel()\n exitAnimRef.current = null\n setPhase(\"entered\")\n return\n }\n\n // show === false\n const key = ++exitKeyRef.current\n\n if (!exitAnimation) {\n setPhase(\"exited\")\n return\n }\n\n const el = ref.current\n if (!el) {\n setPhase(\"exited\")\n return\n }\n\n animRef.current?.cancel()\n animRef.current = null\n runningRef.current = false\n queueRef.current = []\n\n const motionDuration = effectiveDuration(duration)\n const exitCat = presetCategory[exitAnimation] ?? \"oneshot\"\n\n const onExitEnd = () => {\n if (exitKeyRef.current === key) {\n setPhase(\"exited\")\n exitAnimRef.current = null\n }\n }\n\n setPhase(\"exiting\")\n\n if (exitCat === \"continuous\") {\n const cfg = CONTINUOUS_KEYFRAMES[exitAnimation]\n if (cfg && !prefersReducedMotion()) {\n exitAnimRef.current = runAnimation(el, cfg.keyframes, {\n duration: motionDuration || cfg.duration,\n easing: cfg.easing,\n fill: \"forwards\",\n }, onExitEnd, presetOptions)\n } else {\n setPhase(\"exited\")\n }\n } else {\n const def = presets[exitAnimation]\n if (!def) {\n if (process.env.NODE_ENV === \"development\") {\n if (!warned.has(`exit:${exitAnimation}`)) {\n warned.add(`exit:${exitAnimation}`)\n console.warn(`[trigr] Unknown exit animation preset \"${exitAnimation}\". Expected one of: ${Object.keys(presets).join(\", \")}`)\n }\n }\n setPhase(\"exited\")\n return\n }\n exitAnimRef.current = runAnimation(el, def.out, {\n duration: motionDuration,\n easing,\n fill: \"forwards\",\n }, onExitEnd, presetOptions)\n }\n\n return () => {\n if (exitKeyRef.current === key) {\n exitAnimRef.current?.cancel()\n exitAnimRef.current = null\n }\n }\n }, [show, exitAnimation, duration, easing])\n\n // cursor tracking\n useEffect(() => {\n const hoverName = getAnimationFor(\"hover\")\n const hoverCat = presetCategory[hoverName] ?? \"oneshot\"\n if (hoverCat !== \"cursorTrack\" || !hasTrigger(\"hover\")) return\n const el = ref.current\n if (!el) return\n const previousTransform = el.style.transform\n const previousTransition = el.style.transition\n\n function onMove(e: globalThis.MouseEvent) {\n const rect = el!.getBoundingClientRect()\n const x = (e.clientX - rect.left) / rect.width - 0.5\n const y = (e.clientY - rect.top) / rect.height - 0.5\n\n switch (hoverName) {\n case \"tilt\":\n el!.style.transform = `perspective(400px) rotateY(${x * 12}deg) rotateX(${-y * 8}deg)`\n break\n case \"tilt3D\":\n el!.style.transform = `perspective(600px) rotateY(${x * 20}deg) rotateX(${-y * 15}deg) rotateZ(${x * y * 5}deg)`\n break\n case \"rotate3D\":\n el!.style.transform = `perspective(800px) rotateX(${-y * 30}deg) rotateY(${x * 30}deg)`\n break\n case \"depth\":\n el!.style.transform = `perspective(600px) translateZ(${(1 - Math.abs(x) - Math.abs(y)) * 40}px)`\n break\n }\n el!.style.transition = \"none\"\n }\n\n function onLeave() {\n if (!el) return\n el!.style.transition = `transform 220ms ${SMOOTH}`\n el!.style.transform = previousTransform\n }\n\n el.addEventListener(\"mousemove\", onMove)\n el.addEventListener(\"mouseleave\", onLeave)\n return () => {\n el.removeEventListener(\"mousemove\", onMove)\n el.removeEventListener(\"mouseleave\", onLeave)\n el.style.transform = previousTransform\n el.style.transition = previousTransition\n }\n }, [getAnimationFor, hasTrigger])\n\n // gesture drag\n useEffect(() => {\n if (!dragEnabled) return\n const el = ref.current\n if (!el) return\n\n const prevUserSelect = el.style.userSelect\n const prevTouchAction = el.style.touchAction\n el.style.userSelect = \"none\"\n el.style.touchAction = \"none\"\n\n function snapBack() {\n const { x: ox, y: oy } = dragOffsetRef.current\n el!.style.transition = `transform ${dragSnapBackMs}ms ${SPRING}`\n el!.style.transform = \"translate(0px, 0px)\"\n\n const onEnd = () => {\n el!.removeEventListener(\"transitionend\", onEnd)\n el!.style.transition = \"\"\n finishWillChange(el!)\n onDragEnd?.({\n offset: { x: ox, y: oy },\n velocity: { x: dragVelocityRef.current.x, y: dragVelocityRef.current.y },\n dismissed: false,\n })\n }\n el!.addEventListener(\"transitionend\", onEnd)\n }\n\n function dismissElement() {\n const { x: ox, y: oy } = dragOffsetRef.current\n const dirX = ox !== 0 ? (ox > 0 ? 1 : -1) : 0\n const dirY = oy !== 0 ? (oy > 0 ? 1 : -1) : 0\n const dismissX = dirX * Math.max(Math.abs(ox) * 3, window.innerWidth)\n const dismissY = dirY * Math.max(Math.abs(oy) * 3, window.innerHeight)\n\n el!.style.transition = `transform ${dragSnapBackMs}ms ${EASE_IN}, opacity ${dragSnapBackMs}ms ${EASE_IN}`\n el!.style.transform = `translate(${dismissX}px, ${dismissY}px)`\n el!.style.opacity = \"0\"\n\n const onEnd = () => {\n el!.removeEventListener(\"transitionend\", onEnd)\n el!.style.transition = \"\"\n finishWillChange(el!)\n onDragEnd?.({\n offset: { x: ox, y: oy },\n velocity: { x: dragVelocityRef.current.x, y: dragVelocityRef.current.y },\n dismissed: true,\n })\n }\n el!.addEventListener(\"transitionend\", onEnd)\n }\n\n const handlePointerDown = (e: PointerEvent) => {\n dragStartRef.current = { x: e.clientX, y: e.clientY }\n dragOffsetRef.current = { x: 0, y: 0 }\n dragLastPosRef.current = { x: e.clientX, y: e.clientY, t: performance.now() }\n dragMovedRef.current = false\n dragSuppressClickRef.current = false\n cancelElementAnimations(el!)\n el!.style.transition = \"none\"\n el!.style.willChange = \"transform\"\n }\n\n const handlePointerMove = (e: PointerEvent) => {\n if (!dragStartRef.current) return\n const dx = e.clientX - dragStartRef.current.x\n const dy = e.clientY - dragStartRef.current.y\n const dist = Math.sqrt(dx * dx + dy * dy)\n\n if (!dragMovedRef.current && dist < 5) return\n dragMovedRef.current = true\n dragSuppressClickRef.current = true\n\n el!.setPointerCapture?.(e.pointerId)\n\n const now = performance.now()\n const last = dragLastPosRef.current!\n const dt = now - last.t\n if (dt > 0) {\n dragVelocityRef.current = {\n x: (e.clientX - last.x) / dt,\n y: (e.clientY - last.y) / dt,\n }\n }\n dragLastPosRef.current = { x: e.clientX, y: e.clientY, t: now }\n\n const elastic = dragElastic ?? 0.5\n const factorX = Math.abs(dx) < 50 ? elastic : elastic * elastic * (1 + (Math.abs(dx) - 50) / 100)\n const factorY = Math.abs(dy) < 50 ? elastic : elastic * elastic * (1 + (Math.abs(dy) - 50) / 100)\n const offsetX = dragX ? dx * factorX : 0\n const offsetY = dragY ? dy * factorY : 0\n dragOffsetRef.current = { x: offsetX, y: offsetY }\n el!.style.transform = `translate(${offsetX}px, ${offsetY}px)`\n }\n\n const handlePointerUp = () => {\n if (!dragStartRef.current) return\n dragStartRef.current = null\n\n if (!dragMovedRef.current) return\n\n const { x: ox, y: oy } = dragOffsetRef.current\n const dist = Math.sqrt(ox * ox + oy * oy)\n\n if (dist >= dragThresholdPx) {\n dismissElement()\n } else {\n snapBack()\n }\n dragMovedRef.current = false\n }\n\n const handlePointerCancel = () => {\n if (!dragStartRef.current) return\n dragStartRef.current = null\n\n if (!dragMovedRef.current) return\n\n snapBack()\n dragMovedRef.current = false\n }\n\n el.addEventListener(\"pointerdown\", handlePointerDown)\n window.addEventListener(\"pointermove\", handlePointerMove)\n window.addEventListener(\"pointerup\", handlePointerUp)\n window.addEventListener(\"pointercancel\", handlePointerCancel)\n\n return () => {\n el.removeEventListener(\"pointerdown\", handlePointerDown)\n window.removeEventListener(\"pointermove\", handlePointerMove)\n window.removeEventListener(\"pointerup\", handlePointerUp)\n window.removeEventListener(\"pointercancel\", handlePointerCancel)\n el.style.userSelect = prevUserSelect\n el.style.touchAction = prevTouchAction\n finishWillChange(el)\n el.style.transition = \"\"\n }\n }, [dragEnabled, dragX, dragY, dragThresholdPx, dragElasticVal, dragSnapBackMs, onDragEnd])\n\n // scroll-linked (parallax)\n useEffect(() => {\n const scrollName = getAnimationFor(\"scroll\")\n const scrollCat = presetCategory[scrollName] ?? \"oneshot\"\n if (scrollCat !== \"scrollLink\" || !hasTrigger(\"scroll\")) return\n const el = ref.current\n if (!el) return\n const previousTransform = el.style.transform\n const previousTransformOrigin = el.style.transformOrigin\n const root = getScrollRoot(el)\n const scrollTarget: HTMLElement | Window = root ?? window\n\n let ticking = false\n let idleTimer: ReturnType<typeof setTimeout>\n\n function clearIdleTimer() {\n clearTimeout(idleTimer)\n }\n\n function resetWillChange() {\n if (el) finishWillChange(el)\n }\n\n function onScroll() {\n if (!ticking) {\n rafRef.current = requestAnimationFrame(update)\n ticking = true\n }\n }\n\n function update() {\n ticking = false\n if (!el) return\n clearIdleTimer()\n el.style.willChange = \"transform\"\n idleTimer = setTimeout(resetWillChange, 300)\n const offset = Math.max(-1.25, Math.min(1.25, scrollCenterOffset(el, root)))\n const intensity = Number.isFinite(speed) ? Math.min(1.5, Math.max(0.05, speed)) : 0.5\n const distance = 80 * intensity\n\n switch (scrollName) {\n case \"parallax\":\n el.style.transform = `translateY(${offset * distance}px)`\n break\n case \"parallaxFast\":\n el.style.transform = `translateY(${offset * distance * 1.45}px)`\n break\n case \"parallaxReverse\":\n el.style.transform = `translateY(${-offset * distance}px)`\n break\n case \"tiltScroll\":\n el.style.transform = `perspective(400px) rotateX(${-offset * 30 * intensity}deg)`\n break\n case \"scaleScroll\":\n {\n const focus = 1 - Math.min(1, Math.abs(offset))\n const scale = Math.min(1.12, Math.max(0.9, 0.9 + focus * (0.18 + intensity * 0.08)))\n el.style.transformOrigin = \"center\"\n el.style.transform = `scale(${scale.toFixed(3)})`\n }\n break\n }\n }\n\n scrollTarget.addEventListener(\"scroll\", onScroll, { passive: true })\n window.addEventListener(\"resize\", onScroll, { passive: true })\n onScroll()\n return () => {\n scrollTarget.removeEventListener(\"scroll\", onScroll)\n window.removeEventListener(\"resize\", onScroll)\n clearIdleTimer()\n if (rafRef.current !== null) cancelAnimationFrame(rafRef.current)\n finishWillChange(el)\n el.style.transform = previousTransform\n el.style.transformOrigin = previousTransformOrigin\n }\n }, [getAnimationFor, hasTrigger, speed])\n\n const handleClick = useCallback((event: MouseEvent<HTMLElement>) => {\n if (dragSuppressClickRef.current) {\n dragSuppressClickRef.current = false\n return\n }\n onClick?.(event)\n const el = ref.current\n if (!el) return\n const clickAnimation = getAnimationFor(\"click\")\n const c = presetCategory[clickAnimation] ?? \"oneshot\"\n if (c === \"overlay\") {\n spawnOverlay(el, clickAnimation, event.clientX, event.clientY)\n }\n if (hasTrigger(\"click\") && c === \"continuous\") {\n requestRun(\"click\")\n }\n if (hasTrigger(\"click\") && c === \"oneshot\") {\n requestRun(\"click\")\n }\n }, [getAnimationFor, hasTrigger, onClick, requestRun])\n\n const handleMouseEnter = useCallback(() => {\n onHoverStart?.()\n const el = ref.current\n if (!el) return\n const hoverAnimation = getAnimationFor(\"hover\")\n hoverAnimRef.current = hoverAnimation\n const c = presetCategory[hoverAnimation] ?? \"oneshot\"\n\n if (c === \"hoverState\") {\n const styles = HOVER_STATE_CSS[hoverAnimation]\n if (styles && !prefersReducedMotion()) {\n const transitionDuration = `${effectiveDuration(duration)}ms`\n el.style.transition = `transform ${transitionDuration} ${easing}, filter ${transitionDuration} ${easing}, box-shadow ${transitionDuration} ${easing}, border-color ${transitionDuration} ${easing}, border-width ${transitionDuration} ${easing}`\n setStyles(el, styles)\n hoverApplied.current = true\n }\n }\n\n if (hasTrigger(\"hover\") && c === \"continuous\") {\n const cfg = CONTINUOUS_KEYFRAMES[hoverAnimation]\n if (cfg && !prefersReducedMotion()) {\n animRef.current?.cancel()\n el.style.willChange = \"transform, opacity, filter\"\n animRef.current = el.animate(cfg.keyframes, {\n duration: cfg.duration,\n iterations: Infinity,\n easing: cfg.easing,\n })\n animRef.current.addEventListener(\"cancel\", () => finishWillChange(el))\n }\n }\n\n if (hasTrigger(\"hover\") && c === \"oneshot\") {\n requestRun(\"hover\")\n }\n }, [getAnimationFor, hasTrigger, onHoverStart, requestRun, duration, easing])\n\n const handleMouseLeave = useCallback(() => {\n onHoverEnd?.()\n const el = ref.current\n if (!el) return\n const hoverAnimation = getAnimationFor(\"hover\")\n const c = presetCategory[hoverAnimation] ?? \"oneshot\"\n\n if (c === \"hoverState\") {\n const styles = HOVER_STATE_CSS[hoverAnimation]\n if (styles) {\n const transitionDuration = `${effectiveDuration(duration)}ms`\n el.style.transition = `transform ${transitionDuration} ${easing}, filter ${transitionDuration} ${easing}, box-shadow ${transitionDuration} ${easing}, border-color ${transitionDuration} ${easing}, border-width ${transitionDuration} ${easing}`\n clearStyles(el, styles)\n hoverApplied.current = false\n }\n }\n if (hasTrigger(\"hover\") && c === \"continuous\" && animRef.current) {\n animRef.current.cancel()\n animRef.current = null\n finishWillChange(el)\n }\n }, [getAnimationFor, onHoverEnd, duration, easing, hasTrigger])\n\n // Cleanup hover styles on unmount (if still applied)\n useEffect(() => {\n return () => {\n animRef.current?.cancel()\n propertyAnimRef.current?.cancel()\n exitAnimRef.current?.cancel()\n if (rafRef.current !== null) cancelAnimationFrame(rafRef.current)\n if (runTimerRef.current !== null) clearTimeout(runTimerRef.current)\n queueRef.current = []\n if (hoverApplied.current && ref.current) {\n const styles = HOVER_STATE_CSS[animationRef.current]\n if (styles) clearStyles(ref.current, styles)\n }\n }\n }, [])\n\n if (phase === \"exited\" && unmountOnExit !== false) {\n return null\n }\n\n const clickCategory = presetCategory[getAnimationFor(\"click\")] ?? \"oneshot\"\n const hoverCategory = presetCategory[getAnimationFor(\"hover\")] ?? \"oneshot\"\n\n return createElement(\n as,\n {\n ref,\n className,\n style: phase === \"exited\" ? { ...style, visibility: \"hidden\", pointerEvents: \"none\" } : style,\n onClick: hasTrigger(\"click\") || onClick || clickCategory === \"overlay\" ? handleClick : undefined,\n onMouseEnter: hasTrigger(\"hover\") || onHoverStart || hoverCategory === \"hoverState\" ? handleMouseEnter : undefined,\n onMouseLeave: onHoverEnd || hoverCategory === \"hoverState\" ? handleMouseLeave : undefined,\n },\n children,\n )\n})\n\nexport { Parallax }\nexport { AnimateBlock }\nexport const Animate = { Block: AnimateBlock, Parallax }\nexport default Animate\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ReactNode, CSSProperties } from 'react';
|
|
3
|
+
import { a as AnimateBlockProps, A as AnimateBlockHandle } from '../types-C3sFNX1j.mjs';
|
|
4
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
interface ParallaxProps {
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
type?: "parallax" | "parallaxFast" | "parallaxReverse" | "tiltScroll" | "scaleScroll";
|
|
9
|
+
strength?: number;
|
|
10
|
+
className?: string;
|
|
11
|
+
style?: CSSProperties;
|
|
12
|
+
}
|
|
13
|
+
declare function Parallax({ children, type, strength: _strength, className, style, }: ParallaxProps): react_jsx_runtime.JSX.Element | null;
|
|
14
|
+
|
|
15
|
+
declare const AnimateBlock: react.ForwardRefExoticComponent<AnimateBlockProps & react.RefAttributes<AnimateBlockHandle>>;
|
|
16
|
+
|
|
17
|
+
declare const Animate: {
|
|
18
|
+
Block: react.ForwardRefExoticComponent<AnimateBlockProps & react.RefAttributes<AnimateBlockHandle>>;
|
|
19
|
+
Parallax: typeof Parallax;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export { Animate, AnimateBlock, Parallax, Animate as default };
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import * as react from 'react';
|
|
2
|
+
import { ReactNode, CSSProperties } from 'react';
|
|
3
|
+
import { a as AnimateBlockProps, A as AnimateBlockHandle } from '../types-C3sFNX1j.js';
|
|
4
|
+
import * as react_jsx_runtime from 'react/jsx-runtime';
|
|
5
|
+
|
|
6
|
+
interface ParallaxProps {
|
|
7
|
+
children: ReactNode;
|
|
8
|
+
type?: "parallax" | "parallaxFast" | "parallaxReverse" | "tiltScroll" | "scaleScroll";
|
|
9
|
+
strength?: number;
|
|
10
|
+
className?: string;
|
|
11
|
+
style?: CSSProperties;
|
|
12
|
+
}
|
|
13
|
+
declare function Parallax({ children, type, strength: _strength, className, style, }: ParallaxProps): react_jsx_runtime.JSX.Element | null;
|
|
14
|
+
|
|
15
|
+
declare const AnimateBlock: react.ForwardRefExoticComponent<AnimateBlockProps & react.RefAttributes<AnimateBlockHandle>>;
|
|
16
|
+
|
|
17
|
+
declare const Animate: {
|
|
18
|
+
Block: react.ForwardRefExoticComponent<AnimateBlockProps & react.RefAttributes<AnimateBlockHandle>>;
|
|
19
|
+
Parallax: typeof Parallax;
|
|
20
|
+
};
|
|
21
|
+
|
|
22
|
+
export { Animate, AnimateBlock, Parallax, Animate as default };
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import {forwardRef,useRef,useState,useMemo,useCallback,useImperativeHandle,useLayoutEffect,useEffect,createElement,Children}from'react';import {jsx}from'react/jsx-runtime';var Vt="cubic-bezier(0.0, 0.0, 0.2, 1)";var qt="cubic-bezier(0.34, 1.56, 0.64, 1)";var kt="cubic-bezier(0.22, 1, 0.36, 1)",F={fadeIn:"oneshot",fadeOut:"oneshot",fadeSwap:"oneshot",slideUp:"oneshot",slideDown:"oneshot",slideLeft:"oneshot",slideRight:"oneshot",scaleIn:"oneshot",scaleOut:"oneshot",popIn:"oneshot",popOut:"oneshot",rotateIn:"oneshot",rotateOut:"oneshot",flipX:"oneshot",flipY:"oneshot",bounceIn:"oneshot",bounceOut:"oneshot",shake:"oneshot",wiggle:"oneshot",jello:"oneshot",flash:"oneshot",heartBeat:"oneshot",glideIn:"oneshot",glideOut:"oneshot",dropIn:"oneshot",riseUp:"oneshot",expandIn:"oneshot",collapseOut:"oneshot",expandHeight:"oneshot",fadeSlideUp:"oneshot",blurIn:"oneshot",blurOut:"oneshot",clipUp:"oneshot",clipLeft:"oneshot",zoomIn:"oneshot",zoomOut:"oneshot",springBounce:"oneshot",springScale:"oneshot",springSlideUp:"oneshot",springSlideDown:"oneshot",morphRadius:"oneshot",morphCircle:"oneshot",press:"hoverState",parallax:"scrollLink",parallaxFast:"scrollLink",parallaxReverse:"scrollLink",tiltScroll:"scrollLink",scaleScroll:"scrollLink",lift:"hoverState",sink:"hoverState",grow:"hoverState",glow:"hoverState",shadow:"hoverState",borderPop:"hoverState",tilt:"cursorTrack",tilt3D:"cursorTrack",rotate3D:"cursorTrack",depth:"cursorTrack",float:"continuous",pulse:"continuous",spin:"continuous",ping:"continuous",shimmer:"continuous",ripple:"overlay",burst:"overlay",modalIn:"oneshot",modalOut:"oneshot",popoverIn:"oneshot",popoverOut:"oneshot",toastIn:"oneshot",toastOut:"oneshot",successCheckIn:"oneshot",buttonLoading:"oneshot",focusRingPulse:"continuous",tabPanelIn:"oneshot",tabPanelOut:"oneshot",successToast:"oneshot",checkboxCheck:"oneshot",dialogOut:"oneshot",drawerOutLeft:"oneshot",drawerOutRight:"oneshot",drawerOutTop:"oneshot",drawerOutBottom:"oneshot",menuOut:"oneshot",toastOutRight:"oneshot",toastOutUp:"oneshot",collapseWidth:"oneshot",dismissOut:"oneshot",errorOut:"oneshot",successOut:"oneshot"},ht={fadeIn:{in:[{opacity:0,filter:"blur(3px)"},{opacity:1,filter:"blur(0px)"}],out:[{opacity:1,filter:"blur(0px)"},{opacity:0,filter:"blur(3px)"}]},fadeOut:{in:[{opacity:0,filter:"blur(3px)"},{opacity:1,filter:"blur(0px)"}],out:[{opacity:1,filter:"blur(0px)"},{opacity:0,filter:"blur(3px)"}]},fadeSwap:{in:[{opacity:0,transform:"translateY(12px)",filter:"blur(3px)"},{opacity:.72,transform:"translateY(2px)",filter:"blur(0.5px)",offset:.58},{opacity:1,transform:"translateY(0)",filter:"blur(0px)"}],out:[{opacity:1,transform:"translateY(0)",filter:"blur(0px)"},{opacity:0,transform:"translateY(-12px)",filter:"blur(3px)"}]},slideUp:{in:[{opacity:0,transform:"translateY(28px)",filter:"blur(3px)"},{opacity:.76,transform:"translateY(6px)",filter:"blur(0.5px)",offset:.62},{opacity:1,transform:"translateY(0)",filter:"blur(0px)"}],out:[{opacity:1,transform:"translateY(0)",filter:"blur(0px)"},{opacity:0,transform:"translateY(-24px)",filter:"blur(3px)"}]},slideDown:{in:[{opacity:0,transform:"translateY(-28px)",filter:"blur(3px)"},{opacity:.76,transform:"translateY(-6px)",filter:"blur(0.5px)",offset:.62},{opacity:1,transform:"translateY(0)",filter:"blur(0px)"}],out:[{opacity:1,transform:"translateY(0)",filter:"blur(0px)"},{opacity:0,transform:"translateY(24px)",filter:"blur(3px)"}]},slideLeft:{in:[{opacity:0,transform:"translateX(-28px)",filter:"blur(3px)"},{opacity:.76,transform:"translateX(-6px)",filter:"blur(0.5px)",offset:.62},{opacity:1,transform:"translateX(0)",filter:"blur(0px)"}],out:[{opacity:1,transform:"translateX(0)",filter:"blur(0px)"},{opacity:0,transform:"translateX(-24px)",filter:"blur(3px)"}]},slideRight:{in:[{opacity:0,transform:"translateX(28px)",filter:"blur(3px)"},{opacity:.76,transform:"translateX(6px)",filter:"blur(0.5px)",offset:.62},{opacity:1,transform:"translateX(0)",filter:"blur(0px)"}],out:[{opacity:1,transform:"translateX(0)",filter:"blur(0px)"},{opacity:0,transform:"translateX(24px)",filter:"blur(3px)"}]},scaleIn:{in:[{opacity:0,transform:"scale(0.88)",filter:"blur(2.5px)"},{opacity:1,transform:"scale(1)",filter:"blur(0px)"}],out:[{opacity:1,transform:"scale(1)",filter:"blur(0px)"},{opacity:0,transform:"scale(0.88)",filter:"blur(2.5px)"}]},scaleOut:{in:[{opacity:0,transform:"scale(0.88)",filter:"blur(2.5px)"},{opacity:1,transform:"scale(1)",filter:"blur(0px)"}],out:[{opacity:1,transform:"scale(1)",filter:"blur(0px)"},{opacity:0,transform:"scale(0.88)",filter:"blur(2.5px)"}]},popIn:{in:[{opacity:0,transform:"scale(0.9)",filter:"blur(2px)"},{opacity:1,transform:"scale(1.06)",filter:"blur(0px)",offset:.58},{opacity:1,transform:"scale(1)",filter:"blur(0px)"}],out:[{opacity:1,transform:"scale(1)",filter:"blur(0px)"},{opacity:0,transform:"scale(0.9)",filter:"blur(2px)"}]},popOut:{in:[{opacity:0,transform:"scale(0.9)",filter:"blur(2px)"},{opacity:1,transform:"scale(1.06)",filter:"blur(0px)",offset:.58},{opacity:1,transform:"scale(1)",filter:"blur(0px)"}],out:[{opacity:1,transform:"scale(1)",filter:"blur(0px)"},{opacity:1,transform:"scale(1.06)",filter:"blur(0px)",offset:.4},{opacity:0,transform:"scale(0.9)",filter:"blur(2px)"}]},rotateIn:{in:[{opacity:0,transform:"rotate(-14deg) scale(0.88)",filter:"blur(3px)"},{opacity:1,transform:"rotate(0deg) scale(1)",filter:"blur(0px)"}],out:[{opacity:1,transform:"rotate(0deg) scale(1)",filter:"blur(0px)"},{opacity:0,transform:"rotate(14deg) scale(0.88)",filter:"blur(3px)"}]},rotateOut:{in:[{opacity:0,transform:"rotate(-14deg) scale(0.88)",filter:"blur(3px)"},{opacity:1,transform:"rotate(0deg) scale(1)",filter:"blur(0px)"}],out:[{opacity:1,transform:"rotate(0deg) scale(1)",filter:"blur(0px)"},{opacity:0,transform:"rotate(14deg) scale(0.88)",filter:"blur(3px)"}]},flipX:{in:[{opacity:0,transform:"perspective(800px) rotateX(-90deg)"},{opacity:1,transform:"perspective(800px) rotateX(0deg)"}],out:[{opacity:1,transform:"perspective(800px) rotateX(0deg)"},{opacity:0,transform:"perspective(800px) rotateX(90deg)"}]},flipY:{in:[{opacity:0,transform:"perspective(800px) rotateY(-90deg)"},{opacity:1,transform:"perspective(800px) rotateY(0deg)"}],out:[{opacity:1,transform:"perspective(800px) rotateY(0deg)"},{opacity:0,transform:"perspective(800px) rotateY(90deg)"}]},bounceIn:{in:[{opacity:0,transform:"scale(0.88)",filter:"blur(2px)"},{opacity:1,transform:"scale(1.07)",filter:"blur(0px)",offset:.52},{opacity:1,transform:"scale(0.97)",filter:"blur(0px)",offset:.74},{opacity:1,transform:"scale(1)",filter:"blur(0px)"}],out:[{opacity:1,transform:"scale(1)",filter:"blur(0px)"},{opacity:0,transform:"scale(0.88)",filter:"blur(2px)"}]},bounceOut:{in:[{opacity:0,transform:"scale(0.88)",filter:"blur(2px)"},{opacity:1,transform:"scale(1.07)",filter:"blur(0px)",offset:.52},{opacity:1,transform:"scale(0.97)",filter:"blur(0px)",offset:.74},{opacity:1,transform:"scale(1)",filter:"blur(0px)"}],out:[{opacity:1,transform:"scale(1)",filter:"blur(0px)"},{opacity:1,transform:"scale(1.06)",filter:"blur(0px)",offset:.35},{opacity:0,transform:"scale(0.9)",filter:"blur(2px)"}]},shake:{in:[{opacity:0,transform:"translateX(0)"},{opacity:1,transform:"translateX(-7px)",offset:.18},{opacity:1,transform:"translateX(7px)",offset:.36},{opacity:1,transform:"translateX(-5px)",offset:.56},{opacity:1,transform:"translateX(3px)",offset:.72},{opacity:1,transform:"translateX(0)"}],out:[{opacity:1,transform:"translateX(0)"},{opacity:0,transform:"translateX(-7px)"}]},wiggle:{in:[{opacity:0,transform:"rotate(0deg)"},{opacity:1,transform:"rotate(8deg)",offset:.22},{opacity:1,transform:"rotate(-6deg)",offset:.44},{opacity:1,transform:"rotate(4deg)",offset:.66},{opacity:1,transform:"rotate(-2deg)",offset:.82},{opacity:1,transform:"rotate(0deg)"}],out:[{opacity:1,transform:"rotate(0deg)"},{opacity:0,transform:"rotate(8deg)"}]},jello:{in:[{opacity:0,transform:"scale(1, 1)"},{opacity:1,transform:"scale(1.06, 0.96)",offset:.28},{opacity:1,transform:"scale(0.97, 1.04)",offset:.52},{opacity:1,transform:"scale(1.02, 0.99)",offset:.76},{opacity:1,transform:"scale(1, 1)"}],out:[{opacity:1,transform:"scale(1, 1)"},{opacity:0,transform:"scale(0.9, 0.9)"}]},flash:{in:[{opacity:0},{opacity:.78,offset:.22},{opacity:1,offset:.44},{opacity:.75,offset:.66},{opacity:1,offset:.84},{opacity:1}],out:[{opacity:1},{opacity:0}]},heartBeat:{in:[{opacity:0,transform:"scale(1)"},{opacity:1,transform:"scale(1.12)",offset:.2},{opacity:1,transform:"scale(1)",offset:.38},{opacity:1,transform:"scale(1.12)",offset:.56},{opacity:1,transform:"scale(1)",offset:.72},{opacity:1,transform:"scale(1.06)",offset:.86},{opacity:1,transform:"scale(1)"}],out:[{opacity:1,transform:"scale(1)"},{opacity:0,transform:"scale(0.85)"}]},glideIn:{in:[{opacity:0,transform:"translateY(28px) scale(0.96)",filter:"blur(3px)"},{opacity:.82,transform:"translateY(4px) scale(0.995)",filter:"blur(0.5px)",offset:.62},{opacity:1,transform:"translateY(0) scale(1)",filter:"blur(0px)"}],out:[{opacity:1,transform:"translateY(0) scale(1)",filter:"blur(0px)"},{opacity:0,transform:"translateY(-22px) scale(0.96)",filter:"blur(3px)"}]},glideOut:{in:[{opacity:0,transform:"translateY(28px) scale(0.96)",filter:"blur(3px)"},{opacity:.82,transform:"translateY(4px) scale(0.995)",filter:"blur(0.5px)",offset:.62},{opacity:1,transform:"translateY(0) scale(1)",filter:"blur(0px)"}],out:[{opacity:1,transform:"translateY(0) scale(1)",filter:"blur(0px)"},{opacity:0,transform:"translateY(-22px) scale(0.96)",filter:"blur(3px)"}]},dropIn:{in:[{opacity:0,transform:"translateY(-28px)",filter:"blur(4px)"},{opacity:1,transform:"translateY(3px)",filter:"blur(0px)",offset:.68},{opacity:1,transform:"translateY(0)",filter:"blur(0px)"}],out:[{opacity:1,transform:"translateY(0)",filter:"blur(0px)"},{opacity:0,transform:"translateY(-28px)",filter:"blur(4px)"}]},riseUp:{in:[{opacity:0,transform:"translateY(28px)",filter:"blur(4px)"},{opacity:1,transform:"translateY(-3px)",filter:"blur(0px)",offset:.68},{opacity:1,transform:"translateY(0)",filter:"blur(0px)"}],out:[{opacity:1,transform:"translateY(0)",filter:"blur(0px)"},{opacity:0,transform:"translateY(28px)",filter:"blur(4px)"}]},expandIn:{in:[{opacity:0,transform:"scaleX(0.86)",filter:"blur(2px)"},{opacity:1,transform:"scaleX(1)",filter:"blur(0px)"}],out:[{opacity:1,transform:"scaleX(1)",filter:"blur(0px)"},{opacity:0,transform:"scaleX(0.86)",filter:"blur(2px)"}]},collapseOut:{in:[{opacity:0,transform:"scaleX(0.86)",filter:"blur(2px)"},{opacity:1,transform:"scaleX(1)",filter:"blur(0px)"}],out:[{opacity:1,transform:"scaleX(1)",filter:"blur(0px)"},{opacity:0,transform:"scaleX(0.86)",filter:"blur(2px)"}]},expandHeight:{in:[{opacity:0,transform:"scaleY(0.5)"},{opacity:1,transform:"scaleY(1)"}],out:[{opacity:1,transform:"scaleY(1)"},{opacity:0,transform:"scaleY(0.5)"}]},fadeSlideUp:{in:[{opacity:0,transform:"translateY(20px)",filter:"blur(2.5px)"},{opacity:1,transform:"translateY(0)",filter:"blur(0px)"}],out:[{opacity:1,transform:"translateY(0)",filter:"blur(0px)"},{opacity:0,transform:"translateY(-20px)",filter:"blur(2.5px)"}]},blurIn:{in:[{opacity:0,filter:"blur(6px)"},{opacity:1,filter:"blur(0px)"}],out:[{opacity:1,filter:"blur(0px)"},{opacity:0,filter:"blur(6px)"}]},blurOut:{in:[{opacity:0,filter:"blur(6px)"},{opacity:1,filter:"blur(0px)"}],out:[{opacity:1,filter:"blur(0px)"},{opacity:0,filter:"blur(6px)"}]},clipUp:{in:[{opacity:0,transform:"translateY(14px)",clipPath:"inset(100% 0 0 0)",filter:"blur(2px)"},{opacity:1,transform:"translateY(0)",clipPath:"inset(0 0 0 0)",filter:"blur(0px)"}],out:[{opacity:1,transform:"translateY(0)",clipPath:"inset(0 0 0 0)",filter:"blur(0px)"},{opacity:0,transform:"translateY(-10px)",clipPath:"inset(0 0 100% 0)",filter:"blur(2px)"}]},clipLeft:{in:[{opacity:0,transform:"translateX(14px)",clipPath:"inset(0 100% 0 0)",filter:"blur(2px)"},{opacity:1,transform:"translateX(0)",clipPath:"inset(0 0 0 0)",filter:"blur(0px)"}],out:[{opacity:1,transform:"translateX(0)",clipPath:"inset(0 0 0 0)",filter:"blur(0px)"},{opacity:0,transform:"translateX(-10px)",clipPath:"inset(0 0 0 100%)",filter:"blur(2px)"}]},zoomIn:{in:[{opacity:0,transform:"scale(0.82)",filter:"blur(3px)"},{opacity:1,transform:"scale(1.03)",filter:"blur(0px)",offset:.62},{opacity:1,transform:"scale(1)",filter:"blur(0px)"}],out:[{opacity:1,transform:"scale(1)",filter:"blur(0px)"},{opacity:0,transform:"scale(0.82)",filter:"blur(3px)"}]},zoomOut:{in:[{opacity:0,transform:"scale(1.12)",filter:"blur(3px)"},{opacity:1,transform:"scale(1)",filter:"blur(0px)"}],out:[{opacity:1,transform:"scale(1)",filter:"blur(0px)"},{opacity:0,transform:"scale(1.12)",filter:"blur(3px)"}]},springBounce:{in:[{transform:"scale(0.3)",opacity:0,filter:"blur(4px)"},{transform:"scale(1.12)",opacity:1,filter:"blur(0px)",offset:.52},{transform:"scale(0.93)",opacity:1,filter:"blur(0px)",offset:.7},{transform:"scale(1.02)",opacity:1,filter:"blur(0px)",offset:.84},{transform:"scale(1)",opacity:1,filter:"blur(0px)"}],out:[{transform:"scale(1)",opacity:1,filter:"blur(0px)"},{transform:"scale(1.08)",opacity:.4,filter:"blur(0px)",offset:.28},{transform:"scale(0.3)",opacity:0,filter:"blur(3px)"}]},springScale:{in:[{transform:"scale(0.7)",opacity:0,filter:"blur(3px)"},{transform:"scale(1.08)",opacity:1,filter:"blur(0px)",offset:.58},{transform:"scale(0.96)",opacity:1,filter:"blur(0px)",offset:.78},{transform:"scale(1)",opacity:1,filter:"blur(0px)"}],out:[{transform:"scale(1)",opacity:1,filter:"blur(0px)"},{transform:"scale(0.7)",opacity:0,filter:"blur(3px)"}]},springSlideUp:{in:[{transform:"translateY(36px)",opacity:0,filter:"blur(4px)"},{transform:"translateY(-6px)",opacity:1,filter:"blur(0px)",offset:.6},{transform:"translateY(3px)",opacity:1,filter:"blur(0px)",offset:.78},{transform:"translateY(0)",opacity:1,filter:"blur(0px)"}],out:[{transform:"translateY(0)",opacity:1,filter:"blur(0px)"},{transform:"translateY(-20px)",opacity:0,filter:"blur(4px)"}]},springSlideDown:{in:[{transform:"translateY(-36px)",opacity:0,filter:"blur(4px)"},{transform:"translateY(6px)",opacity:1,filter:"blur(0px)",offset:.6},{transform:"translateY(-3px)",opacity:1,filter:"blur(0px)",offset:.78},{transform:"translateY(0)",opacity:1,filter:"blur(0px)"}],out:[{transform:"translateY(0)",opacity:1,filter:"blur(0px)"},{transform:"translateY(20px)",opacity:0,filter:"blur(4px)"}]},morphRadius:{in:[{borderRadius:"16px",opacity:0,filter:"blur(2px)"},{borderRadius:"0px",opacity:1,filter:"blur(0px)"}],out:[{borderRadius:"0px",opacity:1,filter:"blur(0px)"},{borderRadius:"16px",opacity:0,filter:"blur(2px)"}]},morphCircle:{in:[{borderRadius:"50%",opacity:0,filter:"blur(3px)"},{borderRadius:"8px",opacity:1,filter:"blur(0px)",offset:.52},{borderRadius:"12px",opacity:1,filter:"blur(0px)"}],out:[{borderRadius:"12px",opacity:1,filter:"blur(0px)"},{borderRadius:"50%",opacity:0,filter:"blur(3px)"}]},press:{in:[{transform:"scale(1)",opacity:1},{transform:"scale(0.94)",opacity:1}],out:[{transform:"scale(0.94)",opacity:1},{transform:"scale(1)",opacity:1}]},modalIn:{in:[{transform:"scale(0.88)",opacity:0,filter:"blur(4px)"},{transform:"scale(1.03)",opacity:1,filter:"blur(0px)",offset:.62},{transform:"scale(1)",opacity:1,filter:"blur(0px)"}],out:[{transform:"scale(1)",opacity:1,filter:"blur(0px)"},{transform:"scale(0.92)",opacity:0,filter:"blur(3px)"}]},modalOut:{in:[],out:[{transform:"scale(1)",opacity:1,filter:"blur(0px)"},{transform:"scale(0.88)",opacity:0,filter:"blur(3px)"}]},popoverIn:{in:[{transform:"scale(0.5)",opacity:0,filter:"blur(4px)"},{transform:"scale(1.06)",opacity:1,filter:"blur(0px)",offset:.68},{transform:"scale(1)",opacity:1,filter:"blur(0px)"}],out:[{transform:"scale(1)",opacity:1,filter:"blur(0px)"},{transform:"scale(0.94)",opacity:0,filter:"blur(2px)"}]},popoverOut:{in:[],out:[{transform:"scale(1)",opacity:1,filter:"blur(0px)"},{transform:"scale(0.92)",opacity:0,filter:"blur(3px)"}]},toastIn:{in:[{transform:"translateY(-28px)",opacity:0,filter:"blur(3px)"},{transform:"translateY(2px)",opacity:1,filter:"blur(0px)",offset:.68},{transform:"translateY(0)",opacity:1,filter:"blur(0px)"}],out:[{transform:"translateY(0)",opacity:1,filter:"blur(0px)"},{transform:"translateY(-14px)",opacity:0,filter:"blur(2.5px)"}]},toastOut:{in:[],out:[{transform:"translateY(0)",opacity:1,filter:"blur(0px)"},{transform:"translateY(-14px)",opacity:0,filter:"blur(2.5px)"}]},successCheckIn:{in:[{transform:"scale(0.5)",opacity:0,filter:"blur(4px)"},{transform:"scale(1.1)",opacity:1,filter:"blur(0px)",offset:.52},{transform:"scale(0.93)",opacity:1,filter:"blur(0px)",offset:.74},{transform:"scale(1)",opacity:1,filter:"blur(0px)"}],out:[{transform:"scale(1)",opacity:1,filter:"blur(0px)"},{transform:"scale(0.6)",opacity:0,filter:"blur(3px)"}]},buttonLoading:{in:[{transform:"scale(1)",opacity:1,filter:"blur(0px)"},{transform:"scale(0.95)",opacity:.72,filter:"blur(0px)"},{transform:"scale(1)",opacity:1,filter:"blur(0px)"}],out:[{transform:"scale(1)",opacity:1,filter:"blur(0px)"},{transform:"scale(0.96)",opacity:0,filter:"blur(2px)"}]},tabPanelIn:{in:[{transform:"translateX(20px)",opacity:0,filter:"blur(2px)"},{transform:"translateX(0)",opacity:1,filter:"blur(0px)"}],out:[{transform:"translateX(0)",opacity:1,filter:"blur(0px)"},{transform:"translateX(-20px)",opacity:0,filter:"blur(2px)"}]},tabPanelOut:{in:[],out:[{transform:"translateX(0)",opacity:1,filter:"blur(0px)"},{transform:"translateX(-20px)",opacity:0,filter:"blur(2px)"}]},successToast:{in:[{transform:"translateY(28px) scale(0.88)",opacity:0,filter:"blur(3px)"},{transform:"translateY(-2px) scale(1.02)",opacity:1,filter:"blur(0px)",offset:.58},{transform:"translateY(0) scale(1)",opacity:1,filter:"blur(0px)"}],out:[{transform:"translateY(0) scale(1)",opacity:1,filter:"blur(0px)"},{transform:"translateY(-10px) scale(0.98)",opacity:0,filter:"blur(2.5px)"}]},checkboxCheck:{in:[{transform:"scale(0.4) rotate(-50deg)",opacity:0,filter:"blur(3px)"},{transform:"scale(1.15) rotate(0deg)",opacity:1,filter:"blur(0px)",offset:.58},{transform:"scale(1) rotate(0deg)",opacity:1,filter:"blur(0px)"}],out:[{transform:"scale(1)",opacity:1,filter:"blur(0px)"},{transform:"scale(0.4)",opacity:0,filter:"blur(2px)"}]},dialogOut:{in:[],out:[{transform:"scale(1)",opacity:1,filter:"blur(0px)"},{transform:"scale(0.93)",opacity:0,filter:"blur(2px)"}]},drawerOutLeft:{in:[],out:[{transform:"translateX(0)",opacity:1,filter:"blur(0px)"},{transform:"translateX(-100%)",opacity:0,filter:"blur(3px)"}]},drawerOutRight:{in:[],out:[{transform:"translateX(0)",opacity:1,filter:"blur(0px)"},{transform:"translateX(100%)",opacity:0,filter:"blur(3px)"}]},drawerOutTop:{in:[],out:[{transform:"translateY(0)",opacity:1,filter:"blur(0px)"},{transform:"translateY(-100%)",opacity:0,filter:"blur(3px)"}]},drawerOutBottom:{in:[],out:[{transform:"translateY(0)",opacity:1,filter:"blur(0px)"},{transform:"translateY(100%)",opacity:0,filter:"blur(3px)"}]},menuOut:{in:[],out:[{transform:"scale(1)",opacity:1,filter:"blur(0px)"},{transform:"scale(0.93)",opacity:0,filter:"blur(2px)"}]},toastOutRight:{in:[],out:[{transform:"translateX(0)",opacity:1,filter:"blur(0px)"},{transform:"translateX(28px)",opacity:0,filter:"blur(2.5px)"}]},toastOutUp:{in:[],out:[{transform:"translateY(0)",opacity:1,filter:"blur(0px)"},{transform:"translateY(-18px)",opacity:0,filter:"blur(2.5px)"}]},dismissOut:{in:[],out:[{transform:"translateY(0)",opacity:1,filter:"blur(0px)"},{transform:"translateY(10px) scale(0.95)",opacity:0,filter:"blur(3px)"}]},errorOut:{in:[],out:[{transform:"translateX(0)",opacity:1,filter:"blur(0px)"},{transform:"translateX(-5px)",opacity:1,offset:.18},{transform:"translateX(5px)",opacity:1,offset:.36},{transform:"translateX(-3px)",opacity:.5,offset:.56},{transform:"translateX(2px)",opacity:.15,filter:"blur(1px)",offset:.76},{transform:"translateX(0)",opacity:0,filter:"blur(2px)"}]},successOut:{in:[],out:[{transform:"scale(1)",opacity:1,filter:"blur(0px)"},{transform:"scale(1.12)",opacity:.35,filter:"blur(1px)",offset:.38},{transform:"scale(0.88)",opacity:0,filter:"blur(3px)"}]},collapseWidth:{in:[],out:[{clipPath:"inset(0 0 0 0)",opacity:1,filter:"blur(0px)"},{clipPath:"inset(0 100% 0 0)",opacity:0,filter:"blur(2px)"}]}};function Br(n){let e=n.parentElement;for(;e&&e!==document.body&&e!==document.documentElement;){let a=getComputedStyle(e);if(/(auto|scroll|overlay)/.test(`${a.overflowY}${a.overflow}`)&&e.scrollHeight>e.clientHeight)return e;e=e.parentElement;}return null}function hr({children:n,type:e="parallax",strength:a,className:l,style:w}){let Y=useRef(null),f=Children.toArray(n),s=f.length,d=a!=null?a:e==="parallaxFast"?.55:e==="parallaxReverse"?.35:e==="tiltScroll"?.3:e==="scaleScroll"?.4:.3;return useEffect(()=>{var st,Rt;let M=Y.current;if(!M||s===0)return;let x=typeof window!="undefined"?(st=window.matchMedia)==null?void 0:st.call(window,"(prefers-reduced-motion: reduce)"):null;if(x!=null&&x.matches)return;let m=false,b=null;function L(){return b&&b instanceof HTMLElement?{top:b.getBoundingClientRect().top,height:b.clientHeight}:{top:0,height:window.innerHeight}}function P(){m=false;let{top:B,height:E}=L();if(E===0)return;let H=M.getBoundingClientRect(),it=(B-H.top)/E;for(let W=0;W<s;W++){let ot=M.children[W],_=ot==null?void 0:ot.firstElementChild;if(!_)continue;let T=Math.max(-1.4,Math.min(1.4,it-W)),lt=Math.abs(T);_.style.willChange="transform";let N="";switch(e){case "parallax":case "parallaxFast":N=`translateY(${-T*d*110}px) scale(${1-Math.min(lt,1)*.025})`;break;case "parallaxReverse":N=`translateY(${T*d*110}px) scale(${1-Math.min(lt,1)*.025})`;break;case "tiltScroll":N=`perspective(700px) translateY(${-T*d*60}px) rotateX(${-T*d*14}deg)`;break;case "scaleScroll":{let gt=1-Math.min(lt,1),tt=Math.min(1.12,Math.max(.9,.9+gt*(.18+d*.08)));_.style.transformOrigin="center",N=`translateY(${-T*d*42}px) scale(${tt.toFixed(3)})`;}break}_.style.transform=N;}}function J(){m||(requestAnimationFrame(P),m=true);}function Q(){let{height:B}=L();if(M){M.style.height=`${s*B}px`;for(let E=0;E<s;E++){let H=M.children[E];H&&(H.style.height=`${B}px`);}}J();}return b=(Rt=Br(M))!=null?Rt:window,b.addEventListener("scroll",J,{passive:true}),window.addEventListener("resize",Q,{passive:true}),Q(),()=>{let B=b;B&&typeof B.removeEventListener=="function"&&B.removeEventListener("scroll",J),window.removeEventListener("resize",Q);for(let E=0;E<s;E++){let H=M.children[E],D=H==null?void 0:H.firstElementChild;D&&(D.style.transform="",D.style.transformOrigin="",D.style.willChange="auto");}}},[s,e,d]),s===0?null:jsx("div",{ref:Y,className:l,style:{position:"relative",height:`calc(${s} * 100dvh)`,...w},children:f.map((M,x)=>jsx("div",{style:{position:"sticky",top:0,height:"100dvh",zIndex:x+1,boxSizing:"border-box",display:"grid",placeItems:"center",overflow:"visible"},children:jsx("div",{className:"trigr-parallax-layer",children:M})},x))})}var Pt=new Set;function at(){var n,e;return typeof window=="undefined"?false:(e=(n=window.matchMedia)==null?void 0:n.call(window,"(prefers-reduced-motion: reduce)").matches)!=null?e:false}function G(n){n.style.willChange="auto";}function Kr(n,e=300){let a=Number(n);return Number.isFinite(a)&&a>0?a:e}function $t(n){let e=Kr(n,300);return at()?e/2:e}function Yr(n){n.getAnimations({subtree:true}).forEach(e=>e.cancel());}function Sr(n){let e=n.parentElement;for(;e&&e!==document.body&&e!==document.documentElement;){let a=getComputedStyle(e);if(/(auto|scroll|overlay)/.test(`${a.overflowY}${a.overflow}`)&&e.scrollHeight>e.clientHeight)return e;e=e.parentElement;}return null}function jr(n,e){var f;let a=Sr(n),l=(f=a==null?void 0:a.clientHeight)!=null?f:window.innerHeight,w=Math.min(.95,Math.max(.05,e)),Y=Math.round(l*Math.min(.48,w/2));return {root:a,rootMargin:`-${Y}px 0px -${Y}px 0px`,threshold:0}}function Dr(n,e){var d,M;let a=n.getBoundingClientRect(),l=e==null?void 0:e.getBoundingClientRect(),w=(d=l==null?void 0:l.top)!=null?d:0,Y=(M=l==null?void 0:l.height)!=null?M:window.innerHeight,f=w+Y/2;return (a.top+a.height/2-f)/Math.max(Y,1)}var Mt={lift:{transform:"translateY(-4px)"},sink:{transform:"translateY(4px)"},grow:{transform:"scale(1.03)"},glow:{filter:"brightness(1.15)"},shadow:{boxShadow:"0 8px 24px currentColor"},borderPop:{borderColor:"currentColor",borderWidth:"2px"},press:{transform:"scale(0.96)"}},St={pulse:{keyframes:[{transform:"scale(1)"},{transform:"scale(1.05)",offset:.5},{transform:"scale(1)"}],duration:2e3,easing:kt},float:{keyframes:[{transform:"translateY(0)"},{transform:"translateY(-5px)",offset:.5},{transform:"translateY(0)"}],duration:1500,easing:kt},spin:{keyframes:[{transform:"rotate(0deg)"},{transform:"rotate(360deg)"}],duration:2e3,easing:"linear"},ping:{keyframes:[{transform:"scale(1)",opacity:1},{transform:"scale(1.15)",opacity:0}],duration:1500,easing:kt},shimmer:{keyframes:[{backgroundPosition:"-200% 0"},{backgroundPosition:"200% 0"}],duration:2500,easing:"linear"},focusRingPulse:{keyframes:[{boxShadow:"0 0 0 0 rgba(99, 102, 241, 0.4)"},{boxShadow:"0 0 0 4px rgba(99, 102, 241, 0)"}],duration:2e3,easing:"ease-out"}};function Wr(n){return n.some(e=>{let a=e.transform;return a?/\bscalef?[a-zA-Z]*\(/.test(a):false})}function _r(n){return n.some(e=>{let a=e.transform;return a?/\bscaleY\(/.test(a):false})}function Vr(n,e){let a=e[0];a&&(a.opacity!==void 0&&(n.style.opacity=String(a.opacity)),a.transform!==void 0&&(n.style.transform=String(a.transform)),a.filter!==void 0&&(n.style.filter=String(a.filter)));}function Or(n,e){let a=e[0],l=e[e.length-1];if(!l)return;let w=a.opacity!==void 0,Y=a.filter!==void 0;l.opacity!==void 0?n.style.opacity=String(l.opacity):w&&(n.style.opacity="1"),l.transform!==void 0&&(n.style.transform=String(l.transform)),l.filter!==void 0?n.style.filter=String(l.filter):Y&&(n.style.filter="blur(0px)");}function qr(n,e){if(!e)return n;let{distance:a,scale:l,blur:w,rotate:Y}=e;return n.map(f=>{let s=f.transform,d=f.filter;return a!==void 0&&s&&(s=s.replace(/translateY\((-?\d+(?:\.\d+)?)(px)?\)/g,(M,x)=>`translateY(${Math.round(Number(x)*(a/32))}px)`),s=s.replace(/translateX\((-?\d+(?:\.\d+)?)(px)?\)/g,(M,x)=>`translateX(${Math.round(Number(x)*(a/32))}px)`)),l!==void 0&&s&&(s=s.replace(/scale\((-?[\d.]+(?:,\s*-?[\d.]+)?)\)/g,`scale(${l})`)),w!==void 0&&d&&(d=d.replace(/blur\((\d+)px\)/g,`blur(${w}px)`)),Y!==void 0&&s&&(s=s.replace(/(rotateX?Y?Z?)\((-?[\d.]+)deg\)/g,(M,x,m)=>`${x}(${Math.round(Number(m)*(Y/8))}deg)`)),{...f,transform:s,filter:d}})}function Lt(n,e,a,l,w){n.style.willChange="transform, opacity, filter";let Y=n.style.transition;n.style.transition="none";let f=qr(e,w),s=Wr(f),d=_r(f),M=n.style.transformOrigin;s&&(n.style.transformOrigin="center"),d&&(n.style.transformOrigin="top"),Vr(n,f);let x=at()?f.map(({opacity:L})=>({opacity:L!=null?L:1})):f,m=n.animate(x,{...a,fill:"forwards"}),b=()=>{n.style.transition=Y,(s||d)&&(n.style.transformOrigin=M);};return m.addEventListener("finish",()=>{Or(n,f),G(n),b(),l==null||l();}),m.addEventListener("cancel",()=>{Or(n,f),b();}),m}function kr(n,e){for(let a in e)n.style[a]=e[a];}function $r(n,e){for(let a in e)n.style[a]="";}function Mr(n,e,a){if(!e||Object.keys(e).length===0)return null;let l={},w={};for(let[f,s]of Object.entries(e))l[f]=s[0],w[f]=s[1];for(let[f,s]of Object.entries(l))n.style[f]=s;let Y=n.animate([l,w],{...a,fill:"forwards"});return Y.addEventListener("finish",()=>{for(let[f,s]of Object.entries(e))n.style[f]=String(s[1]);}),Y.addEventListener("cancel",()=>{for(let[f,s]of Object.entries(l))n.style[f]=s;}),Y}function Zr(n,e,a,l){let w=n.getBoundingClientRect(),Y=a-w.left,f=l-w.top,s=n.style.position,d=n.style.overflow,M=getComputedStyle(n).getPropertyValue("--trigr-overlay-color")||"currentColor";n.style.position="relative",n.style.overflow="hidden";let x=0;function m(){x-=1,x<=0&&(n.style.position=s,n.style.overflow=d);}if(e==="ripple"){x=1;let b=Math.max(w.width,w.height)*2.5,L=document.createElement("span");L.style.cssText=`
|
|
2
|
+
position: absolute; left: ${Y}px; top: ${f}px; width: 0; height: 0;
|
|
3
|
+
border-radius: 50%; background: ${M};
|
|
4
|
+
transform: translate(-50%, -50%); pointer-events: none;
|
|
5
|
+
opacity: 1;
|
|
6
|
+
`,n.appendChild(L);let P=L.animate([{width:"0",height:"0",opacity:1},{width:`${b}px`,height:`${b}px`,opacity:0}],{duration:400,easing:"cubic-bezier(0.22, 1, 0.36, 1)",fill:"forwards"});P.onfinish=()=>{L.remove(),m();},P.oncancel=()=>{L.remove(),m();};}if(e==="burst"){x=8;for(let b=0;b<8;b++){let L=Math.PI*2*b/8,P=document.createElement("span");P.style.cssText=`
|
|
7
|
+
position: absolute; left: ${Y}px; top: ${f}px; width: 6px; height: 6px;
|
|
8
|
+
border-radius: 50%; background: ${M};
|
|
9
|
+
pointer-events: none; transform: translate(-50%, -50%);
|
|
10
|
+
`,n.appendChild(P);let J=Math.cos(L)*60,Q=Math.sin(L)*60,st=P.animate([{transform:"translate(-50%, -50%) scale(1)",opacity:1},{transform:`translate(calc(-50% + ${J}px), calc(-50% + ${Q}px)) scale(0)`,opacity:0}],{duration:360,easing:"cubic-bezier(0.4, 0.0, 1, 1)",fill:"forwards"});st.onfinish=()=>{P.remove(),m();},st.oncancel=()=>{P.remove(),m();};}}}var Gr=forwardRef(function({value:e,triggers:a,trigger:l="change",animation:w,scrollAnimation:Y,properties:f,exitAnimation:s,show:d,unmountOnExit:M=true,duration:x=400,easing:m=qt,delay:b=0,speed:L=.5,threshold:P=.4,repeat:J=false,once:Q,as:st="div",className:Rt,style:B,onClick:E,onEnter:H,onExit:D,onHoverStart:it,onHoverEnd:W,onAnimationEnd:ot,presetOptions:_,drag:T,dragThreshold:lt,dragElastic:N,dragSnapBackDuration:gt,onDragEnd:tt,layoutId:Lr,layoutTransition:yt,children:Rr},Xr){var lr,cr,fr,ur,pr,mr,yr;let u=useRef(null),g=useRef(null),Xt=useRef(null),ct=useRef(null),K=useRef(null),It=useRef(e),xt=useRef(false),At=useRef(null),vt=useRef(false),wt=useRef([]),Gt=useRef(0),[dt,Ht]=useState(null),[ft,ut]=useState(d!==false?"entered":"exited"),rt=useRef(null),zt=useRef(0),Bt=useRef(false),Tt=useRef(false),et=useRef(null),Yt=useRef({x:0,y:0}),Ot=useRef({x:0,y:0}),Nt=useRef(null),pt=useRef(false),Et=useRef(false),Jt=useRef(null),Qt=Q!=null?Q:!J,Ut=T===true||T==="both"||T==="x"||T==="y",tr=T===true||T==="both"||T==="x",rr=T===true||T==="both"||T==="y",er=lt!=null?lt:100,Tr=N!=null?N:.5,Ct=gt!=null?gt:300,bt=useMemo(()=>a?a.map(o=>{var r;return {trigger:o.trigger,animation:o.animation,threshold:(r=o.threshold)!=null?r:P}}):(Array.isArray(l)?l.slice(0,2):[l]).map(o=>({trigger:o,animation:o==="scroll"&&Y?Y:w,threshold:P})),[a,l,w,Y,P]),Ft=useMemo(()=>bt.map(t=>t.trigger),[bt]),O=useCallback(t=>Ft.includes(t),[Ft]),Kt=(cr=(lr=dt==null?void 0:dt.source)!=null?lr:Ft[0])!=null?cr:"change",jt=bt.find(t=>t.trigger===Kt),V=(fr=jt==null?void 0:jt.animation)!=null?fr:w,mt=(ur=F[V])!=null?ur:"oneshot",nr=useRef(V);nr.current=V;let Dt=bt.find(t=>t.trigger==="scroll"),or=(pr=Dt==null?void 0:Dt.threshold)!=null?pr:P,C=useCallback(t=>{var r;let o=bt.find(i=>i.trigger===t);return (r=o==null?void 0:o.animation)!=null?r:w},[bt,w]),U=useCallback(()=>{K.current!==null&&(clearTimeout(K.current),K.current=null),vt.current=false,ot==null||ot();let t=wt.current.shift();t?(vt.current=true,Ht({id:++Gt.current,source:t})):Ht(null);},[ot]),j=useCallback(t=>{if(vt.current){t!=="scroll"&&(wt.current=[...wt.current,t].slice(-2));return}vt.current=true,Ht({id:++Gt.current,source:t});},[]),ar=useCallback((t=Kt,o)=>{var c,h;let r=u.current;if(!r){U();return}let i=o!=null?o:C(t);Yr(r),g.current=null,Xt.current=null,ct.current!==null&&cancelAnimationFrame(ct.current),K.current!==null&&(clearTimeout(K.current),K.current=null);let v=$t(x),p=(c=F[i])!=null?c:"oneshot";Xt.current=Mr(r,f,{duration:v,easing:m,delay:b});let k={};if(xt.current){let y=Mt[(h=At.current)!=null?h:i];if(y)for(let A in y)k[A]=r.style[A],r.style[A]="";}function R(){if(xt.current)for(let y in k)r.style[y]=k[y];}if(p==="overlay"||p==="hoverState"||p==="cursorTrack"){U();return}if(p==="continuous"){let y=St[i];if(!y||at()){U();return}let A=Math.max(360,y.duration);g.current=Lt(r,y.keyframes,{duration:A,easing:y.easing,delay:b,iterations:1,fill:"forwards"},U,_),Object.keys(k).length&&(g.current.addEventListener("finish",R,{once:true}),g.current.addEventListener("cancel",R,{once:true})),K.current=setTimeout(U,A+b+80);return}let $=ht[i];if(!$){Pt.has(i)||(Pt.add(i),process.env.NODE_ENV==="development"&&console.warn(`[trigr] Unknown block animation preset "${i}". Expected one of: ${Object.keys(ht).join(", ")}`)),U();return}K.current=setTimeout(U,Math.max(500,v+b+300)),g.current=Lt(r,$.in,{duration:v,easing:m,delay:b},U,_),Object.keys(k).length&&(g.current.addEventListener("finish",R,{once:true}),g.current.addEventListener("cancel",R,{once:true}));},[Kt,b,x,m,U,C,f]),sr=useCallback(()=>{j("manual");},[j]);useImperativeHandle(Xr,()=>({animate:sr,get element(){return u.current}}),[sr]),useLayoutEffect(()=>{var r,i,v;if(!Lr||!u.current||((r=g.current)==null?void 0:r.playState)==="running"||Ut&&et.current||((i=rt.current)==null?void 0:i.playState)==="running")return;let t=Jt.current,o=u.current.getBoundingClientRect();if(t&&(t.x!==o.x||t.y!==o.y||t.width!==o.width||t.height!==o.height)){let p=t.left-o.left,k=t.top-o.top,R=t.width/o.width,$=t.height/o.height,c={};if(xt.current){let I=Mt[(v=At.current)!=null?v:""];if(I)for(let X in I)c[X]=u.current.style[X],u.current.style[X]="";}let h=u.current.style.willChange;u.current.style.transform;let A=u.current.style.transition;u.current.getAnimations().forEach(I=>I.cancel()),u.current.style.transform=`translate(${p}px, ${k}px) scale(${R}, ${$})`,u.current.style.transformOrigin="top left",requestAnimationFrame(()=>{var X,z;if(!u.current)return;u.current.style.transition=`transform ${(X=yt==null?void 0:yt.duration)!=null?X:400}ms ${(z=yt==null?void 0:yt.easing)!=null?z:"cubic-bezier(0.34, 1.56, 0.64, 1)"}`,u.current.style.transform="";let I=()=>{u.current&&(u.current.style.transition=A,u.current.style.transformOrigin="",u.current.style.willChange=h,Object.keys(c).length&&kr(u.current,c),u.current.removeEventListener("transitionend",I));};u.current.addEventListener("transitionend",I);});}Jt.current=o;}),useEffect(()=>{var v;let t=C("scroll"),o=(v=F[t])!=null?v:"oneshot";if(!O("scroll")||o!=="oneshot")return;let r=u.current;if(!r)return;Tt.current=false;let i=new IntersectionObserver(([p])=>{if(!p.isIntersecting){Tt.current=false,J&&(D==null||D());return}Tt.current||(Tt.current=true,H==null||H(),j("scroll"),Qt&&i.disconnect());},jr(r,or));return i.observe(r),()=>i.disconnect()},[C,O,H,D,J,j,Qt,or]),useEffect(()=>{let t=It.current;if(!O("change")||mt!=="oneshot"){It.current=e;return}It.current=e,!(t===void 0||Object.is(t,e)||!u.current)&&j("change");},[mt,O,e,j]),useEffect(()=>{if(mt!=="continuous"||O("hover")||O("click")||O("manual")||O("mount"))return;let t=u.current;if(!t)return;let o=St[V];if(!(!o||at())){if(V==="shimmer"){let r=getComputedStyle(t).color;t.style.background=`linear-gradient(90deg, transparent 0%, ${r}33 50%, transparent 100%)`,t.style.backgroundSize="200% 100%";}return t.style.willChange="transform, opacity, filter",g.current=t.animate(o.keyframes,{duration:o.duration,iterations:1/0,easing:o.easing}),g.current.addEventListener("cancel",()=>G(t)),()=>{g.current&&(g.current.cancel(),g.current=null),V==="shimmer"&&(t.style.background="",t.style.backgroundSize="");}}},[V,mt,O]),useEffect(()=>{if(!O("mount")||ft!=="entered"||Bt.current||!(d!=null?d:true))return;Bt.current=true;let o=u.current;if(o){if(mt==="continuous"){let r=St[V];return !r||at()?void 0:(o.style.willChange="transform, opacity, filter",g.current=o.animate(r.keyframes,{duration:r.duration,iterations:1/0,easing:r.easing}),g.current.addEventListener("cancel",()=>G(o)),()=>{var i;(i=g.current)==null||i.cancel(),g.current=null;})}if(mt==="oneshot"){let r=$t(x),i=ht[V];if(!i)return;Xt.current=Mr(o,f,{duration:r,easing:m,delay:b}),K.current=setTimeout(U,Math.max(600,r+b+300)),g.current=Lt(o,i.in,{duration:r,easing:m,delay:b},U,_);}}},[O,ft,d,V,mt,x,m,b,U,f]),useEffect(()=>{(ft==="exiting"||ft==="exited")&&(Bt.current=false);},[ft]),useLayoutEffect(()=>{dt&&ar(dt.source);},[dt,ar]),useEffect(()=>{var p,k,R;if(d===void 0)return;if(d){(p=rt.current)==null||p.cancel(),rt.current=null,ut("entered");return}let t=++zt.current;if(!s){ut("exited");return}let o=u.current;if(!o){ut("exited");return}(k=g.current)==null||k.cancel(),g.current=null,vt.current=false,wt.current=[];let r=$t(x),i=(R=F[s])!=null?R:"oneshot",v=()=>{zt.current===t&&(ut("exited"),rt.current=null);};if(ut("exiting"),i==="continuous"){let $=St[s];$&&!at()?rt.current=Lt(o,$.keyframes,{duration:r||$.duration,easing:$.easing,fill:"forwards"},v,_):ut("exited");}else {let $=ht[s];if(!$){process.env.NODE_ENV==="development"&&(Pt.has(`exit:${s}`)||(Pt.add(`exit:${s}`),console.warn(`[trigr] Unknown exit animation preset "${s}". Expected one of: ${Object.keys(ht).join(", ")}`))),ut("exited");return}rt.current=Lt(o,$.out,{duration:r,easing:m,fill:"forwards"},v,_);}return ()=>{var $;zt.current===t&&(($=rt.current)==null||$.cancel(),rt.current=null);}},[d,s,x,m]),useEffect(()=>{var R;let t=C("hover");if(((R=F[t])!=null?R:"oneshot")!=="cursorTrack"||!O("hover"))return;let r=u.current;if(!r)return;let i=r.style.transform,v=r.style.transition;function p($){let c=r.getBoundingClientRect(),h=($.clientX-c.left)/c.width-.5,y=($.clientY-c.top)/c.height-.5;switch(t){case "tilt":r.style.transform=`perspective(400px) rotateY(${h*12}deg) rotateX(${-y*8}deg)`;break;case "tilt3D":r.style.transform=`perspective(600px) rotateY(${h*20}deg) rotateX(${-y*15}deg) rotateZ(${h*y*5}deg)`;break;case "rotate3D":r.style.transform=`perspective(800px) rotateX(${-y*30}deg) rotateY(${h*30}deg)`;break;case "depth":r.style.transform=`perspective(600px) translateZ(${(1-Math.abs(h)-Math.abs(y))*40}px)`;break}r.style.transition="none";}function k(){r&&(r.style.transition=`transform 220ms ${kt}`,r.style.transform=i);}return r.addEventListener("mousemove",p),r.addEventListener("mouseleave",k),()=>{r.removeEventListener("mousemove",p),r.removeEventListener("mouseleave",k),r.style.transform=i,r.style.transition=v;}},[C,O]),useEffect(()=>{if(!Ut)return;let t=u.current;if(!t)return;let o=t.style.userSelect,r=t.style.touchAction;t.style.userSelect="none",t.style.touchAction="none";function i(){let{x:c,y:h}=Yt.current;t.style.transition=`transform ${Ct}ms ${qt}`,t.style.transform="translate(0px, 0px)";let y=()=>{t.removeEventListener("transitionend",y),t.style.transition="",G(t),tt==null||tt({offset:{x:c,y:h},velocity:{x:Ot.current.x,y:Ot.current.y},dismissed:false});};t.addEventListener("transitionend",y);}function v(){let{x:c,y:h}=Yt.current,y=c!==0?c>0?1:-1:0,A=h!==0?h>0?1:-1:0,I=y*Math.max(Math.abs(c)*3,window.innerWidth),X=A*Math.max(Math.abs(h)*3,window.innerHeight);t.style.transition=`transform ${Ct}ms ${Vt}, opacity ${Ct}ms ${Vt}`,t.style.transform=`translate(${I}px, ${X}px)`,t.style.opacity="0";let z=()=>{t.removeEventListener("transitionend",z),t.style.transition="",G(t),tt==null||tt({offset:{x:c,y:h},velocity:{x:Ot.current.x,y:Ot.current.y},dismissed:true});};t.addEventListener("transitionend",z);}let p=c=>{et.current={x:c.clientX,y:c.clientY},Yt.current={x:0,y:0},Nt.current={x:c.clientX,y:c.clientY,t:performance.now()},pt.current=false,Et.current=false,Yr(t),t.style.transition="none",t.style.willChange="transform";},k=c=>{var br;if(!et.current)return;let h=c.clientX-et.current.x,y=c.clientY-et.current.y,A=Math.sqrt(h*h+y*y);if(!pt.current&&A<5)return;pt.current=true,Et.current=true,(br=t.setPointerCapture)==null||br.call(t,c.pointerId);let I=performance.now(),X=Nt.current,z=I-X.t;z>0&&(Ot.current={x:(c.clientX-X.x)/z,y:(c.clientY-X.y)/z}),Nt.current={x:c.clientX,y:c.clientY,t:I};let q=N!=null?N:.5,Wt=Math.abs(h)<50?q:q*q*(1+(Math.abs(h)-50)/100),_t=Math.abs(y)<50?q:q*q*(1+(Math.abs(y)-50)/100),xr=tr?h*Wt:0,dr=rr?y*_t:0;Yt.current={x:xr,y:dr},t.style.transform=`translate(${xr}px, ${dr}px)`;},R=()=>{if(!et.current||(et.current=null,!pt.current))return;let{x:c,y:h}=Yt.current;Math.sqrt(c*c+h*h)>=er?v():i(),pt.current=false;},$=()=>{et.current&&(et.current=null,pt.current&&(i(),pt.current=false));};return t.addEventListener("pointerdown",p),window.addEventListener("pointermove",k),window.addEventListener("pointerup",R),window.addEventListener("pointercancel",$),()=>{t.removeEventListener("pointerdown",p),window.removeEventListener("pointermove",k),window.removeEventListener("pointerup",R),window.removeEventListener("pointercancel",$),t.style.userSelect=o,t.style.touchAction=r,G(t),t.style.transition="";}},[Ut,tr,rr,er,Tr,Ct,tt]),useEffect(()=>{var I;let t=C("scroll");if(((I=F[t])!=null?I:"oneshot")!=="scrollLink"||!O("scroll"))return;let r=u.current;if(!r)return;let i=r.style.transform,v=r.style.transformOrigin,p=Sr(r),k=p!=null?p:window,R=false,$;function c(){clearTimeout($);}function h(){r&&G(r);}function y(){R||(ct.current=requestAnimationFrame(A),R=true);}function A(){if(R=false,!r)return;c(),r.style.willChange="transform",$=setTimeout(h,300);let X=Math.max(-1.25,Math.min(1.25,Dr(r,p))),z=Number.isFinite(L)?Math.min(1.5,Math.max(.05,L)):.5,q=80*z;switch(t){case "parallax":r.style.transform=`translateY(${X*q}px)`;break;case "parallaxFast":r.style.transform=`translateY(${X*q*1.45}px)`;break;case "parallaxReverse":r.style.transform=`translateY(${-X*q}px)`;break;case "tiltScroll":r.style.transform=`perspective(400px) rotateX(${-X*30*z}deg)`;break;case "scaleScroll":{let Wt=1-Math.min(1,Math.abs(X)),_t=Math.min(1.12,Math.max(.9,.9+Wt*(.18+z*.08)));r.style.transformOrigin="center",r.style.transform=`scale(${_t.toFixed(3)})`;}break}}return k.addEventListener("scroll",y,{passive:true}),window.addEventListener("resize",y,{passive:true}),y(),()=>{k.removeEventListener("scroll",y),window.removeEventListener("resize",y),c(),ct.current!==null&&cancelAnimationFrame(ct.current),G(r),r.style.transform=i,r.style.transformOrigin=v;}},[C,O,L]);let Er=useCallback(t=>{var v;if(Et.current){Et.current=false;return}E==null||E(t);let o=u.current;if(!o)return;let r=C("click"),i=(v=F[r])!=null?v:"oneshot";i==="overlay"&&Zr(o,r,t.clientX,t.clientY),O("click")&&i==="continuous"&&j("click"),O("click")&&i==="oneshot"&&j("click");},[C,O,E,j]),Cr=useCallback(()=>{var i,v;it==null||it();let t=u.current;if(!t)return;let o=C("hover");At.current=o;let r=(i=F[o])!=null?i:"oneshot";if(r==="hoverState"){let p=Mt[o];if(p&&!at()){let k=`${$t(x)}ms`;t.style.transition=`transform ${k} ${m}, filter ${k} ${m}, box-shadow ${k} ${m}, border-color ${k} ${m}, border-width ${k} ${m}`,kr(t,p),xt.current=true;}}if(O("hover")&&r==="continuous"){let p=St[o];p&&!at()&&((v=g.current)==null||v.cancel(),t.style.willChange="transform, opacity, filter",g.current=t.animate(p.keyframes,{duration:p.duration,iterations:1/0,easing:p.easing}),g.current.addEventListener("cancel",()=>G(t)));}O("hover")&&r==="oneshot"&&j("hover");},[C,O,it,j,x,m]),Pr=useCallback(()=>{var i;W==null||W();let t=u.current;if(!t)return;let o=C("hover"),r=(i=F[o])!=null?i:"oneshot";if(r==="hoverState"){let v=Mt[o];if(v){let p=`${$t(x)}ms`;t.style.transition=`transform ${p} ${m}, filter ${p} ${m}, box-shadow ${p} ${m}, border-color ${p} ${m}, border-width ${p} ${m}`,$r(t,v),xt.current=false;}}O("hover")&&r==="continuous"&&g.current&&(g.current.cancel(),g.current=null,G(t));},[C,W,x,m,O]);if(useEffect(()=>()=>{var t,o,r;if((t=g.current)==null||t.cancel(),(o=Xt.current)==null||o.cancel(),(r=rt.current)==null||r.cancel(),ct.current!==null&&cancelAnimationFrame(ct.current),K.current!==null&&clearTimeout(K.current),wt.current=[],xt.current&&u.current){let i=Mt[nr.current];i&&$r(u.current,i);}},[]),ft==="exited"&&M!==false)return null;let Ir=(mr=F[C("click")])!=null?mr:"oneshot",ir=(yr=F[C("hover")])!=null?yr:"oneshot";return createElement(st,{ref:u,className:Rt,style:ft==="exited"?{...B,visibility:"hidden",pointerEvents:"none"}:B,onClick:O("click")||E||Ir==="overlay"?Er:void 0,onMouseEnter:O("hover")||it||ir==="hoverState"?Cr:void 0,onMouseLeave:W||ir==="hoverState"?Pr:void 0},Rr)});var Jr={Block:Gr,Parallax:hr},ie=Jr;export{Jr as Animate,Gr as AnimateBlock,hr as Parallax,ie as default};//# sourceMappingURL=index.js.map
|
|
11
|
+
//# sourceMappingURL=index.js.map
|