{"version":3,"file":"shared-lib.ChX6k-A4.mjs","names":["useRef","useState","width","height","useMemo","useId","className"],"sources":["https:/framerusercontent.com/modules/YV3ZelwoeNMPQlJSW14i/5b2lq4MppWIbAwvoUmfh/LiquidGlass_Prod.js","https:/framerusercontent.com/modules/gGXLFANbZFKf2qU8bbVL/uQjjbN7Yn6nBRqTZdwzU/HoKrrnQcM.js","https:/framerusercontent.com/modules/7mSnbTm8E9PljVupWV1G/giWkgNjHeuM9IF24nboH/O9LzPKsmu.js","https:/framerusercontent.com/modules/6MHcwG7zHL67jIC3iEVx/DiwGUWrRKJaT8TaRMbq2/siteMetadata.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{useMemo,useEffect,useRef,useState,useId}from\"react\";import{ControlType,addPropertyControls,RenderTarget}from\"framer\";// ------------------------------------------------------------ //\n// PROPERTY CONTROLS\n// ------------------------------------------------------------ //\naddPropertyControls(LiquidGlass,{settings:{type:ControlType.Object,controls:{mode:{type:ControlType.Enum,options:[\"preset\",\"custom\"],optionTitles:[\"Preset\",\"Custom\"],displaySegmentedControl:true,defaultValue:\"preset\"},scale:{type:ControlType.Number,min:-360,max:360,step:1,defaultValue:160,hidden:props=>props.mode===\"preset\"},radius:{type:ControlType.Number,min:0,max:500,step:1,defaultValue:50},border:{type:ControlType.Number,min:0,max:.5,step:.01,defaultValue:.05,hidden:props=>props.mode===\"preset\"},lightness:{type:ControlType.Number,min:0,max:100,step:1,defaultValue:53,hidden:props=>props.mode===\"preset\"},displace:{title:\"Blur\",type:ControlType.Number,min:0,max:10,step:.01,defaultValue:.38,hidden:props=>props.mode===\"preset\"},alpha:{type:ControlType.Number,min:0,max:1,step:.01,defaultValue:.9,hidden:props=>props.mode===\"preset\"},blur:{title:\"Displace\",type:ControlType.Number,min:0,max:100,step:1,defaultValue:5,hidden:props=>props.mode===\"preset\"},dispersion:{type:ControlType.Number,min:0,max:100,step:1,defaultValue:50,hidden:props=>props.mode===\"preset\"},frost:{type:ControlType.Number,min:0,max:1,step:.01,defaultValue:.1,hidden:props=>props.mode===\"preset\"},borderColor:{title:\"Border\",type:ControlType.Color,defaultValue:\"rgba(120, 120, 120, 0.7)\"}},description:\"More components at [Framer University](https://frameruni.link/cc).\"}});// Default dimensions for initial render\nconst DEFAULT_WIDTH=400;const DEFAULT_HEIGHT=200;const preset={scale:160,radius:50,border:.05,lightness:53,displace:.38,alpha:.9,blur:5,dispersion:50,frost:.1,borderColor:\"rgba(120, 120, 120, 0.7)\"};// ------------------------------------------------------------ //\n// MAIN COMPONENT\n// ------------------------------------------------------------ //\n/**\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerIntrinsicWidth 348\n * @framerIntrinsicHeight 100\n * @framerDisableUnlink\n */export default function LiquidGlass(props){let config=props.settings;// if preset, use preset values\nif(props.settings.mode===\"preset\"){config={...preset,mode:\"preset\",blend:\"difference\",x:\"R\",y:\"B\",radius:props.settings.radius};}else{config={...config,blend:\"difference\",x:\"R\",y:\"B\"};}const containerRef=useRef(null);const gradientBorderRef=useRef(null);const[dimensions,setDimensions]=useState({width:DEFAULT_WIDTH,height:DEFAULT_HEIGHT});// Update dimensions when the container size changes\nuseEffect(()=>{if(!containerRef.current)return;const updateDimensions=()=>{if(!containerRef.current)return;// Check if we're on Framer canvas\nconst isCanvas=RenderTarget.current()===RenderTarget.canvas;if(isCanvas){// On canvas, use offsetWidth/offsetHeight which are scale-independent\nconst width=containerRef.current.offsetWidth;const height=containerRef.current.offsetHeight;if(width===0||height===0)return;setDimensions({width,height});return;}// In preview/production, use getBoundingClientRect\nconst{width,height}=containerRef.current.getBoundingClientRect();if(width===0||height===0)return;setDimensions({width,height});};// Initial measurement\nupdateDimensions();// Create ResizeObserver to watch for size changes\nconst resizeObserver=new ResizeObserver(updateDimensions);resizeObserver.observe(containerRef.current);return()=>resizeObserver.disconnect();},[]);// Generate displacement map SVG as data URI\nconst displacementDataUri=useMemo(()=>{const{width,height}=dimensions;// for the best looking effect, we need to half of the width and height\nconst newwidth=width/2;const newheight=height/2;const border=Math.min(newwidth,newheight)*(config.border*.5);// Ensure radius doesn't exceed container constraints for consistent CSS/SVG behavior\nconst effectiveRadius=Math.min(config.radius,width/2,height/2);const svgContent=`\n      <svg viewBox=\"0 0 ${newwidth} ${newheight}\" xmlns=\"http://www.w3.org/2000/svg\">\n        <defs>\n          <linearGradient id=\"red\" x1=\"100%\" y1=\"0%\" x2=\"0%\" y2=\"0%\">\n            <stop offset=\"0%\" stop-color=\"#0000\"/>\n            <stop offset=\"100%\" stop-color=\"red\"/>\n          </linearGradient>\n          <linearGradient id=\"blue\" x1=\"0%\" y1=\"0%\" x2=\"0%\" y2=\"100%\">\n            <stop offset=\"0%\" stop-color=\"#0000\"/>\n            <stop offset=\"100%\" stop-color=\"blue\"/>\n          </linearGradient>\n        </defs>\n        <rect x=\"0\" y=\"0\" width=\"${newwidth}\" height=\"${newheight}\" fill=\"black\"/>\n        <rect x=\"0\" y=\"0\" width=\"${newwidth}\" height=\"${newheight}\" rx=\"${effectiveRadius}\" fill=\"url(#red)\" />\n        <rect x=\"0\" y=\"0\" width=\"${newwidth}\" height=\"${newheight}\" rx=\"${effectiveRadius}\" fill=\"url(#blue)\" style=\"mix-blend-mode: ${config.blend}\" />\n        <rect x=\"${border}\" y=\"${border}\" width=\"${newwidth-border*2}\" height=\"${newheight-border*2}\" rx=\"${effectiveRadius}\" fill=\"hsl(0 0% ${config.lightness}% / ${config.alpha})\" style=\"filter:blur(${config.blur}px)\" />\n      </svg>\n    `;const encoded=encodeURIComponent(svgContent);return`data:image/svg+xml,${encoded}`;},[dimensions,config]);// Generate a unique ID for the SVG filter so that multiple component\n// instances can coexist without ID collisions.\nconst uniqueFilterId=useId();const filterId=`liquid-glass-filter-${uniqueFilterId}`;const glassMorphismStyle={width:\"100%\",height:\"100%\",borderRadius:config.radius,position:\"absolute\",zIndex:1,background:`hsl(0 0% 100% / ${config.frost})`,backdropFilter:`url(#${filterId})`};// Gradient border styles based on the codepen technique\nconst gradientBorderStyle={position:\"absolute\",inset:0,borderRadius:config.radius,zIndex:2,pointerEvents:\"none\",background:`linear-gradient(315deg, ${config.borderColor} 0%, rgba(120, 120, 120, 0) 30%, rgba(120, 120, 120, 0) 70%, ${config.borderColor} 100%) border-box`,mask:\"linear-gradient(#fff 0 0) padding-box, linear-gradient(#fff 0 0)\",maskComposite:\"exclude\",border:`1px solid transparent`};return /*#__PURE__*/_jsxs(\"div\",{ref:containerRef,style:{width:\"100%\",height:\"100%\",position:\"relative\"},children:[/*#__PURE__*/_jsx(\"div\",{style:glassMorphismStyle,children:/*#__PURE__*/_jsx(\"svg\",{className:\"filter\",style:{width:\"100%\",height:\"100%\",pointerEvents:\"none\",position:\"absolute\",inset:0},xmlns:\"http://www.w3.org/2000/svg\",children:/*#__PURE__*/_jsx(\"defs\",{children:/*#__PURE__*/_jsxs(\"filter\",{id:filterId,colorInterpolationFilters:\"sRGB\",children:[/*#__PURE__*/_jsx(\"feImage\",{href:displacementDataUri,x:\"0\",y:\"0\",width:\"100%\",height:\"100%\",result:\"map\"}),/*#__PURE__*/_jsx(\"feDisplacementMap\",{in:\"SourceGraphic\",in2:\"map\",id:\"redchannel\",scale:config.scale+config.dispersion,xChannelSelector:config.x,yChannelSelector:config.y,result:\"dispRed\"}),/*#__PURE__*/_jsx(\"feColorMatrix\",{in:\"dispRed\",type:\"matrix\",values:\"1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0\",result:\"red\"}),/*#__PURE__*/_jsx(\"feDisplacementMap\",{in:\"SourceGraphic\",in2:\"map\",id:\"greenchannel\",scale:config.scale+config.dispersion,xChannelSelector:config.x,yChannelSelector:config.y,result:\"dispGreen\"}),/*#__PURE__*/_jsx(\"feColorMatrix\",{in:\"dispGreen\",type:\"matrix\",values:\"0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0\",result:\"green\"}),/*#__PURE__*/_jsx(\"feDisplacementMap\",{in:\"SourceGraphic\",in2:\"map\",id:\"bluechannel\",scale:config.scale+config.dispersion,xChannelSelector:config.x,yChannelSelector:config.y,result:\"dispBlue\"}),/*#__PURE__*/_jsx(\"feColorMatrix\",{in:\"dispBlue\",type:\"matrix\",values:\"0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0\",result:\"blue\"}),/*#__PURE__*/_jsx(\"feBlend\",{in:\"red\",in2:\"green\",mode:\"screen\",result:\"rg\"}),/*#__PURE__*/_jsx(\"feBlend\",{in:\"rg\",in2:\"blue\",mode:\"screen\",result:\"output\"}),/*#__PURE__*/_jsx(\"feGaussianBlur\",{in:\"output\",stdDeviation:config.displace})]})})})}),/*#__PURE__*/_jsx(\"div\",{ref:gradientBorderRef,id:\"gradient-border\",style:gradientBorderStyle})]});}LiquidGlass.displayName=\"Liquid Glass\";\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"LiquidGlass\",\"slots\":[],\"annotations\":{\"framerDisableUnlink\":\"\",\"framerIntrinsicWidth\":\"348\",\"framerContractVersion\":\"1\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerIntrinsicHeight\":\"100\",\"framerSupportedLayoutHeight\":\"any-prefer-fixed\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./LiquidGlass_Prod.map","// Generated by Framer (6ca5d98)\nimport{jsx as _jsx}from\"react/jsx-runtime\";import{addPropertyControls,ControlType,cx,motion,useSVGTemplate,withCSS}from\"framer\";import*as React from\"react\";import{forwardRef}from\"react\";const mask=\"var(--framer-icon-mask)\";const Base=/*#__PURE__*/forwardRef(function(props,ref){return /*#__PURE__*/_jsx(\"svg\",{...props,ref:ref,children:props.children});});const MotionSVG=motion.create(Base);const SVG=/*#__PURE__*/forwardRef((props,ref)=>{const{animated,layoutId,children,...rest}=props;return animated?/*#__PURE__*/_jsx(MotionSVG,{...rest,layoutId:layoutId,ref:ref,children:children}):/*#__PURE__*/_jsx(\"svg\",{...rest,ref:ref,children:children});});const svg='<svg display=\"block\" role=\"presentation\" viewBox=\"0 0 24 24\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M 0 0 L 5.5 5.25 L 0 10.5\" fill=\"transparent\" height=\"10.5px\" id=\"pTO_zwTXv\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--1335ju, 1.5)\" stroke=\"var(--18mrqx2, rgb(0, 0, 0))\" transform=\"translate(13.75 6.75)\" width=\"5.5px\"/><path d=\"M 14.25 0 L 0 0\" fill=\"transparent\" height=\"1px\" id=\"Jh7NTfV71\" stroke-dasharray=\"\" stroke-linecap=\"round\" stroke-linejoin=\"round\" stroke-width=\"var(--1335ju, 1.5)\" stroke=\"var(--18mrqx2, rgb(0, 0, 0))\" transform=\"translate(4.75 12)\" width=\"14.25px\"/></svg>';const getProps=({dots,height,id,stroke,width,width1,...props})=>{return{...props,BKVe8Pgvw:dots??props.BKVe8Pgvw??1,fICyAUQY1:stroke??props.fICyAUQY1??\"rgb(0, 0, 0)\",lKf_CQTz5:width1??props.lKf_CQTz5??1.5};};const Component=/*#__PURE__*/React.forwardRef(function(props,ref){const{style,className,layoutId,variant,fICyAUQY1,lKf_CQTz5,BKVe8Pgvw,...restProps}=getProps(props);const href=useSVGTemplate(\"1173457374\",svg);return /*#__PURE__*/_jsx(SVG,{...restProps,className:cx(\"framer-EcgqK\",className),layoutId:layoutId,ref:ref,role:\"presentation\",style:{\"--1335ju\":lKf_CQTz5,\"--18mrqx2\":fICyAUQY1,...style},viewBox:\"0 0 24 24\",children:/*#__PURE__*/_jsx(\"use\",{href:href})});});const css=[`.framer-EcgqK { -webkit-mask: ${mask}; aspect-ratio: 1; display: block; mask: ${mask}; width: 24px; }`];/**\n * This is a generated Framer component.\n * @framerIntrinsicWidth 24\n * @framerIntrinsicHeight 24\n * @framerSupportedLayoutWidth any-prefer-fixed\n * @framerSupportedLayoutHeight any-prefer-fixed\n * @framerVariables {\"fICyAUQY1\":\"stroke\",\"lKf_CQTz5\":\"width1\",\"BKVe8Pgvw\":\"dots\"}\n * @framerImmutableVariables true\n * @framerVector {\"name\":\"Arrow Right\",\"color\":{\"type\":\"variable\",\"value\":\"18mrqx2\"},\"set\":{\"localId\":\"vectorSet/SuYHhKUZG\",\"id\":\"SuYHhKUZG\",\"moduleId\":\"EqX8thWQjdZcOB1c6p5N\"}}\n * @framerDisableUnlink true\n */const Icon=withCSS(Component,css,\"framer-EcgqK\");Icon.displayName=\"Arrow Right\";export default Icon;addPropertyControls(Icon,{fICyAUQY1:{defaultValue:\"rgb(0, 0, 0)\",hidden:false,title:\"Stroke\",type:ControlType.Color},lKf_CQTz5:{defaultValue:1.5,displayStepper:true,hidden:false,max:4,min:0,step:.5,title:\"Width\",type:ControlType.Number},BKVe8Pgvw:{defaultValue:1,displayStepper:true,hidden:true,max:4,min:1,title:\"Dots\",type:ControlType.Number}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"Icon\",\"slots\":[],\"annotations\":{\"framerSupportedLayoutHeight\":\"any-prefer-fixed\",\"framerIntrinsicWidth\":\"24\",\"framerIntrinsicHeight\":\"24\",\"framerVariables\":\"{\\\"fICyAUQY1\\\":\\\"stroke\\\",\\\"lKf_CQTz5\\\":\\\"width1\\\",\\\"BKVe8Pgvw\\\":\\\"dots\\\"}\",\"framerSupportedLayoutWidth\":\"any-prefer-fixed\",\"framerVector\":\"{\\\"name\\\":\\\"Arrow Right\\\",\\\"color\\\":{\\\"type\\\":\\\"variable\\\",\\\"value\\\":\\\"18mrqx2\\\"},\\\"set\\\":{\\\"localId\\\":\\\"vectorSet/SuYHhKUZG\\\",\\\"id\\\":\\\"SuYHhKUZG\\\",\\\"moduleId\\\":\\\"EqX8thWQjdZcOB1c6p5N\\\"}}\",\"framerContractVersion\":\"1\",\"framerImmutableVariables\":\"true\",\"framerDisableUnlink\":\"true\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}","// Generated by Framer (c9d77eb)\nimport{fontStore}from\"framer\";fontStore.loadFonts([\"GF;Salsa-regular\"]);export const fonts=[{explicitInter:true,fonts:[{cssFamilyName:\"Salsa\",source:\"google\",style:\"normal\",uiFamilyName:\"Salsa\",url:\"https://fonts.gstatic.com/s/salsa/v23/gNMKW3FiRpKj-imd8ncKEZez.woff2\",weight:\"400\"}]}];export const css=['.framer-JGqxi .framer-styles-preset-wgfnys:not(.rich-text-wrapper), .framer-JGqxi .framer-styles-preset-wgfnys.rich-text-wrapper h2 { --framer-font-family: \"Salsa\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 23px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: -0.01em; --framer-line-height: 1.5em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: #fffcfc; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; }','@media (max-width: 1199px) and (min-width: 810px) { .framer-JGqxi .framer-styles-preset-wgfnys:not(.rich-text-wrapper), .framer-JGqxi .framer-styles-preset-wgfnys.rich-text-wrapper h2 { --framer-font-family: \"Salsa\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 15px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: -0.01em; --framer-line-height: 1.5em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: #fffcfc; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }','@media (max-width: 809px) and (min-width: 0px) { .framer-JGqxi .framer-styles-preset-wgfnys:not(.rich-text-wrapper), .framer-JGqxi .framer-styles-preset-wgfnys.rich-text-wrapper h2 { --framer-font-family: \"Salsa\", sans-serif; --framer-font-open-type-features: normal; --framer-font-size: 10px; --framer-font-style: normal; --framer-font-variation-axes: normal; --framer-font-weight: 400; --framer-letter-spacing: -0.01em; --framer-line-height: 1.5em; --framer-paragraph-spacing: 40px; --framer-text-alignment: start; --framer-text-color: #fffcfc; --framer-text-decoration: none; --framer-text-stroke-color: initial; --framer-text-stroke-width: initial; --framer-text-transform: none; } }'];export const className=\"framer-JGqxi\";\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 (0ea0c8c)\nexport default function metadata(params,activeLocale){return{description:\"Portfolio of Thanush D, a 3D Artist & Game Designer specializing in game-ready assets, environment art, gameplay prototypes, and visual design. Showcasing published games, prototypes, and 3D artwork.\",robots:\"max-image-preview:large\",socialImage:\"https://framerusercontent.com/assets/V5HeIQ45Gt3zGiAk0yIq2fmsjnc.png\",title:\"Thanush D – 3D Artist & Game Designer\"};}export const metadataVersion=1;\nexport const __FramerMetadata__ = {\"exports\":{\"metadataVersion\":{\"type\":\"variable\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"default\":{\"type\":\"function\",\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}"],"mappings":"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"}