@dropins/storefront-auth 0.0.1-alpha15 → 0.0.1-alpha17

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import{jsx as c,jsxs as A}from"@dropins/tools/preact-jsx-runtime.js";import{Slot as $,classes as z}from"@dropins/tools/lib.js";import{g as V,c as y,u as O,T as R,F as tt,B as K}from"./useInLineAlert.js";import{useState as h,useCallback as E,useEffect as J,useMemo as at}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/recaptcha.js";import{a as st}from"./getCustomerToken.js";import{r as rt}from"./resendConfirmationEmail.js";import{s as et,a as ot}from"./simplifyTransformAttributesForm.js";import{c as it}from"./confirmEmail.js";import{useText as Q}from"@dropins/tools/i18n.js";import{InLineAlert as nt,InputPassword as ct}from"@dropins/tools/components.js";import{E as mt}from"./EmailConfirmationForm.js";const ut=({emailConfirmationStatusMessage:t,translations:e,initialEmailValue:i,routeSignUp:m,routeForgotPassword:u,routeRedirectOnSignIn:F,onErrorCallback:g,setActiveComponent:a,onSuccessCallback:l,onSignUpLinkClick:d,handleSetInLineAlertProps:s,routeRedirectOnEmailConfirmationClose:N})=>{const[P,L]=h(""),[f,x]=h(!1),[w,_]=h(""),[C,b]=h(!1),[M,S]=h({userName:"",status:!1}),[p,I]=h(!1),[B,T]=h([]),k=E(async o=>{s(),x(!0),b(!1),T([]),await rt(o)},[s]),U=E(o=>{o.length?b(!1):b(!0),_(o)},[]);J(()=>{t!=null&&t.text&&s({text:t.text,type:t.status?t.status:void 0})},[t,s]);const v=E(async o=>{var q;s(),I(!0);const n=V(o.target);if(n.password||(b(!0),I(!1)),n!=null&&n.email&&(n!=null&&n.password)){const{email:G,password:Y}=n,r=await st({email:G,password:Y,handleSetInLineAlertProps:s,onErrorCallback:g,translations:e});if((q=r==null?void 0:r.errorMessage)!=null&&q.length){L(G);const H=r.errorMessage.includes("This account isn't confirmed. Verify and try again."),Z=H?e.resendEmailInformationText:r.errorMessage;T(H?[{label:e.resendEmailButtonText,onClick:()=>{k(G)}}]:[]),s({text:Z,type:"error"}),_("")}r!=null&&r.userName&&(o.target.reset(),y(F)?window.location.href=F():(l==null||l({userName:r==null?void 0:r.userName,status:!0}),S({userName:r==null?void 0:r.userName,status:!0}))),b(!1)}I(!1)},[s,g,e,k,F,l]),j=E(()=>{if(y(a)){a("resetPasswordForm");return}y(u)&&(window.location.href=u())},[u,a]),D=E(()=>{if(y(d)&&d(),y(a)){a("signUpForm");return}y(m)&&(window.location.href=m())},[d,m,a]),W=at(()=>{const o=et(ot);return i!=null&&i.length?o==null?void 0:o.map(n=>({...n,defaultValue:i})):o},[i]),X=E(()=>{s(),y(N)?window.location.href=N():x(!1)},[s,N]);return{additionalActionsAlert:B,userEmail:P,defaultEnhancedEmailFields:W,passwordError:C,isSuccessful:M,isLoading:p,signInPasswordValue:w,showEmailConfirmationForm:f,setShowEmailConfirmationForm:x,setSignInPasswordValue:_,submitLogInUser:v,forgotPasswordCallback:j,onSignUpLinkClickCallback:D,handledOnPrimaryButtonClick:X,handleSetPassword:U}},lt=()=>{let t=new URL(window.location.href),e=t.searchParams.get("email"),i=t.searchParams.get("key");e&&i&&(t.searchParams.delete("email"),t.searchParams.delete("key"),window.history.replaceState({},document.title,t.toString()))},ft=({enableEmailConfirmation:t})=>{const e=Q({accountConfirmMessage:"Auth.EmailConfirmationForm.accountConfirmMessage",accountConfirmationEmailSuccessMessage:"Auth.EmailConfirmationForm.accountConfirmationEmailSuccessMessage"}),[i,m]=h({text:"",status:""});return J(()=>{if(t){const{search:u}=window.location;u.includes("email=")&&u.includes("key=")&&(async()=>{var l,d,s;const g=new URLSearchParams(u),a=await it({customerEmail:g.get("email"),customerConfirmationKey:g.get("key")});if(!a)return null;(l=a==null?void 0:a.errors)!=null&&l.length?m({text:a==null?void 0:a.errors[0].message,status:"error"}):(m({text:a.data.confirmEmail.customer.email?e.accountConfirmationEmailSuccessMessage.replace("{email}",(s=(d=a==null?void 0:a.data)==null?void 0:d.confirmEmail.customer)==null?void 0:s.email):e.accountConfirmMessage,status:"success"}),lt())})()}},[t,e]),{emailConfirmationStatusMessage:i}},pt=({slots:t,formSize:e="default",initialEmailValue:i="",renderSignUpLink:m=!1,enableEmailConfirmation:u=!1,hideCloseBtnOnEmailConfirmation:F=!1,routeRedirectOnEmailConfirmationClose:g,routeRedirectOnSignIn:a,routeForgotPassword:l,routeSignUp:d,onSuccessCallback:s,setActiveComponent:N,onErrorCallback:P,onSignUpLinkClick:L})=>{const f=Q({title:"Auth.SignInForm.title",buttonPrimary:"Auth.SignInForm.buttonPrimary",buttonSecondary:"Auth.SignInForm.buttonSecondary",buttonTertiary:"Auth.SignInForm.buttonTertiary",resendEmailInformationText:"Auth.Notification.resendEmailNotification.informationText",resendEmailButtonText:"Auth.Notification.resendEmailNotification.buttonText",customerTokenErrorMessage:"Auth.Api.customerTokenErrorMessage",placeholder:"Auth.InputPassword.placeholder",floatingLabel:"Auth.InputPassword.floatingLabel"}),{emailConfirmationStatusMessage:x}=ft({enableEmailConfirmation:u}),{inLineAlertProps:w,handleSetInLineAlertProps:_}=O(),{userEmail:C,additionalActionsAlert:b,defaultEnhancedEmailFields:M,passwordError:S,isSuccessful:p,isLoading:I,signInPasswordValue:B,showEmailConfirmationForm:T,submitLogInUser:k,forgotPasswordCallback:U,onSignUpLinkClickCallback:v,handledOnPrimaryButtonClick:j,handleSetPassword:D}=ut({translations:f,emailConfirmationStatusMessage:x,initialEmailValue:i,routeSignUp:d,routeForgotPassword:l,routeRedirectOnSignIn:a,setActiveComponent:N,onErrorCallback:P,onSuccessCallback:s,onSignUpLinkClick:L,handleSetInLineAlertProps:_,routeRedirectOnEmailConfirmationClose:g});return p.status&&(t!=null&&t.SuccessNotification)?c($,{"data-testid":"successNotificationTestId",name:"SuccessNotification",slot:t==null?void 0:t.SuccessNotification,context:{isSuccessful:p}}):T?c(mt,{formSize:e,userEmail:C,inLineAlertProps:w,hideCloseBtnOnEmailConfirmation:F,handleSetInLineAlertProps:_,onPrimaryButtonClick:j}):A("div",{className:z(["auth-signInForm",e]),"data-testid":"signInForm",children:[c(R,{text:f.title,bottomLine:!1,className:"auth-signInForm__title"}),w.text?c(nt,{"data-testid":"authInLineAlert",className:"auth-signInForm__notification",type:w.type,variant:"secondary",heading:w.text,icon:w.icon,additionalActions:b}):null,A(tt,{name:"signIn_form",className:"auth-signInForm__form",submitCallback:k,isLoading:I,fieldsConfig:M,children:[c(ct,{hideStatusIndicator:!0,className:"auth-signInForm__form__password",autoComplete:"current-password",error:S,defaultValue:B,onValue:D,placeholder:f.placeholder,floatingLabel:f.floatingLabel}),A("div",{className:"auth-signInForm__form__buttons",children:[A("div",{className:"auth-signInForm__form__buttons--combine",children:[c(K,{type:"button",variant:"tertiary",style:{padding:0},buttonText:f.buttonTertiary,className:"auth-signInForm__button auth-signInForm__button--forgot",enableLoader:!1,onClick:U,"data-testid":"switchToSignUp"}),m?c("span",{}):null,m?c(K,{type:"button",variant:"tertiary",style:{padding:0},buttonText:f.buttonSecondary,className:"auth-signInForm__button auth-signInForm__button--signup",enableLoader:!1,onClick:v}):null]}),c(K,{type:"submit",buttonText:f.buttonPrimary,variant:"primary",className:"auth-signInForm__button auth-signInForm__button--submit",enableLoader:I})]})]}),c("div",{id:"generateCustomerToken"})]})};export{pt as S};
1
+ import{jsx as u,jsxs as k}from"@dropins/tools/preact-jsx-runtime.js";import{Slot as $,classes as z}from"@dropins/tools/lib.js";import{g as V,c as F,u as O,T as R,F as tt,B as q}from"./useInLineAlert.js";import{useState as g,useCallback as E,useEffect as Q,useMemo as at}from"@dropins/tools/preact-hooks.js";import"@dropins/tools/event-bus.js";import"@dropins/tools/recaptcha.js";import{a as rt}from"./getCustomerToken.js";import{r as ot}from"./resendConfirmationEmail.js";import{s as st,a as et}from"./simplifyTransformAttributesForm.js";import{c as it}from"./confirmEmail.js";import{useText as W}from"@dropins/tools/i18n.js";import{InLineAlert as nt,InputPassword as mt}from"@dropins/tools/components.js";import{E as ct}from"./EmailConfirmationForm.js";const ut=({emailConfirmationStatusMessage:t,translations:r,initialEmailValue:e,routeSignUp:d,routeForgotPassword:m,routeRedirectOnSignIn:_,onErrorCallback:w,setActiveComponent:a,onSuccessCallback:f,onSignUpLinkClick:h,handleSetInLineAlertProps:o,routeRedirectOnEmailConfirmationClose:b})=>{const[A,P]=g(""),[L,n]=g(!1),[C,l]=g(""),[T,y]=g(!1),[M,S]=g({userName:"",status:!1}),[B,I]=g(!1),[x,N]=g([]),p=E(async i=>{o(),n(!0),y(!1),N([]),await ot(i)},[o]),U=E(i=>{i.length?y(!1):y(!0),l(i)},[]);Q(()=>{t!=null&&t.text&&o({text:t.text,type:t.status?t.status:void 0})},[t,o]);const v=E(async i=>{var H;o(),I(!0);const c=V(i.target);if(c.password||(y(!0),I(!1)),c!=null&&c.email&&(c!=null&&c.password)){const{email:K,password:Y}=c,s=await rt({email:K,password:Y,handleSetInLineAlertProps:o,onErrorCallback:w,translations:r});if((H=s==null?void 0:s.errorMessage)!=null&&H.length){P(K);const J=s.errorMessage.includes("This account isn't confirmed. Verify and try again."),Z=J?r.resendEmailInformationText:s.errorMessage;N(J?[{label:r.resendEmailButtonText,onClick:()=>{p(K)}}]:[]),o({text:Z,type:"error"}),l("")}s!=null&&s.userName&&(i.target.reset(),F(_)?window.location.href=_():(f==null||f({userName:s==null?void 0:s.userName,status:!0}),S({userName:s==null?void 0:s.userName,status:!0}))),y(!1)}I(!1)},[o,w,r,p,_,f]),j=E(()=>{if(F(a)){a("resetPasswordForm");return}F(m)&&(window.location.href=m())},[m,a]),D=E(()=>{if(F(h)&&h(),F(a)){a("signUpForm");return}F(d)&&(window.location.href=d())},[h,d,a]),G=at(()=>{const i=st(et);return e!=null&&e.length?i==null?void 0:i.map(c=>({...c,defaultValue:e})):i},[e]),X=E(()=>{o(),F(b)?window.location.href=b():n(!1)},[o,b]);return{additionalActionsAlert:x,userEmail:A,defaultEnhancedEmailFields:G,passwordError:T,isSuccessful:M,isLoading:B,signInPasswordValue:C,showEmailConfirmationForm:L,setShowEmailConfirmationForm:n,setSignInPasswordValue:l,submitLogInUser:v,forgotPasswordCallback:j,onSignUpLinkClickCallback:D,handledOnPrimaryButtonClick:X,handleSetPassword:U}},ft=()=>{let t=new URL(window.location.href),r=t.searchParams.get("email"),e=t.searchParams.get("key");r&&e&&(t.searchParams.delete("email"),t.searchParams.delete("key"),window.history.replaceState({},document.title,t.toString()))},lt=({enableEmailConfirmation:t})=>{const r=W({accountConfirmMessage:"Auth.EmailConfirmationForm.accountConfirmMessage",accountConfirmationEmailSuccessMessage:"Auth.EmailConfirmationForm.accountConfirmationEmailSuccessMessage"}),[e,d]=g({text:"",status:""});return Q(()=>{if(t){const{search:m}=window.location;m.includes("email=")&&m.includes("key=")&&(async()=>{var f,h,o;const w=new URLSearchParams(m),a=await it({customerEmail:w.get("email"),customerConfirmationKey:w.get("key")});if(!a)return null;(f=a==null?void 0:a.errors)!=null&&f.length?d({text:a==null?void 0:a.errors[0].message,status:"error"}):(d({text:a.data.confirmEmail.customer.email?r.accountConfirmationEmailSuccessMessage.replace("{email}",(o=(h=a==null?void 0:a.data)==null?void 0:h.confirmEmail.customer)==null?void 0:o.email):r.accountConfirmMessage,status:"success"}),ft())})()}},[t,r]),{emailConfirmationStatusMessage:e}},pt=({slots:t,labels:r,formSize:e="default",initialEmailValue:d="",renderSignUpLink:m=!1,enableEmailConfirmation:_=!1,hideCloseBtnOnEmailConfirmation:w=!1,routeRedirectOnEmailConfirmationClose:a,routeRedirectOnSignIn:f,routeForgotPassword:h,routeSignUp:o,onSuccessCallback:b,setActiveComponent:A,onErrorCallback:P,onSignUpLinkClick:L})=>{const n=W({title:"Auth.SignInForm.title",buttonPrimary:"Auth.SignInForm.buttonPrimary",buttonSecondary:"Auth.SignInForm.buttonSecondary",buttonTertiary:"Auth.SignInForm.buttonTertiary",resendEmailInformationText:"Auth.Notification.resendEmailNotification.informationText",resendEmailButtonText:"Auth.Notification.resendEmailNotification.buttonText",customerTokenErrorMessage:"Auth.Api.customerTokenErrorMessage",placeholder:"Auth.InputPassword.placeholder",floatingLabel:"Auth.InputPassword.floatingLabel"}),{emailConfirmationStatusMessage:C}=lt({enableEmailConfirmation:_}),{inLineAlertProps:l,handleSetInLineAlertProps:T}=O(),{userEmail:y,additionalActionsAlert:M,defaultEnhancedEmailFields:S,passwordError:B,isSuccessful:I,isLoading:x,signInPasswordValue:N,showEmailConfirmationForm:p,submitLogInUser:U,forgotPasswordCallback:v,onSignUpLinkClickCallback:j,handledOnPrimaryButtonClick:D,handleSetPassword:G}=ut({translations:n,emailConfirmationStatusMessage:C,initialEmailValue:d,routeSignUp:o,routeForgotPassword:h,routeRedirectOnSignIn:f,setActiveComponent:A,onErrorCallback:P,onSuccessCallback:b,onSignUpLinkClick:L,handleSetInLineAlertProps:T,routeRedirectOnEmailConfirmationClose:a});return I.status&&(t!=null&&t.SuccessNotification)?u($,{"data-testid":"successNotificationTestId",name:"SuccessNotification",slot:t==null?void 0:t.SuccessNotification,context:{isSuccessful:I}}):p?u(ct,{formSize:e,userEmail:y,inLineAlertProps:l,hideCloseBtnOnEmailConfirmation:w,handleSetInLineAlertProps:T,onPrimaryButtonClick:D}):k("div",{className:z(["auth-signInForm",e]),"data-testid":"signInForm",children:[u(R,{text:(r==null?void 0:r.formTitleText)??n.title,bottomLine:!1,className:"auth-signInForm__title"}),l.text?u(nt,{"data-testid":"authInLineAlert",className:"auth-signInForm__notification",type:l.type,variant:"secondary",heading:l.text,icon:l.icon,additionalActions:M}):null,k(tt,{name:"signIn_form",className:"auth-signInForm__form",submitCallback:U,isLoading:x,fieldsConfig:S,children:[u(mt,{hideStatusIndicator:!0,className:"auth-signInForm__form__password",autoComplete:"current-password",error:B,defaultValue:N,onValue:G,placeholder:n.placeholder,floatingLabel:n.floatingLabel}),k("div",{className:"auth-signInForm__form__buttons",children:[k("div",{className:"auth-signInForm__form__buttons--combine",children:[u(q,{type:"button",variant:"tertiary",style:{padding:0},buttonText:n.buttonTertiary,className:"auth-signInForm__button auth-signInForm__button--forgot",enableLoader:!1,onClick:v,"data-testid":"switchToSignUp"}),m?u("span",{}):null,m?u(q,{type:"button",variant:"tertiary",style:{padding:0},buttonText:n.buttonSecondary,className:"auth-signInForm__button auth-signInForm__button--signup",enableLoader:!1,onClick:j}):null]}),u(q,{type:"submit",buttonText:(r==null?void 0:r.primaryButtonText)??n.buttonPrimary,variant:"primary",className:"auth-signInForm__button auth-signInForm__button--submit",enableLoader:x})]})]}),u("div",{id:"generateCustomerToken"})]})};export{pt as S};
@@ -1 +1 @@
1
- import{jsxs as _,jsx as d,Fragment as k}from"@dropins/tools/preact-jsx-runtime.js";import{useCallback as b,useRef as g,useState as v,useEffect as x}from"@dropins/tools/preact-hooks.js";import{classes as I}from"@dropins/tools/lib.js";import{Button as S,Field as M,Picker as V,Input as O,InputDate as R,Checkbox as y,TextArea as H}from"@dropins/tools/components.js";import{initReCaptcha as P}from"@dropins/tools/recaptcha.js";import{useText as q}from"@dropins/tools/i18n.js";import*as f from"@dropins/tools/preact-compat.js";import{memo as U,useCallback as N}from"@dropins/tools/preact-compat.js";const ee=r=>{if(!r)return null;const c=new FormData(r);if(c&&typeof c.entries=="function"){const u=c.entries();if(u&&typeof u[Symbol.iterator]=="function")return JSON.parse(JSON.stringify(Object.fromEntries(u)))||{}}return{}},re=r=>typeof r=="function",te=({type:r,buttonText:c,variant:u,className:l="",enableLoader:o=!1,onClick:s,style:h,icon:n,...p})=>{const $=b(T=>{s==null||s(T)},[s]);return _(S,{icon:n,style:h,type:r,variant:u,className:I(["auth-button",l,o?"enableLoader":""]),onClick:$,...p,children:[d("span",{className:"auth-button__text",children:c}),o?d("div",{className:"auth-button__loader-wrapper",children:d("span",{className:"auth-button__loader"})}):null]})},W=r=>r.reduce((c,{code:u,required:l,defaultValue:o})=>(l&&(c[u]=o),c),{}),G=({fieldsConfig:r,submitCallback:c})=>{const{requiredFieldError:u}=q({requiredFieldError:"Auth.FormText.requiredFieldError"}),l=g(null),[o,s]=v({}),[h,n]=v({});x(()=>{if(!r.length)return;const E=W(r);s(E)},[r==null?void 0:r.length]);const p=b((E,e)=>{const t=r.find(i=>i.code===E);return t!=null&&t.required&&!e?u:""},[r,u]),$=b(E=>{const{name:e,value:t,type:a,checked:i}=E==null?void 0:E.target,w=a==="checkbox"?i:t;s(D=>({...D,[e]:w}))},[]);x(()=>{P()},[]);const A=b(E=>{const{name:e,value:t,type:a,checked:i}=E==null?void 0:E.target,w=a==="checkbox"?i:t;n(D=>({...D,[e]:p(e,w)}))},[p]),T=b(E=>{E.preventDefault();let e=!0,t={},a=null;for(const[i,w]of Object.entries(o)){const D=p(i,w);D&&(t[i]=D,e=!1,a||(a=i))}if(n(t),a&&l.current){const i=l.current.elements.namedItem(a);i==null||i.focus()}c==null||c(E,e)},[o,p,c]);return{formData:o,errors:h,formRef:l,handleChange:$,handleBlur:A,handleSubmit:T}};var L=(r=>(r.BOOLEAN="BOOLEAN",r.DATE="DATE",r.DATETIME="DATETIME",r.DROPDOWN="DROPDOWN",r.FILE="FILE",r.GALLERY="GALLERY",r.HIDDEN="HIDDEN",r.IMAGE="IMAGE",r.MEDIA_IMAGE="MEDIA_IMAGE",r.MULTILINE="MULTILINE",r.MULTISELECT="MULTISELECT",r.PRICE="PRICE",r.SELECT="SELECT",r.TEXT="TEXT",r.TEXTAREA="TEXTAREA",r.UNDEFINED="UNDEFINED",r.VISUAL="VISUAL",r.WEIGHT="WEIGHT",r.EMPTY="",r))(L||{});const C=U(({loading:r,values:c,fields:u=[],errors:l,className:o="",onChange:s,onBlur:h})=>{const n=`${o}__field`,p=N((e,t,a)=>d(M,{error:a,className:I([n,`${n}--${e.id}`,[`${n}--${e.id}-hidden`,e.hidden],e.className]),"data-testid":`${o}--${e.id}`,disabled:r,children:d(V,{name:e.id,floatingLabel:`${e.label} ${e.required?"*":""}`,placeholder:e.label,"aria-label":e.label,options:e.options,onBlur:h,handleSelect:s,value:t||e.defaultValue})},e.id),[o,r,n,h,s]),$=N((e,t,a)=>d(M,{error:a,className:I([n,`${n}--${e.id}`,[`${n}--${e.id}-hidden`,e.hidden],e.className]),"data-testid":`${o}--${e.id}`,disabled:r,children:d(O,{type:"text",name:e.id,value:t===void 0?e.defaultValue:t,placeholder:e.label,floatingLabel:`${e.label} ${e.required?"*":""}`,onBlur:h,onChange:s})},e.id),[o,r,n,h,s]),A=N((e,t,a)=>d(M,{error:a,className:I([n,`${n}--${e.id}`,[`${n}--${e.id}-hidden`,e.hidden],e.className]),"data-testid":`${o}--${e.id}`,disabled:r,children:d(R,{type:"text",name:e.id,value:t||e.defaultValue,placeholder:e.label,floatingLabel:`${e.label} ${e.required?"*":""}`,onBlur:h,onChange:s})},e.id),[o,r,n,h,s]),T=N((e,t,a)=>d(M,{error:a,className:I([n,`${n}--${e.id}`,[`${n}--${e.id}-hidden`,e.hidden],e.className]),"data-testid":`${o}--${e.id}`,disabled:r,children:d(y,{name:e.id,checked:t||e.defaultValue,placeholder:e.label,label:`${e.label} ${e.required?"*":""}`,onBlur:h,onChange:s})},e.id),[o,r,n,h,s]),E=N((e,t,a)=>d(M,{error:a,className:I([n,`${n}--${e.id}`,[`${n}--${e.id}-hidden`,e.hidden],e.className]),"data-testid":`${o}--${e.id}`,disabled:r,children:d(H,{type:"text",name:e.id,value:t===void 0?e.defaultValue:t,label:`${e.label} ${e.required?"*":""}`,onBlur:h,onChange:s})},e.id),[o,r,n,h,s]);return u.length?d(k,{children:u.map(e=>{const t=(l==null?void 0:l[e.id])??void 0,a=(c==null?void 0:c[e.id])??void 0;switch(e.fieldType){case L.TEXT:return e.options.length?p(e,a,t):$(e,a,t);case L.MULTILINE:return $(e,a,t);case L.SELECT:return p(e,a,t);case L.DATE:return A(e,a,t);case L.BOOLEAN:return T(e,a,t);case"TEXTAREA":return E(e,a,t);default:return null}})}):null}),ne=({name:r,isLoading:c,children:u,className:l="defaultForm",fieldsConfig:o=[],submitCallback:s})=>{const{formData:h,errors:n,formRef:p,handleChange:$,handleBlur:A,handleSubmit:T}=G({submitCallback:s,fieldsConfig:o});return _("form",{onSubmit:T,className:l,name:r,ref:p,children:[d(C,{fields:o,onChange:$,onBlur:A,errors:n,values:h,className:l,isLoading:c}),u]})},ae=({children:r,text:c,bottomLine:u=!0,className:l})=>_("div",{className:I(["auth-title",l]),"data-testid":"auth-title_id",children:[_("div",{className:"auth-title__text",children:[d("h1",{className:"auth-title__heading",children:c}),r]}),u?d("div",{className:"auth-title__hr"}):null]}),Z=r=>f.createElement("svg",{id:"Icon_Warning_Base",width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r},f.createElement("g",{clipPath:"url(#clip0_841_1324)"},f.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M11.9949 2.30237L0.802734 21.6977H23.1977L11.9949 2.30237Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),f.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M12.4336 10.5504L12.3373 14.4766H11.6632L11.5669 10.5504V9.51273H12.4336V10.5504ZM11.5883 18.2636V17.2687H12.4229V18.2636H11.5883Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"})),f.createElement("defs",null,f.createElement("clipPath",{id:"clip0_841_1324"},f.createElement("rect",{width:24,height:21,fill:"white",transform:"translate(0 1.5)"})))),B=r=>f.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r},f.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M0.75 12C0.75 5.78421 5.78421 0.75 12 0.75C18.2158 0.75 23.25 5.78421 23.25 12C23.25 18.2158 18.2158 23.25 12 23.25C5.78421 23.25 0.75 18.2158 0.75 12Z",stroke:"currentColor"}),f.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M6.75 12.762L10.2385 15.75L17.25 9",stroke:"currentColor"})),X=r=>f.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r},f.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M0.75 12C0.75 5.78421 5.78421 0.75 12 0.75C18.2158 0.75 23.25 5.78421 23.25 12C23.25 18.2158 18.2158 23.25 12 23.25C5.78421 23.25 0.75 18.2158 0.75 12Z",stroke:"currentColor"}),f.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M11.75 5.88423V4.75H12.25V5.88423L12.0485 13.0713H11.9515L11.75 5.88423ZM11.7994 18.25V16.9868H12.2253V18.25H11.7994Z",stroke:"currentColor"})),j={success:d(B,{}),warning:d(Z,{}),error:d(X,{})},oe=()=>{const[r,c]=v({}),u=b(l=>{if(!l||!l.type){c({});return}const o=j[l.type];c({...l,icon:o})},[]);return{inLineAlertProps:r,handleSetInLineAlertProps:u}};export{te as B,ne as F,ae as T,re as c,ee as g,oe as u};
1
+ import{jsxs as x,jsx as d,Fragment as k}from"@dropins/tools/preact-jsx-runtime.js";import{useCallback as b,useRef as g,useState as _,useEffect as v}from"@dropins/tools/preact-hooks.js";import{classes as I}from"@dropins/tools/lib.js";import{Button as S,Field as M,Picker as V,Input as O,InputDate as R,Checkbox as y,TextArea as H}from"@dropins/tools/components.js";import{initReCaptcha as P}from"@dropins/tools/recaptcha.js";import{useText as q}from"@dropins/tools/i18n.js";import*as f from"@dropins/tools/preact-compat.js";import{memo as U,useCallback as N}from"@dropins/tools/preact-compat.js";const ee=r=>{if(!r)return null;const o=new FormData(r);if(o&&typeof o.entries=="function"){const u=o.entries();if(u&&typeof u[Symbol.iterator]=="function")return JSON.parse(JSON.stringify(Object.fromEntries(u)))||{}}return{}},re=r=>typeof r=="function",te=({type:r,buttonText:o,variant:u,className:l="",enableLoader:c=!1,onClick:s,style:h,icon:n,...p})=>{const $=b(T=>{s==null||s(T)},[s]);return x(S,{icon:n,style:h,type:r,variant:u,className:I(["auth-button",l,c?"enableLoader":""]),onClick:$,...p,children:[d("span",{className:"auth-button__text",children:o}),c?d("div",{className:"auth-button__loader-wrapper",children:d("span",{className:"auth-button__loader"})}):null]})},W=r=>r.reduce((o,{code:u,required:l,defaultValue:c})=>(l&&(o[u]=c),o),{}),G=({fieldsConfig:r,submitCallback:o})=>{const{requiredFieldError:u}=q({requiredFieldError:"Auth.FormText.requiredFieldError"}),l=g(null),[c,s]=_({}),[h,n]=_({});v(()=>{if(!r.length)return;const E=W(r);s(E)},[r==null?void 0:r.length]);const p=b((E,e)=>{const t=r.find(i=>i.code===E);return t!=null&&t.required&&!e?u:""},[r,u]),$=b(E=>{const{name:e,value:t,type:a,checked:i}=E==null?void 0:E.target,w=a==="checkbox"?i:t;s(D=>({...D,[e]:w}))},[]);v(()=>{P()},[]);const A=b(E=>{const{name:e,value:t,type:a,checked:i}=E==null?void 0:E.target,w=a==="checkbox"?i:t;n(D=>({...D,[e]:p(e,w)}))},[p]),T=b(E=>{E.preventDefault();let e=!0,t={},a=null;for(const[i,w]of Object.entries(c)){const D=p(i,w);D&&(t[i]=D,e=!1,a||(a=i))}if(n(t),a&&l.current){const i=l.current.elements.namedItem(a);i==null||i.focus()}o==null||o(E,e)},[c,p,o]);return{formData:c,errors:h,formRef:l,handleChange:$,handleBlur:A,handleSubmit:T}};var L=(r=>(r.BOOLEAN="BOOLEAN",r.DATE="DATE",r.DATETIME="DATETIME",r.DROPDOWN="DROPDOWN",r.FILE="FILE",r.GALLERY="GALLERY",r.HIDDEN="HIDDEN",r.IMAGE="IMAGE",r.MEDIA_IMAGE="MEDIA_IMAGE",r.MULTILINE="MULTILINE",r.MULTISELECT="MULTISELECT",r.PRICE="PRICE",r.SELECT="SELECT",r.TEXT="TEXT",r.TEXTAREA="TEXTAREA",r.UNDEFINED="UNDEFINED",r.VISUAL="VISUAL",r.WEIGHT="WEIGHT",r.EMPTY="",r))(L||{});const C=U(({loading:r,values:o,fields:u=[],errors:l,className:c="",onChange:s,onBlur:h})=>{const n=`${c}__field`,p=N((e,t,a)=>d(M,{error:a,className:I([n,`${n}--${e.id}`,[`${n}--${e.id}-hidden`,e.hidden],e.className]),"data-testid":`${c}--${e.id}`,disabled:r,children:d(V,{name:e.id,floatingLabel:`${e.label} ${e.required?"*":""}`,placeholder:e.label,"aria-label":e.label,options:e.options.map(i=>({...i,text:i.label})),onBlur:h,handleSelect:s,value:t||e.defaultValue})},e.id),[c,r,n,h,s]),$=N((e,t,a)=>d(M,{error:a,className:I([n,`${n}--${e.id}`,[`${n}--${e.id}-hidden`,e.hidden],e.className]),"data-testid":`${c}--${e.id}`,disabled:r,children:d(O,{type:"text",name:e.id,value:t===void 0?e.defaultValue:t,placeholder:e.label,floatingLabel:`${e.label} ${e.required?"*":""}`,onBlur:h,onChange:s})},e.id),[c,r,n,h,s]),A=N((e,t,a)=>d(M,{error:a,className:I([n,`${n}--${e.id}`,[`${n}--${e.id}-hidden`,e.hidden],e.className]),"data-testid":`${c}--${e.id}`,disabled:r,children:d(R,{type:"text",name:e.id,value:t||e.defaultValue,placeholder:e.label,floatingLabel:`${e.label} ${e.required?"*":""}`,onBlur:h,onChange:s})},e.id),[c,r,n,h,s]),T=N((e,t,a)=>d(M,{error:a,className:I([n,`${n}--${e.id}`,[`${n}--${e.id}-hidden`,e.hidden],e.className]),"data-testid":`${c}--${e.id}`,disabled:r,children:d(y,{name:e.id,checked:t||e.defaultValue,placeholder:e.label,label:`${e.label} ${e.required?"*":""}`,onBlur:h,onChange:s})},e.id),[c,r,n,h,s]),E=N((e,t,a)=>d(M,{error:a,className:I([n,`${n}--${e.id}`,[`${n}--${e.id}-hidden`,e.hidden],e.className]),"data-testid":`${c}--${e.id}`,disabled:r,children:d(H,{type:"text",name:e.id,value:t===void 0?e.defaultValue:t,label:`${e.label} ${e.required?"*":""}`,onBlur:h,onChange:s})},e.id),[c,r,n,h,s]);return u.length?d(k,{children:u.map(e=>{const t=(l==null?void 0:l[e.id])??void 0,a=(o==null?void 0:o[e.id])??void 0;switch(e.fieldType){case L.TEXT:return e.options.length?p(e,a,t):$(e,a,t);case L.MULTILINE:return $(e,a,t);case L.SELECT:return p(e,a,t);case L.DATE:return A(e,a,t);case L.BOOLEAN:return T(e,a,t);case"TEXTAREA":return E(e,a,t);default:return null}})}):null}),ne=({name:r,isLoading:o,children:u,className:l="defaultForm",fieldsConfig:c=[],submitCallback:s})=>{const{formData:h,errors:n,formRef:p,handleChange:$,handleBlur:A,handleSubmit:T}=G({submitCallback:s,fieldsConfig:c});return x("form",{onSubmit:T,className:l,name:r,ref:p,children:[d(C,{fields:c,onChange:$,onBlur:A,errors:n,values:h,className:l,isLoading:o}),u]})},ae=({children:r,text:o,bottomLine:u=!0,className:l})=>x("div",{className:I(["auth-title",l]),"data-testid":"auth-title_id",children:[x("div",{className:"auth-title__text",children:[d("h1",{className:"auth-title__heading",children:o}),r]}),u?d("div",{className:"auth-title__hr"}):null]}),Z=r=>f.createElement("svg",{id:"Icon_Warning_Base",width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r},f.createElement("g",{clipPath:"url(#clip0_841_1324)"},f.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M11.9949 2.30237L0.802734 21.6977H23.1977L11.9949 2.30237Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"}),f.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M12.4336 10.5504L12.3373 14.4766H11.6632L11.5669 10.5504V9.51273H12.4336V10.5504ZM11.5883 18.2636V17.2687H12.4229V18.2636H11.5883Z",stroke:"currentColor",strokeLinecap:"round",strokeLinejoin:"round"})),f.createElement("defs",null,f.createElement("clipPath",{id:"clip0_841_1324"},f.createElement("rect",{width:24,height:21,fill:"white",transform:"translate(0 1.5)"})))),B=r=>f.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r},f.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M0.75 12C0.75 5.78421 5.78421 0.75 12 0.75C18.2158 0.75 23.25 5.78421 23.25 12C23.25 18.2158 18.2158 23.25 12 23.25C5.78421 23.25 0.75 18.2158 0.75 12Z",stroke:"currentColor"}),f.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M6.75 12.762L10.2385 15.75L17.25 9",stroke:"currentColor"})),X=r=>f.createElement("svg",{width:24,height:24,viewBox:"0 0 24 24",fill:"none",xmlns:"http://www.w3.org/2000/svg",...r},f.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M0.75 12C0.75 5.78421 5.78421 0.75 12 0.75C18.2158 0.75 23.25 5.78421 23.25 12C23.25 18.2158 18.2158 23.25 12 23.25C5.78421 23.25 0.75 18.2158 0.75 12Z",stroke:"currentColor"}),f.createElement("path",{vectorEffect:"non-scaling-stroke",d:"M11.75 5.88423V4.75H12.25V5.88423L12.0485 13.0713H11.9515L11.75 5.88423ZM11.7994 18.25V16.9868H12.2253V18.25H11.7994Z",stroke:"currentColor"})),j={success:d(B,{}),warning:d(Z,{}),error:d(X,{})},ce=()=>{const[r,o]=_({}),u=b(l=>{if(!l||!l.type){o({});return}const c=j[l.type];o({...l,icon:c})},[]);return{inLineAlertProps:r,handleSetInLineAlertProps:u}};export{te as B,ne as F,ae as T,re as c,ee as g,ce as u};
@@ -1 +1 @@
1
- import{jsx as r}from"@dropins/tools/preact-jsx-runtime.js";import{S as l}from"../chunks/SignInForm.js";import"@dropins/tools/lib.js";import"../chunks/useInLineAlert.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/components.js";import"@dropins/tools/recaptcha.js";import"@dropins/tools/i18n.js";import"@dropins/tools/preact-compat.js";import"@dropins/tools/event-bus.js";import"../chunks/getCustomerToken.js";import"../chunks/network-error.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/getStoreConfig.js";import"../chunks/initialize.js";import"../chunks/setReCaptchaToken.js";import"../chunks/resendConfirmationEmail.js";import"../chunks/simplifyTransformAttributesForm.js";import"../chunks/transform-attributes-form.js";import"../chunks/confirmEmail.js";import"../chunks/EmailConfirmationForm.js";const H=({slots:i,enableEmailConfirmation:o,initialEmailValue:t,formSize:m,renderSignUpLink:p,hideCloseBtnOnEmailConfirmation:n,routeRedirectOnEmailConfirmationClose:s,routeRedirectOnSignIn:a,routeForgotPassword:e,routeSignUp:c,onSuccessCallback:d,onErrorCallback:f,onSignUpLinkClick:g})=>r("div",{className:"auth-sign-in",children:r(l,{slots:i,formSize:m,renderSignUpLink:p,initialEmailValue:t,enableEmailConfirmation:o,hideCloseBtnOnEmailConfirmation:n,routeRedirectOnEmailConfirmationClose:s,routeSignUp:c,onErrorCallback:f,onSuccessCallback:d,onSignUpLinkClick:g,routeForgotPassword:e,routeRedirectOnSignIn:a})});export{H as SignIn,H as default};
1
+ import{jsx as r}from"@dropins/tools/preact-jsx-runtime.js";import{S as u}from"../chunks/SignInForm.js";import"@dropins/tools/lib.js";import"../chunks/useInLineAlert.js";import"@dropins/tools/preact-hooks.js";import"@dropins/tools/components.js";import"@dropins/tools/recaptcha.js";import"@dropins/tools/i18n.js";import"@dropins/tools/preact-compat.js";import"@dropins/tools/event-bus.js";import"../chunks/getCustomerToken.js";import"../chunks/network-error.js";import"@dropins/tools/fetch-graphql.js";import"../chunks/getStoreConfig.js";import"../chunks/initialize.js";import"../chunks/setReCaptchaToken.js";import"../chunks/resendConfirmationEmail.js";import"../chunks/simplifyTransformAttributesForm.js";import"../chunks/transform-attributes-form.js";import"../chunks/confirmEmail.js";import"../chunks/EmailConfirmationForm.js";const J=({slots:i,labels:o,enableEmailConfirmation:t,initialEmailValue:m,formSize:p,renderSignUpLink:n,hideCloseBtnOnEmailConfirmation:s,routeRedirectOnEmailConfirmationClose:a,routeRedirectOnSignIn:e,routeForgotPassword:c,routeSignUp:d,onSuccessCallback:f,onErrorCallback:g,onSignUpLinkClick:l})=>r("div",{className:"auth-sign-in",children:r(u,{slots:i,labels:o,formSize:p,renderSignUpLink:n,initialEmailValue:m,enableEmailConfirmation:t,hideCloseBtnOnEmailConfirmation:s,routeRedirectOnEmailConfirmationClose:a,routeSignUp:d,onErrorCallback:g,onSuccessCallback:f,onSignUpLinkClick:l,routeForgotPassword:c,routeRedirectOnSignIn:e})});export{J as SignIn,J as default};
package/package.json CHANGED
@@ -1 +1 @@
1
- {"name": "@dropins/storefront-auth", "version": "0.0.1-alpha15", "@dropins/elsie": "0.28.0-beta2"}
1
+ {"name": "@dropins/storefront-auth", "version": "0.0.1-alpha17", "@dropins/elsie": "0.28.0-beta2"}
@@ -12,6 +12,7 @@ export interface SignInProps {
12
12
  slots?: {
13
13
  SuccessNotification?: SlotProps<DefaultSlotContext>;
14
14
  };
15
+ labels?: Record<string, string>;
15
16
  formSize?: 'default' | 'small';
16
17
  renderSignUpLink?: boolean;
17
18
  initialEmailValue?: string;