{"version":3,"file":"GradientWave.BZQ_DPcS.mjs","names":["useReducer","useState","_Fragment"],"sources":["https:/framerusercontent.com/modules/NEd4VmDdsxM3StIUbddO/4sbLnuatuUfmOTwFGSJM/YouTube.js","https:/framerusercontent.com/modules/qbISo04IgXwHvt1f08Bw/PqHx9uwswPwEixzYIrpZ/GradientWave.js"],"sourcesContent":["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);if(param===\"t\")searchParams.set(\"start\",value)// embeds have to use `start`, but copying via right-click usually gives you `t=`\n;}}// 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/8AHPXm9Y6mI\",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\":{\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"fixed\",\"framerSupportedLayoutHeight\":\"fixed\",\"framerIntrinsicHeight\":\"315\",\"framerIntrinsicWidth\":\"560\",\"framerComponentPresetProps\":\"isRed, borderRadius\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./YouTube.map","import{defineShader,ControlType}from\"framer\";export default defineShader({title:\"Wave Gradient\",fragment:`\n#define S(a,b,t) smoothstep(a,b,t)\n\nmat2 Rot(float a) {\n    float s = sin(a), c = cos(a);\n    return mat2(c, -s, s, c);\n}\n\nvec2 hash(vec2 p) {\n    float s = u_seed;\n    vec2 k1 = vec2(2127.1 + s * 13.37, 81.17 + s * 7.31);\n    vec2 k2 = vec2(1269.5 + s * 11.13, 283.37 + s * 5.79);\n    p = vec2(dot(p, k1), dot(p, k2));\n    return fract(sin(p) * (43758.5453 + s * 1.618));\n}\n\nfloat noise(in vec2 p) {\n    vec2 i = floor(p);\n    vec2 f = fract(p);\n    vec2 u = f * f * (3.0 - 2.0 * f);\n    float n = mix(\n        mix(dot(-1.0 + 2.0 * hash(i), f),\n            dot(-1.0 + 2.0 * hash(i + vec2(1.0, 0.0)), f - vec2(1.0, 0.0)), u.x),\n        mix(dot(-1.0 + 2.0 * hash(i + vec2(0.0, 1.0)), f - vec2(0.0, 1.0)),\n            dot(-1.0 + 2.0 * hash(i + vec2(1.0, 1.0)), f - vec2(1.0, 1.0)), u.x),\n        u.y\n    );\n    return 0.5 + 0.5 * n;\n}\n\nvec3 getColor(int idx) {\n    if (u_colors_length < 1) return vec3(0.0);\n    int safeIdx = clamp(idx, 0, u_colors_length - 1);\n    return u_colors[safeIdx].rgb;\n}\n\nfloat seedF(float base) {\n    return base * (1.0 + 0.5 * sin(u_seed * 3.17 + base));\n}\n\nvec2 warpUV(vec2 uv) {\n    float t = u_time * u_waveSpeed;\n\n    float angleOffset = sin(u_seed * 2.73) * 30.0;\n    mat2 dirRot = Rot(radians(u_waveAngle + angleOffset));\n    vec2 ruv = dirRot * uv;\n\n    float fxMod = seedF(u_waveFreqX);\n    float fyMod = seedF(u_waveFreqY);\n\n    float phaseX = fract(sin(u_seed * 7.19) * 437.58) * 6.2832;\n    float phaseY = fract(cos(u_seed * 3.41) * 291.37) * 6.2832;\n\n    // Core wave with seed-dependent harmonics\n    float harmonic = sin(u_seed * 1.23) * 0.5;\n    float a = fyMod * ruv.y - sin(ruv.x * fxMod + ruv.y - t + phaseX);\n    a += harmonic * sin(ruv.x * fxMod * 2.0 + ruv.y * 0.5 + t * 0.7 + phaseY);\n\n    // Smoothstep mask (unchanged)\n    a = smoothstep(\n        cos(a) * u_maskSoftness,\n        sin(a) * u_maskSoftness + 3.,\n        cos(a - fyMod * ruv.y) - sin(a - fxMod * ruv.x)\n    );\n\n    a *= u_waveAmplitude;\n\n    uv = cos(a) * uv + sin(a) * vec2(-uv.y, uv.x);\n    return uv;\n}\n\nvoid main() {\n    vec2 fragCoord = v_uv * u_resolution;\n    vec2 uv = fragCoord / u_resolution.xy;\n    float ratio = u_resolution.x / u_resolution.y;\n    float t = u_time * u_waveSpeed;\n\n    vec2 tuv = uv - 0.5;\n\n    vec2 seedShift = vec2(sin(u_seed * 4.37), cos(u_seed * 5.91)) * 100.0;\n    float degree = noise(vec2(t * 0.1, tuv.x * tuv.y) + seedShift);\n    tuv.y *= 1.0 / ratio;\n    tuv *= Rot(radians((degree - 0.5) * 720.0 + 180.0));\n    tuv.y *= ratio;\n\n    // Seed-rotate uv2 before warping\n    vec2 uv2 = (fragCoord * 2.0 - u_resolution.xy) / (u_resolution.x + u_resolution.y) * 2.0;\n    float preRotAngle = fract(sin(u_seed * 5.63) * 173.29) * 6.2832;\n    uv2 *= Rot(preRotAngle);\n    vec2 warped = warpUV(uv2) * 0.5 + 0.5;\n\n    vec2 blendUV = mix(tuv, warped - 0.5, u_blendAmount);\n\n    float layerRot1 = -5.0 + sin(u_seed * 1.83) * 20.0;\n    float layerRot2 = 10.0 + cos(u_seed * 2.47) * 20.0;\n\n    vec3 c0 = getColor(0);\n    vec3 c1 = getColor(1);\n    vec3 c2 = getColor(2);\n    vec3 c3 = getColor(3);\n\n    vec3 layer1 = mix(c0, c2, S(-0.3, 0.3, (blendUV * Rot(radians(layerRot1))).x));\n    vec3 layer2 = mix(c3, c1, S(-0.3, 0.3, (blendUV * Rot(radians(layerRot2))).x));\n    vec3 col = mix(layer1, layer2, S(0.3, -0.3, blendUV.y));\n\n    col = mix(col, col * col + 0.5 * sqrt(col), 0.3);\n\n    fragColor = vec4(col, 1.0);\n}\n`,propertyControls:{colors:{type:ControlType.Array,title:\"Colors\",control:{type:ControlType.Color},maxCount:4,defaultValue:[\"#FF3624\",\"#9EABFF\",\"#FFAE00\",\"#E29EFF\"]},seed:{type:ControlType.Number,title:\"Seed\",defaultValue:32,min:0,max:100,step:1},waveSpeed:{type:ControlType.Number,title:\"Speed\",defaultValue:1.5,min:0,max:3,step:.01},waveFreqX:{type:ControlType.Number,title:\"Freq X\",defaultValue:.9,min:.1,max:6,step:.1},waveFreqY:{type:ControlType.Number,title:\"Freq Y\",defaultValue:6,min:.1,max:6,step:.1},waveAngle:{type:ControlType.Number,title:\"Angle\",defaultValue:105,min:-180,max:180,step:1},waveAmplitude:{type:ControlType.Number,title:\"Amplitude\",defaultValue:2.1,min:.5,max:3,step:.01},maskSoftness:{type:ControlType.Number,title:\"Softness\",defaultValue:.74,min:.01,max:2,step:.01},blendAmount:{type:ControlType.Number,title:\"Blend\",defaultValue:.54,min:0,max:1,step:.01}}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"shader\",\"name\":null,\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GradientWave.map"],"mappings":"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"}