{"version":3,"sources":["jsdelivr-header.js","/npm/scroll-reveal-react@1.0.7/src/index.ts","/npm/scroll-reveal-react@1.0.7/src/Div.tsx","/npm/scroll-reveal-react@1.0.7/src/Text.tsx"],"names":[],"mappings":"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","file":"/npm/scroll-reveal-react@1.0.7/dist/index.js","sourceRoot":"","sourcesContent":["/**\n * Minified by jsDelivr using Terser v5.39.0.\n * Original file: /npm/scroll-reveal-react@1.0.7/dist/index.js\n *\n * Do NOT use SRI with dynamically generated files! More information: https://www.jsdelivr.com/using-sri-with-dynamic-files\n */\n","import Div from './Div';\r\nimport Text from './Text';\r\n\r\nexport { default as Div } from './Div';\r\nexport { default as Text } from './Text';\r\n\r\nconst ScrollReveal = { Div, Text };\r\nexport default ScrollReveal;","import React, { useEffect, useRef, useState } from \"react\";\r\nimport './index.css';\r\n\r\ntype StyleVariables = {\r\n    [key: string]: string | number\r\n}\r\n\r\ntype DefaultProps = {\r\n    ref?: React.Ref<HTMLDivElement>,\r\n    duration?: number,\r\n    delay?: number,\r\n    triggerAt?: number\r\n    onlyOnce?: boolean,\r\n    function?: 'linear' | 'ease' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'auto'\r\n}\r\n\r\ntype FadeAnimationProps = {\r\n    type: 'fade' | 'flicker';\r\n};\r\n\r\ntype ZoomAnimationProps = {\r\n    type: 'zoom';\r\n    initialZoom: number;\r\n    hasBounce?: boolean;\r\n    bounceFactor?: number;\r\n    pivot?: 'center' | 'top' | 'bottom' | 'left' | 'right';\r\n};\r\n\r\ntype FlipAnimationProps = {\r\n    type: 'flip';\r\n    direction: 'left-right' | 'top-bottom';\r\n};\r\n\r\ntype SlideAnimationProps = {\r\n    type: 'slide';\r\n    origin: 'left' | 'right' | 'top' | 'bottom';\r\n    distance?: number;\r\n    hasMomentum?: boolean;\r\n};\r\n\r\ntype BlurAnimationProps = {\r\n    type: 'blur';\r\n    amount: number;\r\n};\r\n\r\ntype ScaleAnimationProps = {\r\n    type: 'scale';\r\n    initialScale: [x: number, y: number];\r\n};\r\n\r\ntype RollAnimationProps = {\r\n    type: 'roll',\r\n    direction: 'clock' | 'anti-clock'\r\n};\r\n\r\n\r\ntype AnimationProps =\r\n    | FadeAnimationProps\r\n    | ZoomAnimationProps\r\n    | FlipAnimationProps\r\n    | SlideAnimationProps\r\n    | BlurAnimationProps\r\n    | ScaleAnimationProps\r\n    | RollAnimationProps;\r\n\r\ntype Props = DefaultProps & AnimationProps & React.HTMLAttributes<HTMLDivElement>;\r\n\r\n\r\n\r\nconst Div: React.FC<Props> = (props) => {\r\n    const divContainerRef = useRef<HTMLDivElement>(null);\r\n    const divRef = useRef<HTMLDivElement>(null);\r\n    const { type, duration = 1000, delay = 100, triggerAt = 0.1 } = props;\r\n    const [animate, setAnimate] = useState(false)\r\n    const [once, setOnce] = useState(false)\r\n    let CLASS_CONFIG = ''\r\n\r\n    const styler: StyleVariables = {\r\n        '--duration': `${duration}ms`,\r\n    };\r\n\r\n    switch (type) {\r\n        case \"fade\":\r\n            CLASS_CONFIG = ('fade')\r\n            break;\r\n\r\n        case \"flicker\":\r\n            CLASS_CONFIG = ('flicker')\r\n            break;\r\n\r\n        case \"zoom\": {\r\n            CLASS_CONFIG = props.hasBounce ? 'zoom-bounce' : 'zoom'\r\n            CLASS_CONFIG += (` zoom-${props.pivot ? props.pivot : 'center'}`);\r\n            styler['--zoom'] = props.initialZoom\r\n            const bnc = props.initialZoom <= 1 ? (props.bounceFactor ? props.bounceFactor : 1.1) :\r\n                (props.bounceFactor ? (1 / props.bounceFactor) : 0.9);\r\n            styler['--bounce-factor-up'] = bnc;\r\n            styler['--bounce-factor-down'] = 1 / bnc;\r\n            break;\r\n        }\r\n        case \"flip\":\r\n            switch (props.direction) {\r\n                case \"left-right\":\r\n                    CLASS_CONFIG = ('flip-left-right');\r\n                    break;\r\n                case \"top-bottom\":\r\n                    CLASS_CONFIG = ('flip-top-bottom')\r\n                    break;\r\n                default:\r\n                    break;\r\n            }\r\n            break;\r\n\r\n        case \"slide\":\r\n            CLASS_CONFIG = `slide slide-${props.origin}${props.hasMomentum ? '-skew' : ''}`\r\n            styler['--slide-distance'] = (\r\n                props.origin === 'left' || props.origin === 'top' ?\r\n                    (props.distance ? (`-${props.distance}%`) : '-50%') :\r\n                    (props.distance ? (`${props.distance}%`) : '50%')\r\n            )\r\n            break;\r\n\r\n        case \"blur\":\r\n            CLASS_CONFIG = 'blur';\r\n            styler['--blur-amount'] = props.amount + 'px';\r\n            break;\r\n\r\n        case \"scale\":\r\n            CLASS_CONFIG = 'scale'\r\n            styler['--scale-anim-x'] = props.initialScale[0];\r\n            styler['--scale-anim-y'] = props.initialScale[1];\r\n            break;\r\n\r\n        case \"roll\":\r\n            CLASS_CONFIG = `roll roll-${props.direction}`\r\n            break;\r\n\r\n        default:\r\n            break;\r\n    }\r\n\r\n    const STYLE = styler as React.CSSProperties;\r\n\r\n\r\n    useEffect(() => {\r\n        const link = document.createElement('link');\r\n        link.rel = 'stylesheet';\r\n        link.href = './index.css';\r\n        link.type = 'text/css';\r\n        document.head.appendChild(link);\r\n    }, [])\r\n\r\n\r\n    useEffect(() => {\r\n        const observerOptions: IntersectionObserverInit = {\r\n            root: null,\r\n            rootMargin: '0px',\r\n            threshold: triggerAt\r\n        }\r\n        const observer = new IntersectionObserver(([objectDiv]) => {\r\n            setTimeout(() => {\r\n                setAnimate(objectDiv.isIntersecting)\r\n            }, delay);\r\n        }, observerOptions);\r\n        observer.observe(divContainerRef.current as Element)\r\n        return () => observer.disconnect();\r\n    }, [delay, triggerAt])\r\n\r\n    useEffect(() => {\r\n        const config = animate ? CLASS_CONFIG : `scroll-not-in-port`\r\n        if (divContainerRef.current && divRef.current) {\r\n            divRef.current.className = (once ? 'once-only' : config)\r\n        }\r\n        if (props.onlyOnce && animate) setTimeout(() => {\r\n            setOnce(true)\r\n        }, duration);\r\n    }, [animate, CLASS_CONFIG, props.onlyOnce, once, duration])\r\n\r\n\r\n    return (\r\n        <div ref={divContainerRef} className={'react-scroll-animation-div'} style={STYLE}>\r\n            <div ref={divRef} className={CLASS_CONFIG} >\r\n                {props.children}\r\n            </div>\r\n        </div >\r\n    );\r\n};\r\n\r\nexport default Div;\r\n","import React, { useRef, useEffect, useState, useCallback } from 'react'\r\nimport './index.css';\r\n\r\ntype DefaultProps = {\r\n    content: string,\r\n    ref?: React.Ref<HTMLHeadingElement>,\r\n    delay?: number,\r\n    triggerAt?: number\r\n}\r\n\r\ntype TypewriterAnimationProps = {\r\n    type: 'typewriter',\r\n    hideCursor?: boolean,\r\n    latterDelay?: number,\r\n}\r\n\r\ntype FadeLattersAnimationProps = {\r\n    type: 'fade',\r\n    duration?: number,\r\n}\r\n\r\ntype RandomLattersAnimationProps = {\r\n    type: 'random',\r\n    alphabetOnly?: boolean,\r\n    numberOnly?: boolean\r\n    duration?: number,\r\n    randoms?: number\r\n}\r\n\r\ntype AnimationProps =\r\n    TypewriterAnimationProps\r\n    | FadeLattersAnimationProps\r\n    | RandomLattersAnimationProps;\r\n\r\ntype Props = DefaultProps & AnimationProps & React.HTMLAttributes<HTMLHeadingElement>\r\n\r\nconst Text: React.FC<Props> = (props) => {\r\n    const { type, delay = 100, triggerAt = 0.1 } = props;\r\n\r\n    const textContainerRef = useRef<HTMLHeadingElement>(null);\r\n    const textRef = useRef<HTMLHeadingElement>(null);\r\n\r\n    const [content, setContent] = useState<string[]>(props.content.split(''));\r\n    const [animate, setAnimate] = useState(false)\r\n    // const [once, setOnce] = useState(false)\r\n\r\n\r\n    useEffect(() => {\r\n        if (type === 'typewriter') setContent(c => [...c, ''])\r\n    }, [type])\r\n\r\n    useEffect(() => {\r\n        const link = document.createElement('link');\r\n        link.rel = 'stylesheet';\r\n        link.href = './index.css';\r\n        link.type = 'text/css';\r\n        document.head.appendChild(link);\r\n    }, [])\r\n\r\n    const setTypewriterAnimation = useCallback((delay: number, cursor: boolean) => {\r\n        let index = 0;\r\n        const anim = setInterval(() => {\r\n            const ele = document.getElementById(`react-scroll-char-${index}`);\r\n            if (ele) {\r\n                ele.classList.add('react-scroll-text-cursor');\r\n                setTimeout(() => {\r\n                    if (ele.id === `react-scroll-char-${content.length - 1}`) {\r\n                        if (cursor) {\r\n                            ele.style.animation = 'none';\r\n                            ele.style.opacity = '0'\r\n                        }\r\n                        ele.style.animation = 'cursor 1.5s steps(1) infinite';\r\n                    }\r\n                    else ele.classList.remove('react-scroll-text-cursor');\r\n                }, delay);\r\n                ele.classList.remove('hide')\r\n            }\r\n            index = index + 1;\r\n            if (index === content.length) {\r\n                if ((props as TypewriterAnimationProps).hideCursor)\r\n                    textRef.current?.classList.remove('react-scroll-text-cursor');\r\n                clearInterval(anim);\r\n            }\r\n        },\r\n            delay)\r\n    }, [props, content.length])\r\n\r\n    const setFadeAnimation = useCallback((delay: number) => {\r\n        let index = 0;\r\n        const anim = setInterval(() => {\r\n            const ele = document.getElementById(`react-scroll-char-${index}`);\r\n            if (ele) {\r\n                ele.style.animation = `fade ${delay}ms linear`;\r\n                ele.classList.remove('hide')\r\n            }\r\n            index = index + 1;\r\n            if (index === content.length) {\r\n                clearInterval(anim);\r\n            }\r\n        },\r\n            delay)\r\n    }, [content.length])\r\n\r\n\r\n    const setRandomAnimation = useCallback((randoms: number, delay: number) => {\r\n        let characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\r\n        const { alphabetOnly, numberOnly } = props as RandomLattersAnimationProps;\r\n        if (alphabetOnly) characters = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz';\r\n        if (numberOnly) characters = '0123456789';\r\n        const charactersLength = characters.length;\r\n        let index = 0;\r\n        const mainAnim = setInterval(() => {\r\n\r\n            let ran = 0;\r\n            const ele = document.getElementById(`react-scroll-char-${index}`);\r\n            if (ele) {\r\n                const temp = ele.innerText;\r\n                if (ele) ele.classList.remove('hide')\r\n                const anim = setInterval(() => {\r\n                    ele.innerText =\r\n                        characters.charAt(Math.floor(Math.random() * charactersLength));\r\n                    ran++;\r\n                    if (ran === randoms) {\r\n                        clearInterval(anim);\r\n                        ele.innerText = temp;\r\n                    }\r\n                }, delay)\r\n            }\r\n            index++;\r\n            if (index === content.length) {\r\n                clearInterval(mainAnim);\r\n            }\r\n        }, delay * randoms)\r\n    }, [content.length, props])\r\n\r\n    const resetAnimation = useCallback(() => {\r\n        if (textRef.current)\r\n            Array.from(textRef.current.children).forEach(element => {\r\n                element.classList.add('hide');\r\n                (element as HTMLElement).style.animation = 'none'\r\n            });\r\n    }, [])\r\n\r\n    useEffect(() => {\r\n        const observerOptions: IntersectionObserverInit = {\r\n            root: null,\r\n            rootMargin: '0px',\r\n            threshold: triggerAt\r\n        }\r\n        const observer = new IntersectionObserver(([objectDiv]) => {\r\n            setTimeout(() => {\r\n                setAnimate(objectDiv.isIntersecting)\r\n            }, delay);\r\n        }, observerOptions);\r\n        observer.observe(textContainerRef.current as Element)\r\n        return () => observer.disconnect();\r\n    }, [delay, triggerAt])\r\n\r\n    useEffect(() => {\r\n        if (!animate) {\r\n            resetAnimation();\r\n            return;\r\n        }\r\n        switch (type) {\r\n            case 'typewriter':\r\n                setTypewriterAnimation(props.latterDelay ? props.latterDelay : 100,\r\n                    props.hideCursor ? props.hideCursor : false);\r\n                break;\r\n            case 'fade':\r\n                setFadeAnimation(props.duration ? props.duration : 500)\r\n                break;\r\n            case 'random':\r\n                setRandomAnimation(props.randoms ? props.randoms : 5,\r\n                    props.duration ? props.duration : 100)\r\n                break;\r\n\r\n            default:\r\n                break;\r\n        }\r\n    }, [animate, type,\r\n        setTypewriterAnimation,\r\n        setFadeAnimation,\r\n        setRandomAnimation,\r\n        resetAnimation, props])\r\n\r\n\r\n    return (\r\n        <>\r\n            <div ref={textContainerRef} className=\"react-scroll-animation-text\">\r\n                <div style={{ display: 'inline' }} ref={textRef}>\r\n                    {content.map(((char, index) =>\r\n                        <span key={index}\r\n                            id={`react-scroll-char-${index}`}\r\n                            className={`react-scroll-anim-text-char hide`}\r\n                        >\r\n                            {char}\r\n                        </span>\r\n                    ))}\r\n                </div>\r\n            </div>\r\n        </>\r\n    )\r\n}\r\n\r\nexport default Text"]}