{"version":3,"file":"GoogleLoginButton.9eSyEMfy.mjs","names":["React.useState","React.useCallback"],"sources":["https:/framerusercontent.com/modules/7AbsyEcNFg61VfpB4bJC/7fFlNDwzucZevYlXZFsJ/GoogleLoginButton.js"],"sourcesContent":["import{jsx as _jsx,jsxs as _jsxs}from\"react/jsx-runtime\";import{ControlType,addPropertyControls}from\"framer\";import*as React from\"react\";function GoogleIcon(){return /*#__PURE__*/_jsxs(\"svg\",{width:\"24\",height:\"24\",viewBox:\"0 0 24 24\",fill:\"none\",xmlns:\"http://www.w3.org/2000/svg\",children:[/*#__PURE__*/_jsx(\"path\",{fillRule:\"evenodd\",clipRule:\"evenodd\",d:\"M23.04 12.2605C23.04 11.445 22.9668 10.6609 22.8309 9.9082H12V14.3566H18.1891C17.9225 15.7941 17.1123 17.0121 15.8943 17.8275V20.713H19.6109C21.7855 18.7109 23.04 15.7627 23.04 12.2605Z\",fill:\"#4285F4\"}),/*#__PURE__*/_jsx(\"path\",{fillRule:\"evenodd\",clipRule:\"evenodd\",d:\"M11.9995 23.5005C15.1045 23.5005 17.7077 22.4708 19.6104 20.7144L15.8938 17.829C14.864 18.519 13.5467 18.9267 11.9995 18.9267C9.00425 18.9267 6.46902 16.9037 5.5647 14.1855H1.72266V17.1651C3.61493 20.9235 7.50402 23.5005 11.9995 23.5005Z\",fill:\"#34A853\"}),/*#__PURE__*/_jsx(\"path\",{fillRule:\"evenodd\",clipRule:\"evenodd\",d:\"M5.56523 14.1855C5.33523 13.4955 5.20455 12.7584 5.20455 12.0005C5.20455 11.2425 5.33523 10.5055 5.56523 9.81548V6.83594H1.72318C0.944318 8.38844 0.5 10.1448 0.5 12.0005C0.5 13.8562 0.944318 15.6125 1.72318 17.165L5.56523 14.1855Z\",fill:\"#FBBC05\"}),/*#__PURE__*/_jsx(\"path\",{fillRule:\"evenodd\",clipRule:\"evenodd\",d:\"M11.9995 5.07386C13.6879 5.07386 15.2038 5.65409 16.3956 6.79364L19.694 3.49523C17.7024 1.63955 15.0992 0.5 11.9995 0.5C7.50402 0.5 3.61493 3.07705 1.72266 6.83545L5.5647 9.815C6.46902 7.09682 9.00425 5.07386 11.9995 5.07386Z\",fill:\"#EA4335\"})]});}/**\n * ----------------------------\n * Helpers (no external deps)\n * ----------------------------\n */function cx(...args){const out=[];for(const a of args){if(!a)continue;if(typeof a===\"string\")out.push(a);else for(const[k,v]of Object.entries(a))if(v)out.push(k);}return out.join(\" \");}function setCookie(name,value,days=1){const expires=new Date(Date.now()+days*864e5).toUTCString();document.cookie=`${encodeURIComponent(name)}=${encodeURIComponent(value)}; expires=${expires}; path=/`;}function addInviteLinkToCookie(pathName,days=1){setCookie(\"invite_link\",pathName,days);}function addLoginReasonToCookie(reason,days=1){setCookie(\"login_reason\",reason,days);}function getValidNextURL(next){if(!next)return\"/\";if(next.startsWith(\"/\")&&!next.startsWith(\"//\"))return next;return\"/\";}function getValueFromQueryParam(param){const params=new URLSearchParams(window.location.search);return params.get(param)??\"\";}function appendQuery(urlPathAndSearch,extra){const base=new URL(urlPathAndSearch,window.location.origin);for(const[k,v]of Object.entries(extra)){if(v!==undefined&&v!==null&&String(v).length>0)base.searchParams.set(k,String(v));}return`${base.pathname}${base.search}`;}/**\n * ----------------------------\n * Constants\n * ----------------------------\n */const GOOGLE_LOGIN_CLIENT_ID=\"681811240469-ani215tcqac6eu4kq7e5a3caccj610ne.apps.googleusercontent.com\";// \"323526149964-un862lt799c2s60fikso6v0oedubir0m.apps.googleusercontent.com\"\nconst TEAM_INVITE_LINK=\"/team-invite\";const LOGIN_REASONS={TEAM_INVITE:\"TEAM_INVITE\"};export default function GoogleLoginButton(props){const{buttonText=\"Continue with Google\",redirectUrl,variant=\"default\",size=\"medium\",fontWeight=\"normal\",inlineIcon=false,isBlock=false,align=\"left\",googleClientId=window.location.origin===\"https://dev.programiz.pro\"?\"323526149964-un862lt799c2s60fikso6v0oedubir0m.apps.googleusercontent.com\":GOOGLE_LOGIN_CLIENT_ID,onFailure}=props;const[isHovered,setIsHovered]=React.useState(false);// Exact values from your resolved CSS\nconst basePaddingBySize={small:\"8px 12px\",medium:\"12px 20px\",large:\"16px 24px\"};const fontWeightMap={normal:400,medium:500,\"semi-bold\":600,bold:700};const justifyByAlign={left:\"flex-start\",center:\"center\",right:\"flex-end\"};const resolvedPadding=// SCSS base is 16px, but modifiers override. Your component always sets a size, so use map.\nbasePaddingBySize[size];const isPrimary=variant===\"primary\";const isSecondary=variant===\"secondary\";const background=(()=>{if(isPrimary)return isHovered?\"#0449cf\":\"#0556f3\";if(isSecondary)return\"#fff\";return isHovered?\"#f1f5fd\":\"none\";})();const color=(()=>{if(isPrimary)return\"#fff\";return\"#25265e\";})();const buttonStyle={padding:resolvedPadding,display:\"flex\",alignItems:\"center\",background,color,fontWeight:fontWeightMap[fontWeight],fontSize:16,lineHeight:\"24px\",gap:16,border:\"1px solid #d3dce6\",borderRadius:4,cursor:\"pointer\",width:isBlock?\"100%\":undefined,justifyContent:justifyByAlign[align],fontFamily:\"Euclid Circular A Medium\",// optional: better button UX in Framer\noutline:\"none\",appearance:\"none\"};const iconWrapperStyle=inlineIcon?{width:24,height:24,backgroundColor:\"#fff\",borderRadius:2,padding:4,display:\"flex\",alignItems:\"center\",justifyContent:\"center\",boxSizing:\"border-box\",flex:\"0 0 auto\"}:{display:\"flex\",alignItems:\"center\",justifyContent:\"center\",flex:\"0 0 auto\"};const handleGoogleSignIn=React.useCallback(async()=>{try{const redirectUri=`${window.location.origin}/login`;let state=\"\";const pathName=window.location.pathname;if(pathName.includes(TEAM_INVITE_LINK)){addInviteLinkToCookie(pathName,1);addLoginReasonToCookie(LOGIN_REASONS.TEAM_INVITE,1);}if(redirectUrl){const urlObj=new URL(redirectUrl,window.location.origin);state=`${urlObj.pathname}${urlObj.search}`;}else{const next=getValueFromQueryParam(\"next\");state=getValidNextURL(next);}const reason=getValueFromQueryParam(\"reason\");const plan=getValueFromQueryParam(\"plan\");if(reason)state=appendQuery(state,{reason,plan});const scopes=[\"openid\",\"profile\",\"email\"];const params=new URLSearchParams({response_type:\"code\",client_id:googleClientId,redirect_uri:redirectUri,scope:scopes.join(\" \"),state});window.location.href=`https://accounts.google.com/o/oauth2/v2/auth?${params.toString()}`;}catch(err){onFailure?.(err);console.error(err);}},[redirectUrl,googleClientId,onFailure]);return /*#__PURE__*/_jsxs(\"button\",{onClick:handleGoogleSignIn,style:buttonStyle,onMouseEnter:()=>setIsHovered(true),onMouseLeave:()=>setIsHovered(false),type:\"button\",children:[/*#__PURE__*/_jsx(\"div\",{style:iconWrapperStyle,children:/*#__PURE__*/_jsx(GoogleIcon,{})}),/*#__PURE__*/_jsx(\"span\",{children:buttonText})]});}/**\n * ----------------------------\n * Framer Controls\n * ----------------------------\n */addPropertyControls(GoogleLoginButton,{buttonText:{type:ControlType.String,defaultValue:\"Continue with Google\"},redirectUrl:{type:ControlType.String,defaultValue:\"\"},variant:{type:ControlType.Enum,options:[\"default\",\"primary\",\"secondary\"],defaultValue:\"default\"},size:{type:ControlType.Enum,options:[\"small\",\"medium\",\"large\"],defaultValue:\"medium\"},fontWeight:{type:ControlType.Enum,options:[\"normal\",\"medium\",\"semi-bold\",\"bold\"],defaultValue:\"normal\"},inlineIcon:{type:ControlType.Boolean,defaultValue:false},isBlock:{type:ControlType.Boolean,defaultValue:false},align:{type:ControlType.Enum,options:[\"left\",\"center\",\"right\"],defaultValue:\"left\"},googleClientId:{type:ControlType.String,defaultValue:GOOGLE_LOGIN_CLIENT_ID}});\nexport const __FramerMetadata__ = {\"exports\":{\"default\":{\"type\":\"reactComponent\",\"name\":\"GoogleLoginButton\",\"slots\":[],\"annotations\":{\"framerContractVersion\":\"1\"}},\"__FramerMetadata__\":{\"type\":\"variable\"}}}\n//# sourceMappingURL=./GoogleLoginButton.map"],"mappings":"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"}