react-ui-animate 2.0.0-rc.3 → 2.0.0-rc.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,6 +3,6 @@
3
3
  * which can accept `AnimatedValue`. It also exposes some extra style properties like
4
4
  * translateX, translateY, rotateX, rotateY, scaleX, etc.
5
5
  */
6
- export declare const AnimatedBlock: import("react").ForwardRefExoticComponent<Pick<import("@raidipesh78/re-motion").AnimatedHTMLAttributes<"div"> & import("@raidipesh78/re-motion").AnimatedSVGAttributes<"div">, "string" | "slot" | "title" | "clipPath" | "filter" | "mask" | "path" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "height" | "max" | "media" | "method" | "min" | "name" | "target" | "type" | "width" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "alignmentBaseline" | "allowReorder" | "alphabetic" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "azimuth" | "baseFrequency" | "baselineShift" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clip" | "clipPathUnits" | "clipRule" | "colorInterpolation" | "colorInterpolationFilters" | "colorProfile" | "colorRendering" | "contentScriptType" | "contentStyleType" | "cursor" | "cx" | "cy" | "d" | "decelerate" | "descent" | "diffuseConstant" | "direction" | "display" | "divisor" | "dominantBaseline" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "end" | "exponent" | "externalResourcesRequired" | "fill" | "fillOpacity" | "fillRule" | "filterRes" | "filterUnits" | "floodColor" | "floodOpacity" | "focusable" | "fontFamily" | "fontSize" | "fontSizeAdjust" | "fontStretch" | "fontStyle" | "fontVariant" | "fontWeight" | "format" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphOrientationVertical" | "glyphRef" | "gradientTransform" | "gradientUnits" | "hanging" | "horizAdvX" | "horizOriginX" | "href" | "ideographic" | "imageRendering" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "letterSpacing" | "lightingColor" | "limitingConeAngle" | "local" | "markerEnd" | "markerHeight" | "markerMid" | "markerStart" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mathematical" | "mode" | "numOctaves" | "offset" | "opacity" | "operator" | "order" | "orient" | "orientation" | "origin" | "overflow" | "overlinePosition" | "overlineThickness" | "paintOrder" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "pointerEvents" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rotate" | "rx" | "ry" | "scale" | "seed" | "shapeRendering" | "slope" | "spacing" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "stopColor" | "stopOpacity" | "strikethroughPosition" | "strikethroughThickness" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textAnchor" | "textDecoration" | "textLength" | "textRendering" | "to" | "transform" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeBidi" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "values" | "vectorEffect" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewBox" | "viewTarget" | "visibility" | "vMathematical" | "widths" | "wordSpacing" | "writingMode" | "x1" | "x2" | "x" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "y" | "yChannelSelector" | "z" | "zoomAndPan"> & {
6
+ export declare const AnimatedBlock: import("react").ForwardRefExoticComponent<Pick<import("@raidipesh78/re-motion").AnimatedHTMLAttributes<"div"> & import("@raidipesh78/re-motion").AnimatedSVGAttributes<"div">, "string" | "slot" | "title" | "clipPath" | "filter" | "mask" | "path" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "height" | "max" | "media" | "method" | "min" | "name" | "target" | "type" | "width" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "alignmentBaseline" | "allowReorder" | "alphabetic" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "azimuth" | "baseFrequency" | "baselineShift" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clip" | "clipPathUnits" | "clipRule" | "colorInterpolation" | "colorInterpolationFilters" | "colorProfile" | "colorRendering" | "contentScriptType" | "contentStyleType" | "cursor" | "cx" | "cy" | "d" | "decelerate" | "descent" | "diffuseConstant" | "direction" | "display" | "divisor" | "dominantBaseline" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "end" | "exponent" | "externalResourcesRequired" | "fill" | "fillOpacity" | "fillRule" | "filterRes" | "filterUnits" | "floodColor" | "floodOpacity" | "focusable" | "fontFamily" | "fontSize" | "fontSizeAdjust" | "fontStretch" | "fontStyle" | "fontVariant" | "fontWeight" | "format" | "fr" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphOrientationVertical" | "glyphRef" | "gradientTransform" | "gradientUnits" | "hanging" | "horizAdvX" | "horizOriginX" | "href" | "ideographic" | "imageRendering" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "letterSpacing" | "lightingColor" | "limitingConeAngle" | "local" | "markerEnd" | "markerHeight" | "markerMid" | "markerStart" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mathematical" | "mode" | "numOctaves" | "offset" | "opacity" | "operator" | "order" | "orient" | "orientation" | "origin" | "overflow" | "overlinePosition" | "overlineThickness" | "paintOrder" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "pointerEvents" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rotate" | "rx" | "ry" | "scale" | "seed" | "shapeRendering" | "slope" | "spacing" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "stopColor" | "stopOpacity" | "strikethroughPosition" | "strikethroughThickness" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textAnchor" | "textDecoration" | "textLength" | "textRendering" | "to" | "transform" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeBidi" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "values" | "vectorEffect" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewBox" | "viewTarget" | "visibility" | "vMathematical" | "widths" | "wordSpacing" | "writingMode" | "x1" | "x2" | "x" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "y" | "yChannelSelector" | "z" | "zoomAndPan"> & {
7
7
  style?: import("@raidipesh78/re-motion").AnimatedCSSProperties | undefined;
8
8
  } & import("react").RefAttributes<unknown>>;
@@ -3,6 +3,6 @@
3
3
  * which can accept `AnimatedValue`. It also exposes some extra style properties like
4
4
  * translateX, translateY, rotateX, rotateY, scaleX, etc.
5
5
  */
6
- export declare const AnimatedImage: import("react").ForwardRefExoticComponent<Pick<import("@raidipesh78/re-motion").AnimatedHTMLAttributes<"img"> & import("@raidipesh78/re-motion").AnimatedSVGAttributes<"img">, "string" | "slot" | "title" | "clipPath" | "filter" | "mask" | "path" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "height" | "max" | "media" | "method" | "min" | "name" | "target" | "type" | "width" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "alignmentBaseline" | "allowReorder" | "alphabetic" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "azimuth" | "baseFrequency" | "baselineShift" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clip" | "clipPathUnits" | "clipRule" | "colorInterpolation" | "colorInterpolationFilters" | "colorProfile" | "colorRendering" | "contentScriptType" | "contentStyleType" | "cursor" | "cx" | "cy" | "d" | "decelerate" | "descent" | "diffuseConstant" | "direction" | "display" | "divisor" | "dominantBaseline" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "end" | "exponent" | "externalResourcesRequired" | "fill" | "fillOpacity" | "fillRule" | "filterRes" | "filterUnits" | "floodColor" | "floodOpacity" | "focusable" | "fontFamily" | "fontSize" | "fontSizeAdjust" | "fontStretch" | "fontStyle" | "fontVariant" | "fontWeight" | "format" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphOrientationVertical" | "glyphRef" | "gradientTransform" | "gradientUnits" | "hanging" | "horizAdvX" | "horizOriginX" | "href" | "ideographic" | "imageRendering" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "letterSpacing" | "lightingColor" | "limitingConeAngle" | "local" | "markerEnd" | "markerHeight" | "markerMid" | "markerStart" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mathematical" | "mode" | "numOctaves" | "offset" | "opacity" | "operator" | "order" | "orient" | "orientation" | "origin" | "overflow" | "overlinePosition" | "overlineThickness" | "paintOrder" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "pointerEvents" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rotate" | "rx" | "ry" | "scale" | "seed" | "shapeRendering" | "slope" | "spacing" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "stopColor" | "stopOpacity" | "strikethroughPosition" | "strikethroughThickness" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textAnchor" | "textDecoration" | "textLength" | "textRendering" | "to" | "transform" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeBidi" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "values" | "vectorEffect" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewBox" | "viewTarget" | "visibility" | "vMathematical" | "widths" | "wordSpacing" | "writingMode" | "x1" | "x2" | "x" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "y" | "yChannelSelector" | "z" | "zoomAndPan"> & {
6
+ export declare const AnimatedImage: import("react").ForwardRefExoticComponent<Pick<import("@raidipesh78/re-motion").AnimatedHTMLAttributes<"img"> & import("@raidipesh78/re-motion").AnimatedSVGAttributes<"img">, "string" | "slot" | "title" | "clipPath" | "filter" | "mask" | "path" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "height" | "max" | "media" | "method" | "min" | "name" | "target" | "type" | "width" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "alignmentBaseline" | "allowReorder" | "alphabetic" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "azimuth" | "baseFrequency" | "baselineShift" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clip" | "clipPathUnits" | "clipRule" | "colorInterpolation" | "colorInterpolationFilters" | "colorProfile" | "colorRendering" | "contentScriptType" | "contentStyleType" | "cursor" | "cx" | "cy" | "d" | "decelerate" | "descent" | "diffuseConstant" | "direction" | "display" | "divisor" | "dominantBaseline" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "end" | "exponent" | "externalResourcesRequired" | "fill" | "fillOpacity" | "fillRule" | "filterRes" | "filterUnits" | "floodColor" | "floodOpacity" | "focusable" | "fontFamily" | "fontSize" | "fontSizeAdjust" | "fontStretch" | "fontStyle" | "fontVariant" | "fontWeight" | "format" | "fr" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphOrientationVertical" | "glyphRef" | "gradientTransform" | "gradientUnits" | "hanging" | "horizAdvX" | "horizOriginX" | "href" | "ideographic" | "imageRendering" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "letterSpacing" | "lightingColor" | "limitingConeAngle" | "local" | "markerEnd" | "markerHeight" | "markerMid" | "markerStart" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mathematical" | "mode" | "numOctaves" | "offset" | "opacity" | "operator" | "order" | "orient" | "orientation" | "origin" | "overflow" | "overlinePosition" | "overlineThickness" | "paintOrder" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "pointerEvents" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rotate" | "rx" | "ry" | "scale" | "seed" | "shapeRendering" | "slope" | "spacing" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "stopColor" | "stopOpacity" | "strikethroughPosition" | "strikethroughThickness" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textAnchor" | "textDecoration" | "textLength" | "textRendering" | "to" | "transform" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeBidi" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "values" | "vectorEffect" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewBox" | "viewTarget" | "visibility" | "vMathematical" | "widths" | "wordSpacing" | "writingMode" | "x1" | "x2" | "x" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "y" | "yChannelSelector" | "z" | "zoomAndPan"> & {
7
7
  style?: import("@raidipesh78/re-motion").AnimatedCSSProperties | undefined;
8
8
  } & import("react").RefAttributes<unknown>>;
@@ -3,6 +3,6 @@
3
3
  * which can accept `AnimatedValue`. It also exposes some extra style properties like
4
4
  * translateX, translateY, rotateX, rotateY, scaleX, etc.
5
5
  */
