1import{K as e,N as t,Y as n}from"./chunk-62JRHF6Z-Bxb16a7V.js";import{_ as r}from"./constants-DD2b5kKK.js";import{t as i}from"./jsx-runtime-B7wtUTmV.js";import{n as a}from"./GlobalContent-B-hxRQ3w.js";import{t as o}from"./twMerge-DDLWS7Ly.js";import{M as s,r as c}from"./SiteData-a7TrFedL.js";import{t as l}from"./useSignupUrl-l3YFYzSL.js";import{t as u}from"./useSignup-CIiXhVXA.js";import{t as d}from"./TextInput-D5tDbsYJ.js";import{t as f}from"./validateEmailFormat-BgruRN98.js";var p=n(e(),1);function m(e){if(e.get(`utm_source`)?.toLowerCase()===`cli`)return e.get(`utm_medium`)?.toLowerCase()===`skill`?`skill_md_signup`:`cli_signup`}var h=`/services/capture-email`;async function g({email:e,languageCode:t,locale:n}){if(!(typeof window>`u`||!e||!f(e)))try{let r=new URL(window.location.href,`https://www.shopify.com`);r.hash=``,await fetch(h,{method:`POST`,body:JSON.stringify({email:e,signUpPage:r.toString(),languageCode:t,locale:n}),headers:{"Content-Type":`application/json`},keepalive:!0})}catch{}}function _(e){let{hash:n}=t();(0,p.useEffect)(()=>{if(n&&e.current){let t=n.replace(`#`,``);f(t)&&(e.current.value=t)}},[n,e])}var v=`signup_page`,y=`signup_types[]`;function b(e,t){e.searchParams.delete(y);for(let n of t)e.searchParams.append(y,n)}function x(e,t){let n=t.getAll(y),r=e.searchParams.getAll(y);b(e,Array.from(new Set([...n,...r])))}function S(e,t){b(e,Array.from(new Set([...t.searchParams.getAll(y),...e.searchParams.getAll(y)])))}function C(e,t){for(let[n,r]of t.entries())n===y||n===v||e.searchParams.set(n,r.toString())}function w({onClick:e,overriddenSignupUrl:t,additionalSignupTypes:n}={}){let{signupUrl:r,signupName:i}=u(),{getSignupURL:a}=l(),{site:o}=c(),[s,d]=(0,p.useState)(),f=(0,p.useRef)(null);_(f);let h=(0,p.useMemo)(()=>{if(!(typeof window>`u`))return m(new URL(window.location.href,`https://www.shopify.com`).searchParams)},[]);(0,p.useEffect)(()=>{let e=a({url:t?.toString()||r});t&&S(e,new URL(r,`https://www.shopify.com`)),h&&e.searchParams.append(`signup_types[]`,h),d(e)},[a,r,i,t,h]);let v=(0,p.useCallback)(e=>{let i=a({url:t?.toString()||r,email:f.current?.value});t&&S(i,new URL(r,`https://www.shopify.com`)),h&&i.searchParams.append(`signup_types[]`,h);let o=new FormData(e);return(n||t)&&x(i,o),C(i,o),i.toString()},[r,t,n,a,h]);return{submitEmailForm:(0,p.useCallback)(t=>{t.preventDefault(),e?.(),g({email:f.current?.value,languageCode:o?.languageCode,locale:o?.locale}),window.location.href=v(t.target)},[v,e,o?.languageCode,o?.locale]),emailInputRef:f,hiddenSignupUrl:s}}var T=i();function E({signupUrl:e,additionalSignupTypes:t}){return(0,T.jsxs)(T.Fragment,{children:[Array.from(e.searchParams.entries()).map(([e,t])=>(0,T.jsx)(`input`,{type:`hidden`,name:e,value:t},`${e}-${t}`)),t?.map(e=>(0,T.jsx)(`input`,{type:`hidden`,name:`signup_types[]`,value:e},`signup_type-${e}`))]})}function D({button:e,mode:t=`light`,id:n,message:i,state:c,label:l,className:u,overriddenSignupUrl:f,additionalSignupTypes:m}){let{submitEmailForm:h,emailInputRef:g,hiddenSignupUrl:_}=w({onClick:e.onClick,additionalSignupTypes:m,overriddenSignupUrl:f}),{getContent:v}=a(),y=v(`signup.placeholder`),b=o(u,`flex w-full flex-col justify-center`),x=`email-form-${(0,p.useId)()}`;return(0,T.jsx)(`div`,{"data-component-name":`email-form`,className:`flex justify-center`,children:(0,T.jsxs)(`form`,{noValidate:!0,action:s,className:b,onSubmit:h,method:`post`,children:[_&&(0,T.jsx)(E,{signupUrl:_,additionalSignupTypes:m}),(0,T.jsx)(d,{placeholder:l||y,autoComplete:`email`,ref:g,id:n||x,label:l||y,message:i,mode:t,state:c,type:`email`,button:{type:`submit`,size:`small`,children:e.children,componentName:r,mode:t,role:`link`}})]})})}export{E as n,w as r,D as t}; 2//# sourceMappingURL=EmailForm-oNjmYIGY.js.map
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.