{
  "version": 3,
  "sources": ["ssg:https://framerusercontent.com/modules/VTUDdizacRHpwbkOamr7/AykinQJbgwl92LvMGZwu/constants.js", "ssg:https://framerusercontent.com/modules/D4TWeLfcxT6Tysr2BlYg/iZjmqdxVx1EOiM3k1FaW/useOnNavigationTargetChange.js", "ssg:https://framerusercontent.com/modules/eMBrwoqQK7h6mEeGQUH8/GuplvPJVjmxpk9zqOTcb/isBrowser.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/fJ8vwGe6kxfz7kj9H7Sk/YouTube.js", "ssg:https://framerusercontent.com/modules/80dP2Xf7Vo2iv2bu3gjE/pOnMZo0gvEHfVv6y2ge0/BzxVuWaVG.js", "ssg:https://framerusercontent.com/modules/lRDHiNWNVWmE0lqtoVHP/IZ0vSV62Dv7ax4rBiGUk/Video.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 { 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 { 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 { 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}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={}));var ThumbnailFormat;(function(ThumbnailFormat){ThumbnailFormat[\"WebP\"]=\"webp\";ThumbnailFormat[\"JPG\"]=\"jpg\";})(ThumbnailFormat||(ThumbnailFormat={}));/**\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,...props}){const onCanvas=useIsOnCanvas();const isAutoplay=play!==PlayOptions.Normal;const showThumbnail=onCanvas||thumbnail!==ThumbnailOptions.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]=parsedURL;// https://stackoverflow.com/questions/2068344/how-do-i-get-a-youtube-video-thumbnail-from-the-youtube-api\nconst thumbnailURL=getThumbnailURL(videoId,thumbnail,getWebPSupported()?ThumbnailFormat.WebP:ThumbnailFormat.JPG);// https://developers.google.com/youtube/player_parameters\nconst searchParams=embedURL.searchParams;searchParams.set(\"iv_load_policy\",\"3\");searchParams.set(\"rel\",\"0\");searchParams.set(\"modestbranding\",\"1\");searchParams.set(\"playsinline\",\"1\");if(isAutoplay||showThumbnail){searchParams.set(\"autoplay\",\"1\");}if(isAutoplay&&shouldMute){searchParams.set(\"mute\",\"1\");}if(play===PlayOptions.Loop){searchParams.set(\"loop\",\"1\");searchParams.set(\"playlist\",videoId);}if(!isRed){searchParams.set(\"color\",\"white\");}return /*#__PURE__*/ _jsxs(\"article\",{onPointerEnter:()=>setHovered(true),onPointerLeave:()=>setHovered(false),onPointerOver:preloadVideo,onClick:startVideo,style:{...wrapperStyle,borderRadius,transform:hasBorderRadius&&showVideo?\"translateZ(0.000001px)\":\"unset\",cursor:\"pointer\",overflow:\"hidden\"},children:[isPreloading&&/*#__PURE__*/ _jsx(\"link\",{rel:\"preconnect\",href:\"https://www.youtube.com\"}),isPreloading&&/*#__PURE__*/ _jsx(\"link\",{rel:\"preconnect\",href:\"https://www.google.com\"}),/*#__PURE__*/ _jsx(\"div\",{style:{...videoStyle,background:showThumbnail?`center / cover url(${thumbnailURL}) no-repeat`:undefined}}),showVideo?/*#__PURE__*/ _jsx(\"iframe\",{style:videoStyle,src:embedURL.href,frameBorder:\"0\",allow:\"presentation; fullscreen; accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\",onClick:onClick,onMouseEnter:onMouseEnter,onMouseLeave:onMouseLeave,onMouseDown:onMouseDown,onMouseUp:onMouseUp}):/*#__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===PlayOptions.Normal;}},thumbnail:{title:\"Thumbnail\",description:\"Showing a thumbnail improves performance.\",type:ControlType.Enum,options:Object.values(ThumbnailOptions),hidden(props){return props.play!==PlayOptions.Normal;}},isRed:{title:\"Color\",type:ControlType.Boolean,enabledTitle:\"Red\",disabledTitle:\"White\"},...borderRadiusControl,...defaultEvents});const defaultProps={url:\"https://youtu.be/smPos0mJvh8\",play:PlayOptions.Normal,shouldMute:true,thumbnail:ThumbnailOptions.Medium,isRed:true};Youtube.defaultProps=defaultProps;function parseVideoURL(urlString){let url;try{url=new URL(urlString);}catch{const embedURL=getEmbedURL(urlString);return[urlString,embedURL];}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(\"/\");// https://www.youtube.com/watch?v=Fop2oskTug8\nif(pathSegments[0]===\"watch\"){const videoId=url.searchParams.get(\"v\");const embedURL1=getEmbedURL(videoId);return[videoId,embedURL1];}// https://www.youtube.com/embed/Fop2oskTug8\nif(pathSegments[0]===\"embed\"){const videoId1=pathSegments[1];return[videoId1,url];}}// https://youtu.be/Fop2oskTug8\nif(url.hostname===\"youtu.be\"){const videoId2=url.pathname.slice(1);const embedURL2=getEmbedURL(videoId2);return[videoId2,embedURL2];}}function getEmbedURL(videoId){return new URL(`https://www.youtube.com/embed/${videoId}`);}function getThumbnailURL(videoId,res,format=ThumbnailFormat.JPG){// https://gist.github.com/a1ip/be4514c1fd392a8c13b05e082c4da363\nconst pre=ThumbnailFormat.WebP?\"https://i.ytimg.com/vi_webp/\":\"https://i.ytimg.com/vi/\";const ext=ThumbnailFormat.WebP?\"webp\":\"jpg\";switch(res){case ThumbnailOptions.Low:return`${pre}${videoId}/hqdefault.${ext}`;case ThumbnailOptions.Medium:return`${pre}${videoId}/sddefault.${ext}`;case ThumbnailOptions.High:return`${pre}${videoId}/maxresdefault.${ext}`;default:return`${pre}${videoId}/0.${ext}`;}}let _getWebPSupported;// https://stackoverflow.com/a/27232658\nfunction getWebPSupported(){// We're going to default to webp because it's pretty widely supported by now\nif(!window){return true;}if(_getWebPSupported!==undefined){return _getWebPSupported;}const element=document.createElement(\"canvas\");if(!!(element.getContext&&element.getContext(\"2d\"))){// was able or not to get WebP representation\nreturn element.toDataURL(\"image/webp\").indexOf(\"data:image/webp\")==0;}else{// very old browser like IE 8, canvas not supported\nreturn false;}}// 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\":{\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"315\",\"framerComponentPresetProps\":\"isRed, borderRadius\",\"framerIntrinsicWidth\":\"560\",\"framerSupportedLayoutHeight\":\"fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./YouTube.map", "import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{addPropertyControls,ComponentPresetsConsumer,ControlType,Link}from\"framer\";import{motion}from\"framer-motion\";import*as React from\"react\";import{Youtube as YouTube}from\"https://framerusercontent.com/modules/NEd4VmDdsxM3StIUbddO/fJ8vwGe6kxfz7kj9H7Sk/YouTube.js\";/**\n * @framerRecordIdKey id\n * @framerSlug vhLy0TtfC\n * @framerData\n */ const data=[{b2o5HH_yA:\"2023-04-11T00:00:00.000Z\",BeFKtaIcX:\"Introducing the Lemon Squeezy component.\",id:\"HW2UBEfMX\",MNI4wejMU:\"April Updates\",T5Nfjwoyl:/*#__PURE__*/ _jsxs(React.Fragment,{children:[/*#__PURE__*/ _jsx(\"h2\",{children:\"Lemon Squeezy\"}),/*#__PURE__*/ _jsxs(\"p\",{children:[\"This update adds a brand new \",/*#__PURE__*/ _jsx(Link,{href:\"https://www.lemonsqueezy.com/\",openInNewTab:true,smoothScroll:false,children:/*#__PURE__*/ _jsx(\"a\",{children:\"Lemon Squeezy\"})}),\" integration to Framer. You\u2019ll find this component in the Insert Panel under the Utility section, or by searching. Use it to design simple storefronts, or to sell your amazing Framer templates. You can pick between a direct link or a checkout overlay to sell your products. We ensure the required \",/*#__PURE__*/ _jsx(\"strong\",{children:\"script\"}),\" is always only loaded once per page, so your sites stay fast to load, no matter how many products you\u2019re selling.\"]}),/*#__PURE__*/ _jsx(\"h2\",{children:\"Instant Transitions\"}),/*#__PURE__*/ _jsxs(\"p\",{children:[\"We also shipped tons of quality-of-life improvements and bug fixes based on feedback and reports from the \",/*#__PURE__*/ _jsx(Link,{href:\"https://framer.community/\",openInNewTab:true,smoothScroll:false,children:/*#__PURE__*/ _jsx(\"a\",{children:\"Community\"})}),\". It also brings a series of refinements that help you design navigations in Framer, including a redesigned Transition editor that allows you to quickly use Instant transitions, improved Styles menus, fixes for components that use Scroll Variants, and more. See the full list below.\"]}),/*#__PURE__*/ _jsxs(\"ul\",{children:[/*#__PURE__*/ _jsx(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/ _jsx(\"p\",{children:\"Added an Instant Transition type for Component variants\"})}),/*#__PURE__*/ _jsx(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/ _jsx(\"p\",{children:\"Ease and Spring curve editors now share the same layout\"})}),/*#__PURE__*/ _jsx(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/ _jsx(\"p\",{children:\"All Filter properties are now grouped together in the Styles menu\"})}),/*#__PURE__*/ _jsx(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/ _jsx(\"p\",{children:\"Links no longer automatically get no-referrer applied\"})}),/*#__PURE__*/ _jsx(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/ _jsx(\"p\",{children:\"Properties in pop-outs can now be edited with multi-select\"})}),/*#__PURE__*/ _jsx(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/ _jsx(\"p\",{children:\"Image Variables now support alt text in Components\"})}),/*#__PURE__*/ _jsxs(\"li\",{\"data-preset-tag\":\"p\",children:[/*#__PURE__*/ _jsx(\"p\",{children:\"Breakpoints no longer get Radius applied by default\"}),/*#__PURE__*/ _jsx(\"p\",{children:/*#__PURE__*/ _jsx(\"br\",{className:\"trailing-break\"})})]})]}),/*#__PURE__*/ _jsx(motion.div,{className:\"framer-text-module\",style:{\"--aspect-ratio\":\"560 / 315\",aspectRatio:\"var(--aspect-ratio)\",height:\"auto\",width:\"100%\"},children:/*#__PURE__*/ _jsx(ComponentPresetsConsumer,{componentIdentifier:\"module:NEd4VmDdsxM3StIUbddO/fJ8vwGe6kxfz7kj9H7Sk/YouTube.js:Youtube\",children:presetProps=>/*#__PURE__*/ _jsx(YouTube,{...presetProps,play:\"Off\",shouldMute:true,thumbnail:\"High Quality\",url:\"https://youtu.be/-rkFVygMhus\"})})}),/*#__PURE__*/ _jsx(\"h2\",{children:\"Dark and Light Themes\"}),/*#__PURE__*/ _jsx(\"p\",{children:\"Finally, we introduced Light and Dark Mode for your websites, with all new Color Styles. Add a Color Style, define a Light and Dark Theme, then use the Styles throughout your project. Color Styles with Themes even work within interactions and animations\u2014from Effects to Components. You can now find these in the Assets panel as well, where they can be created and customized.\"})]}),v87NK7UOe:{alt:\"\",src:new URL(\"assets/V7p6kJ57eFvVd2Eo126slWVh0.png\",\"https://framerusercontent.com/modules/80dP2Xf7Vo2iv2bu3gjE/pOnMZo0gvEHfVv6y2ge0/BzxVuWaVG.js\").href,srcSet:`${new URL(\"assets/512/V7p6kJ57eFvVd2Eo126slWVh0.png\",\"https://framerusercontent.com/modules/80dP2Xf7Vo2iv2bu3gjE/pOnMZo0gvEHfVv6y2ge0/BzxVuWaVG.js\").href} 512w, ${new URL(\"assets/1024/V7p6kJ57eFvVd2Eo126slWVh0.png\",\"https://framerusercontent.com/modules/80dP2Xf7Vo2iv2bu3gjE/pOnMZo0gvEHfVv6y2ge0/BzxVuWaVG.js\").href} 1024w, ${new URL(\"assets/V7p6kJ57eFvVd2Eo126slWVh0.png\",\"https://framerusercontent.com/modules/80dP2Xf7Vo2iv2bu3gjE/pOnMZo0gvEHfVv6y2ge0/BzxVuWaVG.js\").href} 1600w`},vhLy0TtfC:\"april-updates\"},{b2o5HH_yA:\"2023-03-06T00:00:00.000Z\",BeFKtaIcX:\"Copy Pasting, List Support, Filtering, and more.\",id:\"qqT7NV6Xr\",MNI4wejMU:\"What\u2019s New In The CMS\",T5Nfjwoyl:/*#__PURE__*/ _jsxs(React.Fragment,{children:[/*#__PURE__*/ _jsx(\"h2\",{children:\"Copy and pasting\"}),/*#__PURE__*/ _jsx(\"p\",{children:\"We\u2019ve recently improved the pasting of text in Framer to improve your writing experience. From copy-pasting between Text elements in Framer to bringing your own structured copy from editors like Notion, we\u2019ve covered the most used workflows for long- and short-form text editing using your semantic HTML, Inline Styles, and Text Styles. This also includes pasting text from online resources. For example, you can copy your essay from Notion and paste it into an empty text element, and we style it according to the default or even your own defined Text Styles. The pasting functionality will always respect the HTML structure of your pasted text and map it to your project\u2019s Text Styles.\"}),/*#__PURE__*/ _jsx(\"h2\",{children:\"List support\"}),/*#__PURE__*/ _jsxs(\"p\",{children:[\"This release adds support for Bulleted and Numbered Lists in Text Layers and the \",/*#__PURE__*/ _jsx(Link,{href:\"https://www.framer.com/learn/cms/\",openInNewTab:true,smoothScroll:false,children:/*#__PURE__*/ _jsx(\"a\",{children:\"CMS\"})}),\". You can now structure your content in new ways with Lists that integrate seamlessly with your existing Text Styles and CMS content. \"]}),/*#__PURE__*/ _jsxs(\"ul\",{children:[/*#__PURE__*/ _jsx(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/ _jsx(\"p\",{children:\"To start a new list, type a hypen or any number.\"})}),/*#__PURE__*/ _jsx(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/ _jsx(\"p\",{children:\"You can nest lists as deeply as you\u2019d like.\"})}),/*#__PURE__*/ _jsx(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/ _jsx(\"p\",{children:\"To exit out of a list, hinter enter twice.\"})})]}),/*#__PURE__*/ _jsx(\"h2\",{children:\"Filtering\"}),/*#__PURE__*/ _jsx(\"p\",{children:\"We\u2019ve added the ability to filter your collection lists in the CMS. This allows you to keep your content in a single collection, yet customize how that collection is presented on each of your web pages. For example, if you\u2019re creating docs for your app, you might want to filter articles per topic on your homepage. Or when creating a blog, you might want to filter your blog posts per category.\"})]}),v87NK7UOe:{alt:\"Framer CMS\",src:new URL(\"assets/1AebUjHW7VAMzbfrS0vDSHsTYA.png\",\"https://framerusercontent.com/modules/80dP2Xf7Vo2iv2bu3gjE/pOnMZo0gvEHfVv6y2ge0/BzxVuWaVG.js\").href,srcSet:`${new URL(\"assets/512/1AebUjHW7VAMzbfrS0vDSHsTYA.png\",\"https://framerusercontent.com/modules/80dP2Xf7Vo2iv2bu3gjE/pOnMZo0gvEHfVv6y2ge0/BzxVuWaVG.js\").href} 512w, ${new URL(\"assets/1024/1AebUjHW7VAMzbfrS0vDSHsTYA.png\",\"https://framerusercontent.com/modules/80dP2Xf7Vo2iv2bu3gjE/pOnMZo0gvEHfVv6y2ge0/BzxVuWaVG.js\").href} 1024w, ${new URL(\"assets/1AebUjHW7VAMzbfrS0vDSHsTYA.png\",\"https://framerusercontent.com/modules/80dP2Xf7Vo2iv2bu3gjE/pOnMZo0gvEHfVv6y2ge0/BzxVuWaVG.js\").href} 1600w`},vhLy0TtfC:\"whats-new-in-the-cms\"},{b2o5HH_yA:\"2023-02-14T00:00:00.000Z\",BeFKtaIcX:\"Updates to the Layer Panel, Breakpoints, and Variants.\",id:\"ewX80TdyB\",MNI4wejMU:\"The February Update\",T5Nfjwoyl:/*#__PURE__*/ _jsxs(React.Fragment,{children:[/*#__PURE__*/ _jsx(\"h2\",{children:\"New This Month\"}),/*#__PURE__*/ _jsx(\"p\",{children:\"This quality update brings canvas and layer panel improvements. We\u2019ve updated the Component symbol throughout the app to differentiate it from Grids. Plus, we\u2019ve made Primary Breakpoints and Variants more distinct in the left panel, making it easier to see if you\u2019re editing the primary or an instance. Breakpoints will now also show the ranges in the layer panel. See more updates below. \"}),/*#__PURE__*/ _jsx(\"h2\",{children:\"From January\"}),/*#__PURE__*/ _jsx(\"p\",{children:\"Last month, we added support for automatic tinting and new layout options for components, plus a whole lot of fixes and improvements. If you give your Page a Fill color, this will now also tint browsers like Safari and will ensure you don\u2019t get plain white backgrounds when overscrolling on any mobile device. Plus, we\u2019ve added support for Min Max sizing to all Smart and Code components, greatly simplifying many common layouts and patterns. See the full changelog below.\"}),/*#__PURE__*/ _jsxs(\"ul\",{children:[/*#__PURE__*/ _jsx(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/ _jsx(\"p\",{children:\"We automatically set the body background, based on your Page\u2019s fill color\"})}),/*#__PURE__*/ _jsx(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/ _jsx(\"p\",{children:\"You can now override the body background and customize per breakpoint\"})}),/*#__PURE__*/ _jsx(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/ _jsx(\"p\",{children:\"We now support Min Max sizing for all Smart and Code Component\"})}),/*#__PURE__*/ _jsx(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/ _jsx(\"p\",{children:\"We now consistently show the Min Max hint within the property panel\"})}),/*#__PURE__*/ _jsx(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/ _jsx(\"p\",{children:\"You can now use all alignment options for layers with Position set to Fixed\"})}),/*#__PURE__*/ _jsx(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/ _jsx(\"p\",{children:\"We now inform you if a parent layer height changes due to layout edits\"})}),/*#__PURE__*/ _jsx(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/ _jsx(\"p\",{children:\"We improved the Radius and Padding controls, no longer resetting values\"})}),/*#__PURE__*/ _jsx(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/ _jsx(\"p\",{children:\"Number inputs split in four no longer show steppers, so longer values fit\"})}),/*#__PURE__*/ _jsx(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/ _jsx(\"p\",{children:\"We improved Appear Effects using Scale with Spring transitions\"})})]})]}),v87NK7UOe:{alt:\"Framer Layout\",src:new URL(\"assets/xkWIOx7A88LxZVVydNhyCA.png\",\"https://framerusercontent.com/modules/80dP2Xf7Vo2iv2bu3gjE/pOnMZo0gvEHfVv6y2ge0/BzxVuWaVG.js\").href,srcSet:`${new URL(\"assets/512/xkWIOx7A88LxZVVydNhyCA.png\",\"https://framerusercontent.com/modules/80dP2Xf7Vo2iv2bu3gjE/pOnMZo0gvEHfVv6y2ge0/BzxVuWaVG.js\").href} 512w, ${new URL(\"assets/1024/xkWIOx7A88LxZVVydNhyCA.png\",\"https://framerusercontent.com/modules/80dP2Xf7Vo2iv2bu3gjE/pOnMZo0gvEHfVv6y2ge0/BzxVuWaVG.js\").href} 1024w, ${new URL(\"assets/xkWIOx7A88LxZVVydNhyCA.png\",\"https://framerusercontent.com/modules/80dP2Xf7Vo2iv2bu3gjE/pOnMZo0gvEHfVv6y2ge0/BzxVuWaVG.js\").href} 1600w`},vhLy0TtfC:\"the-february-update\"},{b2o5HH_yA:\"2023-01-12T00:00:00.000Z\",BeFKtaIcX:\"Create flexible navigations within a single page.\",id:\"xOzPb1rh8\",MNI4wejMU:\"Smooth and Sticky Scrolling\",T5Nfjwoyl:/*#__PURE__*/ _jsxs(React.Fragment,{children:[/*#__PURE__*/ _jsx(\"h2\",{children:\"Sticky positioning\"}),/*#__PURE__*/ _jsx(\"p\",{children:\"To make a sticky header, select it and head over the properties panel where you\u2019ll find the Sticky property. Here you\u2019ll see four position properties to customize its distance from top, bottom, left, and right. These properties represent the position of the sticky element relative to its parent layer.\"}),/*#__PURE__*/ _jsx(\"p\",{children:\"Sticky will only work if all parent layers have overflow set to visible, which may cause issues on mobile. Specifically, an overflowing element in the web page (like the one pictured below) can cause the site to be scrollable horizontally on a mobile device, leading to unwanted results. To prevent this from happening, make sure to double check for overflowing elements in your page and, if necessary, wrap them in a parent layer and set its overflow property to hidden.\"}),/*#__PURE__*/ _jsx(\"h2\",{children:\"Smooth scrolling\"}),/*#__PURE__*/ _jsxs(\"p\",{children:[\"You can select any Layer and head over to the Scroll Section property to give it a unique name. Then, we can create new links that point to the same page, and then we\u2019re presented with the Section property, allowing us to pick from all targets that exist on the same page. Finally, we can set Scroll to Smooth. The video below also covers how to work with components and how to mix in Scroll Speed effects to create parallax effects. If you\u2019re interested in playing around with these features, feel free to \",/*#__PURE__*/ _jsx(Link,{href:\"https://targets.framer.wiki/\",openInNewTab:true,smoothScroll:false,children:/*#__PURE__*/ _jsx(\"a\",{children:\"remix my demo project here\"})}),\".\"]})]}),v87NK7UOe:{alt:\"Sticky Scroll\",src:new URL(\"assets/aVb8Fnay2Q1IrQdLqDWYFHbnr0.png\",\"https://framerusercontent.com/modules/80dP2Xf7Vo2iv2bu3gjE/pOnMZo0gvEHfVv6y2ge0/BzxVuWaVG.js\").href,srcSet:`${new URL(\"assets/512/aVb8Fnay2Q1IrQdLqDWYFHbnr0.png\",\"https://framerusercontent.com/modules/80dP2Xf7Vo2iv2bu3gjE/pOnMZo0gvEHfVv6y2ge0/BzxVuWaVG.js\").href} 512w, ${new URL(\"assets/1024/aVb8Fnay2Q1IrQdLqDWYFHbnr0.png\",\"https://framerusercontent.com/modules/80dP2Xf7Vo2iv2bu3gjE/pOnMZo0gvEHfVv6y2ge0/BzxVuWaVG.js\").href} 1024w, ${new URL(\"assets/aVb8Fnay2Q1IrQdLqDWYFHbnr0.png\",\"https://framerusercontent.com/modules/80dP2Xf7Vo2iv2bu3gjE/pOnMZo0gvEHfVv6y2ge0/BzxVuWaVG.js\").href} 1470w`},vhLy0TtfC:\"smooth-and-sticky-scrolling\"},{b2o5HH_yA:\"2022-12-16T00:00:00.000Z\",BeFKtaIcX:\"Making your sites up to 2X as fast.\",id:\"YMZj3Eift\",MNI4wejMU:\"Improved Publishing Performance\",T5Nfjwoyl:/*#__PURE__*/ _jsxs(React.Fragment,{children:[/*#__PURE__*/ _jsx(\"h2\",{children:\"Pre-rendering and compression\"}),/*#__PURE__*/ _jsx(\"p\",{children:\"This release brings two improvements that can make your site up to 2X as fast. \"}),/*#__PURE__*/ _jsxs(\"ol\",{children:[/*#__PURE__*/ _jsx(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/ _jsx(\"p\",{children:\"When you publish your site, we pre-render a static HTML version on the server, so it loads faster and Google can analyze it for SEO (using React and SSR). We have optimized this process to use multiple CPUs on our server at the same time. Now, even sites with hundreds of pages can finish in seconds.\"})}),/*#__PURE__*/ _jsx(\"li\",{\"data-preset-tag\":\"p\",children:/*#__PURE__*/ _jsxs(\"p\",{children:[\"We serve your site from a global cache location close to your visitors to make sure your site loads fast. In addition, we use an advanced HTML and text compression algorithm called \",/*#__PURE__*/ _jsx(Link,{href:\"https://github.com/google/brotli\",openInNewTab:true,smoothScroll:false,children:/*#__PURE__*/ _jsx(\"a\",{children:\"Brotli\"})}),\". Compressed content is now cached, so we can send it directly to your visitors instead of compressing each request individually. In our tests this often improves loading speed by up to 2x, which will have a very positive impact on your Lighthouse scores like \",/*#__PURE__*/ _jsx(Link,{href:\"https://web.dev/lcp/\",openInNewTab:true,smoothScroll:false,children:/*#__PURE__*/ _jsx(\"a\",{children:\"LCP\"})}),\". This will be especially noticeable on larger sites, so you can scale your site without worry.\"]})})]}),/*#__PURE__*/ _jsx(\"h2\",{children:\"CSS optimization\"}),/*#__PURE__*/ _jsxs(\"p\",{children:[\"We\u2019ve also greatly improved the loading times of your websites. Sites now build and load faster because the CSS is minified with \",/*#__PURE__*/ _jsx(Link,{href:\"https://esbuild.github.io/\",openInNewTab:true,smoothScroll:false,children:/*#__PURE__*/ _jsx(\"a\",{children:\"esbuild\"})}),\" instead of \",/*#__PURE__*/ _jsx(Link,{href:\"https://www.npmjs.com/package/csso\",openInNewTab:true,smoothScroll:false,children:/*#__PURE__*/ _jsx(\"a\",{children:\"csso\"})}),\". esbuild is much faster and better at de-duplicating certain advanced CSS rules, which means you will experience significantly lighter CSS files for complex pages. For our own site, we saw a 60% improvement in CSS size and a 4x speed up for optimization times. To get the same advantages, re-publish your site.\"]})]}),v87NK7UOe:{alt:\"2X Publishing\",src:new URL(\"assets/YDg1xTe2dx7XhewmSWjnjx2XWcE.png\",\"https://framerusercontent.com/modules/80dP2Xf7Vo2iv2bu3gjE/pOnMZo0gvEHfVv6y2ge0/BzxVuWaVG.js\").href,srcSet:`${new URL(\"assets/512/YDg1xTe2dx7XhewmSWjnjx2XWcE.png\",\"https://framerusercontent.com/modules/80dP2Xf7Vo2iv2bu3gjE/pOnMZo0gvEHfVv6y2ge0/BzxVuWaVG.js\").href} 512w, ${new URL(\"assets/1024/YDg1xTe2dx7XhewmSWjnjx2XWcE.png\",\"https://framerusercontent.com/modules/80dP2Xf7Vo2iv2bu3gjE/pOnMZo0gvEHfVv6y2ge0/BzxVuWaVG.js\").href} 1024w, ${new URL(\"assets/YDg1xTe2dx7XhewmSWjnjx2XWcE.png\",\"https://framerusercontent.com/modules/80dP2Xf7Vo2iv2bu3gjE/pOnMZo0gvEHfVv6y2ge0/BzxVuWaVG.js\").href} 1600w`},vhLy0TtfC:\"improved-publishing-performance\"}];data.forEach(item=>Object.freeze(item));addPropertyControls(data,{MNI4wejMU:{defaultValue:\"\",title:\"Title\",type:ControlType.String},BeFKtaIcX:{defaultValue:\"Copy Pasting, List Support, Filtering, and more.\",displayTextArea:false,placeholder:\"Post Description for SEO\u2026\",title:\"Description\",type:ControlType.String},b2o5HH_yA:{title:\"Date\",type:ControlType.Date},vhLy0TtfC:{title:\"Slug\",type:ControlType.String},T5Nfjwoyl:{defaultValue:\"\",title:\"Content\",type:ControlType.RichText},v87NK7UOe:{__defaultAssetReference:\"data:framer/asset-reference,rlvUZruim7NVVpw48iYZqrmGbk.jpg?originalFilename=Flowers+1.jpg&preferredSize=auto\",title:\"Banner\",type:ControlType.ResponsiveImage}});data[\"displayName\"]=\"Blog\";export default data;\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"data\",\"name\":\"data\",\"annotations\":{\"framerContractVersion\":\"1\",\"framerRecordIdKey\":\"id\",\"framerSlug\":\"vhLy0TtfC\",\"framerData\":\"\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}", "import{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,useIsInCurrentNavigationTarget}from\"framer\";import{isMotionValue,useInView}from\"framer-motion\";import{borderRadiusControl,defaultEvents,useIsBrowserSafari,useIsOnCanvas,useOnEnter,useOnExit,useRadius}from\"https://framer.com/m/framer/default-utils.js@^0.45.0\";import{memo,useCallback,useEffect,useMemo,useRef,useState}from\"react\";var ObjectFitType;(function(ObjectFitType){ObjectFitType[\"Fill\"]=\"fill\";ObjectFitType[\"Contain\"]=\"contain\";ObjectFitType[\"Cover\"]=\"cover\";ObjectFitType[\"None\"]=\"none\";ObjectFitType[\"ScaleDown\"]=\"scale-down\";})(ObjectFitType||(ObjectFitType={}));var SrcType;(function(SrcType){SrcType[\"Video\"]=\"Upload\";SrcType[\"Url\"]=\"URL\";})(SrcType||(SrcType={}));// Reduce renders\nfunction getProps(props){const{width,height,topLeft,topRight,bottomRight,bottomLeft,id,children,...rest}=props;return rest;}/**\n * VIDEO\n *\n * @framerIntrinsicWidth 200\n * @framerIntrinsicHeight 112\n *\n * @framerSupportedLayoutWidth fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n */export function Video(props){const newProps=getProps(props);return /*#__PURE__*/_jsx(VideoMemo,{...newProps});}function usePlaybackControls(videoRef){const isInCurrentNavigationTarget=useIsInCurrentNavigationTarget();const requestingPlay=useRef(false);const setProgress=useCallback(rawProgress=>{if(!videoRef.current)return;const newProgress=(rawProgress===1?.999:rawProgress)*videoRef.current.duration;const isAlreadySet=Math.abs(videoRef.current.currentTime-newProgress)<.1;if(videoRef.current.duration>0&&!isAlreadySet){videoRef.current.currentTime=newProgress;}},[]);const play=useCallback(()=>{const isPlaying=videoRef.current.currentTime>0&&videoRef.current.onplaying&&!videoRef.current.paused&&!videoRef.current.ended&&videoRef.current.readyState>videoRef.current.HAVE_CURRENT_DATA;if(!isPlaying&&videoRef.current&&!requestingPlay.current&&isInCurrentNavigationTarget){requestingPlay.current=true;videoRef.current.play().catch(e=>{})// It's likely fine, swallow error\n.finally(()=>requestingPlay.current=false);}},[]);const pause=useCallback(()=>{if(!videoRef.current||requestingPlay.current)return;videoRef.current.pause();},[]);return{play,pause,setProgress};}function useAutoplayBehavior({playingProp,muted,loop,playsinline,controls}){const[initialPlayingProp]=useState(()=>playingProp);const[hasPlayingPropChanged,setHasPlayingPropChanged]=useState(false);if(playingProp!==initialPlayingProp&&!hasPlayingPropChanged){setHasPlayingPropChanged(true);}const behavesAsGif=// passing `playing === true` on mount indicates that the video should\n// autoplay, like a GIF\ninitialPlayingProp&&muted&&loop&&playsinline&&!controls&&// Some users of the <Video> component use it by wrapping it with\n// another smart component and adding their own controls on top. (The\n// controls use transitions to control the video: e.g., when clicking\n// the play button, the smart component will transition to a state with\n// <Video playing={true} />.) In this case, we don't want the video to\n// behave as a gif, as it will be weird if the video suddenly started\n// acting as such (and auto-pausing when leaving the viewport) as soon\n// as the site visitor mutes it and clicks \u201CPlay\u201D.\n!hasPlayingPropChanged;let autoplay;if(behavesAsGif)autoplay=\"on-viewport\";else if(initialPlayingProp)autoplay=\"on-mount\";else autoplay=\"no-autoplay\";return autoplay;}/**\n * The Video component has some effects that sync the video element with props\n * like `startTime`, `progress`, etc. React calls these effects whenever these\n * props change. However, it also calls them on the first mount, and this is\n * troublesome \u2013 if we\u2019re doing SSR, and the user changed the video state before\n * the video was hydrated, the initial `useEffect` call will reset the video\n * state. To avoid this, we use this flag.\n */let isMountedAndReadyForProgressChanges=false;const VideoMemo=/*#__PURE__*/memo(function VideoInner(props){const{srcType,srcFile,srcUrl,playing:playingProp,muted,playsinline,controls,progress,objectFit,backgroundColor,onSeeked,onPause,onPlay,onEnd,onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,poster,posterEnabled,startTime:startTimeProp,volume,loop}=props;const videoRef=useRef();const isSafari=useIsBrowserSafari();const wasPausedOnLeave=useRef(null);const wasEndedOnLeave=useRef(null);const isOnCanvas=useIsOnCanvas();const borderRadius=useRadius(props);// Hard-coding `autoplayBehavior` and `isInViewport` when on canvas as a\n// tiny perf optimization. isOnCanvas won\u2019t change through the lifecycle of\n// the component, so using these hooks conditionally should be safe\nconst autoplayBehavior=isOnCanvas?\"no-autoplay\":useAutoplayBehavior({playingProp,muted,loop,playsinline,controls});const isInViewport=isOnCanvas?true:useInView(videoRef);// Video elements behave oddly at 100% duration\nconst startTime=startTimeProp===100?99.9:startTimeProp;const{play,pause,setProgress}=usePlaybackControls(videoRef);// Pause/play via props\nuseEffect(()=>{if(isOnCanvas)return;if(playingProp)play();else pause();},[playingProp]);// Pause/play via viewport\nuseEffect(()=>{if(isOnCanvas)return;if(autoplayBehavior!==\"on-viewport\")return;if(isInViewport)play();else pause();},[autoplayBehavior,isInViewport]);// Allow scrubbling via progress prop\n// 1) Handle cases when the progress prop itself changes\nuseEffect(()=>{if(!isMountedAndReadyForProgressChanges){isMountedAndReadyForProgressChanges=true;return;}const rawProgressValue=isMotionValue(progress)?progress.get():(progress!==null&&progress!==void 0?progress:0)*.01;setProgress(// When the progress value exists (e.g. <Video startTime={10}\n// progress={50} />), we respect the `progress` value over\n// `startTime`, even if `startTime` changes. That\u2019s because\n// `startTime` == start == changing it shouldn\u2019t affect the current\n// progress\n(rawProgressValue!==null&&rawProgressValue!==void 0?rawProgressValue:0)||// Then why fall back to `startTime` when `progress` doesn\u2019t exist,\n// you might ask? Now, that\u2019s for\n// - canvas UX: we want the video progress to change when the user\n//   is scrobbling the \u201CStart Time\u201D in component settings.\n// - backwards compatibility: maybe some users *are* scrobbling\n//   using `startTime` instead of `progress`? We don\u2019t know, and it\n//   always supported it, so let\u2019s not break it\n(startTime!==null&&startTime!==void 0?startTime:0)/100);},[startTime,srcFile,srcUrl,progress]);// 2) Handle cases when the motion value inside the progress prop changes\nuseEffect(()=>{if(!isMotionValue(progress))return;return progress.on(\"change\",value=>setProgress(value));},[progress]);// (Prototyping) Checking if we need to play on navigation enter\nuseOnEnter(()=>{if(wasPausedOnLeave.current===null)return;if(videoRef.current){// if (restartOnEnter) setProgress(0)\nif(!wasEndedOnLeave&&loop||!wasPausedOnLeave.current)play();}});// (Prototyping) Pausing & saving playing state on navigation exit\nuseOnExit(()=>{if(videoRef.current){wasEndedOnLeave.current=videoRef.current.ended;wasPausedOnLeave.current=videoRef.current.paused;pause();}});const src=useMemo(()=>{let fragment=\"\";// if (\n//     startTime > 0 &&\n//     videoRef.current &&\n//     !isNaN(videoRef.current.duration) &&\n//     !isOnCanvas\n// ) {\n//     console.log(startTime, videoRef.current.duration)\n//     fragment = `#t=${startTime * videoRef.current.duration}`\n// }\nif(srcType===\"URL\")return srcUrl+fragment;if(srcType===\"Upload\")return srcFile+fragment;},[srcType,srcFile,srcUrl,startTime]);// Autoplay via JS to work in Safari\nuseEffect(()=>{if(isSafari&&videoRef.current&&autoplayBehavior===\"on-mount\"){setTimeout(()=>play(),50);}},[]);// Volume Control\nuseEffect(()=>{if(videoRef.current&&!muted)videoRef.current.volume=(volume!==null&&volume!==void 0?volume:0)/100;},[volume]);// When video is ready, set start-time, then autoplay if needed\nconst handleReady=()=>{if(!videoRef.current)return;if(videoRef.current.currentTime<.3)setProgress((startTime!==null&&startTime!==void 0?startTime:0)*.01);if(autoplayBehavior===\"on-mount\")play();};return /*#__PURE__*/_jsx(\"video\",{onClick,onMouseEnter,onMouseLeave,onMouseDown,onMouseUp,src:src,loop:loop,ref:videoRef,onSeeked:e=>onSeeked===null||onSeeked===void 0?void 0:onSeeked(e),onPause:e=>onPause===null||onPause===void 0?void 0:onPause(e),onPlay:e=>onPlay===null||onPlay===void 0?void 0:onPlay(e),onEnded:e=>onEnd===null||onEnd===void 0?void 0:onEnd(e),autoPlay:autoplayBehavior===\"on-mount\",poster:posterEnabled?poster:undefined,onLoadedData:handleReady,controls:controls,muted:isOnCanvas?true:muted,playsInline:playsinline,style:{cursor:!!onClick?\"pointer\":\"auto\",width:\"100%\",height:\"100%\",borderRadius,display:\"block\",objectFit:objectFit,backgroundColor:backgroundColor,objectPosition:\"50% 50%\"}});});Video.displayName=\"Video\";Video.defaultProps={srcType:\"URL\",srcUrl:\"https://assets.mixkit.co/videos/preview/mixkit-shining-sun-in-the-sky-surrounded-by-moving-clouds-31793-small.mp4\",srcFile:\"\",posterEnabled:false,controls:false,playing:true,loop:true,muted:true,playsinline:true,restartOnEnter:false,objectFit:\"cover\",backgroundColor:\"rgba(0,0,0,0)\",radius:0,volume:25,startTime:0};const groupsRegex=/[A-Z]{2,}|[A-Z][a-z]+|[a-z]+|[A-Z]|\\d+/gu;function capitalizeFirstLetter(value){return value.charAt(0).toUpperCase()+value.slice(1);}export function titleCase(value){const groups=value.match(groupsRegex)||[];return groups.map(capitalizeFirstLetter).join(\" \");}const objectFitOptions=[\"cover\",\"fill\",\"contain\",\"scale-down\",\"none\"];addPropertyControls(Video,{srcType:{type:ControlType.Enum,displaySegmentedControl:true,title:\"Source\",options:[\"URL\",\"Upload\"]},srcUrl:{type:ControlType.String,title:\"URL\",placeholder:\"../example.mp4\",hidden(props){return props.srcType===\"Upload\";},description:\"Hosted video file URL. For YouTube, use the YouTube component.\"},srcFile:{type:ControlType.File,title:\"File\",allowedFileTypes:[\"mp4\",\"webm\"],hidden(props){return props.srcType===\"URL\";}},playing:{type:ControlType.Boolean,title:\"Playing\",enabledTitle:\"Yes\",disabledTitle:\"No\"},posterEnabled:{type:ControlType.Boolean,title:\"Poster\",enabledTitle:\"Yes\",disabledTitle:\"No\"},poster:{type:ControlType.Image,title:\" \",hidden:({posterEnabled})=>!posterEnabled},backgroundColor:{type:ControlType.Color,title:\"Background\"},...borderRadiusControl,startTime:{title:\"Start Time\",type:ControlType.Number,min:0,max:100,step:.1,unit:\"%\"},loop:{type:ControlType.Boolean,title:\"Loop\",enabledTitle:\"Yes\",disabledTitle:\"No\"},objectFit:{type:ControlType.Enum,title:\"Fit\",options:objectFitOptions,optionTitles:objectFitOptions.map(titleCase)},// restartOnEnter: {\n//     type: ControlType.Boolean,\n//     title: \"On ReEnter\",\n//     enabledTitle: \"Restart\",\n//     disabledTitle: \"Resume\",\n// },\ncontrols:{type:ControlType.Boolean,title:\"Controls\",enabledTitle:\"Show\",disabledTitle:\"Hide\"},muted:{type:ControlType.Boolean,title:\"Muted\",enabledTitle:\"Yes\",disabledTitle:\"No\"},volume:{type:ControlType.Number,max:100,min:0,unit:\"%\",hidden:({muted})=>muted},onEnd:{type:ControlType.EventHandler},onSeeked:{type:ControlType.EventHandler},onPause:{type:ControlType.EventHandler},onPlay:{type:ControlType.EventHandler},...defaultEvents});\nexport const __FramerMetadata__ = {\"exports\":{\"Video\":{\"type\":\"reactComponent\",\"name\":\"Video\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"200\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerContractVersion\":\"1\",\"framerIntrinsicHeight\":\"112\"}},\"titleCase\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"VideoProps\":{\"type\":\"tsType\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./Video.map"],
  "mappings": "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",
  "names": ["containerStyles", "emptyStateStyle", "defaultEvents", "ControlType", "fontSizeOptions", "fontControls", "font", "useOnEnter", "onEnter", "enabled", "useOnSpecificTargetChange", "useOnExit", "onExit", "goal", "callback", "isInTarget", "useIsInCurrentNavigationTarget", "ue", "isBrowserSafari", "navigator", "userAgent", "useIsBrowserSafari", "se", "useIsOnCanvas", "se", "RenderTarget", "useRadius", "props", "borderRadius", "isMixedBorderRadius", "topLeftRadius", "topRightRadius", "bottomRightRadius", "bottomLeftRadius", "se", "borderRadiusControl", "ControlType", "paddingControl", "ControlType", "PlayOptions", "ThumbnailOptions", "ThumbnailFormat", "Youtube", "url", "play", "shouldMute", "thumbnail", "isRed", "onClick", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "props", "onCanvas", "useIsOnCanvas", "isAutoplay", "showThumbnail", "isPreloading", "preloadVideo", "le", "showVideo", "startVideo", "isHovered", "setHovered", "ye", "borderRadius", "useRadius", "hasBorderRadius", "p", "Instructions", "parsedURL", "parseVideoURL", "ErrorMessage", "videoId", "embedURL", "thumbnailURL", "getThumbnailURL", "getWebPSupported", "searchParams", "u", "wrapperStyle", "videoStyle", "PlayButton", "addPropertyControls", "ControlType", "borderRadiusControl", "defaultEvents", "defaultProps", "urlString", "getEmbedURL", "pathSegments", "embedURL1", "videoId2", "embedURL2", "res", "format", "pre", "ext", "_getWebPSupported", "window", "element", "emptyStateStyle", "centerTextStyle", "message", "containerStyles", "buttonStyle", "data", "u", "x", "p", "Link", "motion", "ComponentPresetsConsumer", "presetProps", "Youtube", "item", "addPropertyControls", "ControlType", "BzxVuWaVG_default", "ObjectFitType", "SrcType", "getProps", "props", "width", "height", "topLeft", "topRight", "bottomRight", "bottomLeft", "id", "children", "rest", "Video", "newProps", "p", "VideoMemo", "usePlaybackControls", "videoRef", "isInCurrentNavigationTarget", "useIsInCurrentNavigationTarget", "requestingPlay", "pe", "setProgress", "te", "rawProgress", "newProgress", "isAlreadySet", "play", "e", "pause", "useAutoplayBehavior", "playingProp", "muted", "loop", "playsinline", "controls", "initialPlayingProp", "ye", "hasPlayingPropChanged", "setHasPlayingPropChanged", "behavesAsGif", "autoplay", "isMountedAndReadyForProgressChanges", "X", "srcType", "srcFile", "srcUrl", "progress", "objectFit", "backgroundColor", "onSeeked", "onPause", "onPlay", "onEnd", "onClick", "onMouseEnter", "onMouseLeave", "onMouseDown", "onMouseUp", "poster", "posterEnabled", "startTimeProp", "volume", "isSafari", "useIsBrowserSafari", "wasPausedOnLeave", "wasEndedOnLeave", "isOnCanvas", "useIsOnCanvas", "borderRadius", "useRadius", "autoplayBehavior", "isInViewport", "useInView", "startTime", "ue", "rawProgressValue", "isMotionValue", "value", "useOnEnter", "useOnExit", "src", "se", "fragment", "groupsRegex", "capitalizeFirstLetter", "titleCase", "objectFitOptions", "addPropertyControls", "ControlType", "borderRadiusControl", "defaultEvents"]
}