6
- export declare const AnimatedInline: import("react").ForwardRefExoticComponent<Pick<import("@raidipesh78/re-motion").AnimatedHTMLAttributes<"span"> & import("@raidipesh78/re-motion").AnimatedSVGAttributes<"span">, "string" | "slot" | "title" | "clipPath" | "filter" | "mask" | "path" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "height" | "max" | "media" | "method" | "min" | "name" | "target" | "type" | "width" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "alignmentBaseline" | "allowReorder" | "alphabetic" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "azimuth" | "baseFrequency" | "baselineShift" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clip" | "clipPathUnits" | "clipRule" | "colorInterpolation" | "colorInterpolationFilters" | "colorProfile" | "colorRendering" | "contentScriptType" | "contentStyleType" | "cursor" | "cx" | "cy" | "d" | "decelerate" | "descent" | "diffuseConstant" | "direction" | "display" | "divisor" | "dominantBaseline" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "end" | "exponent" | "externalResourcesRequired" | "fill" | "fillOpacity" | "fillRule" | "filterRes" | "filterUnits" | "floodColor" | "floodOpacity" | "focusable" | "fontFamily" | "fontSize" | "fontSizeAdjust" | "fontStretch" | "fontStyle" | "fontVariant" | "fontWeight" | "format" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphOrientationVertical" | "glyphRef" | "gradientTransform" | "gradientUnits" | "hanging" | "horizAdvX" | "horizOriginX" | "href" | "ideographic" | "imageRendering" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "letterSpacing" | "lightingColor" | "limitingConeAngle" | "local" | "markerEnd" | "markerHeight" | "markerMid" | "markerStart" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mathematical" | "mode" | "numOctaves" | "offset" | "opacity" | "operator" | "order" | "orient" | "orientation" | "origin" | "overflow" | "overlinePosition" | "overlineThickness" | "paintOrder" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "pointerEvents" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rotate" | "rx" | "ry" | "scale" | "seed" | "shapeRendering" | "slope" | "spacing" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "stopColor" | "stopOpacity" | "strikethroughPosition" | "strikethroughThickness" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textAnchor" | "textDecoration" | "textLength" | "textRendering" | "to" | "transform" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeBidi" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "values" | "vectorEffect" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewBox" | "viewTarget" | "visibility" | "vMathematical" | "widths" | "wordSpacing" | "writingMode" | "x1" | "x2" | "x" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "y" | "yChannelSelector" | "z" | "zoomAndPan"> & {
6
+ export declare const AnimatedInline: import("react").ForwardRefExoticComponent<Pick<import("@raidipesh78/re-motion").AnimatedHTMLAttributes<"span"> & import("@raidipesh78/re-motion").AnimatedSVGAttributes<"span">, "string" | "slot" | "title" | "clipPath" | "filter" | "mask" | "path" | "defaultChecked" | "defaultValue" | "suppressContentEditableWarning" | "suppressHydrationWarning" | "accessKey" | "className" | "contentEditable" | "contextMenu" | "dir" | "draggable" | "hidden" | "id" | "lang" | "placeholder" | "spellCheck" | "tabIndex" | "translate" | "radioGroup" | "role" | "about" | "datatype" | "inlist" | "prefix" | "property" | "resource" | "typeof" | "vocab" | "autoCapitalize" | "autoCorrect" | "autoSave" | "color" | "itemProp" | "itemScope" | "itemType" | "itemID" | "itemRef" | "results" | "security" | "unselectable" | "inputMode" | "is" | "aria-activedescendant" | "aria-atomic" | "aria-autocomplete" | "aria-busy" | "aria-checked" | "aria-colcount" | "aria-colindex" | "aria-colspan" | "aria-controls" | "aria-current" | "aria-describedby" | "aria-details" | "aria-disabled" | "aria-dropeffect" | "aria-errormessage" | "aria-expanded" | "aria-flowto" | "aria-grabbed" | "aria-haspopup" | "aria-hidden" | "aria-invalid" | "aria-keyshortcuts" | "aria-label" | "aria-labelledby" | "aria-level" | "aria-live" | "aria-modal" | "aria-multiline" | "aria-multiselectable" | "aria-orientation" | "aria-owns" | "aria-placeholder" | "aria-posinset" | "aria-pressed" | "aria-readonly" | "aria-relevant" | "aria-required" | "aria-roledescription" | "aria-rowcount" | "aria-rowindex" | "aria-rowspan" | "aria-selected" | "aria-setsize" | "aria-sort" | "aria-valuemax" | "aria-valuemin" | "aria-valuenow" | "aria-valuetext" | "children" | "dangerouslySetInnerHTML" | "onCopy" | "onCopyCapture" | "onCut" | "onCutCapture" | "onPaste" | "onPasteCapture" | "onCompositionEnd" | "onCompositionEndCapture" | "onCompositionStart" | "onCompositionStartCapture" | "onCompositionUpdate" | "onCompositionUpdateCapture" | "onFocus" | "onFocusCapture" | "onBlur" | "onBlurCapture" | "onChange" | "onChangeCapture" | "onBeforeInput" | "onBeforeInputCapture" | "onInput" | "onInputCapture" | "onReset" | "onResetCapture" | "onSubmit" | "onSubmitCapture" | "onInvalid" | "onInvalidCapture" | "onLoad" | "onLoadCapture" | "onError" | "onErrorCapture" | "onKeyDown" | "onKeyDownCapture" | "onKeyPress" | "onKeyPressCapture" | "onKeyUp" | "onKeyUpCapture" | "onAbort" | "onAbortCapture" | "onCanPlay" | "onCanPlayCapture" | "onCanPlayThrough" | "onCanPlayThroughCapture" | "onDurationChange" | "onDurationChangeCapture" | "onEmptied" | "onEmptiedCapture" | "onEncrypted" | "onEncryptedCapture" | "onEnded" | "onEndedCapture" | "onLoadedData" | "onLoadedDataCapture" | "onLoadedMetadata" | "onLoadedMetadataCapture" | "onLoadStart" | "onLoadStartCapture" | "onPause" | "onPauseCapture" | "onPlay" | "onPlayCapture" | "onPlaying" | "onPlayingCapture" | "onProgress" | "onProgressCapture" | "onRateChange" | "onRateChangeCapture" | "onSeeked" | "onSeekedCapture" | "onSeeking" | "onSeekingCapture" | "onStalled" | "onStalledCapture" | "onSuspend" | "onSuspendCapture" | "onTimeUpdate" | "onTimeUpdateCapture" | "onVolumeChange" | "onVolumeChangeCapture" | "onWaiting" | "onWaitingCapture" | "onAuxClick" | "onAuxClickCapture" | "onClick" | "onClickCapture" | "onContextMenu" | "onContextMenuCapture" | "onDoubleClick" | "onDoubleClickCapture" | "onDrag" | "onDragCapture" | "onDragEnd" | "onDragEndCapture" | "onDragEnter" | "onDragEnterCapture" | "onDragExit" | "onDragExitCapture" | "onDragLeave" | "onDragLeaveCapture" | "onDragOver" | "onDragOverCapture" | "onDragStart" | "onDragStartCapture" | "onDrop" | "onDropCapture" | "onMouseDown" | "onMouseDownCapture" | "onMouseEnter" | "onMouseLeave" | "onMouseMove" | "onMouseMoveCapture" | "onMouseOut" | "onMouseOutCapture" | "onMouseOver" | "onMouseOverCapture" | "onMouseUp" | "onMouseUpCapture" | "onSelect" | "onSelectCapture" | "onTouchCancel" | "onTouchCancelCapture" | "onTouchEnd" | "onTouchEndCapture" | "onTouchMove" | "onTouchMoveCapture" | "onTouchStart" | "onTouchStartCapture" | "onPointerDown" | "onPointerDownCapture" | "onPointerMove" | "onPointerMoveCapture" | "onPointerUp" | "onPointerUpCapture" | "onPointerCancel" | "onPointerCancelCapture" | "onPointerEnter" | "onPointerEnterCapture" | "onPointerLeave" | "onPointerLeaveCapture" | "onPointerOver" | "onPointerOverCapture" | "onPointerOut" | "onPointerOutCapture" | "onGotPointerCapture" | "onGotPointerCaptureCapture" | "onLostPointerCapture" | "onLostPointerCaptureCapture" | "onScroll" | "onScrollCapture" | "onWheel" | "onWheelCapture" | "onAnimationStart" | "onAnimationStartCapture" | "onAnimationEnd" | "onAnimationEndCapture" | "onAnimationIteration" | "onAnimationIterationCapture" | "onTransitionEnd" | "onTransitionEndCapture" | "height" | "max" | "media" | "method" | "min" | "name" | "target" | "type" | "width" | "crossOrigin" | "accentHeight" | "accumulate" | "additive" | "alignmentBaseline" | "allowReorder" | "alphabetic" | "amplitude" | "arabicForm" | "ascent" | "attributeName" | "attributeType" | "autoReverse" | "azimuth" | "baseFrequency" | "baselineShift" | "baseProfile" | "bbox" | "begin" | "bias" | "by" | "calcMode" | "capHeight" | "clip" | "clipPathUnits" | "clipRule" | "colorInterpolation" | "colorInterpolationFilters" | "colorProfile" | "colorRendering" | "contentScriptType" | "contentStyleType" | "cursor" | "cx" | "cy" | "d" | "decelerate" | "descent" | "diffuseConstant" | "direction" | "display" | "divisor" | "dominantBaseline" | "dur" | "dx" | "dy" | "edgeMode" | "elevation" | "enableBackground" | "end" | "exponent" | "externalResourcesRequired" | "fill" | "fillOpacity" | "fillRule" | "filterRes" | "filterUnits" | "floodColor" | "floodOpacity" | "focusable" | "fontFamily" | "fontSize" | "fontSizeAdjust" | "fontStretch" | "fontStyle" | "fontVariant" | "fontWeight" | "format" | "fr" | "from" | "fx" | "fy" | "g1" | "g2" | "glyphName" | "glyphOrientationHorizontal" | "glyphOrientationVertical" | "glyphRef" | "gradientTransform" | "gradientUnits" | "hanging" | "horizAdvX" | "horizOriginX" | "href" | "ideographic" | "imageRendering" | "in2" | "in" | "intercept" | "k1" | "k2" | "k3" | "k4" | "k" | "kernelMatrix" | "kernelUnitLength" | "kerning" | "keyPoints" | "keySplines" | "keyTimes" | "lengthAdjust" | "letterSpacing" | "lightingColor" | "limitingConeAngle" | "local" | "markerEnd" | "markerHeight" | "markerMid" | "markerStart" | "markerUnits" | "markerWidth" | "maskContentUnits" | "maskUnits" | "mathematical" | "mode" | "numOctaves" | "offset" | "opacity" | "operator" | "order" | "orient" | "orientation" | "origin" | "overflow" | "overlinePosition" | "overlineThickness" | "paintOrder" | "panose1" | "pathLength" | "patternContentUnits" | "patternTransform" | "patternUnits" | "pointerEvents" | "points" | "pointsAtX" | "pointsAtY" | "pointsAtZ" | "preserveAlpha" | "preserveAspectRatio" | "primitiveUnits" | "r" | "radius" | "refX" | "refY" | "renderingIntent" | "repeatCount" | "repeatDur" | "requiredExtensions" | "requiredFeatures" | "restart" | "result" | "rotate" | "rx" | "ry" | "scale" | "seed" | "shapeRendering" | "slope" | "spacing" | "specularConstant" | "specularExponent" | "speed" | "spreadMethod" | "startOffset" | "stdDeviation" | "stemh" | "stemv" | "stitchTiles" | "stopColor" | "stopOpacity" | "strikethroughPosition" | "strikethroughThickness" | "stroke" | "strokeDasharray" | "strokeDashoffset" | "strokeLinecap" | "strokeLinejoin" | "strokeMiterlimit" | "strokeOpacity" | "strokeWidth" | "surfaceScale" | "systemLanguage" | "tableValues" | "targetX" | "targetY" | "textAnchor" | "textDecoration" | "textLength" | "textRendering" | "to" | "transform" | "u1" | "u2" | "underlinePosition" | "underlineThickness" | "unicode" | "unicodeBidi" | "unicodeRange" | "unitsPerEm" | "vAlphabetic" | "values" | "vectorEffect" | "version" | "vertAdvY" | "vertOriginX" | "vertOriginY" | "vHanging" | "vIdeographic" | "viewBox" | "viewTarget" | "visibility" | "vMathematical" | "widths" | "wordSpacing" | "writingMode" | "x1" | "x2" | "x" | "xChannelSelector" | "xHeight" | "xlinkActuate" | "xlinkArcrole" | "xlinkHref" | "xlinkRole" | "xlinkShow" | "xlinkTitle" | "xlinkType" | "xmlBase" | "xmlLang" | "xmlns" | "xmlnsXlink" | "xmlSpace" | "y1" | "y2" | "y" | "yChannelSelector" | "z" | "zoomAndPan"> & {
7
7
  style?: import("@raidipesh78/re-motion").AnimatedCSSProperties | undefined;
8
8
  } & import("react").RefAttributes<unknown>>;
@@ -1,9 +1,8 @@
1
1
  import * as React from 'react';
2
- import { TransitionValue } from '@raidipesh78/re-motion';
3
- import { UseAnimatedValueConfig } from '../useAnimatedValue';
2
+ import { UseAnimatedValueConfig, ValueType } from '../useAnimatedValue';
4
3
  interface ScrollableBlockProps {
5
4
  children?: (animation: {
6
- value: TransitionValue;
5
+ value: ValueType;
7
6
  }) => React.ReactNode;
8
7
  direction?: 'single' | 'both';
9
8
  threshold?: number;
@@ -1,10 +1,9 @@
1
1
  import * as React from 'react';
2
- import { TransitionValue } from '@raidipesh78/re-motion';
3
- import { UseAnimatedValueConfig } from '../useAnimatedValue';
2
+ import { UseAnimatedValueConfig, ValueType } from '../useAnimatedValue';
4
3
  interface TransitionBlockProps {
5
4
  state: boolean;
6
5
  children: (animation: {
7
- value: TransitionValue;
6
+ value: ValueType;
8
7
  }) => React.ReactNode;
9
8
  config?: UseAnimatedValueConfig;
10
9
  }
@@ -16,7 +16,7 @@ export declare type ValueType = Length | AssignValue | ((update: (next: AssignVa
16
16
  * @param { UseAnimatedValueConfig } config - Animation configuration object.
17
17
  */
18
18
  export declare function useAnimatedValue(initialValue: AnimatedValueType, config?: UseAnimatedValueConfig): {
19
- value: any;
19
+ value: ValueType;
20
20
  currentValue: number | string;
21
21
  };
22
22
  export {};
package/dist/index.js CHANGED
@@ -301,7 +301,7 @@ var ScrollableBlock = function (props) {
301
301
  }
302
302
  };
303
303
  }, []);
304
- return React.createElement("div", { ref: scrollableBlockRef }, children && children(animation));
304
+ return (React.createElement("div", { ref: scrollableBlockRef }, children && children({ value: animation.value })));
305
305
  };
306
306
 
