1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2755],{12755:(e,t,s)=>{s.r(t),s.d(t,{LoginModal:()=>B});var r=s(6029),n=s(35365),a=s(82281),o=s.n(a),i=s(81278),u=s(55729),c=s(12482),l=s(34731),d=s(53092),h=s(5555),m=s(95882),p=s(93251),g=s(16932),y=s(66310),f=s(46887),w=s(14649);async function v(e){let{baseUrl:t,email:s}=e;return n.SP.post("/api/com/client/reset-password/",{email:s},{headers:{"Content-Type":"application/json"},baseURL:t}).then(e=>e.data)}async function b(e){let{apiUrl:t,clientNo:s,password:r,token:a}=e;return n.SP.post("/api/com/client/reset-password/".concat(s,"/"),{newPassword:r,newPasswordConfirmation:r},{headers:{"Content-Type":"application/json",Authorization:"Token ".concat(a)},baseURL:t}).then(e=>({status:"OK",message:e.data.Message})).catch(e=>{var t;return{status:"ERROR",message:(null==(t=e.response)?void 0:t.data.detail)||"Password could not be changed."}})}async function k(e){let{baseUrl:t,email:s,password:r,useExtendedToken:a}=e,o={"Content-Type":"application/json"};return a&&(o["x-bonhams-device"]="mobile"),n.SP.post("/api/com/login/",{username:s,password:r,agree_terms_and_conditions:!0},{headers:o,baseURL:t}).then(e=>e.data)}async function E(e){let{baseUrl:t,firstName:s,lastName:r,businessName:a,email:o,password:i,marketing:u,acceptPrivacy:c,useExtendedToken:l=!1}=e,d={email_address:o,given_name:s,family_name:r,opt_in_marketing:!u,password:i,pwdConfirm:i,agree_terms_and_conditions:c};a&&(d.companyName=a);let h={"Content-Type":"application/json"};return l&&(h["x-bonhams-device"]="mobile"),n.SP.post("/api/com/register/",d,{headers:h,baseURL:t,timeout:15e3}).then(e=>e.data)}var R=s(85649),A=s(41208);async function O(e){let{baseUrl:t,customerId:s,interests:r}=e,n=(0,R.B)({accessTokenSSR:f.A.get(A.lB.access),refreshTokenSSR:f.A.get(A.lB.refresh),baseURL:t});return await n.post("/api/com/client-interests/".concat(s,"/"),{client_id:s,liked_dept:r},{headers:{"Content-Type":"application/json"}})}var S=s(7612),C=s(5390);let M=JSON.parse('{"sl_translate":"sl_all","userAuth.somethingWrong":"Something went wrong, please try again.","userAuth.passwordResetFailed":"We cannot reset your password right now, please try again later.","userAuth.accountLocked":"Your account has been locked due to too many incorrect passwords entered. Please use the \'Forgot your password\' option below to set a new password.","userAuth.wrongEmailPassword":"Please enter a correct email address and password. Note that the password field is case-sensitive.","userAuth.loginFailed":"Login failed please try again later.","userAuth.createAccountGenericBusiness":"Business registration failed please try again later.","userAuth.createAccountGenericUser":"Registration failed please try again later."}'),{text:_}=(0,S.r)(M);class P extends Error{constructor(e){super(""),this.messages=[],this.messages=[e].flat(),this.name="CreateAccountError"}}var U=s(64196),I=s(31752),j=s(74636);let L=(0,s(19357).Ay)(j.nB).withConfig({componentId:"sc-1be0f4d2-0"})(["border:0;padding:0;background:none;cursor:pointer;color:",";text-decoration:underline;&:hover,&:focus{color:",";}"],e=>{let{theme:t}=e;return t.colours.primary.primary},e=>{let{theme:t}=e;return t.colours.secondary.primary}),x=JSON.parse('{"sl_translate":"sl_all","form.logIn.skinner.error":"If you are logging in with a SkinnerInc.com account, please {resetPasswordCta} to continue.","form.logIn.skinner.error.cta":"reset your password"}'),{publicRuntimeConfig:T}=o()(),{text:F,textHTML:K}=(0,S.r)(x),N=["/forgot-password","/complete-password-reset","/login","/register"];function B(e){let{brand:t,user:s,defaultScreen:a,redirectUrl:o,setIsOpen:R,hideCloseButton:A,useExtendedToken:S=!1}=e,M=(0,i.useRouter)(),j=(e=>{let[t,s]=(0,u.useState)(!1),{data:r,isFetching:n,isError:a}=(0,c.I)({queryKey:["interests"],queryFn:async()=>{let t=await (0,l.a)(e,{});if(null===t)throw Error("Error getting departments");return t},enabled:t}),o=(e,t)=>e.departmentName>t.departmentName?1:-1;return{data:[...r?r.filter(e=>{var t;return!!(null==(t=e.childDepartments)?void 0:t.length)}
1).sort(o):[],...r?r.filter(e=>{var t;return!(null==(t=e.childDepartments)?void 0:t.length)}).sort(o):[]].map(e=>{let{department:t,departmentName:s,interestImage:r}=e;return{id:t,name:s,imageUrl:(null==r?void 0:r.url)?(0,d.Mr)(r.url,r.URLParams,{width:180}):""}}),isError:a,isFetching:n,enableFetch:()=>s(!0)}})(T.WEB_API_URL),{resetPassword:x,completePasswordReset:B,login:G,createAccount:Q,selectInterests:q}=function(e){var t,s,r,n;let{apiUrl:a,useExtendedToken:o=!1}=e,i=(0,p.jE)(),{data:u}=(0,w.b)(a),c=null==u?void 0:u.customerId,l=(0,g.n)({mutationFn:async e=>{let{email:t}=e;return v({baseUrl:a,email:t}).catch(e=>{if((0,y.F0)(e)){let{response:t}=e;if(t){let{data:e,status:s}=t;if(400===s)throw Error(e.Message)}}throw Error(_("userAuth.passwordResetFailed"))})}}),d=(0,g.n)({mutationFn:async e=>b({...e,apiUrl:a}).then(e=>{if("OK"!==e.status)throw Error(e.message);return e})}),h=(0,g.n)({mutationFn:async e=>{let{email:t,password:s}=e;return k({baseUrl:a,email:t,password:s,useExtendedToken:o}).catch(e=>{let{response:t}=e;if((null==t?void 0:t.status)===403&&(null==t?void 0:t.data.detail)==="User is locked")throw Error(_("userAuth.accountLocked"));if((null==t?void 0:t.status)===401)throw Error(_("userAuth.wrongEmailPassword"));throw Error(_("userAuth.loginFailed"))})},onSuccess:async e=>{(0,C.w9)({accessToken:e.token.access,refreshToken:e.token.refresh}),f.A.remove("rec_auctions"),f.A.remove("rec_lots"),await i.invalidateQueries({queryKey:["user"]})},onError:()=>{(0,C.yZ)(),i.invalidateQueries({queryKey:["user"]})}}),m=(0,g.n)({mutationFn:async e=>{let{firstName:t,lastName:s,businessName:r,email:n,password:i,marketing:u,acceptPrivacy:c}=e;return E({baseUrl:a,firstName:t,lastName:s,businessName:r,email:n,password:i,marketing:u,acceptPrivacy:c,useExtendedToken:o}).catch(e=>{let{response:t}=e;if(void 0!==t){let{status:e,data:s}=t;if(400===e){if(null==s?void 0:s.Message)throw new P(s.Message);throw new P(Object.values(s).flatMap(e=>e))}}throw new P(r?_("userAuth.createAccountGenericBusiness"):_("userAuth.createAccountGenericUser"))})},onSuccess:async e=>{(0,C.w9)({accessToken:e.token.access,refreshToken:e.token.refresh}),await i.invalidateQueries({queryKey:["user"]})},onError:()=>{(0,C.yZ)(),i.invalidateQueries({queryKey:["user"]})}}),R=(0,g.n)({mutationFn:async e=>{let{interests:t}=e;return O({baseUrl:a,customerId:c,interests:t})}});return{resetPassword:{status:l.status,error:null==(t=l.error)?void 0:t.message,submit:l.mutate,reset:l.reset},completePasswordReset:{status:d.status,error:null==(s=d.error)?void 0:s.message,submit:d.mutate,reset:d.reset},login:{status:h.status,error:null==(r=h.error)?void 0:r.message,submit:h.mutate,reset:h.reset},createAccount:{status:m.status,error:null==(n=m.error)?void 0:n.messages,submit:m.mutate,reset:m.reset},selectInterests:{status:R.status,submit:R.mutate,reset:R.reset}}}({apiUrl:T.WEB_API_URL,useExtendedToken:S}),W=(0,U.v)();(0,u.useEffect)(()=>{"success"===G.status&&(W.push({event:I.bk.userLogin,userId:null==s?void 0:s.customerId}),W.push({user_persona:I.an.LoggedIn}))},[G.status,W,s]);let z=N.includes(M.pathname)?{shouldCloseOnEsc:!1,shouldCloseOnOverlayClick:!1,hasLoginCancelButton:!1,closeCallback:()=>{M.push("/")}}:{};return(0,r.jsx)(m.z,{login:G,resetPassword:x,createAccount:Q,completePasswordReset:B,selectInterests:q,interests:j,extraErrorMessages:e=>{let{onClick:s}=e;return t===n.mz.skinner?(0,r.jsx)(h.jQ,{$level:"S","aria-live":"assertive",children:K("form.logIn.skinner.error",{resetPasswordCta:(0,r.jsx)(L,{$level:"S",type:"button",as:"button",onClick:s,children:F("form.logIn.skinner.error.cta")},"skinner-cta-link")})}):null},maintenanceMode:T.MAINTENANCE_MODE,defaultScreen:a,setIsOpen:R,redirectUrl:o,hideCloseButton:A,...z})}},16932:(e,t,s)=>{s.d(t,{n:()=>l});var r=s(55729),n=s(13448),a=s(95913),o=s(24090),i=s(4308),u=class extends o.Q{#e;#t=void 0;#s;#r;constructor(e,t){super(),this.#e=e,this.setOptions(t),this.bindMethods(),this.#n()}bindMethods(){this.mutate=this.mutate.bind(this),this.reset=this.reset.bind(this)}setOptions(e){let t=this.options;this.options=this.#e.defaultMutationOptions(e),(0,i.f8)(this.options,t)||this.#e.getMutationCache().notify({type:"observerOptionsUpdated",mutation:this.#s,observer:this}),t?.mutationKey&&this.options.mutationKey&&(0,i.EN)(t.mutationKey)!==(0,i.EN)(this.options.mutationKey)?this.reset():this.#s?.state.status==="pending"&&this.#s.setOptions(this.options)}onUnsubscribe(){this.hasListeners()||this.#s?.removeObserver(this)}onMutationUpdate(e){this.#n(),this.#a(e)}getCurrentResult(){return this.#t}reset(){this.#s?.removeObserver(this),this.#s=void 0,this.#n(),this.#a()}mutate(e,t){return this.#r=t,this.#s?.removeObserver(this),this.#s=this.#e.getMutationCache().build(this.#e,this.options),this.#s.addObserver(this),this.#s.execute(e)}#n(){let e=this.#s?.state??(0,n.$)();this.#t={...e,isPending:"pending"===e.status,isSuccess:"success"===e.status,isError:"error"===e.status,isIdle:"idle"===e.status,mutate:this.mutate,reset:this.reset}}#a(e){a.jG.batch(()=>
1{if(this.#r&&this.hasListeners()){let t=this.#t.variables,s=this.#t.context,r={client:this.#e,meta:this.options.meta,mutationKey:this.options.mutationKey};if(e?.type==="success"){try{this.#r.onSuccess?.(e.data,t,s,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(e.data,null,t,s,r)}catch(e){Promise.reject(e)}}else if(e?.type==="error"){try{this.#r.onError?.(e.error,t,s,r)}catch(e){Promise.reject(e)}try{this.#r.onSettled?.(void 0,e.error,t,s,r)}catch(e){Promise.reject(e)}}}this.listeners.forEach(e=>{e(this.#t)})})}},c=s(93251);function l(e,t){let s=(0,c.jE)(t),[n]=r.useState(()=>new u(s,e));r.useEffect(()=>{n.setOptions(e)},[n,e]);let o=r.useSyncExternalStore(r.useCallback(e=>n.subscribe(a.jG.batchCalls(e)),[n]),()=>n.getCurrentResult(),()=>n.getCurrentResult()),l=r.useCallback((e,t)=>{n.mutate(e,t).catch(i.lQ)},[n]);if(o.error&&(0,i.GU)(n.options.throwOnError,[o.error]))throw o.error;return{...o,mutate:l,mutateAsync:o.mutate}}},34731:(e,t,s)=>{s.d(t,{a:()=>n});var r=s(35365);async function n(e,t){let s=new URL("/api/departments/v1/",e);t&&(s.search=new URLSearchParams(Object.entries(t).filter(e=>{let[,t]=e;return void 0!==t}).map(e=>{let[t,s]=e;return[t,s.toString()]})).toString());try{return(await r.SP.get(s.toString(),{baseURL:e})).data}catch(e){return null}}}}]);
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.