{"version":3,"file":"PixelImageReveal_Prod.c6ATB2Gu.mjs","names":["useMemo","useMemo","useMemo","useRef","useMemo","clamp","t","e","e","t","n","t","i","o","h","e","s","a","n","r","n","r","e","s","t","o","i","f","c","u","a","d","g","m","h","O","x","r","b","A","w","S","l","t","z","V","React.useContext","React.useMemo","React.Fragment","React.forwardRef","React.useRef","React.useId","SVG","RichText","UtilsComponentMessage","useRef"],"sources":["https:/framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js","https:/framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js","https:/framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js","https:/framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js","https:/framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js","https:/framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js","https:/framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js","https:/framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js","https:/framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js","https:/framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js","https:/framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js","https:/framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js","https:/framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js","https:/framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js","https:/framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js","https:/framer.com/m/framer/default-utils.js@^0.45.0","https:/framerusercontent.com/modules/P3S2M04Yg53AO5F51mO2/pzJl44uxe09OYFf1Kkst/MagneticHover_Prod.js","https:/ga.jspm.io/npm:@motionone/utils@10.14.0/dist/index.es.js","https:/ga.jspm.io/npm:@motionone/easing@10.12.0/dist/index.es.js","https:/ga.jspm.io/npm:@motionone/animation@10.18.0/dist/index.es.js","https:/ga.jspm.io/npm:hey-listen@1.0.8/dist/index.js","https:/ga.jspm.io/npm:@motionone/types@10.17.1/dist/index.es.js","https:/ga.jspm.io/npm:tslib@2.6.3/tslib.es6.mjs","https:/ga.jspm.io/npm:@motionone/generators@10.18.0/dist/index.es.js","https:/ga.jspm.io/npm:@motionone/dom@10.18.0/dist/index.es.js","https:/ga.jspm.io/npm:@motionone/utils@10.18.0/dist/index.es.js","https:/framerusercontent.com/modules/fMDE7Cqb2uOvQFAHEP2m/cRfVFRl0izzBulKFjOAe/W7oLCU4_B.js","https:/framer.com/m/Utils-Component-Message-ZVoG.js@cRfVFRl0izzBulKFjOAe","https:/framerusercontent.com/modules/aej5zpwxBpkMdzOteBwy/DWeAZ5wauvGM5oFwVdgS/Utils.js","https:/framer.com/m/Utils-FINc.js","https:/framerusercontent.com/modules/fWrPkQmi5yYl70FuRZwX/snGTBrPIqB0yD2CXZdrZ/PixelImageReveal_Prod.js"],"sourcesContent":["import { ControlType } from \"framer\";\nexport const fontStack = `\"Inter\", system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\"`;\nexport const containerStyles = {\n    position: \"relative\",\n    width: \"100%\",\n    height: \"100%\",\n    display: \"flex\",\n    justifyContent: \"center\",\n    alignItems: \"center\"\n};\nexport const emptyStateStyle = {\n    ...containerStyles,\n    borderRadius: 6,\n    background: \"rgba(136, 85, 255, 0.3)\",\n    color: \"#85F\",\n    border: \"1px dashed #85F\",\n    flexDirection: \"column\"\n};\nexport const defaultEvents = {\n    onClick: {\n        type: ControlType.EventHandler\n    },\n    onMouseEnter: {\n        type: ControlType.EventHandler\n    },\n    onMouseLeave: {\n        type: ControlType.EventHandler\n    }\n};\nexport const fontSizeOptions = {\n    type: ControlType.Number,\n    title: \"Font Size\",\n    min: 2,\n    max: 200,\n    step: 1,\n    displayStepper: true\n};\nexport const fontControls = {\n    font: {\n        type: ControlType.Boolean,\n        title: \"Font\",\n        defaultValue: false,\n        disabledTitle: \"Default\",\n        enabledTitle: \"Custom\"\n    },\n    fontFamily: {\n        type: ControlType.String,\n        title: \"Family\",\n        placeholder: \"Inter\",\n        hidden: ({ font  })=>!font\n    },\n    fontWeight: {\n        type: ControlType.Enum,\n        title: \"Weight\",\n        options: [\n            100,\n            200,\n            300,\n            400,\n            500,\n            600,\n            700,\n            800,\n            900\n        ],\n        optionTitles: [\n            \"Thin\",\n            \"Extra-light\",\n            \"Light\",\n            \"Regular\",\n            \"Medium\",\n            \"Semi-bold\",\n            \"Bold\",\n            \"Extra-bold\",\n            \"Black\", \n        ],\n        hidden: ({ font  })=>!font\n    }\n};\n// @TODO check if we're missing anything here — there doesn't seem to be a reliable browser API for this\nexport const localeOptions = {\n    af: \"Afrikaans\",\n    sq: \"Albanian\",\n    an: \"Aragonese\",\n    ar: \"Arabic (Standard)\",\n    \"ar-dz\": \"Arabic (Algeria)\",\n    \"ar-bh\": \"Arabic (Bahrain)\",\n    \"ar-eg\": \"Arabic (Egypt)\",\n    \"ar-iq\": \"Arabic (Iraq)\",\n    \"ar-jo\": \"Arabic (Jordan)\",\n    \"ar-kw\": \"Arabic (Kuwait)\",\n    \"ar-lb\": \"Arabic (Lebanon)\",\n    \"ar-ly\": \"Arabic (Libya)\",\n    \"ar-ma\": \"Arabic (Morocco)\",\n    \"ar-om\": \"Arabic (Oman)\",\n    \"ar-qa\": \"Arabic (Qatar)\",\n    \"ar-sa\": \"Arabic (Saudi Arabia)\",\n    \"ar-sy\": \"Arabic (Syria)\",\n    \"ar-tn\": \"Arabic (Tunisia)\",\n    \"ar-ae\": \"Arabic (U.A.E.)\",\n    \"ar-ye\": \"Arabic (Yemen)\",\n    hy: \"Armenian\",\n    as: \"Assamese\",\n    ast: \"Asturian\",\n    az: \"Azerbaijani\",\n    eu: \"Basque\",\n    bg: \"Bulgarian\",\n    be: \"Belarusian\",\n    bn: \"Bengali\",\n    bs: \"Bosnian\",\n    br: \"Breton\",\n    my: \"Burmese\",\n    ca: \"Catalan\",\n    ch: \"Chamorro\",\n    ce: \"Chechen\",\n    zh: \"Chinese\",\n    \"zh-hk\": \"Chinese (Hong Kong)\",\n    \"zh-cn\": \"Chinese (PRC)\",\n    \"zh-sg\": \"Chinese (Singapore)\",\n    \"zh-tw\": \"Chinese (Taiwan)\",\n    cv: \"Chuvash\",\n    co: \"Corsican\",\n    cr: \"Cree\",\n    hr: \"Croatian\",\n    cs: \"Czech\",\n    da: \"Danish\",\n    nl: \"Dutch (Standard)\",\n    \"nl-be\": \"Dutch (Belgian)\",\n    en: \"English\",\n    \"en-au\": \"English (Australia)\",\n    \"en-bz\": \"English (Belize)\",\n    \"en-ca\": \"English (Canada)\",\n    \"en-ie\": \"English (Ireland)\",\n    \"en-jm\": \"English (Jamaica)\",\n    \"en-nz\": \"English (New Zealand)\",\n    \"en-ph\": \"English (Philippines)\",\n    \"en-za\": \"English (South Africa)\",\n    \"en-tt\": \"English (Trinidad & Tobago)\",\n    \"en-gb\": \"English (United Kingdom)\",\n    \"en-us\": \"English (United States)\",\n    \"en-zw\": \"English (Zimbabwe)\",\n    eo: \"Esperanto\",\n    et: \"Estonian\",\n    fo: \"Faeroese\",\n    fa: \"Farsi\",\n    fj: \"Fijian\",\n    fi: \"Finnish\",\n    fr: \"French (Standard)\",\n    \"fr-be\": \"French (Belgium)\",\n    \"fr-ca\": \"French (Canada)\",\n    \"fr-fr\": \"French (France)\",\n    \"fr-lu\": \"French (Luxembourg)\",\n    \"fr-mc\": \"French (Monaco)\",\n    \"fr-ch\": \"French (Switzerland)\",\n    fy: \"Frisian\",\n    fur: \"Friulian\",\n    gd: \"Gaelic (Scots)\",\n    \"gd-ie\": \"Gaelic (Irish)\",\n    gl: \"Galacian\",\n    ka: \"Georgian\",\n    de: \"German (Standard)\",\n    \"de-at\": \"German (Austria)\",\n    \"de-de\": \"German (Germany)\",\n    \"de-li\": \"German (Liechtenstein)\",\n    \"de-lu\": \"German (Luxembourg)\",\n    \"de-ch\": \"German (Switzerland)\",\n    el: \"Greek\",\n    gu: \"Gujurati\",\n    ht: \"Haitian\",\n    he: \"Hebrew\",\n    hi: \"Hindi\",\n    hu: \"Hungarian\",\n    is: \"Icelandic\",\n    id: \"Indonesian\",\n    iu: \"Inuktitut\",\n    ga: \"Irish\",\n    it: \"Italian (Standard)\",\n    \"it-ch\": \"Italian (Switzerland)\",\n    ja: \"Japanese\",\n    kn: \"Kannada\",\n    ks: \"Kashmiri\",\n    kk: \"Kazakh\",\n    km: \"Khmer\",\n    ky: \"Kirghiz\",\n    tlh: \"Klingon\",\n    ko: \"Korean\",\n    \"ko-kp\": \"Korean (North Korea)\",\n    \"ko-kr\": \"Korean (South Korea)\",\n    la: \"Latin\",\n    lv: \"Latvian\",\n    lt: \"Lithuanian\",\n    lb: \"Luxembourgish\",\n    mk: \"FYRO Macedonian\",\n    ms: \"Malay\",\n    ml: \"Malayalam\",\n    mt: \"Maltese\",\n    mi: \"Maori\",\n    mr: \"Marathi\",\n    mo: \"Moldavian\",\n    nv: \"Navajo\",\n    ng: \"Ndonga\",\n    ne: \"Nepali\",\n    no: \"Norwegian\",\n    nb: \"Norwegian (Bokmal)\",\n    nn: \"Norwegian (Nynorsk)\",\n    oc: \"Occitan\",\n    or: \"Oriya\",\n    om: \"Oromo\",\n    \"fa-ir\": \"Persian/Iran\",\n    pl: \"Polish\",\n    pt: \"Portuguese\",\n    \"pt-br\": \"Portuguese (Brazil)\",\n    pa: \"Punjabi\",\n    \"pa-in\": \"Punjabi (India)\",\n    \"pa-pk\": \"Punjabi (Pakistan)\",\n    qu: \"Quechua\",\n    rm: \"Rhaeto-Romanic\",\n    ro: \"Romanian\",\n    \"ro-mo\": \"Romanian (Moldavia)\",\n    ru: \"Russian\",\n    \"ru-mo\": \"Russian (Moldavia)\",\n    sz: \"Sami (Lappish)\",\n    sg: \"Sango\",\n    sa: \"Sanskrit\",\n    sc: \"Sardinian\",\n    sd: \"Sindhi\",\n    si: \"Singhalese\",\n    sr: \"Serbian\",\n    sk: \"Slovak\",\n    sl: \"Slovenian\",\n    so: \"Somani\",\n    sb: \"Sorbian\",\n    es: \"Spanish\",\n    \"es-ar\": \"Spanish (Argentina)\",\n    \"es-bo\": \"Spanish (Bolivia)\",\n    \"es-cl\": \"Spanish (Chile)\",\n    \"es-co\": \"Spanish (Colombia)\",\n    \"es-cr\": \"Spanish (Costa Rica)\",\n    \"es-do\": \"Spanish (Dominican Republic)\",\n    \"es-ec\": \"Spanish (Ecuador)\",\n    \"es-sv\": \"Spanish (El Salvador)\",\n    \"es-gt\": \"Spanish (Guatemala)\",\n    \"es-hn\": \"Spanish (Honduras)\",\n    \"es-mx\": \"Spanish (Mexico)\",\n    \"es-ni\": \"Spanish (Nicaragua)\",\n    \"es-pa\": \"Spanish (Panama)\",\n    \"es-py\": \"Spanish (Paraguay)\",\n    \"es-pe\": \"Spanish (Peru)\",\n    \"es-pr\": \"Spanish (Puerto Rico)\",\n    \"es-es\": \"Spanish (Spain)\",\n    \"es-uy\": \"Spanish (Uruguay)\",\n    \"es-ve\": \"Spanish (Venezuela)\",\n    sx: \"Sutu\",\n    sw: \"Swahili\",\n    sv: \"Swedish\",\n    \"sv-fi\": \"Swedish (Finland)\",\n    \"sv-sv\": \"Swedish (Sweden)\",\n    ta: \"Tamil\",\n    tt: \"Tatar\",\n    te: \"Teluga\",\n    th: \"Thai\",\n    tig: \"Tigre\",\n    ts: \"Tsonga\",\n    tn: \"Tswana\",\n    tr: \"Turkish\",\n    tk: \"Turkmen\",\n    uk: \"Ukrainian\",\n    hsb: \"Upper Sorbian\",\n    ur: \"Urdu\",\n    ve: \"Venda\",\n    vi: \"Vietnamese\",\n    vo: \"Volapuk\",\n    wa: \"Walloon\",\n    cy: \"Welsh\",\n    xh: \"Xhosa\",\n    ji: \"Yiddish\",\n    zu: \"Zulu\"\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./constants.map","import { useIsInCurrentNavigationTarget } from \"framer\";\nimport { useEffect } from \"react\";\nexport function useOnEnter(onEnter, enabled) {\n    return useOnSpecificTargetChange(true, onEnter, enabled);\n}\nexport function useOnExit(onExit, enabled) {\n    return useOnSpecificTargetChange(false, onExit, enabled);\n}\nfunction useOnSpecificTargetChange(goal, callback, enabled = true) {\n    const isInTarget = useIsInCurrentNavigationTarget();\n    useEffect(()=>{\n        if (enabled && isInTarget === goal) callback();\n    }, [\n        isInTarget\n    ]);\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useOnEnter\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnNavigationTargetChange.map","import { useRef } from \"react\";\n/**\n * Creates a constant value over the lifecycle of a component.\n *\n * Even if `useMemo` is provided an empty array as its final argument, it doesn't offer\n * a guarantee that it won't re-run for performance reasons later on. By using `useConstant`\n * you can ensure that initialisers don't execute twice or more.\n */ export function useConstant(init) {\n    const ref = useRef(null);\n    if (ref.current === null) {\n        ref.current = init();\n    }\n    return ref.current;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useConstant.map","import { Color } from \"framer\";\nexport function colorFromToken(color) {\n    if (color.startsWith(\"var(--token-\")) return \"rgb\" + color.split(\") /*\")[0].split(\", rgb\")[1];\n    return color;\n}\nexport function colorTokentoValue(color) {\n    return Color(colorFromToken(color)).toValue();\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"colorFromToken\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./colorFromToken.map","import { MotionValue } from \"framer\";\nexport const isMotionValue = (v)=>v instanceof MotionValue\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isMotionValue.map","import * as React from \"react\";\nconst letters = \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";\nconst l = ()=>letters[Math.floor(Math.random() * letters.length)]\n;\nexport const randomID = ()=>l() + l() + l() + l() + l() + l() + l() + l() + l()\n;\nfunction createUniqueClass(suffix) {\n    return `framer-${suffix}-${randomID()}`;\n}\nexport function useUniqueClassName(suffix, deps) {\n    const [className, setClassName] = React.useState(createUniqueClass(suffix));\n    React.useEffect(()=>{\n        setClassName(createUniqueClass(suffix));\n    }, [\n        suffix,\n        ...deps\n    ]);\n    return className;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useUniqueClassName\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useUniqueClassName.map","import { ControlType } from \"framer\";\n// I realize this only applies to select right now\n// but we can work on it in here\nexport function getVariantControls(Component, variant, additionalControls = {\n}) {\n    return {\n        [`${variant}TextColor`]: {\n            type: ControlType.Color,\n            title: \"Text Color\",\n            defaultValue: Component.defaultProps[`${variant}TextColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}IconColor`]: {\n            type: ControlType.Color,\n            title: \"Icon Color\",\n            defaultValue: Component.defaultProps[`${variant}IconColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BackgroundColor`]: {\n            type: ControlType.Color,\n            title: \"Bg Color\",\n            defaultValue: Component.defaultProps[`${variant}BackgroundColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderColor`]: {\n            type: ControlType.Color,\n            title: \"Border Color\",\n            defaultValue: Component.defaultProps[`${variant}BorderColor`],\n            hidden: (props)=>props.variant !== variant\n        },\n        [`${variant}BorderWidth`]: {\n            type: ControlType.Number,\n            title: \" \",\n            min: 0,\n            max: 5,\n            displayStepper: true,\n            defaultValue: Component.defaultProps[`${variant}BorderWidth`],\n            hidden: (props)=>props.variant !== variant\n        },\n        ...additionalControls\n    };\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"getVariantControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./variantUtils.map","import { useMemo } from \"react\";\nexport const isBrowserSafari = ()=>{\n    if (typeof navigator !== `undefined`) {\n        const userAgent = navigator.userAgent.toLowerCase();\n        const isSafari = (userAgent.indexOf(\"safari\") > -1 || userAgent.indexOf(\"framermobile\") > -1 || userAgent.indexOf(\"framerx\") > -1) && userAgent.indexOf(\"chrome\") < 0;\n        return isSafari;\n    } else return false;\n};\nexport const useIsBrowserSafari = ()=>useMemo(()=>isBrowserSafari()\n    , [])\n;\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./isBrowser.map","import { useEffect } from \"react\";\n//@ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\nexport function useOnChange(value, callback) {\n    useEffect(()=>// @ts-ignore this should be detected as a MV :shrug:\n        isMotionValue(value) ? value.onChange(callback) : undefined\n    );\n}\nexport function useMultiOnChange(values, handler) {\n    useEffect(()=>{\n        const subscriptions = values.map((value)=>value.onChange(handler)\n        );\n        return ()=>subscriptions.forEach((unsubscribe)=>unsubscribe()\n            )\n        ;\n    });\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"Subscriber\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useOnChange.map","import { useCallback, useEffect, useRef } from \"react\";\nimport { motionValue, animate, RenderTarget } from \"framer\";\n// @ts-ignore\nimport { isMotionValue } from \"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";\n// @ts-ignore\nimport { useConstant } from \"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";\nexport function useAutoMotionValue(inputValue, options) {\n    var ref;\n    // Put options on a local ref\n    // Might wanna just memo instead but it works for now\n    const optionsRef = useRef(options);\n    const animation = useRef();\n    const didInitialMount = useRef(false);\n    const isOnCanvas = RenderTarget.current() === RenderTarget.canvas;\n    // in-progress - trying to figure out effect hooks\n    const onChangeDeps = (options === null || options === void 0 ? void 0 : options.onChangeDeps) ? options.onChangeDeps : [];\n    // Memoize the onChange handler\n    const onChange = useCallback(options === null || options === void 0 ? void 0 : options.onChange, [\n        ...onChangeDeps, \n    ]);\n    // Optionally scale the value from props\n    const transformer = useCallback((value)=>((ref = optionsRef.current) === null || ref === void 0 ? void 0 : ref.transform) ? optionsRef.current.transform(value) : value\n    , []);\n    // Create new MotionValue from inputValue\n    const value = useConstant(()=>isMotionValue(inputValue) ? inputValue : motionValue(transformer(inputValue))\n    );\n    // Setting value from prop change\n    useEffect(()=>{\n        if (!isMotionValue(inputValue) && didInitialMount.current) {\n            var ref1, ref2;\n            const newValue = transformer(inputValue);\n            (ref1 = animation.current) === null || ref1 === void 0 ? void 0 : ref1.stop();\n            // Call change callback\n            if (onChange) onChange(newValue, value);\n            // Trigger animation to new value\n            if (((ref2 = optionsRef.current) === null || ref2 === void 0 ? void 0 : ref2.animate) && !isOnCanvas) {\n                var ref3;\n                // @ts-ignore\n                animation.current = animate(value, newValue, (ref3 = optionsRef.current) === null || ref3 === void 0 ? void 0 : ref3.transition);\n            } else {\n                value.set(newValue);\n            }\n        }\n        didInitialMount.current = true;\n    }, [\n        inputValue,\n        ...onChangeDeps\n    ]);\n    return value;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useAutoMotionValue\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","// @ts-ignore\nimport{fontStore}from\"framer\";import{useEffect}from\"react\";import{fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";const fontWeights={100:\"Thin\",200:\"Extra-light\",300:\"Light\",400:\"Regular\",500:\"Medium\",600:\"Semi-bold\",700:\"Bold\",800:\"Extra-bold\",900:\"Black\"};export function useFontControls(props){const{fontFamily=\"Inter\",fontSize=16,fontWeight=400,font=false}=props;const fontWeightName=fontWeights[fontWeight];const customFontStack=`\"${fontFamily} ${fontWeightName}\", \"${fontFamily}\", ${fontStack}`;const fontFamilyStyle=fontFamily?{fontSize,fontWeight,fontFamily:customFontStack}:{fontSize,fontWeight};const fetchCustomFonts=async()=>{await fontStore.loadWebFontsFromSelectors([`CUSTOM;${fontFamily}`,`CUSTOM;${fontFamily} ${fontWeightName}`,`GF;${fontFamily}-${fontWeightName.toLowerCase()}`,]).catch(e=>console.error(e));};useEffect(()=>{if(font)fetchCustomFonts();},[font,fontFamily,fontWeight]);return fontFamilyStyle;}\nexport const __FramerMetadata__ = {\"exports\":{\"useFontControls\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useFontControls.map","import { useMemo } from \"react\";\nimport { RenderTarget } from \"framer\";\nexport function useRenderTarget() {\n    const currentRenderTarget = useMemo(()=>RenderTarget.current()\n    , []);\n    return currentRenderTarget;\n}\nexport function useIsInPreview() {\n    const inPreview = useMemo(()=>RenderTarget.current() === RenderTarget.preview\n    , []);\n    return inPreview;\n}\nexport function useIsOnCanvas() {\n    const onCanvas = useMemo(()=>RenderTarget.current() === RenderTarget.canvas\n    , []);\n    return onCanvas;\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useIsInPreview\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useRenderTarget.map","import * as React from \"react\";\nexport function useControlledState(value) {\n    const [controlledValue, setValue] = React.useState(value);\n    React.useEffect(()=>{\n        setValue(value);\n    }, [\n        value\n    ]);\n    return [\n        controlledValue,\n        setValue\n    ];\n}\n\nexport const __FramerMetadata__ = {\"exports\":{\"useControlledState\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./useControlledState.map","import { useMemo } from \"react\";\nimport { ControlType } from \"framer\";\nexport function useRadius(props) {\n    const { borderRadius , isMixedBorderRadius , topLeftRadius , topRightRadius , bottomRightRadius , bottomLeftRadius ,  } = props;\n    const radiusValue = useMemo(()=>isMixedBorderRadius ? `${topLeftRadius}px ${topRightRadius}px ${bottomRightRadius}px ${bottomLeftRadius}px` : `${borderRadius}px`\n    , [\n        borderRadius,\n        isMixedBorderRadius,\n        topLeftRadius,\n        topRightRadius,\n        bottomRightRadius,\n        bottomLeftRadius, \n    ]);\n    return radiusValue;\n}\nexport const borderRadiusControl = {\n    borderRadius: {\n        title: \"Radius\",\n        type: ControlType.FusedNumber,\n        toggleKey: \"isMixedBorderRadius\",\n        toggleTitles: [\n            \"Radius\",\n            \"Radius per corner\"\n        ],\n        valueKeys: [\n            \"topLeftRadius\",\n            \"topRightRadius\",\n            \"bottomRightRadius\",\n            \"bottomLeftRadius\", \n        ],\n        valueLabels: [\n            \"TL\",\n            \"TR\",\n            \"BR\",\n            \"BL\"\n        ],\n        min: 0\n    }\n};\nexport function usePadding(props) {\n    const { padding , paddingPerSide , paddingTop , paddingRight , paddingBottom , paddingLeft ,  } = props;\n    const paddingValue = useMemo(()=>paddingPerSide ? `${paddingTop}px ${paddingRight}px ${paddingBottom}px ${paddingLeft}px` : padding\n    , [\n        padding,\n        paddingPerSide,\n        paddingTop,\n        paddingRight,\n        paddingBottom,\n        paddingLeft, \n    ]);\n    return paddingValue;\n}\nexport const paddingControl = {\n    padding: {\n        type: ControlType.FusedNumber,\n        toggleKey: \"paddingPerSide\",\n        toggleTitles: [\n            \"Padding\",\n            \"Padding per side\"\n        ],\n        valueKeys: [\n            \"paddingTop\",\n            \"paddingRight\",\n            \"paddingBottom\",\n            \"paddingLeft\", \n        ],\n        valueLabels: [\n            \"T\",\n            \"R\",\n            \"B\",\n            \"L\"\n        ],\n        min: 0,\n        title: \"Padding\"\n    }\n};\n\nexport const __FramerMetadata__ = {\"exports\":{\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"RadiusProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"PaddingProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}\n//# sourceMappingURL=./propUtils.map","import{defaultEvents,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack}from\"https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js\";import{useOnEnter,useOnExit}from\"https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js\";import{useConstant}from\"https://framerusercontent.com/modules/ExNgrA7EJTKUPpH6vIlN/eiOrSJ2Ab5M9jPCvVwUz/useConstant.js\";import{colorTokentoValue,colorFromToken}from\"https://framerusercontent.com/modules/D2Lz5CmnNVPZFFiZXalt/QaCzPbriZBfXWZIIycFI/colorFromToken.js\";import{isMotionValue}from\"https://framerusercontent.com/modules/3mKFSGQqKHV82uOV1eBc/5fbRLvOpxZC0JOXugvwm/isMotionValue.js\";import{useUniqueClassName,randomID}from\"https://framerusercontent.com/modules/xDiQsqBGXzmMsv7AlEVy/uhunpMiNsbXxzjlXsg1y/useUniqueClassName.js\";import{getVariantControls}from\"https://framerusercontent.com/modules/ETACN5BJyFTSo0VVDJfu/NHRqowOiXkF9UwOzczF7/variantUtils.js\";import{useIsBrowserSafari}from\"https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.js\";import{useMultiOnChange,useOnChange}from\"https://framerusercontent.com/modules/v9AWX2URmiYsHf7GbctE/XxKAZ9KlhWqf5x1JMyyF/useOnChange.js\";import{mstoMinAndSec,secondsToMinutes}from\"https://framerusercontent.com/modules/4zHZnO5JojN1PrIbu2jm/revv9QCWpkh8lPzi2jje/time.js\";import{useAutoMotionValue}from\"https://framerusercontent.com/modules/kNDwabfjDEb3vUxkQlZS/fSIr3AOAYbGlfSPgXpYu/useAutoMotionValue.js\";import{useFontControls}from\"https://framerusercontent.com/modules/cuQH4dmpDnV8YK1mSgQX/KqRXqunFjE6ufhpc7ZRu/useFontControls.js\";import{useRenderTarget,useIsInPreview,useIsOnCanvas}from\"https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js\";import{useControlledState}from\"https://framerusercontent.com/modules/zGkoP8tPDCkoBzMdt5uq/0zFSjxIYliHxrQQnryFX/useControlledState.js\";import{usePadding,useRadius,paddingControl,borderRadiusControl}from\"https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js\";import{detectAutoSizingAxis}from\"https://framerusercontent.com/modules/8CkHAZatUz1UR8jNTcfD/HwbnIAZlUmQ2oTpcLkaH/detectAutoSizingAxis.js\";export{useOnEnter,useOnExit,defaultEvents,isMotionValue,colorFromToken,colorTokentoValue,localeOptions,fontControls,fontSizeOptions,emptyStateStyle,containerStyles,fontStack,useUniqueClassName,getVariantControls,useIsBrowserSafari,randomID,useConstant,useMultiOnChange,useOnChange,usePadding,useRadius,paddingControl,borderRadiusControl,mstoMinAndSec,useFontControls,secondsToMinutes,useAutoMotionValue,useRenderTarget,useIsInPreview,useControlledState,detectAutoSizingAxis,useIsOnCanvas,};\nexport const __FramerMetadata__ = {\"exports\":{\"useConstant\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"isMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"defaultEvents\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useUniqueClassName\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useMultiOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnChange\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsOnCanvas\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnExit\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontSizeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorTokentoValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRadius\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"getVariantControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"colorFromToken\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"containerStyles\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"usePadding\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"fontStack\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useControlledState\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useFontControls\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useAutoMotionValue\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"emptyStateStyle\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsInPreview\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useIsBrowserSafari\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"detectAutoSizingAxis\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"borderRadiusControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"mstoMinAndSec\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"randomID\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"localeOptions\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useOnEnter\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"secondsToMinutes\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"useRenderTarget\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"paddingControl\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}}}}","/*\n * index (framer/default-utils@0.45.0)\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/G4IfyjvwmaeSBpdb4TWu/OIjZRBmWDcIE2B6qgG1j/index.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,RenderTarget}from\"framer\";import{useEffect,useRef,useMemo}from\"react\";import{useMotionValue,useSpring,motion}from\"framer-motion\";/**\n * @framerSupportedLayoutWidth auto\n * @framerSupportedLayoutHeight auto\n *\n * @framerDisableUnlink\n */export default function MagneticHover(props){const{distance,smoothing,hoverArea,enabled}=props;const isCanvas=RenderTarget.current()===RenderTarget.canvas;const id=generateInstanceId();const transition={damping:100,stiffness:mapRange(smoothing,0,100,2e3,50)};const mouseX=useMotionValue(0);const mouseY=useMotionValue(0);const x=useMotionValue(0);const y=useMotionValue(0);const springX=useSpring(x,transition);const springY=useSpring(y,transition);const scale=useMotionValue(1);const springScale=useSpring(scale,transition);const ref=useRef(null);const containerRef=useRef(null);const parentRef=useRef(null);const isHoveringRef=useRef(false);const transformRef=useRef(null);const motionTransformRef=useRef(null);const styleRef=useRef(null);const hasSpringRef=useRef(smoothing!==0);const previousXRef=useRef(null);const previousYRef=useRef(null);const previousChildrenXRef=useRef(null);const previousChildrenYRef=useRef(null);const previousChildrenScaleRef=useRef(null);const previousStyleTransformRef=useRef(null);const previousChildrenStyleTransformsRef=useRef({});useEffect(()=>{const unsubscribeX=mouseX.onChange(v=>x.set(enabled?v:0));const unsubscribeY=mouseY.onChange(v=>y.set(enabled?v:0));return()=>{unsubscribeX();unsubscribeY();};},[enabled,mouseX,mouseY,x,y]);useEffect(()=>{x.set(enabled?mouseX.get():0);y.set(enabled?mouseY.get():0);if(!enabled){scale.set(1);}else if(isHoveringRef.current&&props.children){scale.set(props.children.scale);}},[enabled]);useEffect(()=>{hasSpringRef.current=smoothing!==0;},[smoothing]);useEffect(()=>{let animationFrameId;const updateTransform=()=>{if(isCanvas){return;}animationFrameId=requestAnimationFrame(updateTransform);if(!parentRef.current||!styleRef.current){return;}const xValue=hasSpringRef.current?springX.get():x.get();const yValue=hasSpringRef.current?springY.get():y.get();const computedStyle=window.getComputedStyle(parentRef.current);const parentTransform=calculateTransform(parentRef.current,computedStyle,xValue*distance,yValue*distance,1,previousXRef.current*distance,previousYRef.current*distance,1,previousStyleTransformRef.current);// Store parent's style transform\npreviousStyleTransformRef.current=parentRef.current.style.transform;// Handle children transforms\nlet childrenStyles=\"\";if(props.children){const children=parentRef.current.children;const scaleValue=hasSpringRef.current?springScale.get():scale.get();const childrenXValue=xValue*props.children.distance;const childrenYValue=yValue*props.children.distance;for(let i=0;i<children.length;i++){const child=children[i];if(child===containerRef.current){continue;}const childComputedStyle=window.getComputedStyle(child);const childTransform=calculateTransform(child,childComputedStyle,childrenXValue,childrenYValue,scaleValue,previousChildrenXRef.current,previousChildrenYRef.current,previousChildrenScaleRef.current,previousChildrenStyleTransformsRef.current[i]);// Store child's style transform\npreviousChildrenStyleTransformsRef.current[i]=child.style.transform;childrenStyles+=`\n\t\t\t\t\t\t[data-magnetichover=\"${id}\"] > :nth-child(${i+1}) { \n\t\t\t\t\t\t\ttransform: ${childTransform} !important \n\t\t\t\t\t\t}\n\t\t\t\t\t`;}previousChildrenXRef.current=childrenXValue;previousChildrenYRef.current=childrenYValue;previousChildrenScaleRef.current=scaleValue;}transformRef.current=parentTransform;styleRef.current.textContent=`\n\t\t\t\t[data-magnetichover=\"${id}\"] { transform: ${parentTransform} !important }\n\t\t\t\t${childrenStyles}\n\t\t\t`;previousXRef.current=xValue;previousYRef.current=yValue;};if(ref.current){const container=ref.current.parentElement;if(container){containerRef.current=container;const parent=container.parentElement;if(parent){parentRef.current=parent;parent.setAttribute(\"data-magnetichover\",id);motionTransformRef.current=motion(parent,\"transform\");}}}// Start the animation loop\nupdateTransform();// Cleanup function\nreturn()=>{if(animationFrameId){cancelAnimationFrame(animationFrameId);}};},[props.children]);useEffect(()=>{const handleMouseMove=event=>{if(!parentRef.current){return;}const element=parentRef.current;const rect=element.getBoundingClientRect();const mouseXPos=event.clientX;const mouseYPos=event.clientY;const isHovering=mouseXPos>=rect.left-hoverArea&&mouseXPos<=rect.right+hoverArea&&mouseYPos>=rect.top-hoverArea&&mouseYPos<=rect.bottom+hoverArea;isHoveringRef.current=isHovering;if(isHovering){const displacementX=mouseXPos-(rect.left+rect.width/2);const displacementY=mouseYPos-(rect.top+rect.height/2);const normalizedX=displacementX/(rect.width/2);const normalizedY=displacementY/(rect.height/2);mouseX.set(normalizedX);mouseY.set(normalizedY);scale.set(enabled&&props.children?props.children.scale:1);}else{mouseX.set(0);mouseY.set(0);scale.set(1);}};window.addEventListener(\"mousemove\",handleMouseMove);return()=>window.removeEventListener(\"mousemove\",handleMouseMove);},[distance,x,y,transition,enabled,props.children]);return /*#__PURE__*/_jsx(\"div\",{ref:ref,style:{...props.style},children:/*#__PURE__*/_jsx(\"style\",{ref:styleRef})});}MagneticHover.displayName=\"Magnetic Hover\";addPropertyControls(MagneticHover,{enabled:{type:ControlType.Boolean,defaultValue:true},distance:{type:ControlType.Number,defaultValue:10,min:0,step:1,hidden:props=>!props.enabled},hoverArea:{type:ControlType.Number,defaultValue:10,min:0,step:1,hidden:props=>!props.enabled},children:{type:ControlType.Object,optional:true,controls:{distance:{type:ControlType.Number,defaultValue:10,min:0,step:1},scale:{type:ControlType.Number,defaultValue:1,min:0,step:.01}},hidden:props=>!props.enabled},smoothing:{type:ControlType.Number,defaultValue:50,min:0,max:100,step:1,description:\"More components at [Framer University](https://frameruni.link/cc).\"}});const CHARACTERS=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz\";function generateInstanceId(){const id=useMemo(()=>{let result=\"\";for(let i=0;i<13;i++){result+=CHARACTERS.charAt(Math.floor(Math.random()*CHARACTERS.length));}return result;},[]);return id;}function mapRange(value,fromLow,fromHigh,toLow,toHigh){if(fromLow===fromHigh){return toLow;}const percentage=(value-fromLow)/(fromHigh-fromLow);return toLow+percentage*(toHigh-toLow);}function calculateTransform(element,computedStyle,xValue,yValue,scale=1,previousX,previousY,previousScale,previousStyleTransform){xValue=xValue||0;yValue=yValue||0;previousX=previousX||0;previousY=previousY||0;scale=scale||1;previousScale=previousScale||1;// Get transform\nconst computedTransform=computedStyle.transform;const styleTransform=element.style.transform;// Subtract previous values from current values for a single transform\nconst finalX=xValue-previousX;const finalY=yValue-previousY;const finalScale=scale/(previousScale||1)// Prevent division by zero\n;const translateTransform=`translate(${finalX.toFixed(3)}px, ${finalY.toFixed(3)}px)`;const transformWithScale=scale!==1?`${translateTransform} scale(${finalScale})`:translateTransform;let transform=transformWithScale;if(styleTransform&&styleTransform!==\"none\"){if(previousStyleTransform&&previousStyleTransform!==\"none\"){transform=`${transformWithScale} ${invertTransform(previousStyleTransform)} ${styleTransform}`;}else{transform=`${transformWithScale} ${styleTransform}`;}}return computedTransform&&computedTransform!==\"none\"?`${transform} ${computedTransform}`:transform;}function invertTransform(transformString){const transforms=transformString.match(/\\w+\\([^)]+\\)/g)||[];const invertedTransforms=transforms.reverse().map(transform=>{const[func,valuesString]=transform.match(/(\\w+)\\(([^)]+)\\)/).slice(1);const values=valuesString.split(\",\").map(v=>v.trim());const invertNumber=v=>{const[_,sign,num,unit]=v.match(/^(-?)(\\d*\\.?\\d+)(\\D*)$/);return`${sign?\"\":\"-\"}${num}${unit}`;};switch(func.toLowerCase()){case\"translate\":case\"translate3d\":case\"translatex\":case\"translatey\":case\"translatez\":return`${func}(${values.map(invertNumber).join(\", \")})`;case\"scale\":case\"scale3d\":return`${func}(${values.map(v=>1/parseFloat(v)).join(\", \")})`;case\"scalex\":case\"scaley\":case\"scalez\":return`${func}(${1/parseFloat(values[0])})`;case\"rotate\":case\"rotatex\":case\"rotatey\":case\"rotatez\":return`${func}(${invertNumber(values[0])})`;case\"rotate3d\":const rotateValues=values.map(parseFloat);return`${func}(${rotateValues[0]}, ${rotateValues[1]}, ${rotateValues[2]}, ${invertNumber(values[3])})`;case\"skew\":case\"skewx\":case\"skewy\":return`${func}(${values.map(invertNumber).join(\", \")})`;case\"matrix\":case\"matrix3d\":console.warn(`Inverting ${func} is not supported. Returning original.`);return transform;default:console.warn(`Unknown transform function: ${func}. Returning original.`);return transform;}});return invertedTransforms.join(\" \");}\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MagneticHover\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutWidth\":\"auto\",\"framerContractVersion\":\"1\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutHeight\":\"auto\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MagneticHover_Prod.map","function addUniqueItem(t,e){-1===t.indexOf(e)&&t.push(e)}function removeItem(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const clamp=(t,e,n)=>Math.min(Math.max(n,t),e);const t={duration:.3,delay:0,endDelay:0,repeat:0,easing:\"ease\"};const isNumber=t=>\"number\"===typeof t;const isEasingList=t=>Array.isArray(t)&&!isNumber(t[0]);const wrap=(t,e,n)=>{const o=e-t;return((n-t)%o+o)%o+t};function getEasingForSegment(t,e){return isEasingList(t)?t[wrap(0,t.length,e)]:t}const mix=(t,e,n)=>-n*t+n*e+t;const noop=()=>{};const noopReturn=t=>t;const progress=(t,e,n)=>e-t===0?1:(n-t)/(e-t);function fillOffset(t,e){const n=t[t.length-1];for(let o=1;o<=e;o++){const s=progress(0,e,o);t.push(mix(n,1,s))}}function defaultOffset(t){const e=[0];fillOffset(e,t-1);return e}function interpolate(t,e=defaultOffset(t.length),n=noopReturn){const o=t.length;const s=o-e.length;s>0&&fillOffset(e,s);return s=>{let f=0;for(;f<o-2;f++)if(s<e[f+1])break;let r=clamp(0,1,progress(e[f],e[f+1],s));const c=getEasingForSegment(n,f);r=c(r);return mix(t[f],t[f+1],r)}}const isCubicBezier=t=>Array.isArray(t)&&isNumber(t[0]);const isEasingGenerator=t=>\"object\"===typeof t&&Boolean(t.createAnimation);const isFunction=t=>\"function\"===typeof t;const isString=t=>\"string\"===typeof t;const e={ms:t=>1e3*t,s:t=>t/1e3};\n/*\n  Convert velocity into velocity per second\n\n  @param [number]: Unit per frame\n  @param [number]: Frame duration in ms\n*/function velocityPerSecond(t,e){return e?t*(1e3/e):0}export{addUniqueItem,clamp,defaultOffset,t as defaults,fillOffset,getEasingForSegment,interpolate,isCubicBezier,isEasingGenerator,isEasingList,isFunction,isNumber,isString,mix,noop,noopReturn,progress,removeItem,e as time,velocityPerSecond,wrap};\n\n//# sourceMappingURL=index.es.js.map","import{noopReturn as t,clamp as n}from\"@motionone/utils\";const calcBezier=(t,n,e)=>(((1-3*e+3*n)*t+(3*e-6*n))*t+3*n)*t;const e=1e-7;const i=12;function binarySubdivide(t,n,o,r,c){let u;let a;let s=0;do{a=n+(o-n)/2;u=calcBezier(a,r,c)-t;u>0?o=a:n=a}while(Math.abs(u)>e&&++s<i);return a}function cubicBezier(n,e,i,o){if(n===e&&i===o)return t;const getTForX=t=>binarySubdivide(t,0,1,n,i);return t=>0===t||1===t?t:calcBezier(getTForX(t),e,o)}const steps=(t,e=\"end\")=>i=>{i=\"end\"===e?Math.min(i,.999):Math.max(i,.001);const o=i*t;const r=\"end\"===e?Math.floor(o):Math.ceil(o);return n(0,1,r/t)};export{cubicBezier,steps};\n\n//# sourceMappingURL=index.es.js.map","import{isFunction as t,isCubicBezier as i,noopReturn as e,defaults as s,isEasingGenerator as a,isEasingList as n,interpolate as r}from\"@motionone/utils\";import{cubicBezier as o,steps as h}from\"@motionone/easing\";const l={ease:o(.25,.1,.25,1),\"ease-in\":o(.42,0,1,1),\"ease-in-out\":o(.42,0,.58,1),\"ease-out\":o(0,0,.58,1)};const u=/\\((.*?)\\)/;function getEasingFunction(s){if(t(s))return s;if(i(s))return o(...s);const a=l[s];if(a)return a;if(s.startsWith(\"steps\")){const t=u.exec(s);if(t){const i=t[1].split(\",\");return h(parseFloat(i[0]),i[1].trim())}}return e}class Animation{constructor(t,i=[0,1],{easing:o,duration:h=s.duration,delay:l=s.delay,endDelay:u=s.endDelay,repeat:m=s.repeat,offset:c,direction:p=\"normal\",autoplay:d=true}={}){this.startTime=null;this.rate=1;this.t=0;this.cancelTimestamp=null;this.easing=e;this.duration=0;this.totalDuration=0;this.repeat=0;this.playState=\"idle\";this.finished=new Promise(((t,i)=>{this.resolve=t;this.reject=i}));o=o||s.easing;if(a(o)){const t=o.createAnimation(i);o=t.easing;i=t.keyframes||i;h=t.duration||h}this.repeat=m;this.easing=n(o)?e:getEasingFunction(o);this.updateDuration(h);const f=r(i,c,n(o)?o.map(getEasingFunction):e);this.tick=i=>{var e;l;let s=0;s=this.pauseTime!==void 0?this.pauseTime:(i-this.startTime)*this.rate;this.t=s;s/=1e3;s=Math.max(s-l,0);this.playState===\"finished\"&&this.pauseTime===void 0&&(s=this.totalDuration);const a=s/this.duration;let n=Math.floor(a);let r=a%1;!r&&a>=1&&(r=1);r===1&&n--;const o=n%2;(p===\"reverse\"||p===\"alternate\"&&o||p===\"alternate-reverse\"&&!o)&&(r=1-r);const h=s>=this.totalDuration?1:Math.min(r,1);const m=f(this.easing(h));t(m);const c=this.pauseTime===void 0&&(this.playState===\"finished\"||s>=this.totalDuration+u);if(c){this.playState=\"finished\";(e=this.resolve)===null||e===void 0?void 0:e.call(this,m)}else this.playState!==\"idle\"&&(this.frameRequestId=requestAnimationFrame(this.tick))};d&&this.play()}play(){const t=performance.now();this.playState=\"running\";this.pauseTime!==void 0?this.startTime=t-this.pauseTime:this.startTime||(this.startTime=t);this.cancelTimestamp=this.startTime;this.pauseTime=void 0;this.frameRequestId=requestAnimationFrame(this.tick)}pause(){this.playState=\"paused\";this.pauseTime=this.t}finish(){this.playState=\"finished\";this.tick(0)}stop(){var t;this.playState=\"idle\";this.frameRequestId!==void 0&&cancelAnimationFrame(this.frameRequestId);(t=this.reject)===null||t===void 0?void 0:t.call(this,false)}cancel(){this.stop();this.tick(this.cancelTimestamp)}reverse(){this.rate*=-1}commitStyles(){}updateDuration(t){this.duration=t;this.totalDuration=t*(this.repeat+1)}get currentTime(){return this.t}set currentTime(t){this.pauseTime!==void 0||this.rate===0?this.pauseTime=t:this.startTime=performance.now()-t/this.rate}get playbackRate(){return this.rate}set playbackRate(t){this.rate=t}}export{Animation,getEasingFunction};\n//# sourceMappingURL=index.es.js.map\n","var n={};Object.defineProperty(n,\"__esModule\",{value:true});n.warning=function(){};n.invariant=function(){};const e=n.__esModule,t=n.warning,r=n.invariant;export default n;export{e as __esModule,r as invariant,t as warning};\n\n//# sourceMappingURL=index.js.map","class MotionValue{setAnimation(i){this.animation=i;i===null||i===void 0?void 0:i.finished.then((()=>this.clearAnimation())).catch((()=>{}))}clearAnimation(){this.animation=this.generator=void 0}}export{MotionValue};\n//# sourceMappingURL=index.es.js.map\n","var extendStatics=function(e,t){extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])};return extendStatics(e,t)};function __extends(e,t){if(typeof t!==\"function\"&&t!==null)throw new TypeError(\"Class extends value \"+String(t)+\" is not a constructor or null\");extendStatics(e,t);function __(){this.constructor=e}e.prototype=t===null?Object.create(t):(__.prototype=t.prototype,new __)}var __assign=function(){__assign=Object.assign||function __assign(e){for(var t,r=1,n=arguments.length;r<n;r++){t=arguments[r];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e};return __assign.apply(this,arguments)};function __rest(e,t){var r={};for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&t.indexOf(n)<0&&(r[n]=e[n]);if(e!=null&&typeof Object.getOwnPropertySymbols===\"function\"){var o=0;for(n=Object.getOwnPropertySymbols(e);o<n.length;o++)t.indexOf(n[o])<0&&Object.prototype.propertyIsEnumerable.call(e,n[o])&&(r[n[o]]=e[n[o]])}return r}function __decorate(e,t,r,n){var o,a=arguments.length,i=a<3?t:n===null?n=Object.getOwnPropertyDescriptor(t,r):n;if(typeof Reflect===\"object\"&&typeof Reflect.decorate===\"function\")i=Reflect.decorate(e,t,r,n);else for(var c=e.length-1;c>=0;c--)(o=e[c])&&(i=(a<3?o(i):a>3?o(t,r,i):o(t,r))||i);return a>3&&i&&Object.defineProperty(t,r,i),i}function __param(e,t){return function(r,n){t(r,n,e)}}function __esDecorate(e,t,r,n,o,a){function accept(e){if(e!==void 0&&typeof e!==\"function\")throw new TypeError(\"Function expected\");return e}var i=n.kind,c=i===\"getter\"?\"get\":i===\"setter\"?\"set\":\"value\";var s=!t&&e?n.static?e:e.prototype:null;var l=t||(s?Object.getOwnPropertyDescriptor(s,n.name):{});var u,_=false;for(var f=r.length-1;f>=0;f--){var p={};for(var y in n)p[y]=y===\"access\"?{}:n[y];for(var y in n.access)p.access[y]=n.access[y];p.addInitializer=function(e){if(_)throw new TypeError(\"Cannot add initializers after decoration has completed\");a.push(accept(e||null))};var d=(0,r[f])(i===\"accessor\"?{get:l.get,set:l.set}:l[c],p);if(i===\"accessor\"){if(d===void 0)continue;if(d===null||typeof d!==\"object\")throw new TypeError(\"Object expected\");(u=accept(d.get))&&(l.get=u);(u=accept(d.set))&&(l.set=u);(u=accept(d.init))&&o.unshift(u)}else(u=accept(d))&&(i===\"field\"?o.unshift(u):l[c]=u)}s&&Object.defineProperty(s,n.name,l);_=true}function __runInitializers(e,t,r){var n=arguments.length>2;for(var o=0;o<t.length;o++)r=n?t[o].call(e,r):t[o].call(e);return n?r:void 0}function __propKey(e){return typeof e===\"symbol\"?e:\"\".concat(e)}function __setFunctionName(e,t,r){typeof t===\"symbol\"&&(t=t.description?\"[\".concat(t.description,\"]\"):\"\");return Object.defineProperty(e,\"name\",{configurable:true,value:r?\"\".concat(r,\" \",t):t})}function __metadata(e,t){if(typeof Reflect===\"object\"&&typeof Reflect.metadata===\"function\")return Reflect.metadata(e,t)}function __awaiter(e,t,r,n){function adopt(e){return e instanceof r?e:new r((function(t){t(e)}))}return new(r||(r=Promise))((function(r,o){function fulfilled(e){try{step(n.next(e))}catch(e){o(e)}}function rejected(e){try{step(n.throw(e))}catch(e){o(e)}}function step(e){e.done?r(e.value):adopt(e.value).then(fulfilled,rejected)}step((n=n.apply(e,t||[])).next())}))}function __generator(e,t){var r,n,o,a,i={label:0,sent:function(){if(o[0]&1)throw o[1];return o[1]},trys:[],ops:[]};return a={next:verb(0),throw:verb(1),return:verb(2)},typeof Symbol===\"function\"&&(a[Symbol.iterator]=function(){return this}),a;function verb(e){return function(t){return step([e,t])}}function step(c){if(r)throw new TypeError(\"Generator is already executing.\");while(a&&(a=0,c[0]&&(i=0)),i)try{if(r=1,n&&(o=c[0]&2?n.return:c[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,c[1])).done)return o;(n=0,o)&&(c=[c[0]&2,o.value]);switch(c[0]){case 0:case 1:o=c;break;case 4:i.label++;return{value:c[1],done:false};case 5:i.label++;n=c[1];c=[0];continue;case 7:c=i.ops.pop();i.trys.pop();continue;default:if(!(o=i.trys,o=o.length>0&&o[o.length-1])&&(c[0]===6||c[0]===2)){i=0;continue}if(c[0]===3&&(!o||c[1]>o[0]&&c[1]<o[3])){i.label=c[1];break}if(c[0]===6&&i.label<o[1]){i.label=o[1];o=c;break}if(o&&i.label<o[2]){i.label=o[2];i.ops.push(c);break}o[2]&&i.ops.pop();i.trys.pop();continue}c=t.call(e,i)}catch(e){c=[6,e];n=0}finally{r=o=0}if(c[0]&5)throw c[1];return{value:c[0]?c[1]:void 0,done:true}}}var e=Object.create?function(e,t,r,n){n===void 0&&(n=r);var o=Object.getOwnPropertyDescriptor(t,r);o&&!(\"get\"in o?!t.__esModule:o.writable||o.configurable)||(o={enumerable:true,get:function(){return t[r]}});Object.defineProperty(e,n,o)}:function(e,t,r,n){n===void 0&&(n=r);e[n]=t[r]};function __exportStar(t,r){for(var n in t)n===\"default\"||Object.prototype.hasOwnProperty.call(r,n)||e(r,t,n)}function __values(e){var t=typeof Symbol===\"function\"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length===\"number\")return{next:function(){e&&n>=e.length&&(e=void 0);return{value:e&&e[n++],done:!e}}};throw new TypeError(t?\"Object is not iterable.\":\"Symbol.iterator is not defined.\")}function __read(e,t){var r=typeof Symbol===\"function\"&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),i=[];try{while((t===void 0||t-- >0)&&!(n=a.next()).done)i.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return i}\n/** @deprecated */function __spread(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(__read(arguments[t]));return e}\n/** @deprecated */function __spreadArrays(){for(var e=0,t=0,r=arguments.length;t<r;t++)e+=arguments[t].length;var n=Array(e),o=0;for(t=0;t<r;t++)for(var a=arguments[t],i=0,c=a.length;i<c;i++,o++)n[o]=a[i];return n}function __spreadArray(e,t,r){if(r||arguments.length===2)for(var n,o=0,a=t.length;o<a;o++)if(n||!(o in t)){n||(n=Array.prototype.slice.call(t,0,o));n[o]=t[o]}return e.concat(n||Array.prototype.slice.call(t))}function __await(e){return this instanceof __await?(this.v=e,this):new __await(e)}function __asyncGenerator(e,t,r){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var n,o=r.apply(e,t||[]),a=[];return n={},verb(\"next\"),verb(\"throw\"),verb(\"return\",awaitReturn),n[Symbol.asyncIterator]=function(){return this},n;function awaitReturn(e){return function(t){return Promise.resolve(t).then(e,reject)}}function verb(e,t){if(o[e]){n[e]=function(t){return new Promise((function(r,n){a.push([e,t,r,n])>1||resume(e,t)}))};t&&(n[e]=t(n[e]))}}function resume(e,t){try{step(o[e](t))}catch(e){settle(a[0][3],e)}}function step(e){e.value instanceof __await?Promise.resolve(e.value.v).then(fulfill,reject):settle(a[0][2],e)}function fulfill(e){resume(\"next\",e)}function reject(e){resume(\"throw\",e)}function settle(e,t){(e(t),a.shift(),a.length)&&resume(a[0][0],a[0][1])}}function __asyncDelegator(e){var t,r;return t={},verb(\"next\"),verb(\"throw\",(function(e){throw e})),verb(\"return\"),t[Symbol.iterator]=function(){return this},t;function verb(n,o){t[n]=e[n]?function(t){return(r=!r)?{value:__await(e[n](t)),done:false}:o?o(t):t}:o}}function __asyncValues(e){if(!Symbol.asyncIterator)throw new TypeError(\"Symbol.asyncIterator is not defined.\");var t,r=e[Symbol.asyncIterator];return r?r.call(e):(e=typeof __values===\"function\"?__values(e):e[Symbol.iterator](),t={},verb(\"next\"),verb(\"throw\"),verb(\"return\"),t[Symbol.asyncIterator]=function(){return this},t);function verb(r){t[r]=e[r]&&function(t){return new Promise((function(n,o){t=e[r](t),settle(n,o,t.done,t.value)}))}}function settle(e,t,r,n){Promise.resolve(n).then((function(t){e({value:t,done:r})}),t)}}function __makeTemplateObject(e,t){Object.defineProperty?Object.defineProperty(e,\"raw\",{value:t}):e.raw=t;return e}var t=Object.create?function(e,t){Object.defineProperty(e,\"default\",{enumerable:true,value:t})}:function(e,t){e.default=t};function __importStar(r){if(r&&r.__esModule)return r;var n={};if(r!=null)for(var o in r)o!==\"default\"&&Object.prototype.hasOwnProperty.call(r,o)&&e(n,r,o);t(n,r);return n}function __importDefault(e){return e&&e.__esModule?e:{default:e}}function __classPrivateFieldGet(e,t,r,n){if(r===\"a\"&&!n)throw new TypeError(\"Private accessor was defined without a getter\");if(typeof t===\"function\"?e!==t||!n:!t.has(e))throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");return r===\"m\"?n:r===\"a\"?n.call(e):n?n.value:t.get(e)}function __classPrivateFieldSet(e,t,r,n,o){if(n===\"m\")throw new TypeError(\"Private method is not writable\");if(n===\"a\"&&!o)throw new TypeError(\"Private accessor was defined without a setter\");if(typeof t===\"function\"?e!==t||!o:!t.has(e))throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");return n===\"a\"?o.call(e,r):o?o.value=r:t.set(e,r),r}function __classPrivateFieldIn(e,t){if(t===null||typeof t!==\"object\"&&typeof t!==\"function\")throw new TypeError(\"Cannot use 'in' operator on non-object\");return typeof e===\"function\"?t===e:e.has(t)}function __addDisposableResource(e,t,r){if(t!==null&&t!==void 0){if(typeof t!==\"object\"&&typeof t!==\"function\")throw new TypeError(\"Object expected.\");var n,o;if(r){if(!Symbol.asyncDispose)throw new TypeError(\"Symbol.asyncDispose is not defined.\");n=t[Symbol.asyncDispose]}if(n===void 0){if(!Symbol.dispose)throw new TypeError(\"Symbol.dispose is not defined.\");n=t[Symbol.dispose];r&&(o=n)}if(typeof n!==\"function\")throw new TypeError(\"Object not disposable.\");o&&(n=function(){try{o.call(this)}catch(e){return Promise.reject(e)}});e.stack.push({value:t,dispose:n,async:r})}else r&&e.stack.push({async:true});return t}var r=typeof SuppressedError===\"function\"?SuppressedError:function(e,t,r){var n=new Error(r);return n.name=\"SuppressedError\",n.error=e,n.suppressed=t,n};function __disposeResources(e){function fail(t){e.error=e.hasError?new r(t,e.error,\"An error was suppressed during disposal.\"):t;e.hasError=true}function next(){while(e.stack.length){var t=e.stack.pop();try{var r=t.dispose&&t.dispose.call(t.value);if(t.async)return Promise.resolve(r).then(next,(function(e){fail(e);return next()}))}catch(e){fail(e)}}if(e.hasError)throw e.error}return next()}var n={__extends:__extends,__assign:__assign,__rest:__rest,__decorate:__decorate,__param:__param,__metadata:__metadata,__awaiter:__awaiter,__generator:__generator,__createBinding:e,__exportStar:__exportStar,__values:__values,__read:__read,__spread:__spread,__spreadArrays:__spreadArrays,__spreadArray:__spreadArray,__await:__await,__asyncGenerator:__asyncGenerator,__asyncDelegator:__asyncDelegator,__asyncValues:__asyncValues,__makeTemplateObject:__makeTemplateObject,__importStar:__importStar,__importDefault:__importDefault,__classPrivateFieldGet:__classPrivateFieldGet,__classPrivateFieldSet:__classPrivateFieldSet,__classPrivateFieldIn:__classPrivateFieldIn,__addDisposableResource:__addDisposableResource,__disposeResources:__disposeResources};export{__addDisposableResource,__assign,__asyncDelegator,__asyncGenerator,__asyncValues,__await,__awaiter,__classPrivateFieldGet,__classPrivateFieldIn,__classPrivateFieldSet,e as __createBinding,__decorate,__disposeResources,__esDecorate,__exportStar,__extends,__generator,__importDefault,__importStar,__makeTemplateObject,__metadata,__param,__propKey,__read,__rest,__runInitializers,__setFunctionName,__spread,__spreadArray,__spreadArrays,__values,n as default};\n//# sourceMappingURL=tslib.es6.mjs.map\n","import{velocityPerSecond as e,time as t,noopReturn as s}from\"@motionone/utils\";const n=5;function calcGeneratorVelocity(t,s,r){const a=Math.max(s-n,0);return e(r-t(a),s-a)}const r={stiffness:100,damping:10,mass:1};const calcDampingRatio=(e=r.stiffness,t=r.damping,s=r.mass)=>t/(2*Math.sqrt(e*s));function hasReachedTarget(e,t,s){return e<t&&s>=t||e>t&&s<=t}const spring=({stiffness:e=r.stiffness,damping:s=r.damping,mass:n=r.mass,from:a=0,to:o=1,velocity:c=0,restSpeed:i,restDistance:h}={})=>{c=c?t.s(c):0;const u={done:false,hasReachedTarget:false,current:a,target:o};const d=o-a;const f=Math.sqrt(e/n)/1e3;const l=calcDampingRatio(e,s,n);const g=Math.abs(d)<5;i||(i=g?.01:2);h||(h=g?.005:.5);let m;if(l<1){const e=f*Math.sqrt(1-l*l);m=t=>o-Math.exp(-l*f*t)*((l*f*d-c)/e*Math.sin(e*t)+d*Math.cos(e*t))}else m=e=>o-Math.exp(-f*e)*(d+(f*d-c)*e);return e=>{u.current=m(e);const t=e===0?c:calcGeneratorVelocity(m,e,u.current);const s=Math.abs(t)<=i;const n=Math.abs(o-u.current)<=h;u.done=s&&n;u.hasReachedTarget=hasReachedTarget(a,o,u.current);return u}};const glide=({from:e=0,velocity:s=0,power:n=.8,decay:r=.325,bounceDamping:a,bounceStiffness:o,changeTarget:c,min:i,max:h,restDistance:u=.5,restSpeed:d})=>{r=t.ms(r);const f={hasReachedTarget:false,done:false,current:e,target:e};const isOutOfBounds=e=>i!==void 0&&e<i||h!==void 0&&e>h;const nearestBoundary=e=>i===void 0?h:h===void 0||Math.abs(i-e)<Math.abs(h-e)?i:h;let l=n*s;const g=e+l;const m=c===void 0?g:c(g);f.target=m;m!==g&&(l=m-e);const calcDelta=e=>-l*Math.exp(-e/r);const calcLatest=e=>m+calcDelta(e);const applyFriction=e=>{const t=calcDelta(e);const s=calcLatest(e);f.done=Math.abs(t)<=u;f.current=f.done?m:s};let p;let M;const checkCatchBoundary=e=>{if(isOutOfBounds(f.current)){p=e;M=spring({from:f.current,to:nearestBoundary(f.current),velocity:calcGeneratorVelocity(calcLatest,e,f.current),damping:a,stiffness:o,restDistance:u,restSpeed:d})}};checkCatchBoundary(0);return e=>{let t=false;if(!M&&p===void 0){t=true;applyFriction(e);checkCatchBoundary(e)}if(p!==void 0&&e>p){f.hasReachedTarget=true;return M(e-p)}f.hasReachedTarget=false;!t&&applyFriction(e);return f}};const a=10;const o=1e4;function pregenerateKeyframes(e,t=s){let n;let r=a;let c=e(0);const i=[t(c.current)];while(!c.done&&r<o){c=e(r);i.push(t(c.done?c.target:c.current));n===void 0&&c.hasReachedTarget&&(n=r);r+=a}const h=r-a;i.length===1&&i.push(c.current);return{keyframes:i,duration:h/1e3,overshootDuration:(n!==null&&n!==void 0?n:h)/1e3}}export{calcGeneratorVelocity,glide,pregenerateKeyframes,spring};\n//# sourceMappingURL=index.es.js.map\n","import{getEasingFunction as e,Animation as t}from\"@motionone/animation\";import{invariant as n}from\"hey-listen\";import{MotionValue as o}from\"@motionone/types\";import{noopReturn as i,addUniqueItem as s,progress as r,isFunction as a,defaults as c,isCubicBezier as l,isString as f,isEasingGenerator as u,isEasingList as d,isNumber as g,time as m,noop as h,removeItem as p,mix as v,getEasingForSegment as y,defaultOffset as w,fillOffset as E,velocityPerSecond as b,interpolate as A}from\"@motionone/utils\";import{__rest as S}from\"tslib\";import{pregenerateKeyframes as O,calcGeneratorVelocity as x,spring as z,glide as V}from\"@motionone/generators\";const W=new WeakMap;function getAnimationData(e){W.has(e)||W.set(e,{transforms:[],values:new Map});return W.get(e)}function getMotionValue(e,t){e.has(t)||e.set(t,new o);return e.get(t)}const L=[\"\",\"X\",\"Y\",\"Z\"];const T=[\"translate\",\"scale\",\"rotate\",\"skew\"];const M={x:\"translateX\",y:\"translateY\",z:\"translateZ\"};const D={syntax:\"<angle>\",initialValue:\"0deg\",toDefaultUnit:e=>e+\"deg\"};const B={translate:{syntax:\"<length-percentage>\",initialValue:\"0px\",toDefaultUnit:e=>e+\"px\"},rotate:D,scale:{syntax:\"<number>\",initialValue:1,toDefaultUnit:i},skew:D};const k=new Map;const asTransformCssVar=e=>`--motion-${e}`;const N=[\"x\",\"y\",\"z\"];T.forEach((e=>{L.forEach((t=>{N.push(e+t);k.set(asTransformCssVar(e+t),B[e])}))}));const compareTransformOrder=(e,t)=>N.indexOf(e)-N.indexOf(t);const $=new Set(N);const isTransform=e=>$.has(e);const addTransformToElement=(e,t)=>{M[t]&&(t=M[t]);const{transforms:n}=getAnimationData(e);s(n,t);e.style.transform=buildTransformTemplate(n)};const buildTransformTemplate=e=>e.sort(compareTransformOrder).reduce(transformListToString,\"\").trim();const transformListToString=(e,t)=>`${e} ${t}(var(${asTransformCssVar(t)}))`;const isCssVar=e=>e.startsWith(\"--\");const C=new Set;function registerCssVariable(e){if(!C.has(e)){C.add(e);try{const{syntax:t,initialValue:n}=k.has(e)?k.get(e):{};CSS.registerProperty({name:e,inherits:false,syntax:t,initialValue:n})}catch(e){}}}const testAnimation=(e,t)=>document.createElement(\"div\").animate(e,t);const j={cssRegisterProperty:()=>typeof CSS!==\"undefined\"&&Object.hasOwnProperty.call(CSS,\"registerProperty\"),waapi:()=>Object.hasOwnProperty.call(Element.prototype,\"animate\"),partialKeyframes:()=>{try{testAnimation({opacity:[1]})}catch(e){return false}return true},finished:()=>Boolean(testAnimation({opacity:[0,1]},{duration:.001}).finished),linearEasing:()=>{try{testAnimation({opacity:0},{easing:\"linear(0, 1)\"})}catch(e){return false}return true}};const P={};const R={};for(const e in j)R[e]=()=>{P[e]===void 0&&(P[e]=j[e]());return P[e]};const H=.015;const generateLinearEasingPoints=(e,t)=>{let n=\"\";const o=Math.round(t/H);for(let t=0;t<o;t++)n+=e(r(0,o-1,t))+\", \";return n.substring(0,n.length-2)};const convertEasing=(e,t)=>a(e)?R.linearEasing()?`linear(${generateLinearEasingPoints(e,t)})`:c.easing:l(e)?cubicBezierAsString(e):e;const cubicBezierAsString=([e,t,n,o])=>`cubic-bezier(${e}, ${t}, ${n}, ${o})`;function hydrateKeyframes(e,t){for(let n=0;n<e.length;n++)e[n]===null&&(e[n]=n?e[n-1]:t());return e}const keyframesList=e=>Array.isArray(e)?e:[e];function getStyleName(e){M[e]&&(e=M[e]);return isTransform(e)?asTransformCssVar(e):e}const I={get:(e,t)=>{t=getStyleName(t);let n=isCssVar(t)?e.style.getPropertyValue(t):getComputedStyle(e)[t];if(!n&&n!==0){const e=k.get(t);e&&(n=e.initialValue)}return n},set:(e,t,n)=>{t=getStyleName(t);isCssVar(t)?e.style.setProperty(t,n):e.style[t]=n}};function stopAnimation(e,t=true){if(e&&e.playState!==\"finished\")try{if(e.stop)e.stop();else{t&&e.commitStyles();e.cancel()}}catch(e){}}function getUnitConverter(e,t){var n;let o=(t===null||t===void 0?void 0:t.toDefaultUnit)||i;const s=e[e.length-1];if(f(s)){const e=((n=s.match(/(-?[\\d.]+)([a-z%]*)/))===null||n===void 0?void 0:n[2])||\"\";e&&(o=t=>t+e)}return o}function getDevToolsRecord(){return window.__MOTION_DEV_TOOLS_RECORD}function animateStyle(e,t,n,o={},i){const s=getDevToolsRecord();const r=o.record!==false&&s;let l;let{duration:f=c.duration,delay:p=c.delay,endDelay:v=c.endDelay,repeat:y=c.repeat,easing:w=c.easing,persist:E=false,direction:b,offset:A,allowWebkitAcceleration:S=false,autoplay:O=true}=o;const x=getAnimationData(e);const z=isTransform(t);let V=R.waapi();z&&addTransformToElement(e,t);const W=getStyleName(t);const L=getMotionValue(x.values,W);const T=k.get(W);stopAnimation(L.animation,!(u(w)&&L.generator)&&o.record!==false);return()=>{const readInitialValue=()=>{var t,n;return(n=(t=I.get(e,W))!==null&&t!==void 0?t:T===null||T===void 0?void 0:T.initialValue)!==null&&n!==void 0?n:0};let c=hydrateKeyframes(keyframesList(n),readInitialValue);const x=getUnitConverter(c,T);if(u(w)){const e=w.createAnimation(c,t!==\"opacity\",readInitialValue,W,L);w=e.easing;c=e.keyframes||c;f=e.duration||f}isCssVar(W)&&(R.cssRegisterProperty()?registerCssVariable(W):V=false);z&&!R.linearEasing()&&(a(w)||d(w)&&w.some(a))&&(V=false);if(V){T&&(c=c.map((e=>g(e)?T.toDefaultUnit(e):e)));c.length!==1||R.partialKeyframes()&&!r||c.unshift(readInitialValue());const t={delay:m.ms(p),duration:m.ms(f),endDelay:m.ms(v),easing:d(w)?void 0:convertEasing(w,f),direction:b,iterations:y+1,fill:\"both\"};l=e.animate({[W]:c,offset:A,easing:d(w)?w.map((e=>convertEasing(e,f))):void 0},t);l.finished||(l.finished=new Promise(((e,t)=>{l.onfinish=e;l.oncancel=t})));const n=c[c.length-1];l.finished.then((()=>{if(!E){I.set(e,W,n);l.cancel()}})).catch(h);S||(l.playbackRate=1.000001)}else if(i&&z){c=c.map((e=>typeof e===\"string\"?parseFloat(e):e));c.length===1&&c.unshift(parseFloat(readInitialValue()));l=new i((t=>{I.set(e,W,x?x(t):t)}),c,Object.assign(Object.assign({},o),{duration:f,easing:w}))}else{const t=c[c.length-1];I.set(e,W,T&&g(t)?T.toDefaultUnit(t):t)}r&&s(e,t,c,{duration:f,delay:p,easing:w,repeat:y,offset:A},\"motion-one\");L.setAnimation(l);l&&!O&&l.pause();return l}}const getOptions=(e,t)=>e[t]?Object.assign(Object.assign({},e),e[t]):Object.assign({},e);function resolveElements(e,t){var n;if(typeof e===\"string\")if(t){(n=t[e])!==null&&n!==void 0?n:t[e]=document.querySelectorAll(e);e=t[e]}else e=document.querySelectorAll(e);else e instanceof Element&&(e=[e]);return Array.from(e||[])}const createAnimation=e=>e();const withControls=(e,t,n=c.duration)=>new Proxy({animations:e.map(createAnimation).filter(Boolean),duration:n,options:t},U);const getActiveAnimation=e=>e.animations[0];const U={get:(e,t)=>{const n=getActiveAnimation(e);switch(t){case\"duration\":return e.duration;case\"currentTime\":return m.s((n===null||n===void 0?void 0:n[t])||0);case\"playbackRate\":case\"playState\":return n===null||n===void 0?void 0:n[t];case\"finished\":e.finished||(e.finished=Promise.all(e.animations.map(selectFinished)).catch(h));return e.finished;case\"stop\":return()=>{e.animations.forEach((e=>stopAnimation(e)))};case\"forEachNative\":return t=>{e.animations.forEach((n=>t(n,e)))};default:return typeof(n===null||n===void 0?void 0:n[t])===\"undefined\"?void 0:()=>e.animations.forEach((e=>e[t]()))}},set:(e,t,n)=>{switch(t){case\"currentTime\":n=m.ms(n);case\"playbackRate\":for(let o=0;o<e.animations.length;o++)e.animations[o][t]=n;return true}return false}};const selectFinished=e=>e.finished;function stagger(t=.1,{start:n=0,from:o=0,easing:i}={}){return(s,r)=>{const a=g(o)?o:getFromIndex(o,r);const c=Math.abs(a-s);let l=t*c;if(i){const n=r*t;const o=e(i);l=o(l/n)*n}return n+l}}function getFromIndex(e,t){if(e===\"first\")return 0;{const n=t-1;return e===\"last\"?n:n/2}}function resolveOption(e,t,n){return a(e)?e(t,n):e}function createAnimate(e){return function animate(t,o,i={}){t=resolveElements(t);const s=t.length;n(Boolean(s),\"No valid element provided.\");n(Boolean(o),\"No keyframes defined.\");const r=[];for(let n=0;n<s;n++){const a=t[n];for(const t in o){const c=getOptions(i,t);c.delay=resolveOption(c.delay,n,s);const l=animateStyle(a,t,o[t],c,e);r.push(l)}}return withControls(r,i,i.duration)}}const F=createAnimate(t);function calcNextTime(e,t,n,o){var i;return g(t)?t:t.startsWith(\"-\")||t.startsWith(\"+\")?Math.max(0,e+parseFloat(t)):t===\"<\"?n:(i=o.get(t))!==null&&i!==void 0?i:e}function eraseKeyframes(e,t,n){for(let o=0;o<e.length;o++){const i=e[o];if(i.at>t&&i.at<n){p(e,i);o--}}}function addKeyframes(e,t,n,o,i,s){eraseKeyframes(e,i,s);for(let r=0;r<t.length;r++)e.push({value:t[r],at:v(i,s,o[r]),easing:y(n,r)})}function compareByTime(e,t){return e.at===t.at?e.value===null?1:-1:e.at-t.at}function timeline(e,n={}){var o;const i=createAnimationsFromTimeline(e,n);const s=i.map((e=>animateStyle(...e,t))).filter(Boolean);return withControls(s,n,(o=i[0])===null||o===void 0?void 0:o[3].duration)}function createAnimationsFromTimeline(e,t={}){var{defaultOptions:o={}}=t,i=S(t,[\"defaultOptions\"]);const s=[];const a=new Map;const l={};const d=new Map;let g=0;let m=0;let h=0;for(let t=0;t<e.length;t++){const i=e[t];if(f(i)){d.set(i,m);continue}if(!Array.isArray(i)){d.set(i.name,calcNextTime(m,i.at,g,d));continue}const[s,r,p={}]=i;p.at!==void 0&&(m=calcNextTime(m,p.at,g,d));let v=0;const y=resolveElements(s,l);const b=y.length;for(let e=0;e<b;e++){const t=y[e];const i=getElementSequence(t,a);for(const t in r){const s=getValueSequence(t,i);let a=keyframesList(r[t]);const l=getOptions(p,t);let{duration:f=o.duration||c.duration,easing:d=o.easing||c.easing}=l;if(u(d)){n(t===\"opacity\"||a.length>1,\"spring must be provided 2 keyframes within timeline()\");const e=d.createAnimation(a,t!==\"opacity\",(()=>0),t);d=e.easing;a=e.keyframes||a;f=e.duration||f}const g=resolveOption(p.delay,e,b)||0;const y=m+g;const A=y+f;let{offset:S=w(a.length)}=l;S.length===1&&S[0]===0&&(S[1]=1);const O=S.length-a.length;O>0&&E(S,O);a.length===1&&a.unshift(null);addKeyframes(s,a,d,S,y,A);v=Math.max(g+f,v);h=Math.max(A,h)}}g=m;m+=v}a.forEach(((e,t)=>{for(const n in e){const a=e[n];a.sort(compareByTime);const l=[];const f=[];const u=[];for(let e=0;e<a.length;e++){const{at:t,value:n,easing:o}=a[e];l.push(n);f.push(r(0,h,t));u.push(o||c.easing)}if(f[0]!==0){f.unshift(0);l.unshift(l[0]);u.unshift(\"linear\")}if(f[f.length-1]!==1){f.push(1);l.push(null)}s.push([t,n,l,Object.assign(Object.assign(Object.assign({},o),{duration:h,easing:u,offset:f}),i)])}}));return s}function getElementSequence(e,t){!t.has(e)&&t.set(e,{});return t.get(e)}function getValueSequence(e,t){t[e]||(t[e]=[]);return t[e]}function canGenerate(e){return g(e)&&!isNaN(e)}function getAsNumber(e){return f(e)?parseFloat(e):e}function createGeneratorEasing(e){const t=new WeakMap;return(n={})=>{const o=new Map;const getGenerator=(t=0,i=100,s=0,r=false)=>{const a=`${t}-${i}-${s}-${r}`;o.has(a)||o.set(a,e(Object.assign({from:t,to:i,velocity:s},n)));return o.get(a)};const getKeyframes=(e,n)=>{t.has(e)||t.set(e,O(e,n));return t.get(e)};return{createAnimation:(e,t=true,n,o,s)=>{let r;let a;let c;let l=0;let f=i;const u=e.length;if(t){f=getUnitConverter(e,o?k.get(getStyleName(o)):void 0);const t=e[u-1];c=getAsNumber(t);if(u>1&&e[0]!==null)a=getAsNumber(e[0]);else{const e=s===null||s===void 0?void 0:s.generator;if(e){const{animation:t,generatorStartTime:n}=s;const o=(t===null||t===void 0?void 0:t.startTime)||n||0;const i=(t===null||t===void 0?void 0:t.currentTime)||performance.now()-o;const r=e(i).current;a=r;l=x((t=>e(t).current),i,r)}else n&&(a=getAsNumber(n()))}}if(canGenerate(a)&&canGenerate(c)){const e=getGenerator(a,c,l,o===null||o===void 0?void 0:o.includes(\"scale\"));r=Object.assign(Object.assign({},getKeyframes(e,f)),{easing:\"linear\"});if(s){s.generator=e;s.generatorStartTime=performance.now()}}if(!r){const e=getKeyframes(getGenerator(0,100));r={easing:\"ease\",duration:e.overshootDuration}}return r}}}}const G=createGeneratorEasing(z);const q=createGeneratorEasing(V);const K={any:0,all:1};function inView$1(e,t,{root:n,margin:o,amount:i=\"any\"}={}){if(typeof IntersectionObserver===\"undefined\")return()=>{};const s=resolveElements(e);const r=new WeakMap;const onIntersectionChange=e=>{e.forEach((e=>{const n=r.get(e.target);if(e.isIntersecting!==Boolean(n))if(e.isIntersecting){const n=t(e);a(n)?r.set(e.target,n):c.unobserve(e.target)}else if(n){n(e);r.delete(e.target)}}))};const c=new IntersectionObserver(onIntersectionChange,{root:n,rootMargin:o,threshold:typeof i===\"number\"?i:K[i]});s.forEach((e=>c.observe(e)));return()=>c.disconnect()}const _=new WeakMap;let Z;function getElementSize(e,t){if(t){const{inlineSize:e,blockSize:n}=t[0];return{width:e,height:n}}return e instanceof SVGElement&&\"getBBox\"in e?e.getBBox():{width:e.offsetWidth,height:e.offsetHeight}}function notifyTarget({target:e,contentRect:t,borderBoxSize:n}){var o;(o=_.get(e))===null||o===void 0?void 0:o.forEach((o=>{o({target:e,contentSize:t,get size(){return getElementSize(e,n)}})}))}function notifyAll(e){e.forEach(notifyTarget)}function createResizeObserver(){typeof ResizeObserver!==\"undefined\"&&(Z=new ResizeObserver(notifyAll))}function resizeElement(e,t){Z||createResizeObserver();const n=resolveElements(e);n.forEach((e=>{let n=_.get(e);if(!n){n=new Set;_.set(e,n)}n.add(t);Z===null||Z===void 0?void 0:Z.observe(e)}));return()=>{n.forEach((e=>{const n=_.get(e);n===null||n===void 0?void 0:n.delete(t);(n===null||n===void 0?void 0:n.size)||(Z===null||Z===void 0?void 0:Z.unobserve(e))}))}}const X=new Set;let Y;function createWindowResizeHandler(){Y=()=>{const e={width:window.innerWidth,height:window.innerHeight};const t={target:window,size:e,contentSize:e};X.forEach((e=>e(t)))};window.addEventListener(\"resize\",Y)}function resizeWindow(e){X.add(e);Y||createWindowResizeHandler();return()=>{X.delete(e);!X.size&&Y&&(Y=void 0)}}function resize(e,t){return a(e)?resizeWindow(e):resizeElement(e,t)}const J=50;const createAxisInfo=()=>({current:0,offset:[],progress:0,scrollLength:0,targetOffset:0,targetLength:0,containerLength:0,velocity:0});const createScrollInfo=()=>({time:0,x:createAxisInfo(),y:createAxisInfo()});const Q={x:{length:\"Width\",position:\"Left\"},y:{length:\"Height\",position:\"Top\"}};function updateAxisInfo(e,t,n,o){const i=n[t];const{length:s,position:a}=Q[t];const c=i.current;const l=n.time;i.current=e[`scroll${a}`];i.scrollLength=e[`scroll${s}`]-e[`client${s}`];i.offset.length=0;i.offset[0]=0;i.offset[1]=i.scrollLength;i.progress=r(0,i.scrollLength,i.current);const f=o-l;i.velocity=f>J?0:b(i.current-c,f)}function updateScrollInfo(e,t,n){updateAxisInfo(e,\"x\",t,n);updateAxisInfo(e,\"y\",t,n);t.time=n}function calcInset(e,t){let n={x:0,y:0};let o=e;while(o&&o!==t)if(o instanceof HTMLElement){n.x+=o.offsetLeft;n.y+=o.offsetTop;o=o.offsetParent}else if(o instanceof SVGGraphicsElement&&\"getBBox\"in o){const{top:e,left:t}=o.getBBox();n.x+=t;n.y+=e;while(o&&o.tagName!==\"svg\")o=o.parentNode}return n}const ee={Enter:[[0,1],[1,1]],Exit:[[0,0],[1,0]],Any:[[1,0],[0,1]],All:[[0,0],[1,1]]};const te={start:0,center:.5,end:1};function resolveEdge(e,t,n=0){let o=0;te[e]!==void 0&&(e=te[e]);if(f(e)){const t=parseFloat(e);e.endsWith(\"px\")?o=t:e.endsWith(\"%\")?e=t/100:e.endsWith(\"vw\")?o=t/100*document.documentElement.clientWidth:e.endsWith(\"vh\")?o=t/100*document.documentElement.clientHeight:e=t}g(e)&&(o=t*e);return n+o}const ne=[0,0];function resolveOffset(e,t,n,o){let i=Array.isArray(e)?e:ne;let s=0;let r=0;if(g(e))i=[e,e];else if(f(e)){e=e.trim();i=e.includes(\" \")?e.split(\" \"):[e,te[e]?e:\"0\"]}s=resolveEdge(i[0],n,o);r=resolveEdge(i[1],t);return s-r}const oe={x:0,y:0};function resolveOffsets(e,t,n){let{offset:o=ee.All}=n;const{target:i=e,axis:s=\"y\"}=n;const r=s===\"y\"?\"height\":\"width\";const a=i!==e?calcInset(i,e):oe;const c=i===e?{width:e.scrollWidth,height:e.scrollHeight}:{width:i.clientWidth,height:i.clientHeight};const l={width:e.clientWidth,height:e.clientHeight};t[s].offset.length=0;let f=!t[s].interpolate;const u=o.length;for(let e=0;e<u;e++){const n=resolveOffset(o[e],l[r],c[r],a[s]);f||n===t[s].interpolatorOffsets[e]||(f=true);t[s].offset[e]=n}if(f){t[s].interpolate=A(w(u),t[s].offset);t[s].interpolatorOffsets=[...t[s].offset]}t[s].progress=t[s].interpolate(t[s].current)}function measure(e,t=e,n){n.x.targetOffset=0;n.y.targetOffset=0;if(t!==e){let o=t;while(o&&o!=e){n.x.targetOffset+=o.offsetLeft;n.y.targetOffset+=o.offsetTop;o=o.offsetParent}}n.x.targetLength=t===e?t.scrollWidth:t.clientWidth;n.y.targetLength=t===e?t.scrollHeight:t.clientHeight;n.x.containerLength=e.clientWidth;n.y.containerLength=e.clientHeight}function createOnScrollHandler(e,t,n,o={}){const i=o.axis||\"y\";return{measure:()=>measure(e,o.target,n),update:t=>{updateScrollInfo(e,n,t);(o.offset||o.target)&&resolveOffsets(e,n,o)},notify:a(t)?()=>t(n):scrubAnimation(t,n[i])}}function scrubAnimation(e,t){e.pause();e.forEachNative(((e,{easing:t})=>{var n,o;if(e.updateDuration){t||(e.easing=i);e.updateDuration(1)}else{const i={duration:1e3};t||(i.easing=\"linear\");(o=(n=e.effect)===null||n===void 0?void 0:n.updateTiming)===null||o===void 0?void 0:o.call(n,i)}}));return()=>{e.currentTime=t.progress}}const ie=new WeakMap;const se=new WeakMap;const re=new WeakMap;const getEventTarget=e=>e===document.documentElement?window:e;function scroll(e,t={}){var{container:n=document.documentElement}=t,o=S(t,[\"container\"]);let i=re.get(n);if(!i){i=new Set;re.set(n,i)}const s=createScrollInfo();const r=createOnScrollHandler(n,e,s,o);i.add(r);if(!ie.has(n)){const listener=()=>{const e=performance.now();for(const e of i)e.measure();for(const t of i)t.update(e);for(const e of i)e.notify()};ie.set(n,listener);const e=getEventTarget(n);window.addEventListener(\"resize\",listener,{passive:true});n!==document.documentElement&&se.set(n,resize(n,listener));e.addEventListener(\"scroll\",listener,{passive:true})}const a=ie.get(n);const c=requestAnimationFrame(a);return()=>{var t;typeof e!==\"function\"&&e.stop();cancelAnimationFrame(c);const o=re.get(n);if(!o)return;o.delete(r);if(o.size)return;const i=ie.get(n);ie.delete(n);if(i){getEventTarget(n).removeEventListener(\"scroll\",i);(t=se.get(n))===null||t===void 0?void 0:t();window.removeEventListener(\"resize\",i)}}}function hasChanged(e,t){return typeof e!==typeof t||(Array.isArray(e)&&Array.isArray(t)?!shallowCompare(e,t):e!==t)}function shallowCompare(e,t){const n=t.length;if(n!==e.length)return false;for(let o=0;o<n;o++)if(t[o]!==e[o])return false;return true}function isVariant(e){return typeof e===\"object\"}function resolveVariant(e,t){return isVariant(e)?e:e&&t?t[e]:void 0}let ae;function processScheduledAnimations(){if(!ae)return;const e=ae.sort(compareByDepth).map(fireAnimateUpdates);e.forEach(fireNext);e.forEach(fireNext);ae=void 0}function scheduleAnimation(e){if(ae)s(ae,e);else{ae=[e];requestAnimationFrame(processScheduledAnimations)}}function unscheduleAnimation(e){ae&&p(ae,e)}const compareByDepth=(e,t)=>e.getDepth()-t.getDepth();const fireAnimateUpdates=e=>e.animateUpdates();const fireNext=e=>e.next();const motionEvent=(e,t)=>new CustomEvent(e,{detail:{target:t}});function dispatchPointerEvent(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:{originalEvent:n}}))}function dispatchViewEvent(e,t,n){e.dispatchEvent(new CustomEvent(t,{detail:{originalEntry:n}}))}const ce={isActive:e=>Boolean(e.inView),subscribe:(e,{enable:t,disable:n},{inViewOptions:o={}})=>{const{once:i}=o,s=S(o,[\"once\"]);return inView$1(e,(o=>{t();dispatchViewEvent(e,\"viewenter\",o);if(!i)return t=>{n();dispatchViewEvent(e,\"viewleave\",t)}}),s)}};const mouseEvent=(e,t,n)=>o=>{if(!o.pointerType||o.pointerType===\"mouse\"){n();dispatchPointerEvent(e,t,o)}};const le={isActive:e=>Boolean(e.hover),subscribe:(e,{enable:t,disable:n})=>{const o=mouseEvent(e,\"hoverstart\",t);const i=mouseEvent(e,\"hoverend\",n);e.addEventListener(\"pointerenter\",o);e.addEventListener(\"pointerleave\",i);return()=>{e.removeEventListener(\"pointerenter\",o);e.removeEventListener(\"pointerleave\",i)}}};const fe={isActive:e=>Boolean(e.press),subscribe:(e,{enable:t,disable:n})=>{const onPointerUp=t=>{n();dispatchPointerEvent(e,\"pressend\",t);window.removeEventListener(\"pointerup\",onPointerUp)};const onPointerDown=n=>{t();dispatchPointerEvent(e,\"pressstart\",n);window.addEventListener(\"pointerup\",onPointerUp)};e.addEventListener(\"pointerdown\",onPointerDown);return()=>{e.removeEventListener(\"pointerdown\",onPointerDown);window.removeEventListener(\"pointerup\",onPointerUp)}}};const ue={inView:ce,hover:le,press:fe};const de=[\"initial\",\"animate\",...Object.keys(ue),\"exit\"];const ge=new WeakMap;function createMotionState(e={},o){let i;let s=o?o.getDepth()+1:0;const r={initial:true,animate:true};const a={};const c={};for(const t of de)c[t]=typeof e[t]===\"string\"?e[t]:o===null||o===void 0?void 0:o.getContext()[t];const l=e.initial===false?\"animate\":\"initial\";let f=resolveVariant(e[l]||c[l],e.variants)||{},u=S(f,[\"transition\"]);const d=Object.assign({},u);function*animateUpdates(){var n,o;const s=u;u={};const a={};for(const t of de){if(!r[t])continue;const i=resolveVariant(e[t]);if(i)for(const t in i)if(t!==\"transition\"){u[t]=i[t];a[t]=getOptions((o=(n=i.transition)!==null&&n!==void 0?n:e.transition)!==null&&o!==void 0?o:{},t)}}const c=new Set([...Object.keys(u),...Object.keys(s)]);const l=[];c.forEach((e=>{var n;u[e]===void 0&&(u[e]=d[e]);if(hasChanged(s[e],u[e])){(n=d[e])!==null&&n!==void 0?n:d[e]=I.get(i,e);l.push(animateStyle(i,e,u[e],a[e],t))}}));yield;const f=l.map((e=>e())).filter(Boolean);if(!f.length)return;const g=u;i.dispatchEvent(motionEvent(\"motionstart\",g));Promise.all(f.map((e=>e.finished))).then((()=>{i.dispatchEvent(motionEvent(\"motioncomplete\",g))})).catch(h)}const setGesture=(e,t)=>()=>{r[e]=t;scheduleAnimation(g)};const updateGestureSubscriptions=()=>{for(const t in ue){const n=ue[t].isActive(e);const o=a[t];if(n&&!o)a[t]=ue[t].subscribe(i,{enable:setGesture(t,true),disable:setGesture(t,false)},e);else if(!n&&o){o();delete a[t]}}};const g={update:t=>{if(i){e=t;updateGestureSubscriptions();scheduleAnimation(g)}},setActive:(e,t)=>{if(i){r[e]=t;scheduleAnimation(g)}},animateUpdates:animateUpdates,getDepth:()=>s,getTarget:()=>u,getOptions:()=>e,getContext:()=>c,mount:e=>{n(Boolean(e),\"Animation state must be mounted with valid Element\");i=e;ge.set(i,g);updateGestureSubscriptions();return()=>{ge.delete(i);unscheduleAnimation(g);for(const e in a)a[e]()}},isMounted:()=>Boolean(i)};return g}function createStyles(e){const t={};const n=[];for(let o in e){const i=e[o];if(isTransform(o)){M[o]&&(o=M[o]);n.push(o);o=asTransformCssVar(o)}let s=Array.isArray(i)?i[0]:i;const r=k.get(o);r&&(s=g(i)?r.toDefaultUnit(i):i);t[o]=s}n.length&&(t.transform=buildTransformTemplate(n));return t}const camelLetterToPipeLetter=e=>`-${e.toLowerCase()}`;const camelToPipeCase=e=>e.replace(/[A-Z]/g,camelLetterToPipeLetter);function createStyleString(e={}){const t=createStyles(e);let n=\"\";for(const e in t){n+=e.startsWith(\"--\")?e:camelToPipeCase(e);n+=`: ${t[e]}; `}return n}export{ee as ScrollOffset,F as animate,animateStyle,createAnimate,createMotionState,createStyleString,createStyles,getAnimationData,getStyleName,q as glide,inView$1 as inView,ge as mountedStates,resize,scroll,G as spring,stagger,I as style,timeline,withControls};\n//# sourceMappingURL=index.es.js.map\n","function addUniqueItem(t,e){t.indexOf(e)===-1&&t.push(e)}function removeItem(t,e){const n=t.indexOf(e);n>-1&&t.splice(n,1)}const clamp=(t,e,n)=>Math.min(Math.max(n,t),e);const t={duration:.3,delay:0,endDelay:0,repeat:0,easing:\"ease\"};const isNumber=t=>typeof t===\"number\";const isEasingList=t=>Array.isArray(t)&&!isNumber(t[0]);const wrap=(t,e,n)=>{const o=e-t;return((n-t)%o+o)%o+t};function getEasingForSegment(t,e){return isEasingList(t)?t[wrap(0,t.length,e)]:t}const mix=(t,e,n)=>-n*t+n*e+t;const noop=()=>{};const noopReturn=t=>t;const progress=(t,e,n)=>e-t===0?1:(n-t)/(e-t);function fillOffset(t,e){const n=t[t.length-1];for(let o=1;o<=e;o++){const s=progress(0,e,o);t.push(mix(n,1,s))}}function defaultOffset(t){const e=[0];fillOffset(e,t-1);return e}function interpolate(t,e=defaultOffset(t.length),n=noopReturn){const o=t.length;const s=o-e.length;s>0&&fillOffset(e,s);return s=>{let f=0;for(;f<o-2;f++)if(s<e[f+1])break;let r=clamp(0,1,progress(e[f],e[f+1],s));const c=getEasingForSegment(n,f);r=c(r);return mix(t[f],t[f+1],r)}}const isCubicBezier=t=>Array.isArray(t)&&isNumber(t[0]);const isEasingGenerator=t=>typeof t===\"object\"&&Boolean(t.createAnimation);const isFunction=t=>typeof t===\"function\";const isString=t=>typeof t===\"string\";const e={ms:t=>t*1e3,s:t=>t/1e3};\n/*\n  Convert velocity into velocity per second\n\n  @param [number]: Unit per frame\n  @param [number]: Frame duration in ms\n*/function velocityPerSecond(t,e){return e?t*(1e3/e):0}export{addUniqueItem,clamp,defaultOffset,t as defaults,fillOffset,getEasingForSegment,interpolate,isCubicBezier,isEasingGenerator,isEasingList,isFunction,isNumber,isString,mix,noop,noopReturn,progress,removeItem,e as time,velocityPerSecond,wrap};\n//# sourceMappingURL=index.es.js.map\n","// Generated by Framer (0b8b5e5)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ControlType,cx,RichText,SVG,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";const serializationHash=\"framer-q8Ttd\";const variantClassNames={XvqTw0Be9:\"framer-v-jjcw9a\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};variants===null||variants===void 0?void 0:variants.forEach(variant=>variant&&Object.assign(nextOverrides,overrides[variant]));return nextOverrides;}const transition1={bounce:.2,delay:0,duration:.4,type:\"spring\"};const Transition=({value,children})=>{const config=React.useContext(MotionConfigContext);const transition=value!==null&&value!==void 0?value:config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion(React.Fragment);const getProps=({height,id,subtitle,title,width,...props})=>{var _ref,_ref1;return{...props,WuF2iG84P:(_ref=subtitle!==null&&subtitle!==void 0?subtitle:props.WuF2iG84P)!==null&&_ref!==void 0?_ref:\"Set up the component by adding background and bouncer elements to the component properties.\",yeAnKbEUZ:(_ref1=title!==null&&title!==void 0?title:props.yeAnKbEUZ)!==null&&_ref1!==void 0?_ref1:\"Screen Saver\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{activeLocale,setLocale}=useLocaleInfo();const{style,className,layoutId,variant,yeAnKbEUZ,WuF2iG84P,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({defaultVariant:\"XvqTw0Be9\",variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const ref1=React.useRef(null);const defaultLayoutId=React.useId();const sharedStyleClassNames=[];const componentViewport=useComponentViewport();return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId!==null&&layoutId!==void 0?layoutId:defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(motion.div,{...restProps,...gestureHandlers,className:cx(serializationHash,...sharedStyleClassNames,\"framer-jjcw9a\",className,classNames),\"data-framer-name\":\"Default\",layoutDependency:layoutDependency,layoutId:\"XvqTw0Be9\",ref:ref!==null&&ref!==void 0?ref:ref1,style:{backgroundColor:\"rgba(136, 85, 255, 0.1)\",...style},children:/*#__PURE__*/_jsxs(motion.div,{className:\"framer-uh2i08\",layoutDependency:layoutDependency,layoutId:\"aM7oiNoFL\",children:[/*#__PURE__*/_jsx(SVG,{className:\"framer-flw0dh\",\"data-framer-name\":\"Logo\",layout:\"position\",layoutDependency:layoutDependency,layoutId:\"GthLmGmBt\",opacity:1,svg:'<svg xmlns=\"http://www.w3.org/2000/svg\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" viewBox=\"0 0 28 28\"><g id=\"ss11036020200_1\"><path d=\"M 0 0 L 28 0 L 28 28 L 0 28 Z\" fill=\"transparent\"></path><path d=\"M 21 7.113 C 21 7.041 21.029 6.971 21.079 6.921 L 27.534 0.465 C 27.613 0.388 27.73 0.365 27.831 0.407 C 27.933 0.449 28 0.548 28 0.658 L 28 13.888 C 28 13.96 27.971 14.028 27.921 14.079 L 21 21 Z M 7 21 L 7 7.658 C 7 7.548 6.933 7.449 6.831 7.407 C 6.73 7.365 6.613 7.388 6.534 7.465 L 0.079 13.921 C 0.028 13.972 0 14.041 0 14.113 L 0 27.728 C 0 27.877 0.122 28 0.273 28 L 13.888 28 C 13.96 28 14.028 27.971 14.079 27.921 L 21 21 Z\" fill=\"rgb(153, 102, 255)\"></path></g></svg>',svgContentId:11036020200,withExternalLayout:true}),/*#__PURE__*/_jsxs(motion.div,{className:\"framer-k3ullq\",layoutDependency:layoutDependency,layoutId:\"E3DQBYSAf\",children:[/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--font-selector\":\"SW50ZXItQm9sZA==\",\"--framer-font-family\":'\"Inter\", \"Inter Placeholder\", sans-serif',\"--framer-font-size\":\"11px\",\"--framer-font-weight\":\"700\",\"--framer-letter-spacing\":\"-0.02em\",\"--framer-line-height\":\"1em\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(153, 102, 255))\"},children:\"Screen Saver\"})}),className:\"framer-q0gs4u\",\"data-framer-name\":\"Title\",fonts:[\"Inter-Bold\"],layoutDependency:layoutDependency,layoutId:\"UqJwZqJjg\",style:{\"--extracted-r6o4lv\":\"rgb(153, 102, 255)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:yeAnKbEUZ,verticalAlignment:\"top\",withExternalLayout:true}),/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{style:{\"--framer-font-size\":\"11px\",\"--framer-letter-spacing\":\"-0.03em\",\"--framer-line-height\":\"1.4em\",\"--framer-text-alignment\":\"center\",\"--framer-text-color\":\"var(--extracted-r6o4lv, rgba(153, 102, 255, 0.7))\"},children:\"Set up the component by adding background and bouncer elements to the component properties.\"})}),className:\"framer-g5dqhc\",\"data-framer-name\":\"Subtitle\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"RJ7UF99m8\",style:{\"--extracted-r6o4lv\":\"rgba(153, 102, 255, 0.7)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:WuF2iG84P,verticalAlignment:\"top\",withExternalLayout:true})]})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-q8Ttd.framer-qanqo2, .framer-q8Ttd .framer-qanqo2 { display: block; }\",\".framer-q8Ttd.framer-jjcw9a { align-content: center; align-items: center; display: flex; flex-direction: row; flex-wrap: nowrap; gap: 10px; height: 200px; justify-content: center; overflow: hidden; padding: 0px; position: relative; width: 400px; }\",\".framer-q8Ttd .framer-uh2i08 { align-content: center; align-items: center; display: flex; flex: 1 0 0px; flex-direction: column; flex-wrap: nowrap; gap: 16px; height: min-content; justify-content: center; overflow: hidden; padding: 0px 20px 0px 20px; position: relative; width: 1px; }\",\".framer-q8Ttd .framer-flw0dh { flex: none; height: 28px; position: relative; width: 28px; }\",\".framer-q8Ttd .framer-k3ullq { align-content: center; align-items: center; display: flex; flex: none; flex-direction: column; flex-wrap: nowrap; gap: 12px; height: min-content; justify-content: center; max-width: 200px; overflow: hidden; padding: 0px; position: relative; width: 100%; }\",\".framer-q8Ttd .framer-q0gs4u, .framer-q8Ttd .framer-g5dqhc { flex: none; height: auto; position: relative; white-space: pre-wrap; width: 100%; word-break: break-word; word-wrap: break-word; }\",\"@supports (background: -webkit-named-image(i)) and (not (font-palette:dark)) { .framer-q8Ttd.framer-jjcw9a, .framer-q8Ttd .framer-uh2i08, .framer-q8Ttd .framer-k3ullq { gap: 0px; } .framer-q8Ttd.framer-jjcw9a > * { margin: 0px; margin-left: calc(10px / 2); margin-right: calc(10px / 2); } .framer-q8Ttd.framer-jjcw9a > :first-child { margin-left: 0px; } .framer-q8Ttd.framer-jjcw9a > :last-child { margin-right: 0px; } .framer-q8Ttd .framer-uh2i08 > * { margin: 0px; margin-bottom: calc(16px / 2); margin-top: calc(16px / 2); } .framer-q8Ttd .framer-uh2i08 > :first-child, .framer-q8Ttd .framer-k3ullq > :first-child { margin-top: 0px; } .framer-q8Ttd .framer-uh2i08 > :last-child, .framer-q8Ttd .framer-k3ullq > :last-child { margin-bottom: 0px; } .framer-q8Ttd .framer-k3ullq > * { margin: 0px; margin-bottom: calc(12px / 2); margin-top: calc(12px / 2); } }\"];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 200\n * @framerIntrinsicWidth 400\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]}}}\n * @framerVariables {\"yeAnKbEUZ\":\"title\",\"WuF2iG84P\":\"subtitle\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerComponentViewportWidth true\n */const FramerW7oLCU4_B=withCSS(Component,css,\"framer-q8Ttd\");export default FramerW7oLCU4_B;FramerW7oLCU4_B.displayName=\"Utils/Component Message\";FramerW7oLCU4_B.defaultProps={height:200,width:400};addPropertyControls(FramerW7oLCU4_B,{yeAnKbEUZ:{defaultValue:\"Screen Saver\",displayTextArea:false,title:\"Title\",type:ControlType.String},WuF2iG84P:{defaultValue:\"Set up the component by adding background and bouncer elements to the component properties.\",displayTextArea:false,title:\"Subtitle\",type:ControlType.String}});addFonts(FramerW7oLCU4_B,[{explicitInter:true,fonts:[{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/DpPBYI0sL4fYLgAkX8KXOPVt7c.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/4RAEQdEOrcnDkhHiiCbJOw92Lk.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/1K3W8DizY3v4emK8Mb08YHxTbs.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/tUSCtfYVM1I1IchuyCwz9gDdQ.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/VgYFWiwsAC5OYxAycRXXvhze58.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/DXD0Q7LSl7HEvDzucnyLnGBHM.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/GIryZETIX4IFypco5pYZONKhJIo.woff2\",weight:\"700\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/5vvr9Vy74if2I6bQbJvbw7SY1pQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/EOr0mi4hNtlgWNn9if640EZzXCo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Y9k9QrlZAqio88Klkmbd8VoMQc.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/OYrD2tBIBPvoJXiIHnLoOXnY9M.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0100-024F, U+0259, U+1E00-1EFF, U+2020, U+20A0-20AB, U+20AD-20CF, U+2113, U+2C60-2C7F, U+A720-A7FF\",url:\"https://framerusercontent.com/assets/JeYwfuaPfZHQhEG8U5gtPDZ7WQ.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD\",url:\"https://framerusercontent.com/assets/vQyevYAyHtARFwPqUzQGpnDs.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0102-0103, U+0110-0111, U+0128-0129, U+0168-0169, U+01A0-01A1, U+01AF-01B0, U+1EA0-1EF9, U+20AB\",url:\"https://framerusercontent.com/assets/b6Y37FthZeALduNqHicBT6FutY.woff2\",weight:\"400\"}]}],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerW7oLCU4_B\",\"slots\":[],\"annotations\":{\"framerImmutableVariables\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]}}}\",\"framerVariables\":\"{\\\"yeAnKbEUZ\\\":\\\"title\\\",\\\"WuF2iG84P\\\":\\\"subtitle\\\"}\",\"framerIntrinsicWidth\":\"400\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"200\",\"framerDisplayContentsDiv\":\"false\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./W7oLCU4_B.map","/*\n * Utils/Component Message\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/fMDE7Cqb2uOvQFAHEP2m/cRfVFRl0izzBulKFjOAe/W7oLCU4_B.js\"\nexport { default } from \"https://framerusercontent.com/modules/fMDE7Cqb2uOvQFAHEP2m/cRfVFRl0izzBulKFjOAe/W7oLCU4_B.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{cloneElement}from\"react\";import UtilsComponentMessage from\"https://framer.com/m/Utils-Component-Message-ZVoG.js@cRfVFRl0izzBulKFjOAe\";export const ComponentMessage=({title,subtitle,style})=>{return /*#__PURE__*/_jsx(UtilsComponentMessage,{yeAnKbEUZ:title,WuF2iG84P:subtitle,style:{width:\"100%\",height:\"100%\",...style}});};/* \n    This function is also used many times to make sure components work even if we set a color style like \"Accent\" on their color properties. We can make this into a utility function.\n*/export const extractRGBColorFromString=str=>{const rgbRegex=/(rgba|rgb)\\(.*?\\)/g;const match=str.match(rgbRegex);return match?match[0]:str;};/*\n    This function makes a connected layer use the sizing of the component it is inside,\n    preventing it from being larger or smaller than the component's size.\n    Use this on layers connected with ControlType.ComponentInstance.\n*/export function styleLayer(layer,style={}){layer=Array.isArray(layer)?layer[0]:layer;let newLayer=layer;const{width,height,...otherStyle}=style;if(layer&&layer.props&&style&&(width||height)){if(typeof layer.type===\"function\"&&typeof layer.props.children===\"object\"){newLayer=/*#__PURE__*/cloneElement(layer,{children:{...layer.props.children,props:{...layer.props.children.props,style:{...layer.props.children.props.style,...width&&{width},...height&&{height},...otherStyle}}}});}else{newLayer=/*#__PURE__*/cloneElement(layer,{style:{...layer.props.style,...width&&{width},...height&&{height},...otherStyle}});}}return newLayer;}\nexport const __FramerMetadata__ = {\"exports\":{\"ComponentMessage\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"extractRGBColorFromString\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"styleLayer\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Utils.map","/*\n * Utils\n *\n * Learn More: https://www.framer.com/asset-urls\n */\n\nexport * from \"https://framerusercontent.com/modules/aej5zpwxBpkMdzOteBwy/DWeAZ5wauvGM5oFwVdgS/Utils.js\"\n","import{jsx as _jsx}from\"react/jsx-runtime\";import{useEffect,useRef}from\"react\";import{ControlType,addPropertyControls,RenderTarget}from\"framer\";import{useInView}from\"framer-motion\";import{ComponentMessage}from\"https://framer.com/m/Utils-FINc.js\";var AnimationTrigger;// import { ComponentMessage } from \"../../utils/ComponentMessage\";\n// ------------------------------------------------------------ //\n// INTERFACES\n// ------------------------------------------------------------ //\n(function(AnimationTrigger){AnimationTrigger[\"LayerInView\"]=\"layerInView\";})(AnimationTrigger||(AnimationTrigger={}));// ------------------------------------------------------------ //\n// PROPERTY CONTROLS\n// ------------------------------------------------------------ //\naddPropertyControls(PixelImageReveal,{image:{type:ControlType.ResponsiveImage},borderRadius:{// @ts-expect-error - BorderRadius is not a valid control type\ntype:ControlType.BorderRadius,title:\"Border\",defaultValue:\"0px\"},duration:{type:ControlType.Number,title:\"Duration\",defaultValue:2,unit:\"s\"},steps:{type:ControlType.Number,title:\"Steps\",defaultValue:5,min:1,max:100,step:1},pixelation:{type:ControlType.Object,title:\"Pixelation\",controls:{start:{type:ControlType.Number,title:\"Start\",defaultValue:200,min:1,max:300,step:1},end:{type:ControlType.Number,title:\"End\",defaultValue:1,min:1,max:300,step:1}}},animation:{type:ControlType.Object,icon:\"effect\",controls:{trigger:{type:ControlType.Enum,defaultValue:\"layerInView\",options:[\"layerInView\"],optionTitles:[\"Layer in View\"],displaySegmentedControl:true,segmentedControlDirection:\"vertical\"},replay:{type:ControlType.Boolean,defaultValue:false,hidden:props=>props.trigger!==\"layerInView\"},delay:{type:ControlType.Number,defaultValue:0,min:0,max:5,step:.1}},description:\"More components at [Framer University](https://frameruni.link/cc).\"}});// ------------------------------------------------------------ //\n// DEFAULT PROPS\n// ------------------------------------------------------------ //\nPixelImageReveal.defaultProps={borderRadius:\"0px\",duration:2,steps:5,pixelation:{start:200,end:1},animation:{trigger:\"layerInView\",replay:false,delay:0}};// ------------------------------------------------------------ //\n// MAIN COMPONENT\n// ------------------------------------------------------------ //\n/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 400\n * @framerIntrinsicHeight 200\n * @framerDisableUnlink\n */export default function PixelImageReveal(props){const isOnFramerCanvas=RenderTarget.hasRestrictions();const canvasRef=useRef(null);const isInView=useInView(canvasRef,{once:!props.animation.replay,amount:\"some\"});useEffect(()=>{const canvas=canvasRef.current;if(!canvas||isOnFramerCanvas||!(\"image\"in props)||!props.image)return;// Add willReadFrequently hint for performance\nconst ctx=canvas.getContext(\"2d\",{willReadFrequently:true});if(!ctx)return;const img=new Image;img.crossOrigin=\"anonymous\"// Keep this for potential CORS issues\n;img.src=props.image.src;// Helper function to draw pixelated image\nconst drawPixelatedImage=pixelSize=>{if(!ctx||!img.complete||img.naturalWidth===0||!isInView)return;// Ensure img is loaded\n// Use naturalWidth/Height for original dimensions\ncanvas.width=img.naturalWidth;canvas.height=img.naturalHeight;// --- Optimization: If pixelSize is 1 (or less), draw original image directly ---\nif(pixelSize<=1){ctx.drawImage(img,0,0,canvas.width,canvas.height);return;// Skip pixelation logic\n}// --- End Optimization ---\n// Clear canvas before drawing pixelated version\nctx.clearRect(0,0,canvas.width,canvas.height);// Draw image temporarily to get data (necessary for pixelation > 1)\nctx.drawImage(img,0,0,canvas.width,canvas.height);let imageData;try{imageData=ctx.getImageData(0,0,canvas.width,canvas.height);}catch(e){console.error(\"Could not get image data:\",e);// Draw a placeholder or clear if failed (e.g., due to CORS)\nctx.clearRect(0,0,canvas.width,canvas.height);ctx.fillStyle=\"lightgray\";ctx.fillRect(0,0,canvas.width,canvas.height);ctx.fillStyle=\"black\";ctx.fillText(\"Error loading image data\",10,20);return;// Stop further processing\n}const data=imageData.data;// Clear again before drawing pixelated version\nctx.clearRect(0,0,canvas.width,canvas.height);const clampedPixelSize=Math.max(1,Math.round(pixelSize))// Ensure integer >= 1\n;for(let y=0;y<canvas.height;y+=clampedPixelSize){for(let x=0;x<canvas.width;x+=clampedPixelSize){// Get the color of the top-left pixel in the block\n// Adjust index calculation to avoid going out of bounds\nconst offsetY=Math.min(y,canvas.height-1);const offsetX=Math.min(x,canvas.width-1);const pixelIndex=(offsetY*canvas.width+offsetX)*4;const red=data[pixelIndex];const green=data[pixelIndex+1];const blue=data[pixelIndex+2];const alpha=data[pixelIndex+3];// Fill the entire block with this color\nctx.fillStyle=`rgba(${red}, ${green}, ${blue}, ${alpha/255})`;// Ensure drawn rect doesn't exceed canvas bounds\nctx.fillRect(x,y,Math.min(clampedPixelSize,canvas.width-x),Math.min(clampedPixelSize,canvas.height-y));}}};// Keep track of timeout IDs for cleanup IN THIS EFFECT RUN\nconst timeoutIds=[];img.onload=()=>{// Animation logic\nconst{delay}=props.animation;const{steps,duration,pixelation}=props;if(steps<=0||pixelation.start<=pixelation.end||duration<=0){// If no steps/animation needed, draw final state immediately\ndrawPixelatedImage(pixelation.end)// Use end pixelation instead of 1\n;return;// No animation needed\n}// Duration per step/interval\nconst stepDuration=duration*1e3/steps;// Decrement needed to go from startPixelSize to endPixelSize in exactly `steps` intervals\nconst pixelSizeDecrement=steps>0?(pixelation.start-pixelation.end)/steps:0;// --- Draw initial state immediately ---\ndrawPixelatedImage(pixelation.start);// --- End Initial Draw ---\n// Function to perform a single animation step\nconst animateStep=stepIndex=>{// Calculate pixel size for the current step (start to end)\nconst currentPixelSize=Math.max(pixelation.end,pixelation.start-stepIndex*pixelSizeDecrement);drawPixelatedImage(currentPixelSize);};// Schedule all steps using setTimeout, adding the initial delay\nfor(let i=1;i<=steps;i++){const stepDelay=delay*1e3+i*stepDuration;const id=window.setTimeout(()=>animateStep(i),stepDelay);timeoutIds.push(id)// Add to the array specific to this effect run\n;}};img.onerror=()=>{console.error(\"Failed to load image:\",props.image.src);if(ctx){ctx.clearRect(0,0,canvas.width,canvas.height)// Clear canvas\n;}};// Cleanup function to clear all scheduled timeouts FOR THIS EFFECT RUN\nreturn()=>{timeoutIds.forEach(id=>{clearTimeout(id);});};},[props.steps,props.duration,props.pixelation,isInView]);if(!(\"image\"in props)||!props.image){return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\"},children:/*#__PURE__*/_jsx(ComponentMessage,{title:\"Pixel Image Reveal\",subtitle:\"Set up the component by adding image to the component properties.\"})});}return /*#__PURE__*/_jsx(\"div\",{style:{width:\"100%\",height:\"100%\",borderRadius:props.borderRadius,overflow:\"hidden\"},children:isOnFramerCanvas?/*#__PURE__*/_jsx(\"img\",{src:props.image.src,alt:props.image.alt,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\"}}):/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{width:\"100%\",height:\"100%\",objectFit:\"cover\",imageRendering:\"pixelated\"}})});}PixelImageReveal.displayName=\"Pixel Image Reveal\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"PixelImageReveal\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"200\",\"framerDisableUnlink\":\"\",\"framerIntrinsicWidth\":\"400\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\"}},\"PixelImageRevealProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./PixelImageReveal_Prod.map"],"mappings":"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"}