307
307
  /**
@@ -405,7 +405,7 @@ function move(array, moveIndex, toIndex) {
405
405
  var TransitionBlock = function (_a) {
406
406
  var state = _a.state, children = _a.children, config = _a.config;
407
407
  var amv = useAnimatedValue(bin(state), config);
408
- return React.createElement(React.Fragment, null, children(amv));
408
+ return React.createElement(React.Fragment, null, children({ value: amv.value }));
409
409
  };
410
410
 
411
411
  /**
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sources":["../src/utils/delay.ts","../src/animation/interpolation.ts","../src/animation/modules/AnimatedBlock.ts","../src/animation/modules/AnimatedInline.ts","../src/animation/modules/AnimatedImage.ts","../src/animation/useMountedValue.ts","../src/animation/modules/MountedBlock.tsx","../src/animation/getInitialConfig.ts","../src/animation/animationType.ts","../src/animation/useAnimatedValue.ts","../src/animation/modules/ScrollableBlock.tsx","../src/gestures/math.ts","../src/animation/modules/TransitionBlock.tsx","../src/gestures/eventAttacher.ts","../src/gestures/withDefault.ts","../src/gestures/controllers/Gesture.ts","../src/gestures/controllers/DragGesture.ts","../src/gestures/controllers/MouseMoveGesture.ts","../src/gestures/controllers/ScrollGesture.ts","../src/gestures/controllers/WheelGesture.ts","../src/gestures/hooks/useRecognizer.ts","../src/gestures/hooks/useDrag.ts","../src/gestures/hooks/useMouseMove.ts","../src/gestures/hooks/useScroll.ts","../src/gestures/hooks/useWheel.ts","../src/gestures/hooks/useGesture.ts","../src/hooks/useOutsideClick.ts","../src/hooks/useMeasure.ts","../src/hooks/useWindowDimension.ts"],"sourcesContent":["/**\r\n * @param { number } ms - number of milliseconds to delay code execution\r\n * @returns Promise\r\n */\r\nexport function delay(ms: number) {\r\n return new Promise((resolve) => {\r\n setTimeout(() => resolve(null), ms);\r\n });\r\n}\r\n","import {\r\n interpolate,\r\n ExtrapolateConfig,\r\n TransitionValue,\r\n} from '@raidipesh78/re-motion';\r\nexport { interpolate } from '@raidipesh78/re-motion';\r\n\r\n/**\r\n * bInterpolate functions maps input range [0, 1] to given [minOutput, maxOutput]\r\n * sorthand function to interpolate input range [0, 1]\r\n * @param value - number | TransitionValue\r\n * @param minOutput - number | string\r\n * @param maxOutput - number | string\r\n * @param extrapolateConfig - \"clamp\" | \"identity\" | \"extend\"\r\n * @returns - number | TransitionValue\r\n */\r\nexport function bInterpolate(\r\n value: number | TransitionValue,\r\n minOutput: number | string,\r\n maxOutput: number | string,\r\n extrapolateConfig?: ExtrapolateConfig\r\n) {\r\n return interpolate(value, [0, 1], [minOutput, maxOutput], extrapolateConfig);\r\n}\r\n","import { makeAnimatedComponent } from '@raidipesh78/re-motion';\r\n\r\n/**\r\n * AnimatedBlock - A higher order component built upon `div` element\r\n * which can accept `AnimatedValue`. It also exposes some extra style properties like\r\n * translateX, translateY, rotateX, rotateY, scaleX, etc.\r\n */\r\nexport const AnimatedBlock = makeAnimatedComponent('div');\r\n","import { makeAnimatedComponent } from '@raidipesh78/re-motion';\r\n\r\n/**\r\n * AnimatedInline - A higher order component built upon `span` element\r\n * which can accept `AnimatedValue`. It also exposes some extra style properties like\r\n * translateX, translateY, rotateX, rotateY, scaleX, etc.\r\n */\r\nexport const AnimatedInline = makeAnimatedComponent('span');\r\n","import { makeAnimatedComponent } from '@raidipesh78/re-motion';\r\n\r\n/**\r\n * AnimatedImage - A higher order component built upon `img` element\r\n * which can accept `AnimatedValue`. It also exposes some extra style properties like\r\n * translateX, translateY, rotateX, rotateY, scaleX, etc.\r\n */\r\nexport const AnimatedImage = makeAnimatedComponent('img');\r\n","import * as React from 'react';\r\nimport {\r\n useTransition,\r\n TransitionValue,\r\n UseMountConfig,\r\n} from '@raidipesh78/re-motion';\r\n\r\nexport interface UseMountedValueConfig extends UseMountConfig {}\r\n\r\n/**\r\n * `useMountedValue` handles mounting and unmounting of a component which captures current state\r\n * passed as an arugment (`state`) and exposes the shadow state which handles the mount and unmount\r\n * of a component.\r\n * @param { boolean } state - Boolean indicating the component should mount or unmount.\r\n * @param { UseMountedValueConfig } config - Animation configuration.\r\n */\r\nexport function useMountedValue(state: boolean, config: UseMountedValueConfig) {\r\n const initial = React.useRef(true);\r\n const [mounted, setMounted] = React.useState(state);\r\n const {\r\n from,\r\n enter,\r\n exit,\r\n config: innerConfig,\r\n enterConfig,\r\n exitConfig,\r\n } = React.useRef(config).current;\r\n const [animation, setAnimation] = useTransition(from, innerConfig);\r\n\r\n React.useEffect(() => {\r\n if (state) {\r\n initial.current = true;\r\n setMounted(true);\r\n } else {\r\n initial.current = false;\r\n setAnimation(\r\n {\r\n toValue: exit,\r\n config: exitConfig,\r\n },\r\n function ({ finished }) {\r\n if (finished) {\r\n setMounted(false);\r\n }\r\n }\r\n );\r\n }\r\n }, [state]);\r\n\r\n React.useEffect(() => {\r\n if (mounted && initial.current) {\r\n setAnimation({\r\n toValue: enter,\r\n config: enterConfig,\r\n });\r\n }\r\n }, [mounted, initial.current]);\r\n\r\n return function (\r\n callback: (\r\n { value: animation }: { value: TransitionValue },\r\n mounted: boolean\r\n ) => React.ReactNode\r\n ) {\r\n return callback({ value: animation }, mounted);\r\n };\r\n}\r\n","import * as React from 'react';\r\nimport { TransitionValue } from '@raidipesh78/re-motion';\r\nimport { useMountedValue, UseMountedValueConfig } from '../useMountedValue';\r\n\r\ninterface MountedBlockProps {\r\n state: boolean;\r\n children: (animation: { value: TransitionValue }) => React.ReactNode;\r\n config: UseMountedValueConfig;\r\n}\r\n\r\n/**\r\n * MountedBlock - Higher order component which handles mounting and unmounting of a component.\r\n * @prop { boolean } state - Boolean indicating the component should mount or unmount.\r\n * @prop { function } children - Child as a function with `AnimatedValue` on `.value` property.\r\n * @prop { UseMountedValueConfig } config - Animation configuration.\r\n */\r\nexport const MountedBlock = ({\r\n state,\r\n children,\r\n config,\r\n}: MountedBlockProps) => {\r\n const open = useMountedValue(state, config);\r\n\r\n return <>{open((animation, mounted) => mounted && children(animation))}</>;\r\n};\r\n","import { Easing, UseTransitionConfig } from '@raidipesh78/re-motion';\r\nexport type InitialConfigType =\r\n | 'linear'\r\n | 'easein'\r\n | 'easeout'\r\n | 'easeinout'\r\n | 'ease'\r\n | 'power1'\r\n | 'power2'\r\n | 'power3'\r\n | 'power4'\r\n | 'elastic'\r\n | 'stiff'\r\n | 'wooble'\r\n | 'bounce';\r\n\r\nexport const getInitialConfig = (\r\n animationType?: InitialConfigType\r\n): UseTransitionConfig => {\r\n switch (animationType) {\r\n case 'elastic':\r\n return { mass: 1, friction: 18, tension: 250 };\r\n\r\n case 'stiff':\r\n return { mass: 1, friction: 18, tension: 350 };\r\n\r\n case 'wooble':\r\n return { mass: 1, friction: 8, tension: 250 };\r\n\r\n case 'bounce':\r\n return { duration: 500, easing: Easing.bounce };\r\n\r\n case 'power1':\r\n return { duration: 500, easing: Easing.bezier(0.17, 0.42, 0.51, 0.97) };\r\n\r\n case 'power2':\r\n return { duration: 500, easing: Easing.bezier(0.07, 0.11, 0.13, 1) };\r\n\r\n case 'power3':\r\n return { duration: 500, easing: Easing.bezier(0.09, 0.7, 0.16, 1.04) };\r\n\r\n case 'power4':\r\n return { duration: 500, easing: Easing.bezier(0.05, 0.54, 0, 1.03) };\r\n\r\n case 'linear':\r\n return { duration: 500, easing: Easing.linear };\r\n\r\n case 'easein':\r\n return { duration: 500, easing: Easing.in(Easing.ease) };\r\n\r\n case 'easeout':\r\n return { duration: 500, easing: Easing.out(Easing.ease) };\r\n\r\n case 'easeinout':\r\n return { duration: 500, easing: Easing.inOut(Easing.ease) };\r\n\r\n case 'ease':\r\n default:\r\n return { mass: 1, friction: 34, tension: 290 };\r\n }\r\n};\r\n","import { getInitialConfig } from './getInitialConfig';\r\n\r\nexport const AnimationConfigUtils = {\r\n ELASTIC: getInitialConfig('elastic'),\r\n BOUNCE: getInitialConfig('bounce'),\r\n EASE: getInitialConfig('ease'),\r\n STIFF: getInitialConfig('stiff'),\r\n WOOBLE: getInitialConfig('wooble'),\r\n EASE_IN: getInitialConfig('easein'),\r\n EASE_OUT: getInitialConfig('easeout'),\r\n EASE_IN_OUT: getInitialConfig('easeinout'),\r\n POWER1: getInitialConfig('power1'),\r\n POWER2: getInitialConfig('power2'),\r\n POWER3: getInitialConfig('power3'),\r\n POWER4: getInitialConfig('power4'),\r\n LINEAR: getInitialConfig('linear'),\r\n};\r\n","import { useTransition, UseTransitionConfig } from '@raidipesh78/re-motion';\r\nimport { AnimationConfigUtils } from './animationType';\r\n\r\n// useAnimatedValue value type\r\ntype Length = number | string;\r\ntype AnimatedValueType = Length;\r\n\r\nexport interface UseAnimatedValueConfig extends UseTransitionConfig {}\r\n\r\ntype AssignValue = {\r\n toValue: Length;\r\n config?: UseAnimatedValueConfig;\r\n};\r\nexport type ValueType =\r\n | Length\r\n | AssignValue\r\n | ((update: (next: AssignValue) => Promise<any>) => void);\r\n\r\n/**\r\n * `useAnimatedValue` returns an animation value with `.value` and `.currentValue` property which is\r\n * initialized when passed to argument (`initialValue`). The retured value persist until the lifetime of\r\n * a component. It doesnot cast any re-renders which can is very good for performance optimization.\r\n * @param { string | number } initialValue - Initial value\r\n * @param { UseAnimatedValueConfig } config - Animation configuration object.\r\n */\r\nexport function useAnimatedValue(\r\n initialValue: AnimatedValueType,\r\n config?: UseAnimatedValueConfig\r\n) {\r\n const [animation, setAnimation] = useTransition(initialValue, {\r\n ...AnimationConfigUtils.EASE,\r\n ...config,\r\n });\r\n\r\n const targetObject: {\r\n value: any;\r\n currentValue: number | string;\r\n } = {\r\n value: animation,\r\n currentValue: animation.get(),\r\n };\r\n\r\n return new Proxy(targetObject, {\r\n set: function (_, key, value: ValueType) {\r\n if (key === 'value') {\r\n if (typeof value === 'number' || typeof value === 'string') {\r\n setAnimation({ toValue: value });\r\n } else if (typeof value === 'object' || typeof value === 'function') {\r\n setAnimation(value);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n throw new Error('You cannot set any other property to animation node.');\r\n },\r\n get: function (_, key) {\r\n if (key === 'value') {\r\n return animation;\r\n }\r\n\r\n if (key === 'currentValue') {\r\n return animation.get();\r\n }\r\n\r\n throw new Error(\r\n 'You cannot access any other property from animation node.'\r\n );\r\n },\r\n });\r\n}\r\n","import * as React from 'react';\r\nimport { TransitionValue } from '@raidipesh78/re-motion';\r\nimport { useAnimatedValue, UseAnimatedValueConfig } from '../useAnimatedValue';\r\n\r\ninterface ScrollableBlockProps {\r\n children?: (animation: { value: TransitionValue }) => React.ReactNode;\r\n direction?: 'single' | 'both';\r\n threshold?: number;\r\n animationConfig?: UseAnimatedValueConfig;\r\n}\r\n\r\n/**\r\n * ScrollableBlock - Higher order component to handle the entrance or exit animation\r\n * of a component when it enters or exit the viewport. Accepts child as a function with\r\n * `AnimatedValue` as its first argument which can be interpolated on input range [0, 1]\r\n * @prop { function } children - child as a function with `AnimatedValue` as its first argument.\r\n * @prop { 'single' | 'both' } direction - single applies animation on enter once, both applies on enter and exit.\r\n * @prop { number } threshold - should be in range 0 to 1 which equivalent to `IntersectionObserver` threshold.\r\n * @prop { UseAnimatedValueConfig } animationConfig - Animation config\r\n */\r\nexport const ScrollableBlock = (props: ScrollableBlockProps) => {\r\n const {\r\n children,\r\n direction = 'single',\r\n animationConfig,\r\n threshold = 0.2,\r\n } = props;\r\n const scrollableBlockRef = React.useRef<HTMLDivElement>(null);\r\n const animation = useAnimatedValue(0, animationConfig); // 0: not intersecting | 1: intersecting\r\n\r\n React.useEffect(() => {\r\n const _scrollableBlock = scrollableBlockRef.current;\r\n\r\n const observer = new IntersectionObserver(\r\n function ([entry]) {\r\n const { isIntersecting } = entry;\r\n\r\n if (isIntersecting) {\r\n animation.value = 1;\r\n } else {\r\n if (direction === 'both') animation.value = 0;\r\n }\r\n },\r\n {\r\n root: null, // FOR VIEWPORT ONLY\r\n threshold,\r\n }\r\n );\r\n\r\n if (_scrollableBlock) {\r\n observer.observe(_scrollableBlock);\r\n }\r\n\r\n return () => {\r\n if (_scrollableBlock) {\r\n observer.unobserve(_scrollableBlock);\r\n }\r\n };\r\n }, []);\r\n\r\n return <div ref={scrollableBlockRef}>{children && children(animation)}</div>;\r\n};\r\n","/**\r\n * bin(booleanValue)\r\n * returns 1 if booleanValue == true and 0 if booleanValue == false\r\n */\r\nexport function bin(bool: boolean) {\r\n return bool ? 1 : 0;\r\n}\r\n\r\n/**\r\n * mix(progress, a, b)\r\n * linear interpolation between a and b\r\n */\r\nexport function mix(perc: number, val1: number, val2: number) {\r\n return val1 * (1 - perc) + val2 * perc;\r\n}\r\n\r\n/**\r\n * clamp(value, min, max)\r\n * clamps value for min and max bounds\r\n */\r\nexport function clamp(value: number, lowerbound: number, upperbound: number) {\r\n return Math.min(Math.max(value, lowerbound), upperbound);\r\n}\r\n\r\nfunction rubber2(distanceFromEdge: number, constant: number) {\r\n return Math.pow(distanceFromEdge, constant * 5);\r\n}\r\n\r\nfunction rubber(distanceFromEdge: number, dimension: number, constant: number) {\r\n if (dimension === 0 || Math.abs(dimension) === Infinity)\r\n return rubber2(distanceFromEdge, constant);\r\n return (\r\n (distanceFromEdge * dimension * constant) /\r\n (dimension + constant * distanceFromEdge)\r\n );\r\n}\r\n\r\n/**\r\n * rubberClamp(value, min, max, constant?)\r\n * constant is optional : default 0.15\r\n * clamps the value for min and max value and\r\n * extends beyond min and max values with constant\r\n * factor to create elastic rubber band effect\r\n */\r\nexport function rubberClamp(\r\n value: number,\r\n lowerbound: number,\r\n upperbound: number,\r\n constant: number = 0.15\r\n) {\r\n if (constant === 0) return clamp(value, lowerbound, upperbound);\r\n\r\n if (value < lowerbound) {\r\n return (\r\n -rubber(lowerbound - value, upperbound - lowerbound, constant) +\r\n lowerbound\r\n );\r\n }\r\n\r\n if (value > upperbound) {\r\n return (\r\n +rubber(value - upperbound, upperbound - lowerbound, constant) +\r\n upperbound\r\n );\r\n }\r\n\r\n return value;\r\n}\r\n\r\n/**\r\n * snapTo(value, velocity, snapPoints[])\r\n * Calculates the final snapPoint according to given current value,\r\n * velocity and snapPoints array\r\n */\r\nexport function snapTo(\r\n value: number,\r\n velocity: number,\r\n snapPoints: Array<number>\r\n): number {\r\n const finalValue = value + velocity * 0.2;\r\n const getDiff = (point: number) => Math.abs(point - finalValue);\r\n const deltas = snapPoints.map(getDiff);\r\n const minDelta = Math.min(...deltas);\r\n\r\n return snapPoints.reduce(function (acc, point) {\r\n if (getDiff(point) === minDelta) {\r\n return point;\r\n } else {\r\n return acc;\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * move(array, moveIndex, toIndex)\r\n * move array item from moveIndex to toIndex without array modification\r\n */\r\nexport function move(array: Array<any>, moveIndex: number, toIndex: number) {\r\n const item = array[moveIndex];\r\n const length = array.length;\r\n const diff = moveIndex - toIndex;\r\n\r\n if (diff > 0) {\r\n return [\r\n ...array.slice(0, toIndex),\r\n item,\r\n ...array.slice(toIndex, moveIndex),\r\n ...array.slice(moveIndex + 1, length),\r\n ];\r\n } else if (diff < 0) {\r\n const targetIndex = toIndex + 1;\r\n return [\r\n ...array.slice(0, moveIndex),\r\n ...array.slice(moveIndex + 1, targetIndex),\r\n item,\r\n ...array.slice(targetIndex, length),\r\n ];\r\n }\r\n return array;\r\n}\r\n","import * as React from 'react';\r\nimport { TransitionValue } from '@raidipesh78/re-motion';\r\nimport { bin } from '../../gestures/math';\r\nimport { useAnimatedValue, UseAnimatedValueConfig } from '../useAnimatedValue';\r\n\r\ninterface TransitionBlockProps {\r\n state: boolean;\r\n children: (animation: { value: TransitionValue }) => React.ReactNode;\r\n config?: UseAnimatedValueConfig;\r\n}\r\n\r\n/**\r\n * TransitionBlock - Higher order component which animates on state change.\r\n * @prop { boolean } state - Boolean indicating the current state of animation, usually `false = 0 and true = 1`.\r\n * @prop { function } children - Child as a function with `AnimatedValue` on `.value` property.\r\n * @prop { UseAnimatedValueConfig } config - Animation configuration.\r\n */\r\nexport const TransitionBlock = ({\r\n state,\r\n children,\r\n config,\r\n}: TransitionBlockProps) => {\r\n const amv = useAnimatedValue(bin(state), config);\r\n\r\n return <>{children(amv)}</>;\r\n};\r\n","type MouseEventType =\r\n | 'click'\r\n | 'dblclick'\r\n | 'mousedown'\r\n | 'mousemove'\r\n | 'mouseup'\r\n | 'touchstart'\r\n | 'touchmove'\r\n | 'touchend'\r\n | 'mouseenter'\r\n | 'mouseleave'\r\n | 'mouseout'\r\n | 'mouseover'\r\n | 'scroll'\r\n | 'wheel'\r\n | 'contextmenu';\r\n\r\ntype DomTargetTypes = Array<Window | Document | HTMLElement>;\r\n\r\n/**\r\n * Attach single document / window event / HTMLElement\r\n */\r\nfunction attachEvent(\r\n domTargets: DomTargetTypes,\r\n event: MouseEventType,\r\n callback: (e: any) => void,\r\n capture: any = false\r\n) {\r\n domTargets.forEach((target) => {\r\n target.addEventListener(event, callback, capture);\r\n });\r\n\r\n return function () {\r\n domTargets.forEach((target) => {\r\n target.removeEventListener(event, callback, capture);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Attach multiple document / window event / HTMLElement\r\n */\r\nexport function attachEvents(\r\n domTargets: DomTargetTypes,\r\n events: Array<\r\n [event: MouseEventType, callback: (e: any) => void, capture?: any]\r\n >\r\n) {\r\n const subscribers = new Map();\r\n\r\n events.forEach(function ([event, callback, capture = false]) {\r\n subscribers.set(event, attachEvent(domTargets, event, callback, capture));\r\n });\r\n\r\n return function (eventKeys?: Array<string>) {\r\n for (const [eventKey, subscriber] of subscribers.entries()) {\r\n if (!eventKeys) {\r\n subscriber();\r\n return;\r\n }\r\n\r\n if (eventKeys.indexOf(eventKey) !== -1) {\r\n subscriber();\r\n }\r\n }\r\n };\r\n}\r\n","export const withDefault = (x: number, y: number) => {\r\n return { x, y };\r\n};\r\n","export class Gesture {\r\n currentIndex?: number;\r\n lastTimeStamp: number = Date.now();\r\n isActive: boolean = false;\r\n targetElement?: HTMLElement; // represents the bounded element\r\n targetElements: Array<HTMLElement> = []; // represents the bounded elements\r\n config?: any;\r\n callback?: <T>(event: T) => void;\r\n _subscribe?: (eventKeys?: Array<string>) => void;\r\n static _VELOCITY_LIMIT: number = 20;\r\n\r\n // it must be overridden by other child classes\r\n _initEvents() {}\r\n\r\n // cancel events\r\n // we only canceled down and move events because mouse up\r\n // will not be triggered\r\n _cancelEvents() {\r\n if (this._subscribe) {\r\n this._subscribe();\r\n }\r\n }\r\n\r\n // re-apply new callback\r\n applyCallback(callback: <T>(event: T) => void) {\r\n this.callback = callback;\r\n }\r\n\r\n // apply gesture\r\n applyGesture({\r\n targetElement,\r\n targetElements,\r\n callback,\r\n config,\r\n }: {\r\n targetElement?: any;\r\n targetElements?: any;\r\n callback: <T>(event: T) => void;\r\n config?: any;\r\n }) {\r\n this.targetElement = targetElement;\r\n this.targetElements = targetElements.map(\r\n (element: { current: any }) => element.current\r\n );\r\n this.callback = callback;\r\n this.config = config;\r\n\r\n // initialize events\r\n this._initEvents();\r\n\r\n // unbind\r\n return () => this._subscribe && this._subscribe();\r\n }\r\n}\r\n","import { attachEvents } from '../eventAttacher';\r\nimport { Vector2 } from '../types';\r\nimport { clamp } from '../math';\r\nimport { withDefault } from '../withDefault';\r\nimport { Gesture } from './Gesture';\r\n\r\nexport class DragGesture extends Gesture {\r\n movementStart: Vector2 = withDefault(0, 0);\r\n initialMovement: Vector2 = withDefault(0, 0);\r\n movement: Vector2 = withDefault(0, 0);\r\n previousMovement: Vector2 = withDefault(0, 0);\r\n translation: Vector2 = withDefault(0, 0);\r\n offset: Vector2 = withDefault(0, 0);\r\n velocity: Vector2 = withDefault(0, 0);\r\n\r\n // @override\r\n // initialize the events\r\n _initEvents() {\r\n if (this.targetElement || this.targetElements.length > 0) {\r\n this._subscribe = attachEvents(\r\n [window],\r\n [\r\n ['mousedown', this.pointerDown.bind(this)],\r\n ['mousemove', this.pointerMove.bind(this)],\r\n ['mouseup', this.pointerUp.bind(this)],\r\n ['touchstart', this.pointerDown.bind(this), { passive: false }],\r\n ['touchmove', this.pointerMove.bind(this), { passive: false }],\r\n ['touchend', this.pointerUp.bind(this)],\r\n ]\r\n );\r\n }\r\n }\r\n\r\n // @override - cancel events\r\n // we only canceled down and move events because mouse up\r\n // will not be triggered\r\n _cancelEvents() {\r\n if (this._subscribe) {\r\n this._subscribe(['mousedown', 'mousemove', 'touchstart', 'touchmove']);\r\n }\r\n }\r\n\r\n _handleCallback() {\r\n if (this.callback) {\r\n this.callback({\r\n args: [this.currentIndex],\r\n down: this.isActive,\r\n movementX: this.movement.x,\r\n movementY: this.movement.y,\r\n offsetX: this.translation.x,\r\n offsetY: this.translation.y,\r\n velocityX: this.velocity.x,\r\n velocityY: this.velocity.y,\r\n distanceX: Math.abs(this.movement.x),\r\n distanceY: Math.abs(this.movement.y),\r\n directionX: Math.sign(this.movement.x),\r\n directionY: Math.sign(this.movement.y),\r\n cancel: () => {\r\n this._cancelEvents();\r\n },\r\n });\r\n }\r\n }\r\n\r\n pointerDown(e: any) {\r\n if (e.type === 'touchstart') {\r\n this.movementStart = {\r\n x: e.touches[0].clientX,\r\n y: e.touches[0].clientY,\r\n };\r\n } else {\r\n this.movementStart = { x: e.clientX, y: e.clientY };\r\n }\r\n\r\n this.movement = { x: 0, y: 0 };\r\n this.offset = { x: this.translation.x, y: this.translation.y };\r\n this.previousMovement = { x: 0, y: 0 };\r\n this.velocity = { x: 0, y: 0 };\r\n\r\n // find current selected element\r\n const currElem = this.targetElements.find((elem: any) => elem === e.target);\r\n\r\n if (e.target === this.targetElement || currElem) {\r\n this.isActive = true;\r\n e.preventDefault();\r\n\r\n // set args\r\n if (currElem) {\r\n this.currentIndex = this.targetElements.indexOf(currElem);\r\n }\r\n\r\n // if initial function is defined then call it to get initial movementX and movementY\r\n // if only select to bounded draggable element\r\n const initial = this.config?.initial && this.config.initial();\r\n const initialMovementX = initial?.movementX;\r\n const initialMovementY = initial?.movementY;\r\n\r\n this.initialMovement = {\r\n x: initialMovementX ?? 0,\r\n y: initialMovementY ?? 0,\r\n };\r\n\r\n this.movement = {\r\n x: this.initialMovement.x,\r\n y: this.initialMovement.y,\r\n };\r\n\r\n this.previousMovement = {\r\n x: this.initialMovement.x,\r\n y: this.initialMovement.y,\r\n };\r\n\r\n this._handleCallback();\r\n }\r\n }\r\n\r\n pointerMove(e: any) {\r\n if (this.isActive) {\r\n e.preventDefault();\r\n const now = Date.now();\r\n const deltaTime = clamp(now - this.lastTimeStamp, 0.1, 64);\r\n this.lastTimeStamp = now;\r\n\r\n const t = deltaTime / 1000;\r\n\r\n if (e.type === 'touchmove') {\r\n this.movement = {\r\n x:\r\n this.initialMovement.x +\r\n (e.touches[0].clientX - this.movementStart.x),\r\n y:\r\n this.initialMovement.y +\r\n (e.touches[0].clientY - this.movementStart.y),\r\n };\r\n } else {\r\n this.movement = {\r\n x: this.initialMovement.x + (e.clientX - this.movementStart.x),\r\n y: this.initialMovement.y + (e.clientY - this.movementStart.y),\r\n };\r\n }\r\n\r\n this.translation = {\r\n x: this.offset.x + this.movement.x,\r\n y: this.offset.y + this.movement.y,\r\n };\r\n\r\n this.velocity = {\r\n x: clamp(\r\n (this.movement.x - this.previousMovement.x) / t / 1000,\r\n -1 * Gesture._VELOCITY_LIMIT,\r\n Gesture._VELOCITY_LIMIT\r\n ),\r\n y: clamp(\r\n (this.movement.y - this.previousMovement.y) / t / 1000,\r\n -1 * Gesture._VELOCITY_LIMIT,\r\n Gesture._VELOCITY_LIMIT\r\n ),\r\n };\r\n\r\n this.previousMovement = {\r\n x: this.movement.x,\r\n y: this.movement.y,\r\n };\r\n\r\n this._handleCallback();\r\n }\r\n }\r\n\r\n pointerUp() {\r\n if (this.isActive) {\r\n this.isActive = false;\r\n this._handleCallback();\r\n this._cancelEvents();\r\n this._initEvents();\r\n }\r\n }\r\n}\r\n","import { attachEvents } from '../eventAttacher';\r\nimport { Vector2 } from '../types';\r\nimport { clamp } from '../math';\r\nimport { withDefault } from '../withDefault';\r\nimport { Gesture } from './Gesture';\r\n\r\nexport class MouseMoveGesture extends Gesture {\r\n event?: MouseEvent;\r\n isActiveID?: any;\r\n movement: Vector2 = withDefault(0, 0);\r\n previousMovement: Vector2 = withDefault(0, 0);\r\n velocity: Vector2 = withDefault(0, 0);\r\n direction: Vector2 = withDefault(0, 0);\r\n\r\n // @override\r\n // initialize the events\r\n _initEvents() {\r\n if (this.targetElement) {\r\n this._subscribe = attachEvents(\r\n [this.targetElement],\r\n [['mousemove', this.onMouseMove.bind(this)]]\r\n );\r\n } else if (this.targetElements.length > 0) {\r\n this._subscribe = attachEvents(this.targetElements, [\r\n ['mousemove', this.onMouseMove.bind(this)],\r\n ]);\r\n } else {\r\n this._subscribe = attachEvents(\r\n [window],\r\n [['mousemove', this.onMouseMove.bind(this)]]\r\n );\r\n }\r\n }\r\n\r\n _handleCallback() {\r\n if (this.callback) {\r\n this.callback({\r\n args: [this.currentIndex],\r\n event: this.event,\r\n isMoving: this.isActive,\r\n target: this.event?.target,\r\n mouseX: this.movement.x,\r\n mouseY: this.movement.y,\r\n velocityX: this.velocity.x,\r\n velocityY: this.velocity.y,\r\n directionX: this.direction.x,\r\n directionY: this.direction.y,\r\n });\r\n }\r\n }\r\n\r\n onMouseMove(e: MouseEvent) {\r\n // find current selected element\r\n const currElem = this.targetElements.find((elem: any) => elem === e.target);\r\n\r\n // set args\r\n if (currElem) {\r\n this.currentIndex = this.targetElements.indexOf(currElem);\r\n }\r\n\r\n this.event = e;\r\n\r\n const now: number = Date.now();\r\n const deltaTime = Math.min(now - this.lastTimeStamp, 64);\r\n this.lastTimeStamp = now;\r\n const t = deltaTime / 1000; // seconds\r\n\r\n const x = e.clientX;\r\n const y = e.clientY;\r\n\r\n this.movement = { x, y };\r\n\r\n if (this.isActiveID !== -1) {\r\n this.isActive = true;\r\n clearTimeout(this.isActiveID);\r\n }\r\n\r\n this.isActiveID = setTimeout(() => {\r\n this.isActive = false;\r\n this.direction = { x: 0, y: 0 };\r\n this.velocity = { x: 0, y: 0 };\r\n\r\n this._handleCallback();\r\n }, 250); // Debounce 250 milliseconds\r\n\r\n const diffX = this.movement.x - this.previousMovement.x;\r\n const diffY = this.movement.y - this.previousMovement.y;\r\n\r\n this.direction = {\r\n x: Math.sign(diffX),\r\n y: Math.sign(diffY),\r\n };\r\n\r\n this.velocity = {\r\n x: clamp(\r\n diffX / t / 1000,\r\n -1 * Gesture._VELOCITY_LIMIT,\r\n Gesture._VELOCITY_LIMIT\r\n ),\r\n y: clamp(\r\n diffY / t / 1000,\r\n -1 * Gesture._VELOCITY_LIMIT,\r\n Gesture._VELOCITY_LIMIT\r\n ),\r\n };\r\n\r\n this.previousMovement = { x: this.movement.x, y: this.movement.y };\r\n\r\n this._handleCallback();\r\n }\r\n}\r\n","import { attachEvents } from '../eventAttacher';\r\nimport { Vector2 } from '../types';\r\nimport { clamp } from '../math';\r\nimport { withDefault } from '../withDefault';\r\nimport { Gesture } from './Gesture';\r\n\r\nexport class ScrollGesture extends Gesture {\r\n isActiveID?: any;\r\n movement: Vector2 = withDefault(0, 0);\r\n previousMovement: Vector2 = withDefault(0, 0);\r\n direction: Vector2 = withDefault(0, 0);\r\n velocity: Vector2 = withDefault(0, 0);\r\n\r\n // @override\r\n // initialize the events\r\n _initEvents() {\r\n if (this.targetElement) {\r\n this._subscribe = attachEvents(\r\n [this.targetElement],\r\n [['scroll', this.scrollElementListener.bind(this)]]\r\n );\r\n } else {\r\n this._subscribe = attachEvents(\r\n [window],\r\n [['scroll', this.scrollListener.bind(this)]]\r\n );\r\n }\r\n }\r\n\r\n _handleCallback() {\r\n if (this.callback) {\r\n this.callback({\r\n isScrolling: this.isActive,\r\n scrollX: this.movement.x,\r\n scrollY: this.movement.y,\r\n velocityX: this.velocity.x,\r\n velocityY: this.velocity.y,\r\n directionX: this.direction.x,\r\n directionY: this.direction.y,\r\n });\r\n }\r\n }\r\n\r\n onScroll({ x, y }: Vector2) {\r\n const now: number = Date.now();\r\n const deltaTime = Math.min(now - this.lastTimeStamp, 64);\r\n this.lastTimeStamp = now;\r\n const t = deltaTime / 1000; // seconds\r\n\r\n this.movement = { x, y };\r\n\r\n // Clear if scrolling\r\n if (this.isActiveID !== -1) {\r\n this.isActive = true;\r\n clearTimeout(this.isActiveID);\r\n }\r\n\r\n this.isActiveID = setTimeout(() => {\r\n this.isActive = false;\r\n this.direction = { x: 0, y: 0 };\r\n\r\n // Reset Velocity\r\n this.velocity = { x: 0, y: 0 };\r\n\r\n this._handleCallback(); // Debounce 250milliseconds\r\n }, 250);\r\n\r\n const diffX = this.movement.x - this.previousMovement.x;\r\n const diffY = this.movement.y - this.previousMovement.y;\r\n\r\n this.direction = {\r\n x: Math.sign(diffX),\r\n y: Math.sign(diffY),\r\n };\r\n\r\n this.velocity = {\r\n x: clamp(\r\n diffX / t / 1000,\r\n -1 * Gesture._VELOCITY_LIMIT,\r\n Gesture._VELOCITY_LIMIT\r\n ),\r\n y: clamp(\r\n diffY / t / 1000,\r\n -1 * Gesture._VELOCITY_LIMIT,\r\n Gesture._VELOCITY_LIMIT\r\n ),\r\n };\r\n\r\n this.previousMovement = {\r\n x: this.movement.x,\r\n y: this.movement.y,\r\n };\r\n\r\n this._handleCallback();\r\n }\r\n\r\n scrollListener() {\r\n const { pageYOffset: y, pageXOffset: x } = window;\r\n this.onScroll({ x, y });\r\n }\r\n\r\n scrollElementListener() {\r\n const x = this.targetElement?.scrollLeft || 0;\r\n const y = this.targetElement?.scrollTop || 0;\r\n this.onScroll({ x, y });\r\n }\r\n}\r\n","import { attachEvents } from '../eventAttacher';\r\nimport { Vector2 } from '../types';\r\nimport { clamp } from '../math';\r\nimport { withDefault } from '../withDefault';\r\nimport { Gesture } from './Gesture';\r\n\r\nconst LINE_HEIGHT = 40;\r\nconst PAGE_HEIGHT = 800;\r\n\r\nexport class WheelGesture extends Gesture {\r\n isActiveID?: any;\r\n movement: Vector2 = withDefault(0, 0);\r\n previousMovement: Vector2 = withDefault(0, 0);\r\n direction: Vector2 = withDefault(0, 0);\r\n velocity: Vector2 = withDefault(0, 0);\r\n delta: Vector2 = withDefault(0, 0);\r\n\r\n // Holds offsets\r\n offset: Vector2 = withDefault(0, 0);\r\n translation: Vector2 = withDefault(0, 0);\r\n\r\n // @override\r\n // initialize the events\r\n _initEvents() {\r\n if (this.targetElement) {\r\n this._subscribe = attachEvents(\r\n [this.targetElement],\r\n [['wheel', this.onWheel.bind(this)]]\r\n );\r\n }\r\n }\r\n\r\n _handleCallback() {\r\n if (this.callback) {\r\n this.callback({\r\n target: this.targetElement,\r\n isWheeling: this.isActive,\r\n deltaX: this.delta.x,\r\n deltaY: this.delta.y,\r\n directionX: this.direction.x,\r\n directionY: this.direction.y,\r\n movementX: this.movement.x,\r\n movementY: this.movement.y,\r\n offsetX: this.offset.x,\r\n offsetY: this.offset.y,\r\n velocityX: this.velocity.x,\r\n velocityY: this.velocity.y,\r\n });\r\n }\r\n }\r\n\r\n onWheel(event: WheelEvent) {\r\n let { deltaX, deltaY, deltaMode } = event;\r\n\r\n const now: number = Date.now();\r\n const deltaTime = Math.min(now - this.lastTimeStamp, 64);\r\n this.lastTimeStamp = now;\r\n const t = deltaTime / 1000; // seconds\r\n\r\n this.isActive = true;\r\n\r\n if (this.isActiveID !== -1) {\r\n this.isActive = true;\r\n clearTimeout(this.isActiveID);\r\n }\r\n\r\n this.isActiveID = setTimeout(() => {\r\n this.isActive = false;\r\n this.translation = { x: this.offset.x, y: this.offset.y };\r\n this._handleCallback();\r\n\r\n this.velocity = { x: 0, y: 0 }; // Reset Velocity\r\n this.movement = { x: 0, y: 0 };\r\n }, 200);\r\n\r\n // normalize wheel values, especially for Firefox\r\n if (deltaMode === 1) {\r\n deltaX *= LINE_HEIGHT;\r\n deltaY *= LINE_HEIGHT;\r\n } else if (deltaMode === 2) {\r\n deltaX *= PAGE_HEIGHT;\r\n deltaY *= PAGE_HEIGHT;\r\n }\r\n\r\n this.delta = { x: deltaX, y: deltaY };\r\n this.movement = {\r\n x: this.movement.x + deltaX,\r\n y: this.movement.y + deltaY,\r\n };\r\n this.offset = {\r\n x: this.translation.x + this.movement.x,\r\n y: this.translation.y + this.movement.y,\r\n };\r\n\r\n const diffX = this.movement.x - this.previousMovement.x;\r\n const diffY = this.movement.y - this.previousMovement.y;\r\n\r\n this.direction = {\r\n x: Math.sign(diffX),\r\n y: Math.sign(diffY),\r\n };\r\n\r\n this.velocity = {\r\n x: clamp(\r\n diffX / t / 1000,\r\n -1 * Gesture._VELOCITY_LIMIT,\r\n Gesture._VELOCITY_LIMIT\r\n ),\r\n y: clamp(\r\n diffY / t / 1000,\r\n -1 * Gesture._VELOCITY_LIMIT,\r\n Gesture._VELOCITY_LIMIT\r\n ),\r\n };\r\n\r\n this.previousMovement = {\r\n x: this.movement.x,\r\n y: this.movement.y,\r\n };\r\n\r\n this._handleCallback();\r\n }\r\n}\r\n","/* eslint-disable react-hooks/exhaustive-deps */\r\nimport * as React from 'react';\r\n\r\ntype UseRecognizerHandlerType = Array<\r\n [\r\n key: 'drag' | 'wheel' | 'move' | 'scroll',\r\n gesture: any,\r\n callback: any,\r\n config?: any\r\n ]\r\n>;\r\n\r\nexport const useRecognizer = (handlers: UseRecognizerHandlerType) => {\r\n const ref = React.useRef<any>();\r\n const elementRefs = React.useRef<Array<any>>([]);\r\n const subscribers = React.useRef<\r\n Map<string, { keyIndex: number; gesture: any; unsubscribe: any }>\r\n >(new Map()).current;\r\n\r\n // re-initiate callback on change\r\n React.useEffect(() => {\r\n for (let [, { keyIndex, gesture }] of subscribers.entries()) {\r\n const [, , callback] = handlers[keyIndex];\r\n gesture.applyCallback(callback);\r\n }\r\n }, [handlers]);\r\n\r\n React.useEffect(() => {\r\n handlers.forEach(([key, gesture, callback, config], keyIndex) => {\r\n subscribers.set(key, {\r\n keyIndex,\r\n gesture,\r\n unsubscribe: gesture.applyGesture({\r\n targetElement: ref.current,\r\n targetElements: elementRefs.current,\r\n callback,\r\n config,\r\n }),\r\n });\r\n });\r\n\r\n return () => {\r\n for (let [, { unsubscribe }] of subscribers.entries()) {\r\n unsubscribe && unsubscribe();\r\n }\r\n };\r\n }, []);\r\n\r\n return (index?: number) => {\r\n if (index === null || index === undefined) {\r\n return { ref };\r\n } else {\r\n elementRefs.current[index] =\r\n elementRefs.current[index] || React.createRef();\r\n\r\n return { ref: elementRefs.current[index] };\r\n }\r\n };\r\n};\r\n","import * as React from 'react';\r\n\r\nimport { DragEventType, UseDragConfig } from '../types';\r\nimport { DragGesture } from '../controllers';\r\nimport { useRecognizer } from './useRecognizer';\r\n\r\nexport function useDrag(\r\n callback: (event: DragEventType) => void,\r\n config?: UseDragConfig\r\n) {\r\n const gesture = React.useRef(new DragGesture()).current;\r\n\r\n return useRecognizer([['drag', gesture, callback, config]]);\r\n}\r\n","import * as React from 'react';\r\n\r\nimport { MouseMoveEventType } from '../types';\r\nimport { MouseMoveGesture } from '../controllers';\r\nimport { useRecognizer } from './useRecognizer';\r\n\r\nexport function useMouseMove(callback: (event: MouseMoveEventType) => void) {\r\n const gesture = React.useRef(new MouseMoveGesture()).current;\r\n\r\n return useRecognizer([['move', gesture, callback]]);\r\n}\r\n","import * as React from 'react';\r\n\r\nimport { ScrollEventType } from '../types';\r\nimport { ScrollGesture } from '../controllers';\r\nimport { useRecognizer } from './useRecognizer';\r\n\r\nexport function useScroll(callback: (event: ScrollEventType) => void) {\r\n const gesture = React.useRef(new ScrollGesture()).current;\r\n\r\n return useRecognizer([['scroll', gesture, callback]]);\r\n}\r\n","import * as React from 'react';\r\n\r\nimport { WheelEventType } from '../types';\r\nimport { WheelGesture } from '../controllers';\r\nimport { useRecognizer } from './useRecognizer';\r\n\r\nexport function useWheel(callback: (event: WheelEventType) => void) {\r\n const gesture = React.useRef(new WheelGesture()).current;\r\n\r\n return useRecognizer([['wheel', gesture, callback]]);\r\n}\r\n","import * as React from 'react';\r\nimport {\r\n DragGesture,\r\n MouseMoveGesture,\r\n ScrollGesture,\r\n WheelGesture,\r\n} from '../controllers';\r\nimport {\r\n DragEventType,\r\n WheelEventType,\r\n ScrollEventType,\r\n MouseMoveEventType,\r\n} from '../types';\r\nimport { useRecognizer } from './useRecognizer';\r\n\r\nexport function useGesture({\r\n onDrag,\r\n onWheel,\r\n onScroll,\r\n onMouseMove,\r\n}: {\r\n onDrag?: (event: DragEventType) => void;\r\n onWheel?: (event: WheelEventType) => void;\r\n onScroll?: (event: ScrollEventType) => void;\r\n onMouseMove?: (event: MouseMoveEventType) => void;\r\n}) {\r\n const dragGesture = React.useRef(new DragGesture()).current;\r\n const wheelGesture = React.useRef(new WheelGesture()).current;\r\n const scrollGesture = React.useRef(new ScrollGesture()).current;\r\n const mouseMoveGesture = React.useRef(new MouseMoveGesture()).current;\r\n\r\n return useRecognizer([\r\n ['drag', dragGesture, onDrag],\r\n ['wheel', wheelGesture, onWheel],\r\n ['scroll', scrollGesture, onScroll],\r\n ['move', mouseMoveGesture, onMouseMove],\r\n ]);\r\n}\r\n","import * as React from \"react\";\r\n\r\nimport { attachEvents } from \"../gestures/eventAttacher\";\r\n\r\nexport function useOutsideClick(\r\n elementRef: React.RefObject<HTMLElement>,\r\n callback: (event: MouseEvent) => void,\r\n deps?: React.DependencyList\r\n) {\r\n const callbackRef = React.useRef<(event: MouseEvent) => void>();\r\n\r\n if (!callbackRef.current) {\r\n callbackRef.current = callback;\r\n }\r\n\r\n // Reinitiate callback when dependency change\r\n React.useEffect(() => {\r\n callbackRef.current = callback;\r\n\r\n return () => {\r\n callbackRef.current = () => false;\r\n };\r\n }, deps);\r\n\r\n React.useEffect(() => {\r\n const handleOutsideClick = (e: MouseEvent) => {\r\n if (!elementRef?.current?.contains(e.target as Element)) {\r\n callbackRef.current && callbackRef.current(e);\r\n }\r\n };\r\n\r\n const subscribe = attachEvents([document], [[\"click\", handleOutsideClick]]);\r\n\r\n return () => subscribe && subscribe();\r\n }, []);\r\n}\r\n","import * as React from \"react\";\r\n\r\ntype MeasurementValue = number | Array<number>;\r\n\r\ntype MeasurementType = {\r\n left: MeasurementValue;\r\n top: MeasurementValue;\r\n width: MeasurementValue;\r\n height: MeasurementValue;\r\n vLeft: MeasurementValue;\r\n vTop: MeasurementValue;\r\n};\r\n\r\nexport function useMeasure(\r\n callback: (event: MeasurementType) => void,\r\n deps?: React.DependencyList\r\n) {\r\n const ref = React.useRef(null);\r\n const elementRefs = React.useRef([]);\r\n const callbackRef = React.useRef<(event: MeasurementType) => void>(callback);\r\n\r\n // Reinitiate callback when dependency change\r\n React.useEffect(() => {\r\n callbackRef.current = callback;\r\n\r\n return () => {\r\n callbackRef.current = () => false;\r\n };\r\n }, deps);\r\n\r\n React.useEffect(() => {\r\n const _refElement = ref.current || document.documentElement;\r\n const _refElementsMultiple = elementRefs.current;\r\n\r\n const resizeObserver = new ResizeObserver(([entry]) => {\r\n const { left, top, width, height } = entry.target.getBoundingClientRect();\r\n const { pageXOffset, pageYOffset } = window;\r\n\r\n if (callbackRef) {\r\n if (_refElement === document.documentElement) {\r\n return; // no-op for document\r\n } else {\r\n callbackRef.current({\r\n left: left + pageXOffset,\r\n top: top + pageYOffset,\r\n width,\r\n height,\r\n vLeft: left,\r\n vTop: top,\r\n });\r\n }\r\n }\r\n });\r\n\r\n const resizeObserverMultiple = new ResizeObserver((entries) => {\r\n const left: Array<number> = [];\r\n const top: Array<number> = [];\r\n const width: Array<number> = [];\r\n const height: Array<number> = [];\r\n const vLeft: Array<number> = [];\r\n const vTop: Array<number> = [];\r\n\r\n entries.forEach((entry) => {\r\n const {\r\n left: _left,\r\n top: _top,\r\n width: _width,\r\n height: _height,\r\n } = entry.target.getBoundingClientRect();\r\n const { pageXOffset, pageYOffset } = window;\r\n const _pageLeft = _left + pageXOffset;\r\n const _pageTop = _top + pageYOffset;\r\n\r\n left.push(_pageLeft);\r\n top.push(_pageTop);\r\n width.push(_width);\r\n height.push(_height);\r\n vLeft.push(_left);\r\n vTop.push(_top);\r\n });\r\n\r\n if (callbackRef) {\r\n callbackRef.current({\r\n left,\r\n top,\r\n width,\r\n height,\r\n vLeft,\r\n vTop,\r\n });\r\n }\r\n });\r\n\r\n if (_refElement) {\r\n if (\r\n _refElement === document.documentElement &&\r\n _refElementsMultiple.length > 0\r\n ) {\r\n _refElementsMultiple.forEach((element: any) => {\r\n resizeObserverMultiple.observe(element.current);\r\n });\r\n } else {\r\n resizeObserver.observe(_refElement);\r\n }\r\n }\r\n\r\n return () => {\r\n if (_refElement) {\r\n if (\r\n _refElement === document.documentElement &&\r\n _refElementsMultiple.length > 0\r\n ) {\r\n _refElementsMultiple.forEach((element: any) => {\r\n resizeObserverMultiple.unobserve(element.current);\r\n });\r\n } else {\r\n resizeObserver.unobserve(_refElement);\r\n }\r\n }\r\n };\r\n }, []);\r\n\r\n return (index?: number) => {\r\n if (index === null || index === undefined) {\r\n return { ref };\r\n } else {\r\n elementRefs.current[index] =\r\n elementRefs.current[index] || React.createRef();\r\n\r\n return { ref: elementRefs.current[index] };\r\n }\r\n }; // ...bind() or ...bind(index) for multiple\r\n}\r\n","import * as React from \"react\";\r\n\r\ntype WindowDimensionType = {\r\n width: number;\r\n height: number;\r\n innerWidth: number;\r\n innerHeight: number;\r\n};\r\n\r\nexport function useWindowDimension(\r\n callback: (event: WindowDimensionType) => void,\r\n deps?: React.DependencyList\r\n) {\r\n const windowDimensionsRef = React.useRef<WindowDimensionType>({\r\n width: 0,\r\n height: 0,\r\n innerWidth: 0,\r\n innerHeight: 0,\r\n });\r\n const callbackRef =\r\n React.useRef<(event: WindowDimensionType) => void>(callback);\r\n\r\n const handleCallback: () => void = () => {\r\n if (callbackRef) {\r\n callbackRef.current({\r\n ...windowDimensionsRef.current,\r\n });\r\n }\r\n };\r\n\r\n // Reinitiate callback when dependency change\r\n React.useEffect(() => {\r\n callbackRef.current = callback;\r\n\r\n return () => {\r\n callbackRef.current = () => false;\r\n };\r\n }, deps);\r\n\r\n React.useEffect(() => {\r\n const resizeObserver = new ResizeObserver(([entry]) => {\r\n const { clientWidth, clientHeight } = entry.target;\r\n const { innerWidth, innerHeight } = window;\r\n\r\n windowDimensionsRef.current = {\r\n width: clientWidth,\r\n height: clientHeight,\r\n innerWidth,\r\n innerHeight,\r\n };\r\n\r\n handleCallback();\r\n });\r\n\r\n resizeObserver.observe(document.documentElement);\r\n\r\n return () => resizeObserver.unobserve(document.documentElement);\r\n }, []);\r\n}\r\n"],"names":["interpolate","makeAnimatedComponent","React.useRef","React.useState","useTransition","React.useEffect","React.createElement","Easing","React.createRef"],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sources":["../src/utils/delay.ts","../src/animation/interpolation.ts","../src/animation/modules/AnimatedBlock.ts","../src/animation/modules/AnimatedInline.ts","../src/animation/modules/AnimatedImage.ts","../src/animation/useMountedValue.ts","../src/animation/modules/MountedBlock.tsx","../src/animation/getInitialConfig.ts","../src/animation/animationType.ts","../src/animation/useAnimatedValue.ts","../src/animation/modules/ScrollableBlock.tsx","../src/gestures/math.ts","../src/animation/modules/TransitionBlock.tsx","../src/gestures/eventAttacher.ts","../src/gestures/withDefault.ts","../src/gestures/controllers/Gesture.ts","../src/gestures/controllers/DragGesture.ts","../src/gestures/controllers/MouseMoveGesture.ts","../src/gestures/controllers/ScrollGesture.ts","../src/gestures/controllers/WheelGesture.ts","../src/gestures/hooks/useRecognizer.ts","../src/gestures/hooks/useDrag.ts","../src/gestures/hooks/useMouseMove.ts","../src/gestures/hooks/useScroll.ts","../src/gestures/hooks/useWheel.ts","../src/gestures/hooks/useGesture.ts","../src/hooks/useOutsideClick.ts","../src/hooks/useMeasure.ts","../src/hooks/useWindowDimension.ts"],"sourcesContent":["/**\r\n * @param { number } ms - number of milliseconds to delay code execution\r\n * @returns Promise\r\n */\r\nexport function delay(ms: number) {\r\n return new Promise((resolve) => {\r\n setTimeout(() => resolve(null), ms);\r\n });\r\n}\r\n","import {\r\n interpolate,\r\n ExtrapolateConfig,\r\n TransitionValue,\r\n} from '@raidipesh78/re-motion';\r\nexport { interpolate } from '@raidipesh78/re-motion';\r\n\r\n/**\r\n * bInterpolate functions maps input range [0, 1] to given [minOutput, maxOutput]\r\n * sorthand function to interpolate input range [0, 1]\r\n * @param value - number | TransitionValue\r\n * @param minOutput - number | string\r\n * @param maxOutput - number | string\r\n * @param extrapolateConfig - \"clamp\" | \"identity\" | \"extend\"\r\n * @returns - number | TransitionValue\r\n */\r\nexport function bInterpolate(\r\n value: number | TransitionValue,\r\n minOutput: number | string,\r\n maxOutput: number | string,\r\n extrapolateConfig?: ExtrapolateConfig\r\n) {\r\n return interpolate(value, [0, 1], [minOutput, maxOutput], extrapolateConfig);\r\n}\r\n","import { makeAnimatedComponent } from '@raidipesh78/re-motion';\r\n\r\n/**\r\n * AnimatedBlock - A higher order component built upon `div` element\r\n * which can accept `AnimatedValue`. It also exposes some extra style properties like\r\n * translateX, translateY, rotateX, rotateY, scaleX, etc.\r\n */\r\nexport const AnimatedBlock = makeAnimatedComponent('div');\r\n","import { makeAnimatedComponent } from '@raidipesh78/re-motion';\r\n\r\n/**\r\n * AnimatedInline - A higher order component built upon `span` element\r\n * which can accept `AnimatedValue`. It also exposes some extra style properties like\r\n * translateX, translateY, rotateX, rotateY, scaleX, etc.\r\n */\r\nexport const AnimatedInline = makeAnimatedComponent('span');\r\n","import { makeAnimatedComponent } from '@raidipesh78/re-motion';\r\n\r\n/**\r\n * AnimatedImage - A higher order component built upon `img` element\r\n * which can accept `AnimatedValue`. It also exposes some extra style properties like\r\n * translateX, translateY, rotateX, rotateY, scaleX, etc.\r\n */\r\nexport const AnimatedImage = makeAnimatedComponent('img');\r\n","import * as React from 'react';\r\nimport {\r\n useTransition,\r\n TransitionValue,\r\n UseMountConfig,\r\n} from '@raidipesh78/re-motion';\r\n\r\nexport interface UseMountedValueConfig extends UseMountConfig {}\r\n\r\n/**\r\n * `useMountedValue` handles mounting and unmounting of a component which captures current state\r\n * passed as an arugment (`state`) and exposes the shadow state which handles the mount and unmount\r\n * of a component.\r\n * @param { boolean } state - Boolean indicating the component should mount or unmount.\r\n * @param { UseMountedValueConfig } config - Animation configuration.\r\n */\r\nexport function useMountedValue(state: boolean, config: UseMountedValueConfig) {\r\n const initial = React.useRef(true);\r\n const [mounted, setMounted] = React.useState(state);\r\n const {\r\n from,\r\n enter,\r\n exit,\r\n config: innerConfig,\r\n enterConfig,\r\n exitConfig,\r\n } = React.useRef(config).current;\r\n const [animation, setAnimation] = useTransition(from, innerConfig);\r\n\r\n React.useEffect(() => {\r\n if (state) {\r\n initial.current = true;\r\n setMounted(true);\r\n } else {\r\n initial.current = false;\r\n setAnimation(\r\n {\r\n toValue: exit,\r\n config: exitConfig,\r\n },\r\n function ({ finished }) {\r\n if (finished) {\r\n setMounted(false);\r\n }\r\n }\r\n );\r\n }\r\n }, [state]);\r\n\r\n React.useEffect(() => {\r\n if (mounted && initial.current) {\r\n setAnimation({\r\n toValue: enter,\r\n config: enterConfig,\r\n });\r\n }\r\n }, [mounted, initial.current]);\r\n\r\n return function (\r\n callback: (\r\n { value: animation }: { value: TransitionValue },\r\n mounted: boolean\r\n ) => React.ReactNode\r\n ) {\r\n return callback({ value: animation }, mounted);\r\n };\r\n}\r\n","import * as React from 'react';\r\nimport { TransitionValue } from '@raidipesh78/re-motion';\r\nimport { useMountedValue, UseMountedValueConfig } from '../useMountedValue';\r\n\r\ninterface MountedBlockProps {\r\n state: boolean;\r\n children: (animation: { value: TransitionValue }) => React.ReactNode;\r\n config: UseMountedValueConfig;\r\n}\r\n\r\n/**\r\n * MountedBlock - Higher order component which handles mounting and unmounting of a component.\r\n * @prop { boolean } state - Boolean indicating the component should mount or unmount.\r\n * @prop { function } children - Child as a function with `AnimatedValue` on `.value` property.\r\n * @prop { UseMountedValueConfig } config - Animation configuration.\r\n */\r\nexport const MountedBlock = ({\r\n state,\r\n children,\r\n config,\r\n}: MountedBlockProps) => {\r\n const open = useMountedValue(state, config);\r\n\r\n return <>{open((animation, mounted) => mounted && children(animation))}</>;\r\n};\r\n","import { Easing, UseTransitionConfig } from '@raidipesh78/re-motion';\r\nexport type InitialConfigType =\r\n | 'linear'\r\n | 'easein'\r\n | 'easeout'\r\n | 'easeinout'\r\n | 'ease'\r\n | 'power1'\r\n | 'power2'\r\n | 'power3'\r\n | 'power4'\r\n | 'elastic'\r\n | 'stiff'\r\n | 'wooble'\r\n | 'bounce';\r\n\r\nexport const getInitialConfig = (\r\n animationType?: InitialConfigType\r\n): UseTransitionConfig => {\r\n switch (animationType) {\r\n case 'elastic':\r\n return { mass: 1, friction: 18, tension: 250 };\r\n\r\n case 'stiff':\r\n return { mass: 1, friction: 18, tension: 350 };\r\n\r\n case 'wooble':\r\n return { mass: 1, friction: 8, tension: 250 };\r\n\r\n case 'bounce':\r\n return { duration: 500, easing: Easing.bounce };\r\n\r\n case 'power1':\r\n return { duration: 500, easing: Easing.bezier(0.17, 0.42, 0.51, 0.97) };\r\n\r\n case 'power2':\r\n return { duration: 500, easing: Easing.bezier(0.07, 0.11, 0.13, 1) };\r\n\r\n case 'power3':\r\n return { duration: 500, easing: Easing.bezier(0.09, 0.7, 0.16, 1.04) };\r\n\r\n case 'power4':\r\n return { duration: 500, easing: Easing.bezier(0.05, 0.54, 0, 1.03) };\r\n\r\n case 'linear':\r\n return { duration: 500, easing: Easing.linear };\r\n\r\n case 'easein':\r\n return { duration: 500, easing: Easing.in(Easing.ease) };\r\n\r\n case 'easeout':\r\n return { duration: 500, easing: Easing.out(Easing.ease) };\r\n\r\n case 'easeinout':\r\n return { duration: 500, easing: Easing.inOut(Easing.ease) };\r\n\r\n case 'ease':\r\n default:\r\n return { mass: 1, friction: 34, tension: 290 };\r\n }\r\n};\r\n","import { getInitialConfig } from './getInitialConfig';\r\n\r\nexport const AnimationConfigUtils = {\r\n ELASTIC: getInitialConfig('elastic'),\r\n BOUNCE: getInitialConfig('bounce'),\r\n EASE: getInitialConfig('ease'),\r\n STIFF: getInitialConfig('stiff'),\r\n WOOBLE: getInitialConfig('wooble'),\r\n EASE_IN: getInitialConfig('easein'),\r\n EASE_OUT: getInitialConfig('easeout'),\r\n EASE_IN_OUT: getInitialConfig('easeinout'),\r\n POWER1: getInitialConfig('power1'),\r\n POWER2: getInitialConfig('power2'),\r\n POWER3: getInitialConfig('power3'),\r\n POWER4: getInitialConfig('power4'),\r\n LINEAR: getInitialConfig('linear'),\r\n};\r\n","import { useTransition, UseTransitionConfig } from '@raidipesh78/re-motion';\r\nimport { AnimationConfigUtils } from './animationType';\r\n\r\n// useAnimatedValue value type\r\ntype Length = number | string;\r\ntype AnimatedValueType = Length;\r\n\r\nexport interface UseAnimatedValueConfig extends UseTransitionConfig {}\r\n\r\ntype AssignValue = {\r\n toValue: Length;\r\n config?: UseAnimatedValueConfig;\r\n};\r\nexport type ValueType =\r\n | Length\r\n | AssignValue\r\n | ((update: (next: AssignValue) => Promise<any>) => void);\r\n\r\n/**\r\n * `useAnimatedValue` returns an animation value with `.value` and `.currentValue` property which is\r\n * initialized when passed to argument (`initialValue`). The retured value persist until the lifetime of\r\n * a component. It doesnot cast any re-renders which can is very good for performance optimization.\r\n * @param { string | number } initialValue - Initial value\r\n * @param { UseAnimatedValueConfig } config - Animation configuration object.\r\n */\r\nexport function useAnimatedValue(\r\n initialValue: AnimatedValueType,\r\n config?: UseAnimatedValueConfig\r\n) {\r\n const [animation, setAnimation] = useTransition(initialValue, {\r\n ...AnimationConfigUtils.EASE,\r\n ...config,\r\n });\r\n\r\n const targetObject: {\r\n value: ValueType;\r\n currentValue: number | string;\r\n } = {\r\n value: animation as any,\r\n currentValue: animation.get(),\r\n };\r\n\r\n return new Proxy(targetObject, {\r\n set: function (_, key, value: ValueType) {\r\n if (key === 'value') {\r\n if (typeof value === 'number' || typeof value === 'string') {\r\n setAnimation({ toValue: value });\r\n } else if (typeof value === 'object' || typeof value === 'function') {\r\n setAnimation(value);\r\n }\r\n\r\n return true;\r\n }\r\n\r\n throw new Error('You cannot set any other property to animation node.');\r\n },\r\n get: function (_, key) {\r\n if (key === 'value') {\r\n return animation;\r\n }\r\n\r\n if (key === 'currentValue') {\r\n return animation.get();\r\n }\r\n\r\n throw new Error(\r\n 'You cannot access any other property from animation node.'\r\n );\r\n },\r\n });\r\n}\r\n","import * as React from 'react';\r\nimport {\r\n useAnimatedValue,\r\n UseAnimatedValueConfig,\r\n ValueType,\r\n} from '../useAnimatedValue';\r\n\r\ninterface ScrollableBlockProps {\r\n children?: (animation: { value: ValueType }) => React.ReactNode;\r\n direction?: 'single' | 'both';\r\n threshold?: number;\r\n animationConfig?: UseAnimatedValueConfig;\r\n}\r\n\r\n/**\r\n * ScrollableBlock - Higher order component to handle the entrance or exit animation\r\n * of a component when it enters or exit the viewport. Accepts child as a function with\r\n * `AnimatedValue` as its first argument which can be interpolated on input range [0, 1]\r\n * @prop { function } children - child as a function with `AnimatedValue` as its first argument.\r\n * @prop { 'single' | 'both' } direction - single applies animation on enter once, both applies on enter and exit.\r\n * @prop { number } threshold - should be in range 0 to 1 which equivalent to `IntersectionObserver` threshold.\r\n * @prop { UseAnimatedValueConfig } animationConfig - Animation config\r\n */\r\nexport const ScrollableBlock = (props: ScrollableBlockProps) => {\r\n const {\r\n children,\r\n direction = 'single',\r\n animationConfig,\r\n threshold = 0.2,\r\n } = props;\r\n const scrollableBlockRef = React.useRef<HTMLDivElement>(null);\r\n const animation = useAnimatedValue(0, animationConfig); // 0: not intersecting | 1: intersecting\r\n\r\n React.useEffect(() => {\r\n const _scrollableBlock = scrollableBlockRef.current;\r\n\r\n const observer = new IntersectionObserver(\r\n function ([entry]) {\r\n const { isIntersecting } = entry;\r\n\r\n if (isIntersecting) {\r\n animation.value = 1;\r\n } else {\r\n if (direction === 'both') animation.value = 0;\r\n }\r\n },\r\n {\r\n root: null, // FOR VIEWPORT ONLY\r\n threshold,\r\n }\r\n );\r\n\r\n if (_scrollableBlock) {\r\n observer.observe(_scrollableBlock);\r\n }\r\n\r\n return () => {\r\n if (_scrollableBlock) {\r\n observer.unobserve(_scrollableBlock);\r\n }\r\n };\r\n }, []);\r\n\r\n return (\r\n <div ref={scrollableBlockRef}>\r\n {children && children({ value: animation.value })}\r\n </div>\r\n );\r\n};\r\n","/**\r\n * bin(booleanValue)\r\n * returns 1 if booleanValue == true and 0 if booleanValue == false\r\n */\r\nexport function bin(bool: boolean) {\r\n return bool ? 1 : 0;\r\n}\r\n\r\n/**\r\n * mix(progress, a, b)\r\n * linear interpolation between a and b\r\n */\r\nexport function mix(perc: number, val1: number, val2: number) {\r\n return val1 * (1 - perc) + val2 * perc;\r\n}\r\n\r\n/**\r\n * clamp(value, min, max)\r\n * clamps value for min and max bounds\r\n */\r\nexport function clamp(value: number, lowerbound: number, upperbound: number) {\r\n return Math.min(Math.max(value, lowerbound), upperbound);\r\n}\r\n\r\nfunction rubber2(distanceFromEdge: number, constant: number) {\r\n return Math.pow(distanceFromEdge, constant * 5);\r\n}\r\n\r\nfunction rubber(distanceFromEdge: number, dimension: number, constant: number) {\r\n if (dimension === 0 || Math.abs(dimension) === Infinity)\r\n return rubber2(distanceFromEdge, constant);\r\n return (\r\n (distanceFromEdge * dimension * constant) /\r\n (dimension + constant * distanceFromEdge)\r\n );\r\n}\r\n\r\n/**\r\n * rubberClamp(value, min, max, constant?)\r\n * constant is optional : default 0.15\r\n * clamps the value for min and max value and\r\n * extends beyond min and max values with constant\r\n * factor to create elastic rubber band effect\r\n */\r\nexport function rubberClamp(\r\n value: number,\r\n lowerbound: number,\r\n upperbound: number,\r\n constant: number = 0.15\r\n) {\r\n if (constant === 0) return clamp(value, lowerbound, upperbound);\r\n\r\n if (value < lowerbound) {\r\n return (\r\n -rubber(lowerbound - value, upperbound - lowerbound, constant) +\r\n lowerbound\r\n );\r\n }\r\n\r\n if (value > upperbound) {\r\n return (\r\n +rubber(value - upperbound, upperbound - lowerbound, constant) +\r\n upperbound\r\n );\r\n }\r\n\r\n return value;\r\n}\r\n\r\n/**\r\n * snapTo(value, velocity, snapPoints[])\r\n * Calculates the final snapPoint according to given current value,\r\n * velocity and snapPoints array\r\n */\r\nexport function snapTo(\r\n value: number,\r\n velocity: number,\r\n snapPoints: Array<number>\r\n): number {\r\n const finalValue = value + velocity * 0.2;\r\n const getDiff = (point: number) => Math.abs(point - finalValue);\r\n const deltas = snapPoints.map(getDiff);\r\n const minDelta = Math.min(...deltas);\r\n\r\n return snapPoints.reduce(function (acc, point) {\r\n if (getDiff(point) === minDelta) {\r\n return point;\r\n } else {\r\n return acc;\r\n }\r\n });\r\n}\r\n\r\n/**\r\n * move(array, moveIndex, toIndex)\r\n * move array item from moveIndex to toIndex without array modification\r\n */\r\nexport function move(array: Array<any>, moveIndex: number, toIndex: number) {\r\n const item = array[moveIndex];\r\n const length = array.length;\r\n const diff = moveIndex - toIndex;\r\n\r\n if (diff > 0) {\r\n return [\r\n ...array.slice(0, toIndex),\r\n item,\r\n ...array.slice(toIndex, moveIndex),\r\n ...array.slice(moveIndex + 1, length),\r\n ];\r\n } else if (diff < 0) {\r\n const targetIndex = toIndex + 1;\r\n return [\r\n ...array.slice(0, moveIndex),\r\n ...array.slice(moveIndex + 1, targetIndex),\r\n item,\r\n ...array.slice(targetIndex, length),\r\n ];\r\n }\r\n return array;\r\n}\r\n","import * as React from 'react';\r\nimport { bin } from '../../gestures/math';\r\nimport {\r\n useAnimatedValue,\r\n UseAnimatedValueConfig,\r\n ValueType,\r\n} from '../useAnimatedValue';\r\n\r\ninterface TransitionBlockProps {\r\n state: boolean;\r\n children: (animation: { value: ValueType }) => React.ReactNode;\r\n config?: UseAnimatedValueConfig;\r\n}\r\n\r\n/**\r\n * TransitionBlock - Higher order component which animates on state change.\r\n * @prop { boolean } state - Boolean indicating the current state of animation, usually `false = 0 and true = 1`.\r\n * @prop { function } children - Child as a function with `AnimatedValue` on `.value` property.\r\n * @prop { UseAnimatedValueConfig } config - Animation configuration.\r\n */\r\nexport const TransitionBlock = ({\r\n state,\r\n children,\r\n config,\r\n}: TransitionBlockProps) => {\r\n const amv = useAnimatedValue(bin(state), config);\r\n\r\n return <>{children({ value: amv.value })}</>;\r\n};\r\n","type MouseEventType =\r\n | 'click'\r\n | 'dblclick'\r\n | 'mousedown'\r\n | 'mousemove'\r\n | 'mouseup'\r\n | 'touchstart'\r\n | 'touchmove'\r\n | 'touchend'\r\n | 'mouseenter'\r\n | 'mouseleave'\r\n | 'mouseout'\r\n | 'mouseover'\r\n | 'scroll'\r\n | 'wheel'\r\n | 'contextmenu';\r\n\r\ntype DomTargetTypes = Array<Window | Document | HTMLElement>;\r\n\r\n/**\r\n * Attach single document / window event / HTMLElement\r\n */\r\nfunction attachEvent(\r\n domTargets: DomTargetTypes,\r\n event: MouseEventType,\r\n callback: (e: any) => void,\r\n capture: any = false\r\n) {\r\n domTargets.forEach((target) => {\r\n target.addEventListener(event, callback, capture);\r\n });\r\n\r\n return function () {\r\n domTargets.forEach((target) => {\r\n target.removeEventListener(event, callback, capture);\r\n });\r\n };\r\n}\r\n\r\n/**\r\n * Attach multiple document / window event / HTMLElement\r\n */\r\nexport function attachEvents(\r\n domTargets: DomTargetTypes,\r\n events: Array<\r\n [event: MouseEventType, callback: (e: any) => void, capture?: any]\r\n >\r\n) {\r\n const subscribers = new Map();\r\n\r\n events.forEach(function ([event, callback, capture = false]) {\r\n subscribers.set(event, attachEvent(domTargets, event, callback, capture));\r\n });\r\n\r\n return function (eventKeys?: Array<string>) {\r\n for (const [eventKey, subscriber] of subscribers.entries()) {\r\n if (!eventKeys) {\r\n subscriber();\r\n return;\r\n }\r\n\r\n if (eventKeys.indexOf(eventKey) !== -1) {\r\n subscriber();\r\n }\r\n }\r\n };\r\n}\r\n","export const withDefault = (x: number, y: number) => {\r\n return { x, y };\r\n};\r\n","export class Gesture {\r\n currentIndex?: number;\r\n lastTimeStamp: number = Date.now();\r\n isActive: boolean = false;\r\n targetElement?: HTMLElement; // represents the bounded element\r\n targetElements: Array<HTMLElement> = []; // represents the bounded elements\r\n config?: any;\r\n callback?: <T>(event: T) => void;\r\n _subscribe?: (eventKeys?: Array<string>) => void;\r\n static _VELOCITY_LIMIT: number = 20;\r\n\r\n // it must be overridden by other child classes\r\n _initEvents() {}\r\n\r\n // cancel events\r\n // we only canceled down and move events because mouse up\r\n // will not be triggered\r\n _cancelEvents() {\r\n if (this._subscribe) {\r\n this._subscribe();\r\n }\r\n }\r\n\r\n // re-apply new callback\r\n applyCallback(callback: <T>(event: T) => void) {\r\n this.callback = callback;\r\n }\r\n\r\n // apply gesture\r\n applyGesture({\r\n targetElement,\r\n targetElements,\r\n callback,\r\n config,\r\n }: {\r\n targetElement?: any;\r\n targetElements?: any;\r\n callback: <T>(event: T) => void;\r\n config?: any;\r\n }) {\r\n this.targetElement = targetElement;\r\n this.targetElements = targetElements.map(\r\n (element: { current: any }) => element.current\r\n );\r\n this.callback = callback;\r\n this.config = config;\r\n\r\n // initialize events\r\n this._initEvents();\r\n\r\n // unbind\r\n return () => this._subscribe && this._subscribe();\r\n }\r\n}\r\n","import { attachEvents } from '../eventAttacher';\r\nimport { Vector2 } from '../types';\r\nimport { clamp } from '../math';\r\nimport { withDefault } from '../withDefault';\r\nimport { Gesture } from './Gesture';\r\n\r\nexport class DragGesture extends Gesture {\r\n movementStart: Vector2 = withDefault(0, 0);\r\n initialMovement: Vector2 = withDefault(0, 0);\r\n movement: Vector2 = withDefault(0, 0);\r\n previousMovement: Vector2 = withDefault(0, 0);\r\n translation: Vector2 = withDefault(0, 0);\r\n offset: Vector2 = withDefault(0, 0);\r\n velocity: Vector2 = withDefault(0, 0);\r\n\r\n // @override\r\n // initialize the events\r\n _initEvents() {\r\n if (this.targetElement || this.targetElements.length > 0) {\r\n this._subscribe = attachEvents(\r\n [window],\r\n [\r\n ['mousedown', this.pointerDown.bind(this)],\r\n ['mousemove', this.pointerMove.bind(this)],\r\n ['mouseup', this.pointerUp.bind(this)],\r\n ['touchstart', this.pointerDown.bind(this), { passive: false }],\r\n ['touchmove', this.pointerMove.bind(this), { passive: false }],\r\n ['touchend', this.pointerUp.bind(this)],\r\n ]\r\n );\r\n }\r\n }\r\n\r\n // @override - cancel events\r\n // we only canceled down and move events because mouse up\r\n // will not be triggered\r\n _cancelEvents() {\r\n if (this._subscribe) {\r\n this._subscribe(['mousedown', 'mousemove', 'touchstart', 'touchmove']);\r\n }\r\n }\r\n\r\n _handleCallback() {\r\n if (this.callback) {\r\n this.callback({\r\n args: [this.currentIndex],\r\n down: this.isActive,\r\n movementX: this.movement.x,\r\n movementY: this.movement.y,\r\n offsetX: this.translation.x,\r\n offsetY: this.translation.y,\r\n velocityX: this.velocity.x,\r\n velocityY: this.velocity.y,\r\n distanceX: Math.abs(this.movement.x),\r\n distanceY: Math.abs(this.movement.y),\r\n directionX: Math.sign(this.movement.x),\r\n directionY: Math.sign(this.movement.y),\r\n cancel: () => {\r\n this._cancelEvents();\r\n },\r\n });\r\n }\r\n }\r\n\r\n pointerDown(e: any) {\r\n if (e.type === 'touchstart') {\r\n this.movementStart = {\r\n x: e.touches[0].clientX,\r\n y: e.touches[0].clientY,\r\n };\r\n } else {\r\n this.movementStart = { x: e.clientX, y: e.clientY };\r\n }\r\n\r\n this.movement = { x: 0, y: 0 };\r\n this.offset = { x: this.translation.x, y: this.translation.y };\r\n this.previousMovement = { x: 0, y: 0 };\r\n this.velocity = { x: 0, y: 0 };\r\n\r\n // find current selected element\r\n const currElem = this.targetElements.find((elem: any) => elem === e.target);\r\n\r\n if (e.target === this.targetElement || currElem) {\r\n this.isActive = true;\r\n e.preventDefault();\r\n\r\n // set args\r\n if (currElem) {\r\n this.currentIndex = this.targetElements.indexOf(currElem);\r\n }\r\n\r\n // if initial function is defined then call it to get initial movementX and movementY\r\n // if only select to bounded draggable element\r\n const initial = this.config?.initial && this.config.initial();\r\n const initialMovementX = initial?.movementX;\r\n const initialMovementY = initial?.movementY;\r\n\r\n this.initialMovement = {\r\n x: initialMovementX ?? 0,\r\n y: initialMovementY ?? 0,\r\n };\r\n\r\n this.movement = {\r\n x: this.initialMovement.x,\r\n y: this.initialMovement.y,\r\n };\r\n\r\n this.previousMovement = {\r\n x: this.initialMovement.x,\r\n y: this.initialMovement.y,\r\n };\r\n\r\n this._handleCallback();\r\n }\r\n }\r\n\r\n pointerMove(e: any) {\r\n if (this.isActive) {\r\n e.preventDefault();\r\n const now = Date.now();\r\n const deltaTime = clamp(now - this.lastTimeStamp, 0.1, 64);\r\n this.lastTimeStamp = now;\r\n\r\n const t = deltaTime / 1000;\r\n\r\n if (e.type === 'touchmove') {\r\n this.movement = {\r\n x:\r\n this.initialMovement.x +\r\n (e.touches[0].clientX - this.movementStart.x),\r\n y:\r\n this.initialMovement.y +\r\n (e.touches[0].clientY - this.movementStart.y),\r\n };\r\n } else {\r\n this.movement = {\r\n x: this.initialMovement.x + (e.clientX - this.movementStart.x),\r\n y: this.initialMovement.y + (e.clientY - this.movementStart.y),\r\n };\r\n }\r\n\r\n this.translation = {\r\n x: this.offset.x + this.movement.x,\r\n y: this.offset.y + this.movement.y,\r\n };\r\n\r\n this.velocity = {\r\n x: clamp(\r\n (this.movement.x - this.previousMovement.x) / t / 1000,\r\n -1 * Gesture._VELOCITY_LIMIT,\r\n Gesture._VELOCITY_LIMIT\r\n ),\r\n y: clamp(\r\n (this.movement.y - this.previousMovement.y) / t / 1000,\r\n -1 * Gesture._VELOCITY_LIMIT,\r\n Gesture._VELOCITY_LIMIT\r\n ),\r\n };\r\n\r\n this.previousMovement = {\r\n x: this.movement.x,\r\n y: this.movement.y,\r\n };\r\n\r\n this._handleCallback();\r\n }\r\n }\r\n\r\n pointerUp() {\r\n if (this.isActive) {\r\n this.isActive = false;\r\n this._handleCallback();\r\n this._cancelEvents();\r\n this._initEvents();\r\n }\r\n }\r\n}\r\n","import { attachEvents } from '../eventAttacher';\r\nimport { Vector2 } from '../types';\r\nimport { clamp } from '../math';\r\nimport { withDefault } from '../withDefault';\r\nimport { Gesture } from './Gesture';\r\n\r\nexport class MouseMoveGesture extends Gesture {\r\n event?: MouseEvent;\r\n isActiveID?: any;\r\n movement: Vector2 = withDefault(0, 0);\r\n previousMovement: Vector2 = withDefault(0, 0);\r\n velocity: Vector2 = withDefault(0, 0);\r\n direction: Vector2 = withDefault(0, 0);\r\n\r\n // @override\r\n // initialize the events\r\n _initEvents() {\r\n if (this.targetElement) {\r\n this._subscribe = attachEvents(\r\n [this.targetElement],\r\n [['mousemove', this.onMouseMove.bind(this)]]\r\n );\r\n } else if (this.targetElements.length > 0) {\r\n this._subscribe = attachEvents(this.targetElements, [\r\n ['mousemove', this.onMouseMove.bind(this)],\r\n ]);\r\n } else {\r\n this._subscribe = attachEvents(\r\n [window],\r\n [['mousemove', this.onMouseMove.bind(this)]]\r\n );\r\n }\r\n }\r\n\r\n _handleCallback() {\r\n if (this.callback) {\r\n this.callback({\r\n args: [this.currentIndex],\r\n event: this.event,\r\n isMoving: this.isActive,\r\n target: this.event?.target,\r\n mouseX: this.movement.x,\r\n mouseY: this.movement.y,\r\n velocityX: this.velocity.x,\r\n velocityY: this.velocity.y,\r\n directionX: this.direction.x,\r\n directionY: this.direction.y,\r\n });\r\n }\r\n }\r\n\r\n onMouseMove(e: MouseEvent) {\r\n // find current selected element\r\n const currElem = this.targetElements.find((elem: any) => elem === e.target);\r\n\r\n // set args\r\n if (currElem) {\r\n this.currentIndex = this.targetElements.indexOf(currElem);\r\n }\r\n\r\n this.event = e;\r\n\r\n const now: number = Date.now();\r\n const deltaTime = Math.min(now - this.lastTimeStamp, 64);\r\n this.lastTimeStamp = now;\r\n const t = deltaTime / 1000; // seconds\r\n\r\n const x = e.clientX;\r\n const y = e.clientY;\r\n\r\n this.movement = { x, y };\r\n\r\n if (this.isActiveID !== -1) {\r\n this.isActive = true;\r\n clearTimeout(this.isActiveID);\r\n }\r\n\r\n this.isActiveID = setTimeout(() => {\r\n this.isActive = false;\r\n this.direction = { x: 0, y: 0 };\r\n this.velocity = { x: 0, y: 0 };\r\n\r\n this._handleCallback();\r\n }, 250); // Debounce 250 milliseconds\r\n\r\n const diffX = this.movement.x - this.previousMovement.x;\r\n const diffY = this.movement.y - this.previousMovement.y;\r\n\r\n this.direction = {\r\n x: Math.sign(diffX),\r\n y: Math.sign(diffY),\r\n };\r\n\r\n this.velocity = {\r\n x: clamp(\r\n diffX / t / 1000,\r\n -1 * Gesture._VELOCITY_LIMIT,\r\n Gesture._VELOCITY_LIMIT\r\n ),\r\n y: clamp(\r\n diffY / t / 1000,\r\n -1 * Gesture._VELOCITY_LIMIT,\r\n Gesture._VELOCITY_LIMIT\r\n ),\r\n };\r\n\r\n this.previousMovement = { x: this.movement.x, y: this.movement.y };\r\n\r\n this._handleCallback();\r\n }\r\n}\r\n","import { attachEvents } from '../eventAttacher';\r\nimport { Vector2 } from '../types';\r\nimport { clamp } from '../math';\r\nimport { withDefault } from '../withDefault';\r\nimport { Gesture } from './Gesture';\r\n\r\nexport class ScrollGesture extends Gesture {\r\n isActiveID?: any;\r\n movement: Vector2 = withDefault(0, 0);\r\n previousMovement: Vector2 = withDefault(0, 0);\r\n direction: Vector2 = withDefault(0, 0);\r\n velocity: Vector2 = withDefault(0, 0);\r\n\r\n // @override\r\n // initialize the events\r\n _initEvents() {\r\n if (this.targetElement) {\r\n this._subscribe = attachEvents(\r\n [this.targetElement],\r\n [['scroll', this.scrollElementListener.bind(this)]]\r\n );\r\n } else {\r\n this._subscribe = attachEvents(\r\n [window],\r\n [['scroll', this.scrollListener.bind(this)]]\r\n );\r\n }\r\n }\r\n\r\n _handleCallback() {\r\n if (this.callback) {\r\n this.callback({\r\n isScrolling: this.isActive,\r\n scrollX: this.movement.x,\r\n scrollY: this.movement.y,\r\n velocityX: this.velocity.x,\r\n velocityY: this.velocity.y,\r\n directionX: this.direction.x,\r\n directionY: this.direction.y,\r\n });\r\n }\r\n }\r\n\r\n onScroll({ x, y }: Vector2) {\r\n const now: number = Date.now();\r\n const deltaTime = Math.min(now - this.lastTimeStamp, 64);\r\n this.lastTimeStamp = now;\r\n const t = deltaTime / 1000; // seconds\r\n\r\n this.movement = { x, y };\r\n\r\n // Clear if scrolling\r\n if (this.isActiveID !== -1) {\r\n this.isActive = true;\r\n clearTimeout(this.isActiveID);\r\n }\r\n\r\n this.isActiveID = setTimeout(() => {\r\n this.isActive = false;\r\n this.direction = { x: 0, y: 0 };\r\n\r\n // Reset Velocity\r\n this.velocity = { x: 0, y: 0 };\r\n\r\n this._handleCallback(); // Debounce 250milliseconds\r\n }, 250);\r\n\r\n const diffX = this.movement.x - this.previousMovement.x;\r\n const diffY = this.movement.y - this.previousMovement.y;\r\n\r\n this.direction = {\r\n x: Math.sign(diffX),\r\n y: Math.sign(diffY),\r\n };\r\n\r\n this.velocity = {\r\n x: clamp(\r\n diffX / t / 1000,\r\n -1 * Gesture._VELOCITY_LIMIT,\r\n Gesture._VELOCITY_LIMIT\r\n ),\r\n y: clamp(\r\n diffY / t / 1000,\r\n -1 * Gesture._VELOCITY_LIMIT,\r\n Gesture._VELOCITY_LIMIT\r\n ),\r\n };\r\n\r\n this.previousMovement = {\r\n x: this.movement.x,\r\n y: this.movement.y,\r\n };\r\n\r\n this._handleCallback();\r\n }\r\n\r\n scrollListener() {\r\n const { pageYOffset: y, pageXOffset: x } = window;\r\n this.onScroll({ x, y });\r\n }\r\n\r\n scrollElementListener() {\r\n const x = this.targetElement?.scrollLeft || 0;\r\n const y = this.targetElement?.scrollTop || 0;\r\n this.onScroll({ x, y });\r\n }\r\n}\r\n","import { attachEvents } from '../eventAttacher';\r\nimport { Vector2 } from '../types';\r\nimport { clamp } from '../math';\r\nimport { withDefault } from '../withDefault';\r\nimport { Gesture } from './Gesture';\r\n\r\nconst LINE_HEIGHT = 40;\r\nconst PAGE_HEIGHT = 800;\r\n\r\nexport class WheelGesture extends Gesture {\r\n isActiveID?: any;\r\n movement: Vector2 = withDefault(0, 0);\r\n previousMovement: Vector2 = withDefault(0, 0);\r\n direction: Vector2 = withDefault(0, 0);\r\n velocity: Vector2 = withDefault(0, 0);\r\n delta: Vector2 = withDefault(0, 0);\r\n\r\n // Holds offsets\r\n offset: Vector2 = withDefault(0, 0);\r\n translation: Vector2 = withDefault(0, 0);\r\n\r\n // @override\r\n // initialize the events\r\n _initEvents() {\r\n if (this.targetElement) {\r\n this._subscribe = attachEvents(\r\n [this.targetElement],\r\n [['wheel', this.onWheel.bind(this)]]\r\n );\r\n }\r\n }\r\n\r\n _handleCallback() {\r\n if (this.callback) {\r\n this.callback({\r\n target: this.targetElement,\r\n isWheeling: this.isActive,\r\n deltaX: this.delta.x,\r\n deltaY: this.delta.y,\r\n directionX: this.direction.x,\r\n directionY: this.direction.y,\r\n movementX: this.movement.x,\r\n movementY: this.movement.y,\r\n offsetX: this.offset.x,\r\n offsetY: this.offset.y,\r\n velocityX: this.velocity.x,\r\n velocityY: this.velocity.y,\r\n });\r\n }\r\n }\r\n\r\n onWheel(event: WheelEvent) {\r\n let { deltaX, deltaY, deltaMode } = event;\r\n\r\n const now: number = Date.now();\r\n const deltaTime = Math.min(now - this.lastTimeStamp, 64);\r\n this.lastTimeStamp = now;\r\n const t = deltaTime / 1000; // seconds\r\n\r\n this.isActive = true;\r\n\r\n if (this.isActiveID !== -1) {\r\n this.isActive = true;\r\n clearTimeout(this.isActiveID);\r\n }\r\n\r\n this.isActiveID = setTimeout(() => {\r\n this.isActive = false;\r\n this.translation = { x: this.offset.x, y: this.offset.y };\r\n this._handleCallback();\r\n\r\n this.velocity = { x: 0, y: 0 }; // Reset Velocity\r\n this.movement = { x: 0, y: 0 };\r\n }, 200);\r\n\r\n // normalize wheel values, especially for Firefox\r\n if (deltaMode === 1) {\r\n deltaX *= LINE_HEIGHT;\r\n deltaY *= LINE_HEIGHT;\r\n } else if (deltaMode === 2) {\r\n deltaX *= PAGE_HEIGHT;\r\n deltaY *= PAGE_HEIGHT;\r\n }\r\n\r\n this.delta = { x: deltaX, y: deltaY };\r\n this.movement = {\r\n x: this.movement.x + deltaX,\r\n y: this.movement.y + deltaY,\r\n };\r\n this.offset = {\r\n x: this.translation.x + this.movement.x,\r\n y: this.translation.y + this.movement.y,\r\n };\r\n\r\n const diffX = this.movement.x - this.previousMovement.x;\r\n const diffY = this.movement.y - this.previousMovement.y;\r\n\r\n this.direction = {\r\n x: Math.sign(diffX),\r\n y: Math.sign(diffY),\r\n };\r\n\r\n this.velocity = {\r\n x: clamp(\r\n diffX / t / 1000,\r\n -1 * Gesture._VELOCITY_LIMIT,\r\n Gesture._VELOCITY_LIMIT\r\n ),\r\n y: clamp(\r\n diffY / t / 1000,\r\n -1 * Gesture._VELOCITY_LIMIT,\r\n Gesture._VELOCITY_LIMIT\r\n ),\r\n };\r\n\r\n this.previousMovement = {\r\n x: this.movement.x,\r\n y: this.movement.y,\r\n };\r\n\r\n this._handleCallback();\r\n }\r\n}\r\n","/* eslint-disable react-hooks/exhaustive-deps */\r\nimport * as React from 'react';\r\n\r\ntype UseRecognizerHandlerType = Array<\r\n [\r\n key: 'drag' | 'wheel' | 'move' | 'scroll',\r\n gesture: any,\r\n callback: any,\r\n config?: any\r\n ]\r\n>;\r\n\r\nexport const useRecognizer = (handlers: UseRecognizerHandlerType) => {\r\n const ref = React.useRef<any>();\r\n const elementRefs = React.useRef<Array<any>>([]);\r\n const subscribers = React.useRef<\r\n Map<string, { keyIndex: number; gesture: any; unsubscribe: any }>\r\n >(new Map()).current;\r\n\r\n // re-initiate callback on change\r\n React.useEffect(() => {\r\n for (let [, { keyIndex, gesture }] of subscribers.entries()) {\r\n const [, , callback] = handlers[keyIndex];\r\n gesture.applyCallback(callback);\r\n }\r\n }, [handlers]);\r\n\r\n React.useEffect(() => {\r\n handlers.forEach(([key, gesture, callback, config], keyIndex) => {\r\n subscribers.set(key, {\r\n keyIndex,\r\n gesture,\r\n unsubscribe: gesture.applyGesture({\r\n targetElement: ref.current,\r\n targetElements: elementRefs.current,\r\n callback,\r\n config,\r\n }),\r\n });\r\n });\r\n\r\n return () => {\r\n for (let [, { unsubscribe }] of subscribers.entries()) {\r\n unsubscribe && unsubscribe();\r\n }\r\n };\r\n }, []);\r\n\r\n return (index?: number) => {\r\n if (index === null || index === undefined) {\r\n return { ref };\r\n } else {\r\n elementRefs.current[index] =\r\n elementRefs.current[index] || React.createRef();\r\n\r\n return { ref: elementRefs.current[index] };\r\n }\r\n };\r\n};\r\n","import * as React from 'react';\r\n\r\nimport { DragEventType, UseDragConfig } from '../types';\r\nimport { DragGesture } from '../controllers';\r\nimport { useRecognizer } from './useRecognizer';\r\n\r\nexport function useDrag(\r\n callback: (event: DragEventType) => void,\r\n config?: UseDragConfig\r\n) {\r\n const gesture = React.useRef(new DragGesture()).current;\r\n\r\n return useRecognizer([['drag', gesture, callback, config]]);\r\n}\r\n","import * as React from 'react';\r\n\r\nimport { MouseMoveEventType } from '../types';\r\nimport { MouseMoveGesture } from '../controllers';\r\nimport { useRecognizer } from './useRecognizer';\r\n\r\nexport function useMouseMove(callback: (event: MouseMoveEventType) => void) {\r\n const gesture = React.useRef(new MouseMoveGesture()).current;\r\n\r\n return useRecognizer([['move', gesture, callback]]);\r\n}\r\n","import * as React from 'react';\r\n\r\nimport { ScrollEventType } from '../types';\r\nimport { ScrollGesture } from '../controllers';\r\nimport { useRecognizer } from './useRecognizer';\r\n\r\nexport function useScroll(callback: (event: ScrollEventType) => void) {\r\n const gesture = React.useRef(new ScrollGesture()).current;\r\n\r\n return useRecognizer([['scroll', gesture, callback]]);\r\n}\r\n","import * as React from 'react';\r\n\r\nimport { WheelEventType } from '../types';\r\nimport { WheelGesture } from '../controllers';\r\nimport { useRecognizer } from './useRecognizer';\r\n\r\nexport function useWheel(callback: (event: WheelEventType) => void) {\r\n const gesture = React.useRef(new WheelGesture()).current;\r\n\r\n return useRecognizer([['wheel', gesture, callback]]);\r\n}\r\n","import * as React from 'react';\r\nimport {\r\n DragGesture,\r\n MouseMoveGesture,\r\n ScrollGesture,\r\n WheelGesture,\r\n} from '../controllers';\r\nimport {\r\n DragEventType,\r\n WheelEventType,\r\n ScrollEventType,\r\n MouseMoveEventType,\r\n} from '../types';\r\nimport { useRecognizer } from './useRecognizer';\r\n\r\nexport function useGesture({\r\n onDrag,\r\n onWheel,\r\n onScroll,\r\n onMouseMove,\r\n}: {\r\n onDrag?: (event: DragEventType) => void;\r\n onWheel?: (event: WheelEventType) => void;\r\n onScroll?: (event: ScrollEventType) => void;\r\n onMouseMove?: (event: MouseMoveEventType) => void;\r\n}) {\r\n const dragGesture = React.useRef(new DragGesture()).current;\r\n const wheelGesture = React.useRef(new WheelGesture()).current;\r\n const scrollGesture = React.useRef(new ScrollGesture()).current;\r\n const mouseMoveGesture = React.useRef(new MouseMoveGesture()).current;\r\n\r\n return useRecognizer([\r\n ['drag', dragGesture, onDrag],\r\n ['wheel', wheelGesture, onWheel],\r\n ['scroll', scrollGesture, onScroll],\r\n ['move', mouseMoveGesture, onMouseMove],\r\n ]);\r\n}\r\n","import * as React from \"react\";\r\n\r\nimport { attachEvents } from \"../gestures/eventAttacher\";\r\n\r\nexport function useOutsideClick(\r\n elementRef: React.RefObject<HTMLElement>,\r\n callback: (event: MouseEvent) => void,\r\n deps?: React.DependencyList\r\n) {\r\n const callbackRef = React.useRef<(event: MouseEvent) => void>();\r\n\r\n if (!callbackRef.current) {\r\n callbackRef.current = callback;\r\n }\r\n\r\n // Reinitiate callback when dependency change\r\n React.useEffect(() => {\r\n callbackRef.current = callback;\r\n\r\n return () => {\r\n callbackRef.current = () => false;\r\n };\r\n }, deps);\r\n\r\n React.useEffect(() => {\r\n const handleOutsideClick = (e: MouseEvent) => {\r\n if (!elementRef?.current?.contains(e.target as Element)) {\r\n callbackRef.current && callbackRef.current(e);\r\n }\r\n };\r\n\r\n const subscribe = attachEvents([document], [[\"click\", handleOutsideClick]]);\r\n\r\n return () => subscribe && subscribe();\r\n }, []);\r\n}\r\n","import * as React from \"react\";\r\n\r\ntype MeasurementValue = number | Array<number>;\r\n\r\ntype MeasurementType = {\r\n left: MeasurementValue;\r\n top: MeasurementValue;\r\n width: MeasurementValue;\r\n height: MeasurementValue;\r\n vLeft: MeasurementValue;\r\n vTop: MeasurementValue;\r\n};\r\n\r\nexport function useMeasure(\r\n callback: (event: MeasurementType) => void,\r\n deps?: React.DependencyList\r\n) {\r\n const ref = React.useRef(null);\r\n const elementRefs = React.useRef([]);\r\n const callbackRef = React.useRef<(event: MeasurementType) => void>(callback);\r\n\r\n // Reinitiate callback when dependency change\r\n React.useEffect(() => {\r\n callbackRef.current = callback;\r\n\r\n return () => {\r\n callbackRef.current = () => false;\r\n };\r\n }, deps);\r\n\r\n React.useEffect(() => {\r\n const _refElement = ref.current || document.documentElement;\r\n const _refElementsMultiple = elementRefs.current;\r\n\r\n const resizeObserver = new ResizeObserver(([entry]) => {\r\n const { left, top, width, height } = entry.target.getBoundingClientRect();\r\n const { pageXOffset, pageYOffset } = window;\r\n\r\n if (callbackRef) {\r\n if (_refElement === document.documentElement) {\r\n return; // no-op for document\r\n } else {\r\n callbackRef.current({\r\n left: left + pageXOffset,\r\n top: top + pageYOffset,\r\n width,\r\n height,\r\n vLeft: left,\r\n vTop: top,\r\n });\r\n }\r\n }\r\n });\r\n\r\n const resizeObserverMultiple = new ResizeObserver((entries) => {\r\n const left: Array<number> = [];\r\n const top: Array<number> = [];\r\n const width: Array<number> = [];\r\n const height: Array<number> = [];\r\n const vLeft: Array<number> = [];\r\n const vTop: Array<number> = [];\r\n\r\n entries.forEach((entry) => {\r\n const {\r\n left: _left,\r\n top: _top,\r\n width: _width,\r\n height: _height,\r\n } = entry.target.getBoundingClientRect();\r\n const { pageXOffset, pageYOffset } = window;\r\n const _pageLeft = _left + pageXOffset;\r\n const _pageTop = _top + pageYOffset;\r\n\r\n left.push(_pageLeft);\r\n top.push(_pageTop);\r\n width.push(_width);\r\n height.push(_height);\r\n vLeft.push(_left);\r\n vTop.push(_top);\r\n });\r\n\r\n if (callbackRef) {\r\n callbackRef.current({\r\n left,\r\n top,\r\n width,\r\n height,\r\n vLeft,\r\n vTop,\r\n });\r\n }\r\n });\r\n\r\n if (_refElement) {\r\n if (\r\n _refElement === document.documentElement &&\r\n _refElementsMultiple.length > 0\r\n ) {\r\n _refElementsMultiple.forEach((element: any) => {\r\n resizeObserverMultiple.observe(element.current);\r\n });\r\n } else {\r\n resizeObserver.observe(_refElement);\r\n }\r\n }\r\n\r\n return () => {\r\n if (_refElement) {\r\n if (\r\n _refElement === document.documentElement &&\r\n _refElementsMultiple.length > 0\r\n ) {\r\n _refElementsMultiple.forEach((element: any) => {\r\n resizeObserverMultiple.unobserve(element.current);\r\n });\r\n } else {\r\n resizeObserver.unobserve(_refElement);\r\n }\r\n }\r\n };\r\n }, []);\r\n\r\n return (index?: number) => {\r\n if (index === null || index === undefined) {\r\n return { ref };\r\n } else {\r\n elementRefs.current[index] =\r\n elementRefs.current[index] || React.createRef();\r\n\r\n return { ref: elementRefs.current[index] };\r\n }\r\n }; // ...bind() or ...bind(index) for multiple\r\n}\r\n","import * as React from \"react\";\r\n\r\ntype WindowDimensionType = {\r\n width: number;\r\n height: number;\r\n innerWidth: number;\r\n innerHeight: number;\r\n};\r\n\r\nexport function useWindowDimension(\r\n callback: (event: WindowDimensionType) => void,\r\n deps?: React.DependencyList\r\n) {\r\n const windowDimensionsRef = React.useRef<WindowDimensionType>({\r\n width: 0,\r\n height: 0,\r\n innerWidth: 0,\r\n innerHeight: 0,\r\n });\r\n const callbackRef =\r\n React.useRef<(event: WindowDimensionType) => void>(callback);\r\n\r\n const handleCallback: () => void = () => {\r\n if (callbackRef) {\r\n callbackRef.current({\r\n ...windowDimensionsRef.current,\r\n });\r\n }\r\n };\r\n\r\n // Reinitiate callback when dependency change\r\n React.useEffect(() => {\r\n callbackRef.current = callback;\r\n\r\n return () => {\r\n callbackRef.current = () => false;\r\n };\r\n }, deps);\r\n\r\n React.useEffect(() => {\r\n const resizeObserver = new ResizeObserver(([entry]) => {\r\n const { clientWidth, clientHeight } = entry.target;\r\n const { innerWidth, innerHeight } = window;\r\n\r\n windowDimensionsRef.current = {\r\n width: clientWidth,\r\n height: clientHeight,\r\n innerWidth,\r\n innerHeight,\r\n };\r\n\r\n handleCallback();\r\n });\r\n\r\n resizeObserver.observe(document.documentElement);\r\n\r\n return () => resizeObserver.unobserve(document.documentElement);\r\n }, []);\r\n}\r\n"],"names":["interpolate","makeAnimatedComponent","React.useRef","React.useState","useTransition","React.useEffect","React.createElement","Easing","React.createRef"],"mappings":"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"}
package/package.json CHANGED
@@ -1,24 +1,23 @@
1
1
  {
2
2
  "name": "react-ui-animate",
3
- "version": "2.0.0-rc.3",
3
+ "version": "2.0.0-rc.4",
4
4
  "description": "React library for gestures and animation",
5
5
  "main": "dist/index.js",
6
6
  "dependencies": {
7
- "@raidipesh78/re-motion": "^2.0.0"
7
+ "@raidipesh78/re-motion": "^2.0.1-alpha.1"
8
8
  },
9
9
  "peerDependencies": {
10
- "react": ">=16.13.1",
11
- "react-dom": ">=16.13.1"
10
+ "react": "^16.8.0 || >=17.0.0 || >=18.0.0"
12
11
  },
13
12
  "devDependencies": {
14
- "@types/node": "^16.11.6",
15
- "@types/react": "^17.0.0",
16
- "@types/react-dom": "^17.0.0",
13
+ "@types/node": "^16.11.36",
14
+ "@types/react": "^18.0.9",
15
+ "@types/react-dom": "^18.0.4",
17
16
  "@types/resize-observer-browser": "^0.1.6",
18
17
  "babel-core": "^6.26.3",
19
18
  "babel-runtime": "^6.26.0",
20
- "react": "^17.0.1",
21
- "react-dom": "^17.0.1",
19
+ "react": "^18.1.0",
20
+ "react-dom": "^18.1.0",
22
21
  "rollup": "^2.35.1",
23
22
  "rollup-plugin-typescript2": "^0.29.0",
24
23
  "typescript": "^4.1.3"
@@ -1,9 +1,12 @@
1
1
  import * as React from 'react';
2
- import { TransitionValue } from '@raidipesh78/re-motion';
3
- import { useAnimatedValue, UseAnimatedValueConfig } from '../useAnimatedValue';
2
+ import {
3
+ useAnimatedValue,
4
+ UseAnimatedValueConfig,
5
+ ValueType,
6
+ } from '../useAnimatedValue';
4
7
 
5
8
  interface ScrollableBlockProps {
6
- children?: (animation: { value: TransitionValue }) => React.ReactNode;
9
+ children?: (animation: { value: ValueType }) => React.ReactNode;
7
10
  direction?: 'single' | 'both';
8
11
  threshold?: number;
9
12
  animationConfig?: UseAnimatedValueConfig;
@@ -58,5 +61,9 @@ export const ScrollableBlock = (props: ScrollableBlockProps) => {
58
61
  };
59
62
  }, []);
60
63
 
61
- return <div ref={scrollableBlockRef}>{children && children(animation)}</div>;
64
+ return (
65
+ <div ref={scrollableBlockRef}>
66
+ {children && children({ value: animation.value })}
67
+ </div>
68
+ );
62
69
  };
