{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js", "ssg:https://framerusercontent.com/modules/afBE9Yx1W6bY5q32qPxe/m3q7puE2tbo1S2C0s0CT/useRenderTarget.js", "ssg:https://framerusercontent.com/modules/5SM58HxZHxjjv7aLMOgQ/WXz9i6mVki0bBCrKdqB3/propUtils.js", "ssg:https://framerusercontent.com/modules/NEd4VmDdsxM3StIUbddO/DDzyuYPF56TuI0bfUu2z/YouTube.js", "ssg:https://cdn.jsdelivr.net/gh/framer-university/components/npm-bundles/font-face-observer.js", "ssg:https://framerusercontent.com/modules/5ZuH7xaTyFIptP1xd86A/wIMKYHCyMURENymRUzoa/MagicTextReveal_Prod.js", "ssg:https://framerusercontent.com/modules/vHBr1wDFxI10mXzMTxPE/ZD5Q5IvzXjAhiCgNvuq0/n2JP44mS1.js", "ssg:https://framerusercontent.com/modules/rl7r2bP3iS2XnZeNFXTJ/xuCKXU0Zkc7j6QZEAAwR/YpaLQ2WM7.js", "ssg:https://framerusercontent.com/modules/tW1ExjbbJRt9YcZ0Gyxk/7xLQ6of7kXWmBUVuRiYG/Spotify.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 \u2014 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 { 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 { 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{jsx as _jsx,jsxs as _jsxs,Fragment as _Fragment}from\"react/jsx-runtime\";import{useReducer,useState}from\"react\";import{ControlType,addPropertyControls}from\"framer\";import{useIsOnCanvas,emptyStateStyle,containerStyles,defaultEvents,useRadius,borderRadiusControl}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";var PlayOptions;(function(PlayOptions){PlayOptions[\"Normal\"]=\"Off\";PlayOptions[\"Auto\"]=\"On\";PlayOptions[\"Loop\"]=\"Loop\";})(PlayOptions||(PlayOptions={}));var ThumbnailOptions;(function(ThumbnailOptions){ThumbnailOptions[\"High\"]=\"High Quality\";ThumbnailOptions[\"Medium\"]=\"Medium Quality\";ThumbnailOptions[\"Low\"]=\"Low Quality\";ThumbnailOptions[\"Off\"]=\"Off\";})(ThumbnailOptions||(ThumbnailOptions={}));/**\n * @framerIntrinsicWidth 560\n * @framerIntrinsicHeight 315\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight fixed\n *\n * @framerComponentPresetProps isRed, borderRadius\n */export function Youtube({url,play,shouldMute,thumbnail,isRed,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,title,...props}){const onCanvas=useIsOnCanvas();const isAutoplay=play!==\"Off\";const showThumbnail=onCanvas||thumbnail!==\"Off\"&&!isAutoplay;const[isPreloading,preloadVideo]=useReducer(()=>true,false);const[showVideo,startVideo]=useReducer(()=>true,!showThumbnail);const[isHovered,setHovered]=useState(false);const borderRadius=useRadius(props);const hasBorderRadius=borderRadius!==\"0px 0px 0px 0px\"&&borderRadius!==\"0px\";if(url===\"\"){return /*#__PURE__*/_jsx(Instructions,{});}const parsedURL=parseVideoURL(url);if(parsedURL===undefined){return /*#__PURE__*/_jsx(ErrorMessage,{message:\"Invalid Youtube URL.\"});}const[videoId,embedURL,originalSearchParams]=parsedURL;const searchParams=embedURL.searchParams;if(originalSearchParams){for(const[param,value]of originalSearchParams){searchParams.set(param,value);}}// https://developers.google.com/youtube/player_parameters\nsearchParams.set(\"iv_load_policy\",\"3\");searchParams.set(\"rel\",\"0\");searchParams.set(\"modestbranding\",\"1\");searchParams.set(\"playsinline\",\"1\");if(!showVideo){// if a browser does not support `loading=lazy`, make sure the video doesn't start playing in the background\nsearchParams.set(\"autoplay\",\"0\");}else if(isAutoplay||// when there is no thumbnail, we don't want to autoplay, unless video is started\nshowThumbnail&&showVideo){searchParams.set(\"autoplay\",\"1\");}if(isAutoplay&&shouldMute){searchParams.set(\"mute\",\"1\");}if(play===\"Loop\"){searchParams.set(\"loop\",\"1\");searchParams.set(\"playlist\",videoId);}if(!isRed){searchParams.set(\"color\",\"white\");}const iframeProps={title:title||\"Youtube Video\",allow:\"presentation; fullscreen; accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\",src:embedURL.href,frameBorder:\"0\",onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp};return /*#__PURE__*/_jsxs(\"article\",{onPointerEnter:()=>setHovered(true),onPointerLeave:()=>setHovered(false),onPointerOver:preloadVideo,onKeyDown:startVideo,onClick:startVideo,style:{...wrapperStyle,borderRadius,transform:// Safari sometimes struggles to render border-radius:\n// - on the canvas when changing from 0 to any other value\n// - or when rendering an iframe\nhasBorderRadius&&(showVideo||onCanvas)?\"translateZ(0.000001px)\":\"unset\",cursor:\"pointer\",overflow:\"hidden\"},role:\"presentation\",children:[isPreloading&&/*#__PURE__*/_jsx(\"link\",{rel:\"preconnect\",href:\"https://www.youtube.com\"}),isPreloading&&/*#__PURE__*/_jsx(\"link\",{rel:\"preconnect\",href:\"https://www.google.com\"}),showThumbnail&&/*#__PURE__*/_jsxs(_Fragment,{children:[/*#__PURE__*/_jsx(\"link\",{rel:\"preconnect\",href:\"https://i.ytimg.com\"}),/*#__PURE__*/_jsx(\"img\",{decoding:\"async\",src:getThumbnailURL(videoId,thumbnail),style:{...videoStyle,objectFit:\"cover\"}})]}),!onCanvas?/*#__PURE__*/_jsx(\"iframe\",{loading:!showVideo?\"lazy\":undefined,style:!showVideo?{...videoStyle,display:\"none\"}:videoStyle,...iframeProps}):null,showVideo?null:/*#__PURE__*/_jsx(PlayButton,{onClick:startVideo,isHovered:isHovered,isRed:isRed})]});}Youtube.displayName=\"YouTube\";addPropertyControls(Youtube,{url:{type:ControlType.String,title:\"Video\"},play:{type:ControlType.Enum,title:\"Autoplay\",options:Object.values(PlayOptions)},shouldMute:{title:\"Mute\",type:ControlType.Boolean,enabledTitle:\"Yes\",disabledTitle:\"No\",hidden(props){return props.play===\"Off\";}},thumbnail:{title:\"Thumbnail\",description:\"Showing a thumbnail improves performance.\",type:ControlType.Enum,options:Object.values(ThumbnailOptions),hidden(props){return props.play!==\"Off\";}},isRed:{title:\"Color\",type:ControlType.Boolean,enabledTitle:\"Red\",disabledTitle:\"White\"},...borderRadiusControl,...defaultEvents});const defaultProps={url:\"https://youtu.be/smPos0mJvh8\",play:\"Off\",shouldMute:true,thumbnail:\"Medium Quality\",isRed:true};Youtube.defaultProps=defaultProps;function parseVideoURL(urlString){let url;try{url=new URL(urlString);}catch{const embedURL=getEmbedURL(urlString);return[urlString,embedURL,null];}const searchParams=url.searchParams;if(url.hostname===\"youtube.com\"||url.hostname===\"www.youtube.com\"||url.hostname===\"youtube-nocookie.com\"||url.hostname===\"www.youtube-nocookie.com\"){const pathSegments=url.pathname.slice(1).split(\"/\");const page=pathSegments[0];// https://www.youtube.com/watch?v=Fop2oskTug8\nif(page===\"watch\"){const videoId=url.searchParams.get(\"v\");const embedURL=getEmbedURL(videoId);return[videoId,embedURL,searchParams];}// https://www.youtube.com/embed/Fop2oskTug8\nif(page===\"embed\"){const videoId=pathSegments[1];return[videoId,url,searchParams];}// https://www.youtube.com/shorts/zwMEhBq4kYM / https://www.youtube.com/live/XlWSzaluBKk\nif(page===\"shorts\"||page===\"live\"){const videoId=pathSegments[1];const embedURL=getEmbedURL(videoId);return[videoId,embedURL,searchParams];}}// https://youtu.be/Fop2oskTug8\nif(url.hostname===\"youtu.be\"){const videoId=url.pathname.slice(1);const embedURL=getEmbedURL(videoId);return[videoId,embedURL,searchParams];}}function getEmbedURL(videoId){return new URL(`https://www.youtube.com/embed/${videoId}`);}function getThumbnailURL(videoId,res){// https://gist.github.com/a1ip/be4514c1fd392a8c13b05e082c4da363\nconst pre=\"https://i.ytimg.com/vi_webp/\";const ext=\"webp\";switch(res){case\"Low Quality\":return`${pre}${videoId}/hqdefault.${ext}`;case\"Medium Quality\":return`${pre}${videoId}/sddefault.${ext}`;case\"High Quality\":return`${pre}${videoId}/maxresdefault.${ext}`;default:return`${pre}${videoId}/0.${ext}`;}}// Helper components\nfunction Instructions(){return /*#__PURE__*/_jsx(\"div\",{style:{...emptyStateStyle,overflow:\"hidden\"},children:/*#__PURE__*/_jsx(\"div\",{style:centerTextStyle,children:\"To embed a Youtube video, add the URL to the properties\\xa0panel.\"})});}function ErrorMessage({message}){return /*#__PURE__*/_jsx(\"div\",{className:\"framerInternalUI-errorPlaceholder\",style:{...containerStyles,overflow:\"hidden\"},children:/*#__PURE__*/_jsxs(\"div\",{style:centerTextStyle,children:[\"Error: \",message]})});}function PlayButton({onClick,isHovered,isRed}){return /*#__PURE__*/_jsx(\"button\",{onClick:onClick,\"aria-label\":\"Play\",style:buttonStyle,children:/*#__PURE__*/_jsxs(\"svg\",{height:\"100%\",version:\"1.1\",viewBox:\"0 0 68 48\",width:\"100%\",children:[/*#__PURE__*/_jsx(\"path\",{d:\"M66.52,7.74c-0.78-2.93-2.49-5.41-5.42-6.19C55.79,.13,34,0,34,0S12.21,.13,6.9,1.55 C3.97,2.33,2.27,4.81,1.48,7.74C0.06,13.05,0,24,0,24s0.06,10.95,1.48,16.26c0.78,2.93,2.49,5.41,5.42,6.19 C12.21,47.87,34,48,34,48s21.79-0.13,27.1-1.55c2.93-0.78,4.64-3.26,5.42-6.19C67.94,34.95,68,24,68,24S67.94,13.05,66.52,7.74z\",fill:isHovered?isRed?\"#f00\":\"#000\":\"#212121\",fillOpacity:isHovered?isRed?1:.8:.8,style:{transition:\"fill .1s cubic-bezier(0.4, 0, 1, 1), fill-opacity .1s cubic-bezier(0.4, 0, 1, 1)\"}}),/*#__PURE__*/_jsx(\"path\",{d:\"M 45,24 27,14 27,34\",fill:\"#fff\"})]})});}const buttonStyle={position:\"absolute\",top:\"50%\",left:\"50%\",transform:\"translate(-50%, -50%)\",width:68,height:48,padding:0,border:\"none\",background:\"transparent\",cursor:\"pointer\"};const wrapperStyle={position:\"relative\",width:\"100%\",height:\"100%\"};const centerTextStyle={textAlign:\"center\",minWidth:140};const videoStyle={position:\"absolute\",top:0,left:0,height:\"100%\",width:\"100%\"};\nexport const __FramerMetadata__ = {\"exports\":{\"Youtube\":{\"type\":\"reactComponent\",\"name\":\"Youtube\",\"slots\":[],\"annotations\":{\"framerComponentPresetProps\":\"isRed, borderRadius\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"315\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerIntrinsicWidth\":\"560\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./YouTube.map", "function e(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,\"default\")?e.default:e}var t,n={exports:{}};var i,o=e((t||(t=1,i=n,function(){function e(e,t){document.addEventListener?e.addEventListener(\"scroll\",t,!1):e.attachEvent(\"scroll\",t)}function t(e){this.g=document.createElement(\"div\"),this.g.setAttribute(\"aria-hidden\",\"true\"),this.g.appendChild(document.createTextNode(e)),this.h=document.createElement(\"span\"),this.i=document.createElement(\"span\"),this.m=document.createElement(\"span\"),this.j=document.createElement(\"span\"),this.l=-1,this.h.style.cssText=\"max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;\",this.i.style.cssText=\"max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;\",this.j.style.cssText=\"max-width:none;display:inline-block;position:absolute;height:100%;width:100%;overflow:scroll;font-size:16px;\",this.m.style.cssText=\"display:inline-block;width:200%;height:200%;font-size:16px;max-width:none;\",this.h.appendChild(this.m),this.i.appendChild(this.j),this.g.appendChild(this.h),this.g.appendChild(this.i)}function n(e,t){e.g.style.cssText=\"max-width:none;min-width:20px;min-height:20px;display:inline-block;overflow:hidden;position:absolute;width:auto;margin:0;padding:0;top:-999px;white-space:nowrap;font-synthesis:none;font:\"+t+\";\"}function o(e){var t=e.g.offsetWidth,n=t+100;return e.j.style.width=n+\"px\",e.i.scrollLeft=n,e.h.scrollLeft=e.h.scrollWidth+100,e.l!==t&&(e.l=t,!0)}function s(t,n){function i(){var e=s;o(e)&&null!==e.g.parentNode&&n(e.l)}var s=t;e(t.h,i),e(t.i,i),o(t)}function d(e,t,n){t=t||{},n=n||window,this.family=e,this.style=t.style||\"normal\",this.weight=t.weight||\"normal\",this.stretch=t.stretch||\"normal\",this.context=n}var a=null,l=null,r=null,c=null;function h(e){return null===c&&(c=!!e.document.fonts),c}function u(e,t){var n=e.style,i=e.weight;if(null===r){var o=document.createElement(\"div\");try{o.style.font=\"condensed 100px sans-serif\"}catch(e){}r=\"\"!==o.style.font}return[n,i,r?e.stretch:\"\",\"100px\",t].join(\" \")}d.prototype.load=function(e,i){var o=this,d=e||\"BESbswy\",r=0,c=i||3e3,f=(new Date).getTime();return new Promise((function(e,i){if(h(o.context)&&!function(e){return null===l&&(h(e)&&/Apple/.test(window.navigator.vendor)?(e=/AppleWebKit\\/([0-9]+)(?:\\.([0-9]+))(?:\\.([0-9]+))/.exec(window.navigator.userAgent),l=!!e&&603>parseInt(e[1],10)):l=!1),l}(o.context)){var p=new Promise((function(e,t){!function n(){(new Date).getTime()-f>=c?t(Error(c+\"ms timeout exceeded\")):o.context.document.fonts.load(u(o,'\"'+o.family+'\"'),d).then((function(t){1<=t.length?e():setTimeout(n,25)}),t)}()})),m=new Promise((function(e,t){r=setTimeout((function(){t(Error(c+\"ms timeout exceeded\"))}),c)}));Promise.race([m,p]).then((function(){clearTimeout(r),e(o)}),i)}else!function(e){document.body?e():document.addEventListener?document.addEventListener(\"DOMContentLoaded\",(function t(){document.removeEventListener(\"DOMContentLoaded\",t),e()})):document.attachEvent(\"onreadystatechange\",(function t(){\"interactive\"!=document.readyState&&\"complete\"!=document.readyState||(document.detachEvent(\"onreadystatechange\",t),e())}))}((function(){function l(){var t;(t=-1!=w&&-1!=g||-1!=w&&-1!=v||-1!=g&&-1!=v)&&((t=w!=g&&w!=v&&g!=v)||(null===a&&(t=/AppleWebKit\\/([0-9]+)(?:\\.([0-9]+))/.exec(window.navigator.userAgent),a=!!t&&(536>parseInt(t[1],10)||536===parseInt(t[1],10)&&11>=parseInt(t[2],10))),t=a&&(w==x&&g==x&&v==x||w==y&&g==y&&v==y||w==E&&g==E&&v==E)),t=!t),t&&(null!==b.parentNode&&b.parentNode.removeChild(b),clearTimeout(r),e(o))}var h=new t(d),p=new t(d),m=new t(d),w=-1,g=-1,v=-1,x=-1,y=-1,E=-1,b=document.createElement(\"div\");b.dir=\"ltr\",n(h,u(o,\"sans-serif\")),n(p,u(o,\"serif\")),n(m,u(o,\"monospace\")),b.appendChild(h.g),b.appendChild(p.g),b.appendChild(m.g),o.context.document.body.appendChild(b),x=h.g.offsetWidth,y=p.g.offsetWidth,E=m.g.offsetWidth,function e(){if((new Date).getTime()-f>=c)null!==b.parentNode&&b.parentNode.removeChild(b),i(Error(c+\"ms timeout exceeded\"));else{var t=o.context.document.hidden;!0!==t&&void 0!==t||(w=h.g.offsetWidth,g=p.g.offsetWidth,v=m.g.offsetWidth,l()),r=setTimeout(e,50)}}(),s(h,(function(e){w=e,l()})),n(h,u(o,'\"'+o.family+'\",sans-serif')),s(p,(function(e){g=e,l()})),n(p,u(o,'\"'+o.family+'\",serif')),s(m,(function(e){v=e,l()})),n(m,u(o,'\"'+o.family+'\",monospace'))}))}))},i.exports=d}()),n.exports));export{o as FontFaceObserver};\n", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{ControlType,addPropertyControls,RenderTarget}from\"framer\";import{useEffect,useMemo,useRef,useState,useCallback}from\"react\";import{motion}from\"framer-motion\";import{useInView}from\"framer-motion\";// import FontFaceObserver from \"fontfaceobserver\";\nimport{FontFaceObserver}from\"https://cdn.jsdelivr.net/gh/framer-university/components/npm-bundles/font-face-observer.js\";var Tag;(function(Tag){Tag[\"H1\"]=\"h1\";Tag[\"H2\"]=\"h2\";Tag[\"H3\"]=\"h3\";Tag[\"P\"]=\"p\";})(Tag||(Tag={}));// ------------------------------------------------------------ //\n// PROPERTY CONTROLS\n// ------------------------------------------------------------ //\naddPropertyControls(MagicTextReveal,{text:{type:ControlType.String},color:{type:ControlType.Color,defaultValue:\"rgba(153, 153, 153, 1)\"},font:{type:ControlType.Font,defaultFontType:\"sans-serif\",controls:\"extended\"},spread:{type:ControlType.Number,defaultValue:50,min:1,max:100,step:1,unit:\"x\"},speed:{type:ControlType.Number,defaultValue:.5,min:.1,max:3,step:.1,unit:\"x\"},density:{type:ControlType.Number,defaultValue:4,min:1,max:4,step:1,unit:\"x\",displayStepper:true},resetOnMouseLeave:{type:ControlType.Boolean,defaultValue:true,title:\"Repeat\"},tag:{type:ControlType.Enum,title:\"Tag\",defaultValue:\"p\",displaySegmentedControl:true,segmentedControlDirection:\"horizontal\",options:[\"h1\",\"h2\",\"h3\",\"p\"],optionTitles:[\"H1\",\"H2\",\"H3\",\"P\"]},selectable:{type:ControlType.Boolean,defaultValue:true,title:\"Selectable\"},yPosition:{type:ControlType.Enum,title:\"Y Position\",defaultValue:\"auto\",options:[\"auto\",\"manual\"],optionTitles:[\"Auto\",\"Manual\"],displaySegmentedControl:true,description:\"Use manual if hovered text doesn't line up.\"},yPositionValue:{type:ControlType.Number,title:\" \",defaultValue:0,min:-50,max:50,step:.5,unit:\"px\",hidden:props=>props.yPosition===\"auto\"},canvasPreview:{type:ControlType.Boolean,defaultValue:true,title:\"Preview\",description:\"More components at [Framer University](https://frameruni.link/cc).\"}});// ------------------------------------------------------------ //\n// DEFAULT PROPS\n// ------------------------------------------------------------ //\nMagicTextReveal.defaultProps={text:\"Framer University\",color:\"rgba(153, 153, 153, 1)\",font:{fontFamily:\"sans-serif\",fontSize:\"50px\",textAlign:\"center\",fontWeight:400},spread:50,speed:.5,density:4,resetOnMouseLeave:true,tag:\"p\",selectable:true,yPosition:\"auto\",yPositionValue:0,canvasPreview:true};// ------------------------------------------------------------ //\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 MagicTextReveal(props){const isOnFramerCanvas=RenderTarget.hasRestrictions();const canvasRef=useRef(null);const wrapperRef=useRef(null);const lastFontRef=useRef(null);const particlesRef=useRef([]);const animationFrameRef=useRef(null);const lastTimeRef=useRef(performance.now());const[fontLoaded,setFontLoaded]=useState(false);const[isHovered,setIsHovered]=useState(false);const[showText,setShowText]=useState(false);const[hasBeenShown,setHasBeenShown]=useState(false);const transformedDensity=6-props.density;const color=useMemo(()=>parseFramerColor(props.color),[props.color]);const isInView=useInView(wrapperRef);const{wrapperSize,setWrapperSize}=useWrapperSize();// Memoize global DPR calculation\nconst globalDpr=useMemo(()=>{if(isOnFramerCanvas)return 2;if(typeof window!==\"undefined\")return window.devicePixelRatio*1.5||1;return 1;},[isOnFramerCanvas]);const tranformedCanvasY=useMemo(()=>{return transformValue(parseInt(props.font.fontSize?.replace(\"px\",\"\")||\"50\"),[0,100],[0,5],true);},[props.font.fontSize]);const transformedY=props.yPosition===\"auto\"?tranformedCanvasY:props.yPositionValue;// Add font loading effect\nuseEffect(()=>{if(!props.font.fontFamily||isOnFramerCanvas)return;const loadFont=async()=>{await waitForFont(props.font.fontFamily);setFontLoaded(true);};loadFont();},[props.font.fontFamily,isOnFramerCanvas]);// Modify canvas rendering effect to depend on fontLoaded\nuseEffect(()=>{if(isOnFramerCanvas&&!props.canvasPreview)return;if(!isInView)return;if(!fontLoaded&&!isOnFramerCanvas)return;// Don't render until font is loaded on live sites\nrenderCanvas({canvasRef,wrapperRef,globalDpr,props,wrapperSize,particlesRef,transformedDensity,color});},[fontLoaded,isInView,isOnFramerCanvas,props.canvasPreview,props,wrapperSize,color]);// Animation loop with optimized dependencies\nuseEffect(()=>{if(isOnFramerCanvas&&!props.canvasPreview)return;if(!isInView)return;const animate=currentTime=>{const deltaTime=(currentTime-lastTimeRef.current)/1e3;lastTimeRef.current=currentTime;const canvas=canvasRef.current;const ctx=canvas?.getContext(\"2d\");if(!canvas||!ctx||!particlesRef.current.length){animationFrameRef.current=requestAnimationFrame(animate);return;}ctx.clearRect(0,0,canvas.width,canvas.height);updateParticles(particlesRef.current,deltaTime,isHovered,showText,setShowText,props.spread,props.speed);renderParticles(ctx,particlesRef.current,globalDpr);animationFrameRef.current=requestAnimationFrame(animate);};animationFrameRef.current=requestAnimationFrame(animate);return()=>{if(animationFrameRef.current){cancelAnimationFrame(animationFrameRef.current);}};},[isInView,isOnFramerCanvas,props.canvasPreview,props.spread,props.speed,globalDpr,isHovered]);// Memoize event handlers\nconst handleMouseEnter=useCallback(()=>{setIsHovered(true);setHasBeenShown(true);},[]);const handleMouseLeave=useCallback(()=>{if(props.resetOnMouseLeave||!hasBeenShown){setIsHovered(false);}},[props.resetOnMouseLeave,hasBeenShown]);useEffect(()=>{renderCanvas({canvasRef,wrapperRef,globalDpr,props,wrapperSize,particlesRef,transformedDensity,color});const currentFont=props.font.fontFamily||\"sans-serif\";return handleFontChange({currentFont,lastFontRef,isOnFramerCanvas,props,canvasRef,wrapperRef,globalDpr,wrapperSize,particlesRef,transformedDensity,color});},[props,canvasRef,wrapperRef,globalDpr,wrapperSize]);useResizeObserver({wrapperRef,wrapperSize,setWrapperSize,props,canvasRef,isOnFramerCanvas,globalDpr,particlesRef,transformedDensity,color});return /*#__PURE__*/_jsxs(\"div\",{ref:wrapperRef,style:{width:\"100%\",height:\"100%\",display:\"flex\",flexDirection:\"column\",justifyContent:\"center\",alignItems:\"center\",position:\"relative\"},onMouseEnter:handleMouseEnter,onMouseLeave:handleMouseLeave,children:[renderAnimatedTag(props,color,showText),/*#__PURE__*/_jsx(\"canvas\",{ref:canvasRef,style:{position:\"absolute\",top:0,left:0,width:\"100%\",height:\"100%\",transform:`translateY(${transformedY}px)`}})]});}// ------------------------------------------------------------ //\n// RENDER CANVAS\n// ------------------------------------------------------------ //\nconst renderCanvas=({canvasRef,wrapperRef,globalDpr,props,wrapperSize,particlesRef,transformedDensity,color})=>{if(!wrapperRef.current||!canvasRef.current||!wrapperSize.width||!wrapperSize.height)return;const canvas=canvasRef.current;const{width,height}=wrapperSize;canvas.width=width*globalDpr;canvas.height=height*globalDpr;canvas.style.width=`${width}px`;canvas.style.height=`${height}px`;const ctx=canvas.getContext(\"2d\");if(!ctx)return;// Calculate text position\nconst textX=canvas.width/2;const textY=canvas.height/2;// Parse font size and create font string\nconst formattedFontFamily=formatFontFamilies(props.font.fontFamily);const fontSize=parseInt(props.font.fontSize?.replace(\"px\",\"\")||\"50\");const font=`${props.font.fontWeight??400} ${fontSize*globalDpr}px ${formattedFontFamily}`;// Create particles from text\nconst particles=createParticles(ctx,canvas,props.text,textX,textY,font,color,\"center\",transformedDensity,props.font.letterSpacing||\"0px\");// Store particles for later use\nparticlesRef.current=particles;// Render particles\nrenderParticles(ctx,particles,globalDpr);};// ------------------------------------------------------------ //\n// PARTICLE SYSTEM\n// ------------------------------------------------------------ //\nconst createParticles=(ctx,canvas,text,textX,textY,font,color,alignment,transformedDensity,letterSpacing)=>{const particles=[];// Clear canvas\nctx.clearRect(0,0,canvas.width,canvas.height);// Set text properties\nctx.fillStyle=color;ctx.font=font;ctx.textAlign=alignment;ctx.letterSpacing=letterSpacing;ctx.textBaseline=\"middle\";// Remove unnecessary ctx settings that don't significantly impact quality\nctx.imageSmoothingEnabled=true;// Render text for sampling\nctx.fillText(text,textX,textY);// Sample the rendered text\nconst imageData=ctx.getImageData(0,0,canvas.width,canvas.height);const data=imageData.data;// Calculate sampling rate based on DPR\nconst currentDPR=canvas.width/parseInt(canvas.style.width);// Increase base sampling rate to reduce particles\nconst baseSampleRate=Math.max(2,Math.round(currentDPR));const sampleRate=baseSampleRate*transformedDensity;// Calculate text bounds to determine spread area\nlet minX=canvas.width;let maxX=0;let minY=canvas.height;let maxY=0;// First pass: find text bounds\nfor(let y=0;y<canvas.height;y+=sampleRate){for(let x=0;x<canvas.width;x+=sampleRate){const index=(y*canvas.width+x)*4;const alpha=data[index+3];if(alpha>0){minX=Math.min(minX,x);maxX=Math.max(maxX,x);minY=Math.min(minY,y);maxY=Math.max(maxY,y);}}}// Calculate spread area\nconst textWidth=maxX-minX;const textHeight=maxY-minY;const spreadRadius=Math.max(textWidth,textHeight)*.1;// Second pass: create particles with random initial positions\nfor(let y=0;y<canvas.height;y+=sampleRate){for(let x=0;x<canvas.width;x+=sampleRate){const index=(y*canvas.width+x)*4;const alpha=data[index+3];if(alpha>0){const originalAlpha=alpha/255;// Calculate random initial position within spread radius\nconst angle=Math.random()*Math.PI*2;const distance=Math.random()*spreadRadius;const initialX=x+Math.cos(angle)*distance;const initialY=y+Math.sin(angle)*distance;const particle={x:initialX,y:initialY,originalX:x,originalY:y,color:`rgba(${data[index]}, ${data[index+1]}, ${data[index+2]}, ${originalAlpha})`,opacity:originalAlpha*.3,originalAlpha,velocityX:0,velocityY:0,angle:Math.random()*Math.PI*2,speed:0,floatingOffsetX:0,floatingOffsetY:0,floatingSpeed:Math.random()*2+1,floatingAngle:Math.random()*Math.PI*2,targetOpacity:Math.random()*originalAlpha*.5,sparkleSpeed:Math.random()*2+1};particles.push(particle);}}}// Clear canvas after sampling\nctx.clearRect(0,0,canvas.width,canvas.height);return particles;};const updateParticles=(particles,deltaTime,isHovered,showText,setShowText,spread,speed)=>{const FLOAT_RADIUS=spread;const RETURN_SPEED=3// Speed at which particles return to their original position\n;const FLOAT_SPEED=speed;const TRANSITION_SPEED=5*FLOAT_SPEED// Scale transition speed by FLOAT_SPEED\n;const NOISE_SCALE=.6// Scale of the random movement\n;const CHAOS_FACTOR=1.3// Additional randomness factor\n;const FADE_SPEED=5// Speed at which particles fade out when hovered\n;particles.forEach(particle=>{if(isHovered){// When hovered, gradually return to original position\nconst dx=particle.originalX-particle.x;const dy=particle.originalY-particle.y;const distance=Math.sqrt(dx*dx+dy*dy);if(distance>.1){particle.x+=dx/distance*RETURN_SPEED*deltaTime*60;particle.y+=dy/distance*RETURN_SPEED*deltaTime*60;}else{particle.x=particle.originalX;particle.y=particle.originalY;}// Fade out particles when hovered\nparticle.opacity=Math.max(0,particle.opacity-FADE_SPEED*deltaTime);}else{// Update particle's unique movement pattern\nparticle.floatingAngle+=deltaTime*particle.floatingSpeed*(1+Math.random()*CHAOS_FACTOR);// Generate base movement using improved noise\nconst time=Date.now()*.001;const uniqueOffset=particle.floatingSpeed*2e3// Make each particle's pattern unique\n;const noiseX=(Math.sin(time*particle.floatingSpeed+particle.floatingAngle)*1.2+Math.sin((time+uniqueOffset)*.5)*.8+(Math.random()-.5)*CHAOS_FACTOR)*NOISE_SCALE;const noiseY=(Math.cos(time*particle.floatingSpeed+particle.floatingAngle*1.5)*.6+Math.cos((time+uniqueOffset)*.5)*.4+(Math.random()-.5)*CHAOS_FACTOR)*NOISE_SCALE;// Calculate target position with random offset\nconst randomOffsetX=FLOAT_RADIUS*noiseX;const randomOffsetY=FLOAT_RADIUS*noiseY;const targetX=particle.originalX+randomOffsetX;const targetY=particle.originalY+randomOffsetY;// Smooth movement towards target with variable speed\nconst dx=targetX-particle.x;const dy=targetY-particle.y;// Add dynamic jitter based on distance\nconst distanceFromTarget=Math.sqrt(dx*dx+dy*dy);const jitterScale=Math.min(1,distanceFromTarget/(FLOAT_RADIUS*1.5));const jitterX=(Math.random()-.5)*FLOAT_SPEED*jitterScale;const jitterY=(Math.random()-.5)*FLOAT_SPEED*jitterScale;particle.x+=dx*TRANSITION_SPEED*deltaTime+jitterX;particle.y+=dy*TRANSITION_SPEED*deltaTime+jitterY;// Contain particles within bounds with soft boundary\nconst distanceFromOrigin=Math.sqrt(Math.pow(particle.x-particle.originalX,2)+Math.pow(particle.y-particle.originalY,2));if(distanceFromOrigin>FLOAT_RADIUS){const angle=Math.atan2(particle.y-particle.originalY,particle.x-particle.originalX);const pullBack=(distanceFromOrigin-FLOAT_RADIUS)*.1// Soft boundary\n;particle.x-=Math.cos(angle)*pullBack;particle.y-=Math.sin(angle)*pullBack;}// Enhanced continuous sparkling effect\nconst opacityDiff=particle.targetOpacity-particle.opacity;particle.opacity+=opacityDiff*particle.sparkleSpeed*deltaTime*3;// When particle reaches its target opacity, set a new random target\nif(Math.abs(opacityDiff)<.01){// Randomly choose between very low opacity and full opacity\nparticle.targetOpacity=Math.random()<.5?Math.random()*.1*particle.originalAlpha// Very faint\n:particle.originalAlpha*3// Full brightness\n;// Randomize the sparkle speed each time\nparticle.sparkleSpeed=Math.random()*3+1;}}});if(isHovered&&!showText){setShowText(true);}if(!isHovered&&showText){setShowText(false);}};const renderParticles=(ctx,particles,globalDpr)=>{ctx.save();ctx.scale(globalDpr,globalDpr);// Batch similar colored particles together\nconst particlesByColor=new Map;particles.forEach(particle=>{if(particle.opacity<=0)return;const color=particle.color.replace(/[\\d.]+\\)$/,`${particle.opacity})`);if(!particlesByColor.has(color)){particlesByColor.set(color,[]);}particlesByColor.get(color).push({x:particle.x/globalDpr,y:particle.y/globalDpr});});// Render particles in batches by color\nparticlesByColor.forEach((positions,color)=>{ctx.fillStyle=color;positions.forEach(({x,y})=>{ctx.fillRect(x,y,1,1);});});ctx.restore();};// ------------------------------------------------------------ //\n// FONT HANDLING\n// ------------------------------------------------------------ //\nconst handleFontChange=({currentFont,lastFontRef,isOnFramerCanvas,props,canvasRef,wrapperRef,globalDpr,wrapperSize,particlesRef,transformedDensity,color})=>{if(currentFont!==lastFontRef.current&&isOnFramerCanvas){lastFontRef.current=currentFont;// Re-render after 1 second to catch the loaded font\nconst timeoutId=setTimeout(()=>{cleanup({canvasRef,particlesRef})// Clean up before re-rendering\n;renderCanvas({canvasRef,wrapperRef,globalDpr,props,wrapperSize,particlesRef,transformedDensity,color});},1e3);return()=>{clearTimeout(timeoutId);cleanup({canvasRef,particlesRef});};}};// ------------------------------------------------------------ //\n// CLEANUP\n// ------------------------------------------------------------ //\nconst cleanup=({canvasRef,particlesRef})=>{// Clear canvas\nconst canvas=canvasRef.current;const ctx=canvas?.getContext(\"2d\");if(canvas&&ctx){ctx.clearRect(0,0,canvas.width,canvas.height);}// Clear particles\nif(particlesRef.current){particlesRef.current=[];}};// ------------------------------------------------------------ //\n// WRAPPER SIZE\n// ------------------------------------------------------------ //\nconst useWrapperSize=()=>{const wrapperRef=useRef(null);const[wrapperSize,setWrapperSize]=useState({width:null,height:null});useEffect(()=>{if(wrapperRef.current){const rect=wrapperRef.current.getBoundingClientRect();setWrapperSize({width:rect.width,height:rect.height});}},[wrapperRef]);return{wrapperSize,setWrapperSize,wrapperRef};};// ------------------------------------------------------------ //\n// USE RESIZE OBSERVER\n// ------------------------------------------------------------ //\nconst useResizeObserver=({wrapperRef,wrapperSize,setWrapperSize,props,canvasRef,isOnFramerCanvas,globalDpr,particlesRef,transformedDensity,color})=>{useEffect(()=>{const container=wrapperRef.current;if(!container)return;const resizeObserver=new ResizeObserver(entries=>{for(const entry of entries){const{width,height}=entry.contentRect;setWrapperSize({width,height});}renderCanvas({canvasRef,wrapperRef,globalDpr,props,wrapperSize,particlesRef,transformedDensity,color});});resizeObserver.observe(container);return()=>{resizeObserver.disconnect();};},[wrapperRef]);};// ------------------------------------------------------------ //\n// PARSE FRAMER COLOR\n// ------------------------------------------------------------ //\n/**\n * Extracts RGB/RGBA values from a Framer color string format\n * @param color - Framer color string (e.g. \"var(--token-xxx, rgb(12, 250, 163)) /* {\"name\":\"green\"}\n * @returns Valid RGBA color string\n */const parseFramerColor=color=>{// Try to match rgb/rgba pattern inside var() or directly\nconst rgbMatch=color.match(/rgb\\((\\d+),\\s*(\\d+),\\s*(\\d+)\\)/);const rgbaMatch=color.match(/rgba\\((\\d+),\\s*(\\d+),\\s*(\\d+),\\s*([\\d.]+)\\)/);if(rgbaMatch){// If RGBA format\nconst[_,r,g,b,a]=rgbaMatch;return`rgba(${r}, ${g}, ${b}, ${a})`;}else if(rgbMatch){// If RGB format\nconst[_,r,g,b]=rgbMatch;return`rgba(${r}, ${g}, ${b}, 1)`;}// Fallback to black if parsing fails\nconsole.warn(\"Could not parse color:\",color);return\"rgba(0, 0, 0, 1)\";};/**\n * Formats font families for canvas context font property\n * Removes any existing quotes and ensures proper comma separation\n */const formatFontFamilies=(fontFamilyString=\"sans-serif\")=>{// Split the font families by comma and trim whitespace\n// + append sans-serif\nreturn fontFamilyString+\", sans-serif\".split(\",\").map(font=>{// Remove any existing quotes and trim whitespace\nreturn font.trim().replace(/['\"]/g,\"\");}).join(\", \");};/**\n * Maps a value from one range to another, optionally clamping the result.\n *\n * @param input - The value to transform.\n * @param inputRange - A tuple of two numbers [from, to] defining the input range.\n * @param outputRange - A tuple of two numbers [from, to] defining the output range.\n * @param clamp - Whether to clamp the output value within the output range.\n * @returns The transformed value.\n */function transformValue(input,inputRange,outputRange,clamp=false){const[inputMin,inputMax]=inputRange;const[outputMin,outputMax]=outputRange;const progress=(input-inputMin)/(inputMax-inputMin);let result=outputMin+progress*(outputMax-outputMin);if(clamp){if(outputMax>outputMin){result=Math.min(Math.max(result,outputMin),outputMax);}else{result=Math.min(Math.max(result,outputMax),outputMin);}}return result;}// ------------------------------------------------------------ //\n// RENDER ANIMATED TAG\n// ------------------------------------------------------------ //\nconst renderAnimatedTag=(props,color,showText)=>{const Component=motion[props.tag];return /*#__PURE__*/_jsx(Component,{initial:\"hidden\",animate:showText?\"visible\":\"hidden\",variants:{hidden:{opacity:0},visible:{opacity:1}},transition:{duration:showText?.5:.3,type:\"tween\",ease:showText?\"easeIn\":\"easeOut\"},style:{color:color,margin:0,zIndex:1,fontFamily:props.font.fontFamily,fontWeight:props.font.fontWeight,fontSize:props.font.fontSize,// textAlign: props.font.textAlign,\n// lineHeight: props.font.lineHeight,\nletterSpacing:props.font.letterSpacing,userSelect:props.selectable?\"text\":\"none\",whiteSpace:\"nowrap\"},children:props.text});};// Add FontFaceObserver utility\nconst waitForFont=async fontFamily=>{// Skip if FontFaceObserver is not available (e.g. in Framer preview)\nif(typeof window===\"undefined\"||!(\"FontFace\"in window))return;try{const font=new FontFaceObserver(fontFamily.split(\",\")[0].trim().replace(/['\"]/g,\"\"));await font.load(null,5e3)// 5 second timeout\n;}catch(e){console.warn(\"Font loading failed:\",e);}};MagicTextReveal.displayName=\"Magic Text Reveal\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"MagicTextReveal\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"200\",\"framerDisableUnlink\":\"\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"400\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./MagicTextReveal_Prod.map", "// Generated by Framer (bf2ee14)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"Inter-Light\",\"Inter\",\"Inter-Italic\",\"Inter-LightItalic\"]);export const fonts=[{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/BkDpl4ghaqvMi1btKFyG2tdbec.woff2\",weight:\"300\"},{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/zAMK70AQRFSShJgUiaR5IiIhgzk.woff2\",weight:\"300\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/IETjvc5qzUaRoaruDpPSwCUM8.woff2\",weight:\"300\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/oLCoaT3ioA0fHdJnWR9W6k7NY.woff2\",weight:\"300\"},{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/Sj0PCHQSBjFmEp6NBWg6FNaKc.woff2\",weight:\"300\"},{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/v2q8JTTTs7McDMSEhnxAIBqd0.woff2\",weight:\"300\"},{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/H4TfENUY1rh8R9UaSD6vngjJP3M.woff2\",weight:\"300\"},{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\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/CfMzU8w2e7tHgF4T4rATMPuWosA.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/867QObYax8ANsfX4TGEVU9YiCM.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/Oyn2ZbENFdnW7mt2Lzjk1h9Zb9k.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/cdAe8hgZ1cMyLu9g005pAW3xMo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",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/DOfvtmE1UplCq161m6Hj8CSQYg.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",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/vFzuJY0c65av44uhEKB6vyjFMg.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",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/tKtBcDnBMevsEEJKdNGhhkLzYo.woff2\",weight:\"400\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0460-052F, U+1C80-1C88, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F\",url:\"https://framerusercontent.com/assets/YYB6GZmCWnZq3RWZOghuZIOxQY.woff2\",weight:\"300\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116\",url:\"https://framerusercontent.com/assets/miJTzODdiyIr3tRo9KEoqXXk2PM.woff2\",weight:\"300\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/6ZMhcggRFfEfbf7lncCpaUbA.woff2\",weight:\"300\"},{family:\"Inter\",source:\"framer\",style:\"italic\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/8sCN6PGUr4I8q5hC5twAXfcwqV0.woff2\",weight:\"300\"},{family:\"Inter\",source:\"framer\",style:\"italic\",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/aUYDUTztS7anQw5JuwCncXeLOBY.woff2\",weight:\"300\"},{family:\"Inter\",source:\"framer\",style:\"italic\",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/5mDAOkC5Wpzo7NkuE9oYfqlY2u4.woff2\",weight:\"300\"},{family:\"Inter\",source:\"framer\",style:\"italic\",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/yDiPvYxioBHsicnYxpPW35WQmx8.woff2\",weight:\"300\"}]}];export const css=['.framer-0TZE6 .framer-styles-preset-1m68yxh:not(.rich-text-wrapper), .framer-0TZE6 .framer-styles-preset-1m68yxh.rich-text-wrapper p { --framer-font-family: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-bold: \"Inter\", sans-serif; --framer-font-family-bold-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-family-italic: \"Inter\", \"Inter Placeholder\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 14px; --framer-font-style: normal; --framer-font-style-bold: normal; --framer-font-style-bold-italic: italic; --framer-font-style-italic: italic; --framer-font-variation-axes: normal; --framer-font-weight: 300; --framer-font-weight-bold: 400; --framer-font-weight-bold-italic: 400; --framer-font-weight-italic: 300; --framer-letter-spacing: 0em; --framer-line-height: 1em; --framer-paragraph-spacing: 20px; --framer-text-alignment: start; --framer-text-color: rgba(255, 255, 255, 0.5); --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }'];export const className=\"framer-0TZE6\";\nexport const __FramerMetadata__ = {\"exports\":{\"fonts\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"className\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"css\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "// Generated by Framer (bf2ee14)\nimport{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addFonts,addPropertyControls,ComponentViewportProvider,ControlType,cx,getFonts,getFontsFromSharedStyle,Link,RichText,SmartComponentScopedContainer,useComponentViewport,useLocaleInfo,useVariantState,withCSS}from\"framer\";import{LayoutGroup,motion,MotionConfigContext}from\"framer-motion\";import*as React from\"react\";import{useRef}from\"react\";import MagicTextReveal from\"https://framerusercontent.com/modules/5ZuH7xaTyFIptP1xd86A/wIMKYHCyMURENymRUzoa/MagicTextReveal_Prod.js\";import*as sharedStyle from\"https://framerusercontent.com/modules/vHBr1wDFxI10mXzMTxPE/ZD5Q5IvzXjAhiCgNvuq0/n2JP44mS1.js\";const MagicTextRevealFonts=getFonts(MagicTextReveal);const enabledGestures={bhp7egMwa:{hover:true},w3k7ewXV8:{hover:true}};const cycleOrder=[\"bhp7egMwa\",\"w3k7ewXV8\"];const serializationHash=\"framer-JNhUz\";const variantClassNames={bhp7egMwa:\"framer-v-q8himj\",w3k7ewXV8:\"framer-v-j0rjco\"};function addPropertyOverrides(overrides,...variants){const nextOverrides={};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??config.transition;const contextValue=React.useMemo(()=>({...config,transition}),[JSON.stringify(transition)]);return /*#__PURE__*/_jsx(MotionConfigContext.Provider,{value:contextValue,children:children});};const Variants=motion.create(React.Fragment);const humanReadableVariantMap={\"Variant 1\":\"bhp7egMwa\",\"Variant 2\":\"w3k7ewXV8\"};const getProps=({height,id,link,text,width,...props})=>{return{...props,A1S2_qjMp:link??props.A1S2_qjMp,KUieJ9hlq:text??props.KUieJ9hlq??\"View\",variant:humanReadableVariantMap[props.variant]??props.variant??\"bhp7egMwa\"};};const createLayoutDependency=(props,variants)=>{if(props.layoutDependency)return variants.join(\"-\")+props.layoutDependency;return variants.join(\"-\");};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const fallbackRef=useRef(null);const refBinding=ref??fallbackRef;const defaultLayoutId=React.useId();const{activeLocale,setLocale}=useLocaleInfo();const componentViewport=useComponentViewport();const{style,className,layoutId,variant,KUieJ9hlq,A1S2_qjMp,...restProps}=getProps(props);const{baseVariant,classNames,clearLoadingGesture,gestureHandlers,gestureVariant,isLoading,setGestureState,setVariant,variants}=useVariantState({cycleOrder,defaultVariant:\"bhp7egMwa\",enabledGestures,ref:refBinding,variant,variantClassNames});const layoutDependency=createLayoutDependency(props,variants);const sharedStyleClassNames=[sharedStyle.className];const scopingClassNames=cx(serializationHash,...sharedStyleClassNames);const isDisplayed=()=>{if(gestureVariant===\"w3k7ewXV8-hover\")return false;if(baseVariant===\"w3k7ewXV8\")return false;return true;};const isDisplayed1=()=>{if(gestureVariant===\"w3k7ewXV8-hover\")return true;if(baseVariant===\"w3k7ewXV8\")return true;return false;};return /*#__PURE__*/_jsx(LayoutGroup,{id:layoutId??defaultLayoutId,children:/*#__PURE__*/_jsx(Variants,{animate:variants,initial:false,children:/*#__PURE__*/_jsx(Transition,{value:transition1,children:/*#__PURE__*/_jsx(Link,{href:A1S2_qjMp,motionChild:true,nodeId:\"bhp7egMwa\",scopeId:\"YpaLQ2WM7\",children:/*#__PURE__*/_jsxs(motion.a,{...restProps,...gestureHandlers,className:`${cx(scopingClassNames,\"framer-q8himj\",className,classNames)} framer-wp7u63`,\"data-border\":true,\"data-framer-name\":\"Variant 1\",layoutDependency:layoutDependency,layoutId:\"bhp7egMwa\",ref:refBinding,style:{\"--border-bottom-width\":\"1px\",\"--border-color\":\"rgb(31, 31, 31)\",\"--border-left-width\":\"1px\",\"--border-right-width\":\"1px\",\"--border-style\":\"solid\",\"--border-top-width\":\"1px\",backgroundColor:\"rgb(20, 20, 20)\",borderBottomLeftRadius:11,borderBottomRightRadius:11,borderTopLeftRadius:11,borderTopRightRadius:11,...style},variants:{\"bhp7egMwa-hover\":{\"--border-color\":\"rgb(61, 61, 61)\"},\"w3k7ewXV8-hover\":{\"--border-color\":\"rgb(61, 61, 61)\"}},...addPropertyOverrides({\"bhp7egMwa-hover\":{\"data-framer-name\":undefined},\"w3k7ewXV8-hover\":{\"data-framer-name\":undefined},w3k7ewXV8:{\"data-framer-name\":\"Variant 2\"}},baseVariant,gestureVariant),children:[isDisplayed()&&/*#__PURE__*/_jsx(ComponentViewportProvider,{children:/*#__PURE__*/_jsx(SmartComponentScopedContainer,{className:\"framer-1av2hn2-container\",isAuthoredByUser:true,isModuleExternal:true,layoutDependency:layoutDependency,layoutId:\"w9Av0wzoG-container\",nodeId:\"w9Av0wzoG\",rendersWithMotion:true,scopeId:\"YpaLQ2WM7\",children:/*#__PURE__*/_jsx(MagicTextReveal,{canvasPreview:true,color:\"rgb(255, 255, 255)\",density:4,font:{fontFamily:'\"Inter\", \"Inter Placeholder\", sans-serif',fontSize:\"14px\",fontStyle:\"normal\",fontWeight:300,letterSpacing:\"0.02em\",lineHeight:\"1em\"},height:\"100%\",id:\"w9Av0wzoG\",layoutId:\"w9Av0wzoG\",resetOnMouseLeave:true,selectable:false,speed:.4,spread:64,style:{height:\"100%\",width:\"100%\"},tag:\"p\",text:KUieJ9hlq,width:\"100%\",yPosition:\"auto\",yPositionValue:3.5})})}),isDisplayed1()&&/*#__PURE__*/_jsx(RichText,{__fromCanvasComponent:true,children:/*#__PURE__*/_jsx(React.Fragment,{children:/*#__PURE__*/_jsx(motion.p,{className:\"framer-styles-preset-1m68yxh\",\"data-styles-preset\":\"n2JP44mS1\",style:{\"--framer-text-color\":\"var(--extracted-r6o4lv, rgb(128, 128, 128))\"},children:\"View\"})}),className:\"framer-104nfad\",fonts:[\"Inter\"],layoutDependency:layoutDependency,layoutId:\"QQnRFUEzz\",style:{\"--extracted-r6o4lv\":\"rgb(128, 128, 128)\",\"--framer-link-text-color\":\"rgb(0, 153, 255)\",\"--framer-link-text-decoration\":\"underline\"},text:KUieJ9hlq,verticalAlignment:\"top\",withExternalLayout:true})]})})})})});});const css=[\"@supports (aspect-ratio: 1) { body { --framer-aspect-ratio-supported: auto; } }\",\".framer-JNhUz.framer-wp7u63, .framer-JNhUz .framer-wp7u63 { display: block; }\",\".framer-JNhUz.framer-q8himj { align-content: center; align-items: center; cursor: pointer; display: flex; flex-direction: column; flex-wrap: nowrap; gap: 10px; height: 30px; justify-content: center; overflow: hidden; padding: 0px; position: relative; text-decoration: none; width: 91px; will-change: var(--framer-will-change-override, transform); }\",\".framer-JNhUz .framer-1av2hn2-container { -webkit-user-select: none; flex: 1 0 0px; height: 1px; pointer-events: auto; position: relative; user-select: none; width: 100%; }\",\".framer-JNhUz .framer-104nfad { flex: none; height: auto; position: relative; white-space: pre; width: auto; }\",\".framer-JNhUz.framer-v-j0rjco.framer-q8himj { padding: 0px 20px 0px 20px; width: min-content; }\",...sharedStyle.css,'.framer-JNhUz[data-border=\"true\"]::after, .framer-JNhUz [data-border=\"true\"]::after { content: \"\"; border-width: var(--border-top-width, 0) var(--border-right-width, 0) var(--border-bottom-width, 0) var(--border-left-width, 0); border-color: var(--border-color, none); border-style: var(--border-style, none); width: 100%; height: 100%; position: absolute; box-sizing: border-box; left: 0; top: 0; border-radius: inherit; pointer-events: none; }'];/**\n * This is a generated Framer component.\n * @framerIntrinsicHeight 30\n * @framerIntrinsicWidth 91\n * @framerCanvasComponentVariantDetails {\"propertyName\":\"variant\",\"data\":{\"default\":{\"layout\":[\"fixed\",\"fixed\"]},\"w3k7ewXV8\":{\"layout\":[\"auto\",\"fixed\"]},\"PF4ryMznG\":{\"layout\":[\"fixed\",\"fixed\"]},\"efJOK6jNF\":{\"layout\":[\"auto\",\"fixed\"]}}}\n * @framerVariables {\"KUieJ9hlq\":\"text\",\"A1S2_qjMp\":\"link\"}\n * @framerImmutableVariables true\n * @framerDisplayContentsDiv false\n * @framerAutoSizeImages true\n * @framerComponentViewportWidth true\n * @framerColorSyntax true\n */const FramerYpaLQ2WM7=withCSS(Component,css,\"framer-JNhUz\");export default FramerYpaLQ2WM7;FramerYpaLQ2WM7.displayName=\"button\";FramerYpaLQ2WM7.defaultProps={height:30,width:91};addPropertyControls(FramerYpaLQ2WM7,{variant:{options:[\"bhp7egMwa\",\"w3k7ewXV8\"],optionTitles:[\"Variant 1\",\"Variant 2\"],title:\"Variant\",type:ControlType.Enum},KUieJ9hlq:{defaultValue:\"View\",title:\"Text\",type:ControlType.String},A1S2_qjMp:{title:\"Link\",type:ControlType.Link}});addFonts(FramerYpaLQ2WM7,[{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/BkDpl4ghaqvMi1btKFyG2tdbec.woff2\",weight:\"300\"},{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/zAMK70AQRFSShJgUiaR5IiIhgzk.woff2\",weight:\"300\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+1F00-1FFF\",url:\"https://framerusercontent.com/assets/IETjvc5qzUaRoaruDpPSwCUM8.woff2\",weight:\"300\"},{family:\"Inter\",source:\"framer\",style:\"normal\",unicodeRange:\"U+0370-03FF\",url:\"https://framerusercontent.com/assets/oLCoaT3ioA0fHdJnWR9W6k7NY.woff2\",weight:\"300\"},{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/Sj0PCHQSBjFmEp6NBWg6FNaKc.woff2\",weight:\"300\"},{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/v2q8JTTTs7McDMSEhnxAIBqd0.woff2\",weight:\"300\"},{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/H4TfENUY1rh8R9UaSD6vngjJP3M.woff2\",weight:\"300\"},{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\"}]},...MagicTextRevealFonts,...getFontsFromSharedStyle(sharedStyle.fonts)],{supportsExplicitInterCodegen:true});\nexport const __FramerMetadata__ = {\"exports\":{\"Props\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"reactComponent\",\"name\":\"FramerYpaLQ2WM7\",\"slots\":[],\"annotations\":{\"framerDisplayContentsDiv\":\"false\",\"framerColorSyntax\":\"true\",\"framerIntrinsicHeight\":\"30\",\"framerContractVersion\":\"1\",\"framerVariables\":\"{\\\"KUieJ9hlq\\\":\\\"text\\\",\\\"A1S2_qjMp\\\":\\\"link\\\"}\",\"framerCanvasComponentVariantDetails\":\"{\\\"propertyName\\\":\\\"variant\\\",\\\"data\\\":{\\\"default\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"w3k7ewXV8\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]},\\\"PF4ryMznG\\\":{\\\"layout\\\":[\\\"fixed\\\",\\\"fixed\\\"]},\\\"efJOK6jNF\\\":{\\\"layout\\\":[\\\"auto\\\",\\\"fixed\\\"]}}}\",\"framerAutoSizeImages\":\"true\",\"framerComponentViewportWidth\":\"true\",\"framerImmutableVariables\":\"true\",\"framerIntrinsicWidth\":\"91\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./YpaLQ2WM7.map", "import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType}from\"framer\";import{useCallback}from\"react\";const urlRegex=/(https?:\\/\\/[^ ]*)/;/**\n * SPOTIFY\n *\n * @framerIntrinsicWidth 280\n * @framerIntrinsicHeight 350\n */ export function Spotify(props){const{theme,url:sourceUrl}=props;const createEmbedUrl=useCallback(()=>{if(sourceUrl.length<5)return null;// If someone pastes the embed code lets still try to render it\nconst strippedUrl=sourceUrl.includes(\"iframe\")?sourceUrl.match(urlRegex)[1].replace(`\"`,\"\"):sourceUrl;const url=new URL(strippedUrl);// Add embed prefix if needed\nif(!url.pathname.includes(\"embed\"))url.pathname=`/embed${url.pathname}`;// Remove params\nurl.search=`theme=${theme}`;// @ben you could add all other bools in here like\n// url.search = `theme=${theme}&dog=${cat}`\nreturn url.toString();},[theme,sourceUrl]);const identifier=createEmbedUrl();return(/*#__PURE__*/ _jsx(\"iframe\",{style:{height:\"100%\",width:\"100%\"},frameBorder:0,src:identifier}));}Spotify.defaultProps={url:\"https://open.spotify.com/album/31qVWUdRrlb8thMvts0yYL?si=Jl-8Mnc3RNGuOtqRC7NXVg\",width:280,height:350,theme:1};addPropertyControls(Spotify,{url:{type:ControlType.String,title:\"URL\"},theme:{type:ControlType.Enum,displaySegmentedControl:true,options:[1,0],optionTitles:[\"On\",\"Off\"]}});\nexport const __FramerMetadata__ = {\"exports\":{\"Spotify\":{\"type\":\"reactComponent\",\"name\":\"Spotify\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"350\",\"framerIntrinsicWidth\":\"280\"}}}}\n//# sourceMappingURL=./Spotify.map"],
  "mappings": "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",
  "names": ["containerStyles", "emptyStateStyle", "defaultEvents", "ControlType", "fontSizeOptions", "fontControls", "font", "useIsOnCanvas", "se", "RenderTarget", "useRadius", "props", "borderRadius", "isMixedBorderRadius", "topLeftRadius", "topRightRadius", "bottomRightRadius", "bottomLeftRadius", "se", "borderRadiusControl", "ControlType", "paddingControl", "ControlType", "PlayOptions", "ThumbnailOptions", "Youtube", "url", "play", "shouldMute", "thumbnail", "isRed", "onClick", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "title", "props", "onCanvas", "useIsOnCanvas", "isAutoplay", "showThumbnail", "isPreloading", "preloadVideo", "le", "showVideo", "startVideo", "isHovered", "setHovered", "ye", "borderRadius", "useRadius", "hasBorderRadius", "p", "Instructions", "parsedURL", "parseVideoURL", "ErrorMessage", "videoId", "embedURL", "originalSearchParams", "searchParams", "param", "value", "iframeProps", "u", "wrapperStyle", "l", "getThumbnailURL", "videoStyle", "PlayButton", "addPropertyControls", "ControlType", "borderRadiusControl", "defaultEvents", "defaultProps", "urlString", "getEmbedURL", "pathSegments", "page", "res", "pre", "ext", "emptyStateStyle", "centerTextStyle", "message", "containerStyles", "buttonStyle", "e", "t", "n", "i", "o", "s", "d", "window", "a", "l", "r", "c", "h", "u", "f", "p", "m", "w", "g", "v", "x", "y", "E", "b", "Tag", "addPropertyControls", "MagicTextReveal", "ControlType", "props", "isOnFramerCanvas", "RenderTarget", "canvasRef", "pe", "wrapperRef", "lastFontRef", "particlesRef", "animationFrameRef", "lastTimeRef", "fontLoaded", "setFontLoaded", "ye", "isHovered", "setIsHovered", "showText", "setShowText", "hasBeenShown", "setHasBeenShown", "transformedDensity", "color", "se", "parseFramerColor", "isInView", "useInView", "wrapperSize", "setWrapperSize", "useWrapperSize", "globalDpr", "window", "tranformedCanvasY", "transformValue", "transformedY", "ue", "waitForFont", "renderCanvas", "animate", "currentTime", "deltaTime", "canvas", "ctx", "updateParticles", "renderParticles", "handleMouseEnter", "te", "handleMouseLeave", "currentFont", "handleFontChange", "useResizeObserver", "u", "renderAnimatedTag", "p", "width", "height", "textX", "textY", "formattedFontFamily", "formatFontFamilies", "fontSize", "font", "particles", "createParticles", "text", "alignment", "letterSpacing", "data", "currentDPR", "sampleRate", "minX", "maxX", "minY", "maxY", "y", "x", "index", "textWidth", "textHeight", "spreadRadius", "alpha", "originalAlpha", "angle", "distance", "initialX", "initialY", "particle", "spread", "speed", "FLOAT_RADIUS", "RETURN_SPEED", "FLOAT_SPEED", "TRANSITION_SPEED", "NOISE_SCALE", "CHAOS_FACTOR", "FADE_SPEED", "dx", "dy", "time", "uniqueOffset", "noiseX", "noiseY", "randomOffsetX", "randomOffsetY", "targetX", "targetY", "distanceFromTarget", "jitterScale", "jitterX", "jitterY", "distanceFromOrigin", "pullBack", "opacityDiff", "particlesByColor", "positions", "timeoutId", "cleanup", "rect", "container", "resizeObserver", "entries", "entry", "rgbMatch", "rgbaMatch", "_", "r", "g", "b", "a", "fontFamilyString", "input", "inputRange", "outputRange", "clamp", "inputMin", "inputMax", "outputMin", "outputMax", "progress", "result", "Component", "motion", "fontFamily", "o", "e", "fontStore", "fonts", "css", "className", "MagicTextRevealFonts", "getFonts", "MagicTextReveal", "enabledGestures", "cycleOrder", "serializationHash", "variantClassNames", "addPropertyOverrides", "overrides", "variants", "nextOverrides", "variant", "transition1", "Transition", "value", "children", "config", "re", "MotionConfigContext", "transition", "contextValue", "se", "p", "Variants", "motion", "x", "humanReadableVariantMap", "getProps", "height", "id", "link", "text", "width", "props", "createLayoutDependency", "Component", "Y", "ref", "fallbackRef", "pe", "refBinding", "defaultLayoutId", "ae", "activeLocale", "setLocale", "useLocaleInfo", "componentViewport", "useComponentViewport", "style", "className", "layoutId", "KUieJ9hlq", "A1S2_qjMp", "restProps", "baseVariant", "classNames", "clearLoadingGesture", "gestureHandlers", "gestureVariant", "isLoading", "setGestureState", "setVariant", "useVariantState", "layoutDependency", "scopingClassNames", "cx", "isDisplayed", "isDisplayed1", "LayoutGroup", "Link", "u", "ComponentViewportProvider", "SmartComponentScopedContainer", "RichText2", "css", "FramerYpaLQ2WM7", "withCSS", "YpaLQ2WM7_default", "addPropertyControls", "ControlType", "addFonts", "getFontsFromSharedStyle", "fonts", "urlRegex", "Spotify", "props", "theme", "sourceUrl", "identifier", "te", "strippedUrl", "url", "p", "addPropertyControls", "ControlType"]
}