@@ -1,11 +1,14 @@
1
1
  import * as React from 'react';
2
- import { TransitionValue } from '@raidipesh78/re-motion';
3
2
  import { bin } from '../../gestures/math';
4
- import { useAnimatedValue, UseAnimatedValueConfig } from '../useAnimatedValue';
3
+ import {
4
+ useAnimatedValue,
5
+ UseAnimatedValueConfig,
6
+ ValueType,
7
+ } from '../useAnimatedValue';
5
8
 
6
9
  interface TransitionBlockProps {
7
10
  state: boolean;
8
- children: (animation: { value: TransitionValue }) => React.ReactNode;
11
+ children: (animation: { value: ValueType }) => React.ReactNode;
9
12
  config?: UseAnimatedValueConfig;
10
13
  }
11
14
 
@@ -22,5 +25,5 @@ export const TransitionBlock = ({
22
25
  }: TransitionBlockProps) => {
23
26
  const amv = useAnimatedValue(bin(state), config);
24
27
 
25
- return <>{children(amv)}</>;
28
+ return <>{children({ value: amv.value })}</>;
26
29
  };
@@ -33,10 +33,10 @@ export function useAnimatedValue(
33
33
  });
34
34
 
35
35
  const targetObject: {
36
- value: any;
36
+ value: ValueType;
37
37
  currentValue: number | string;
38
38
  } = {
39
- value: animation,
39
+ value: animation as any,
40
40
  currentValue: animation.get(),
41
41
  };
42
42