1(globalThis.webpackChunkksb_website_node_app=globalThis.webpackChunkksb_website_node_app||[]).push([[3082],{13082(e,t,r){"use strict";r.r(t),r.d(t,{Login:()=>Q,LoginForm:()=>Z,LoginFormWrapper:()=>v});var s=r(65723),a=r(22155),n=r(68187),o=r(11717),i=r(97921),l=r(92244),d=r(39439),u=r(76213),c=r(38549),g=r(19385),h=r(75442),m=r(61173),f=r(31139),p=r(41655);const b=({imgProps:{alt:e,href:t,images:r,src:a},registerLink:n,text:o,title:i})=>{let l=r.map(({ratio:e})=>({ratio:e})),d=(0,s.jsx)(c.TeaserMedia,{children:(0,s.jsx)(m.TeaserLink,{href:t,children:(0,s.jsx)(f.Image,{alt:e,defaultImage:{src:a},responsiveImages:(0,f.createResponsiveImages)(r,(0,f.createResponsiveImageConfig)(l))})})}),u=o?(0,s.jsx)(p.g,{content:o}):null;return(0,s.jsx)(c.Teaser,{healine:{numRank:h.HeadlineRank.h4,text:i},imgNode:d,links:[{href:n.href,label:n.label,onClick:n.onClick,option:g.ButtonOption.secondary}],text:u})};var x=r(21874),j=r(82814);const v=({children:e})=>(0,s.jsx)(j.Row,{children:(0,s.jsx)(j.Col,{lg:{offset:e?2:3,size:e?8:6},md:{offset:2,size:8},xl:{offset:e?2:4,size:e?8:4},children:(0,s.jsx)(x.X,{children:e})})});var w,M=r(56353),k=r(5158),L=r(82867),y=r(64380),C=r(26294),_=r(85269),S=r(81907),E=r(97931),D=((w={}).EMAIL="email",w.PASSWORD="password",w),A=r(92317);let T=D.EMAIL;const P=({isDisabled:e=!1})=>{let t=(0,L.A)(),{clearErrors:r,register:a}=(0,y.xW)(),n=a(T);return(0,s.jsx)(E.Input,{...n,id:T,isDisabled:e,label:t.formatMessage(A.D.emailLabel),labelType:"gray",onChange:e=>{r(T),n.onChange(e)},requiredSignalChar:"*",type:E.InputType.email})};var R=r(90465),F=r(55991),I=r(22492);let B=D.PASSWORD;const N=({isDisabled:e=!1})=>{let t=(0,L.A)(),r=(0,l.j)(),a=(0,R.Zp)(),{passwordReset:{path:n="#"}={}}=(0,l.G)(d.lt),{clearErrors:o,formState:{errors:i},register:u,setValue:c,watch:g}=(0,y.xW)(),h=u(B),m=g(B),f=i[B];return(0,s.jsx)(F.InputPassword,{...h,button:{label:{hide:t.formatMessage(A.D.hidePasswordButtonLabel),show:t.formatMessage(A.D.showPasswordButtonLabel)}},hint:f?.message,id:B,isDisabled:e,isValid:!f?.message,label:t.formatMessage(A.D.passwordLabel),labelType:"gray",link:{href:n,label:t.formatMessage(A.D.forgotPasswordLinkLabel),onClick:e=>{e.preventDefault(),r((0,I.K6)(a,n))}},onChange:e=>{o(B),c(B,e.target.value)},requiredSignalChar:"*",value:m})};var G=r(94480),O=r(72869);const W=()=>{let{form:e,onSubmit:t}=(()=>{let e=(0,l.j)(),{country:t}=(0,l.G)(d.IW),r=window.location?.origin||"",s=(0,l.G)(d.yb),n=(0,l.G)(O.rY),o=(0,y.mN)({shouldUnregister:!0});s&&(s=r+s);let i=r=>{let{email:a,password:n}=r;e((0,G.iD)({password:n,username:a},(0,k.J)(),t,s))};return(0,a.useEffect)(()=>{n&&o.setError("root",{message:n.error,type:n.error})},[e,o,n]),{form:o,onSubmit:e=>{o.clearErrors(),o.handleSubmit(i,console.error)(e)}}})(),r=(0,L.A)(),n=(0,M.useFlag)(M.FeatureFlag.LOGIN_MAINTENANCE_ENABLED),{formState:{errors:o}}=e,i=n?"login_maintenance":o.root?.message;return(0,s.jsx)(y.Op,{...e,children:(0,s.jsxs)("form",{method:"post",noValidate:!0,onSubmit:t,children:[(0,s.jsx)(h.Headline,{numRank:3,children:r.formatMessage(A.D.header)}),(0,s.jsxs)(C.Stack,{gap:2.5,itemAlignment:C.StackItemAlignment.stretch,children:[(0,s.jsx)("span",{className:"text-sm",children:r.formatMessage(A.D.loginInfoText)}),i&&(0,s.jsx)(S.M,{clearErrors:()=>{e.clearErrors(),e.reset()},error:i,hasCloseButton:!n}),(0,s.jsx)(P,{isDisabled:n}),(0,s.jsx)(N,{isDisabled:n}),(0,s.jsx)(g.Button,{isDisabled:n,option:g.ButtonOption.primary,type:"submit",...(0,_.renderTestAttributes)({fallback:{elementName:"Login"}}),children:r.formatMessage(A.D.loginButtonLabel)})]})]})})};var H=r(59754),$=r.n(H),U=r(79400);const V="_csrf",K="password",z="username",q=()=>{let e=(0,L.A)(),t=(0,M.useFlag)(M.FeatureFlag.LOGIN_MAINTENANCE_ENABLED),{search:r}=(0,R.zy)(),n=(0,y.mN)({shouldUnregister:!0}),o=(0,a.useRef)(null),i=(0,a.useRef)(null),l=(0,a.useRef)(null),d=(0,a.useRef)(!1),[u,c]=(0,a.useState)(!1),m=$().resolve("authorizationServerApi").getLoginSubmitUrl(),f=$().resolve("authCodeFlowStorage").read()?.csrfToken??"",p=new URLSearchParams(r).has(U.q),b=t?"login_maintenance":p&&"invalid_grant_bad_credentials";return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(y.Op,{...n,children:(0,s.jsxs)("form",{"aria-label":"Login form",noValidate:!0,onSubmit:n.handleSubmit(e=>
1{!d.current&&o.current&&i.current&&l.current&&(d.current=!0,c(!0),i.current.value=e.email,l.current.value=e.password,o.current.submit())}),children:[(0,s.jsx)(h.Headline,{numRank:3,children:e.formatMessage(A.D.header)}),(0,s.jsxs)(C.Stack,{gap:2.5,itemAlignment:C.StackItemAlignment.stretch,children:[(0,s.jsx)("span",{className:"text-sm",children:e.formatMessage(A.D.loginInfoText)}),b&&(0,s.jsx)(S.M,{error:b,hasCloseButton:!1}),(0,s.jsx)(P,{isDisabled:t}),(0,s.jsx)(N,{isDisabled:t}),(0,s.jsx)(g.Button,{isDisabled:t,isLoading:u,option:g.ButtonOption.primary,type:"submit",...(0,_.renderTestAttributes)({fallback:{elementName:"Login"}}),children:e.formatMessage(A.D.loginButtonLabel)})]})]})}),(0,s.jsxs)("form",{ref:o,action:m,hidden:!0,method:"post",children:[(0,s.jsx)("input",{ref:i,name:z,type:"hidden"}),(0,s.jsx)("input",{ref:l,name:K,type:"hidden"}),(0,s.jsx)("input",{defaultValue:f,name:V,type:"hidden"})]})]})},Z=()=>(0,M.useFlag)(M.FeatureFlag.ENABLE_AUTH_CODE_FLOW)&&!(0,k.J)()?(0,s.jsx)(q,{}):(0,s.jsx)(W,{});var J=r(19790),Y=r(95665),X=r(80540);const Q=()=>{let{getTeaserProps:e}=(0,u.L)(),{registrationTeaser:t}=(0,l.G)(d.lu),r=(0,a.useMemo)(()=>e(t),[e,t]);return(0,s.jsx)(v,{children:(0,s.jsx)(X.X,{children:(0,s.jsxs)(n.G,{columns:2,gap:3,children:[(0,i.isSystemTypePreview)()&&(0,s.jsx)(o.r,{colSpan:2,colStart:1,children:(0,s.jsx)(J.w,{})}),(0,s.jsx)(o.r,{children:(0,s.jsx)(Y.A,{children:(0,s.jsx)(Z,{})})}),(0,s.jsx)(o.r,{children:(0,s.jsx)(b,{...r})})]})})})}},13581(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"default",{enumerable:!0,get:function(){return a.default}});var s,a=(s=r(30643))&&s.__esModule?s:{default:s}},19790(e,t,r){"use strict";r.d(t,{w:()=>o});var s=r(65723),a=(r(22155),r(58361)),n=r(61371);function o(){return(0,s.jsxs)(n.R,{children:[(0,s.jsx)(a.Headline,{numRank:4,children:"Deprecation Warning"}),(0,s.jsxs)("ul",{style:{marginBottom:"1rem",paddingLeft:"1rem"},children:[(0,s.jsxs)("li",{children:[(0,s.jsx)("code",{children:"component-loginForm"})," is deprecated."]}),(0,s.jsxs)("li",{children:[(0,s.jsx)("code",{children:"login"})," Settings are deprecated"]})]}),(0,s.jsxs)("p",{children:['Please use the new layout "Boxed Page Layout" for the Page in combination wit the'," ",(0,s.jsx)("code",{children:"component-singleLoginForm"}),". All content can now placed in the Page Layout."]})]})}},21874(e,t,r){Object.defineProperty(t,"X",{enumerable:!0,get:function(){return a.default}});var s,a=(s=r(13581))&&s.__esModule?s:{default:s}},30643(e,t,r){Object.defineProperty(t,"__esModule",{value:!0}),t.default=void 0;var s,a=(s=r(22155))&&s.__esModule?s:{default:s},n=r(42272);r(93057),t.default=({children:e})=>a.default.createElement(n.Card,{className:"login__card"},e)},76213(e,t,r){"use strict";r.d(t,{L:()=>j,f:()=>v});var s=r(82867),a=r(22155),n=r(31139),o=r(22492),i=r(92244),l=r(72869),d=r(39439),u=r(53109),c=r(94480),g=r(59515),h=r(89369),m=r(30713),f=r(5158),p=r(92317),b=r(84885),x=r(84559);const j=()=>{let e=(0,s.A)(),t=(0,i.j)(),{navigate:r}=(0,u.rd)(),{registration:{path:a=""}={}}=(0,i.G)(d.lt);return{getTeaserProps:s=>{let{pictures:i,teaserText:l}=s,{alt:d,responsive:u=[],source:c}=i[0]||{alt:"",responsive:[],source:""};return{imgProps:{alt:d,href:a,images:u.flatMap(({ratioHeight:e,ratioWidth:t,sourceForWidth:r})=>Object.entries(r).map(([r,s])=>({ratio:n.AspectRatio[`Ratio_${t}_${e}`],src:s,width:parseInt(r,10)}))),src:c},registerLink:{href:a,label:e.formatMessage(p.D.teaserLinkLabel),onClick:e=>{e.preventDefault(),t((0,o.K6)(r,a))}},text:l,title:e.formatMessage(p.D.teaserTitle)}}}};function v(){let e=(0,i.j)(),{navigate:t,pathname:r,searchParams:s}=(0,u.rd)(),n=(0,i.G)(d.Yf),p=(0,i.G)(l.n0),j=(0,u.ZC)(p),{hasPermission:v}=(0,g.gp)(),{salesAndServicePartnerPortalDashboard:{path:w=""}={}}=(0,i.G)(d.lt),M=(0,m.y)("myKSBDashboard")?.path,k=(0,a.useRef)((0,x.p)(s.get("redirect"))),L=(0,a.useRef)((0,x.p)(s.get("redirectWithPageReload"))),y=(0,a.useCallback)(e=>e===n&&M?M:e===n&&v(h.e.SALES_AND_SERVICE_PARTNER_SUITE)&&w?w:e,[v,M,w,n]),C=(0,a.useCallback)(r=>{e((0,o.K6)(t,y(r),void 0,void 0,{shouldReplaceCurrentPath:!0}))},[e,y,t]),_=(0,a.useCallback)(()=>
1{if((0,b.$)()&&!(0,f.J)())return;let e=r?r.split("?")[0]:null;p&&(k.current&&k.current!==e?C(k.current):L.current&&L.current!==e?window.location.href=L.current:C(n))},[p,r,n,C]);(0,a.useEffect)(()=>(p&&p!==j&&_(),()=>{e((0,c.sJ)(!1))}),[p,_,j,e])}},79400(e,t,r){"use strict";r.d(t,{i:()=>m,q:()=>g});var s=r(22155),a=r(90465),n=r(14773),o=r(59754),i=r.n(o),l=r(92244),d=r(39439),u=r(22492),c=r(14046);const g="error";let h=n.Logger.child({module:"authCodeLoginPage"});const m=()=>{let e=(0,a.Zp)(),t=(0,l.j)(),r=(0,l.G)(d.Yf),{pathname:n,search:o}=(0,a.zy)(),[g,m]=(0,s.useState)({status:"loading"}),f=(0,s.useRef)(void 0),p=(0,s.useRef)(!1),b=`${n}${o}`;(0,s.useEffect)(()=>{let e=!1;return(async()=>{let t=i().resolve("authCodeFlowStorage"),r=t.read();if(f.current=r?.state,null===r){if(p.current)return;return p.current=!0,h.info({event:"authCodeLoginNoRecord"},"Login page has no flow record, starting flow"),void await(0,c.Z)({path:b}).catch(e=>h.error({err:e,event:"authCodeLoginStartFailed"},"Failed to start flow from login page"))}try{let s=await i().resolve("authorizationServerApi").getCsrfToken();if(e)return;t.write({...r,csrfToken:s}),h.info({event:"authCodeLoginCsrfRetrieved",state:r.state},"CSRF retrieved for login page"),m({status:"ready"})}catch(t){if(e)return;let s="object"==typeof t&&null!==t?t.status:void 0;if(void 0!==s&&s>=400&&s<500)return h.warn({event:"authCodeLoginSessionLoss",httpStatus:s,state:r.state},"CSRF rejected, session lost"),void m({status:"session_loss"});h.error({err:t,event:"authCodeLoginCsrfFailed",httpStatus:s,state:r.state},"CSRF retrieval failed"),m({status:"network_error"})}})(),()=>{e=!0}},[b]);let x=(0,s.useCallback)(()=>{h.info({event:"authCodeLoginRetry",state:f.current},"Login retry requested"),(0,c.Z)({path:b}).catch(e=>h.error({err:e,event:"authCodeLoginRetryFailed"},"Failed to restart flow"))},[b]);return[g,{goHome:(0,s.useCallback)(()=>{t((0,u.K6)(e,r))},[t,e,r]),retry:x}]}},80540(e,t,r){"use strict";r.d(t,{X:()=>v});var s=r(65723),a=r(22155),n=r(82867),o=r(56353),i=r(92244),l=r(72869),d=r(5158),u=r(92317),c=r(84885),g=r(76213),h=r(79400);var m=r(44249),f=r(19385),p=r(26294);const b=({onGoHome:e,onRetry:t,variant:r})=>{let a=(0,n.A)(),o="session_loss"===r?u.D.authCodeSessionLoss:u.D.authCodeNetworkError;return(0,s.jsxs)(p.Stack,{gap:2.5,itemAlignment:p.StackItemAlignment.stretch,children:[(0,s.jsx)(m.Notification,{hasCloseButton:!1,message:a.formatMessage(o),type:"error"}),(0,s.jsx)(f.Button,{onClick:t,option:f.ButtonOption.primary,type:"button",children:a.formatMessage(u.D.authCodeTryAgain)}),(0,s.jsx)(f.Button,{onClick:e,option:f.ButtonOption.secondary,type:"button",children:a.formatMessage(u.D.authCodeGoHome)})]})};var x=r(98997);const j=({children:e})=>{(0,a.useEffect)(()=>{let e=e=>{e.persisted&&window.location.reload()};return window.addEventListener("pageshow",e),()=>window.removeEventListener("pageshow",e)},[]);let[t,{goHome:r,retry:n}]=(0,h.i)();return"ready"===t.status?(0,s.jsx)(s.Fragment,{children:e}):"session_loss"===t.status||"network_error"===t.status?(0,s.jsx)(b,{onGoHome:r,onRetry:n,variant:t.status}):(0,s.jsx)(x.j,{})},v=({children:e})=>{(0,g.f)();let t=(0,n.A)(),r=(0,o.useFlag)(o.FeatureFlag.ENABLE_AUTH_CODE_FLOW),a=(0,i.G)(l.q1),h=(0,i.G)(l.n0);return r&&!(0,d.J)()?!1===a||!0===h&&!(0,c.$)()?(0,s.jsx)(x.j,{}):(0,s.jsx)(j,{children:e}):!1===a||!0===h?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h3",{className:"font-headline-default-md mb-3",children:t.formatMessage(u.D.header)}),(0,s.jsx)("p",{children:t.formatMessage(u.D.loginVerificationText)})]}):(0,s.jsx)(s.Fragment,{children:e})}},81907(e,t,r){"use strict";r.d(t,{M:()=>u});var s=r(65723),a=(r(22155),r(82867)),n=r(47160),o=r(44249),i=r(92244),l=r(39439);const d=(0,r(33774).YK)({accountExpiredErrorMessage:{defaultMessage:"<div>The process cannot be completed at the moment because your account has either been disabled or has expired due to inactivity.</div>Please contact us at: {email}.",id:"login.account.expired.error.message"},badCredentialsErrorMessage:{defaultMessage:"Your e-mail address or password is incorrect.",id:"login.bad.credentials.error.message"},closeErrorMessageButtonText:{defaultMessage:"Close error message",id:"login.close.error.message"},emailLabel:{defaultMessage:"Email address",id:"login.email.label"},emailPlaceholder:{defaultMessage:"email",id:"login.email.placeholder"},emailTitle:{defaultMessage:"email",id:"login.email.title"},forgotPasswordLinkLabel:{defaultMessage:"Forgot password?",id:"login.forgotPassword.link.label"}
1,header:{defaultMessage:"Login",id:"login.header"},hidePasswordButtonLabel:{defaultMessage:"Hide password",id:"login.hidePassword.button.label"},loginButtonLabel:{defaultMessage:"Log in",id:"login.submit.button.label"},loginInfoText:{defaultMessage:"Please log in to get full access to MyKSB.",id:"login.info.text"},loginMaintenanceMessage:{defaultMessage:"Due to maintenance, login is currently not possible.",id:"login.maintenance.error.message"},loginVerificationText:{defaultMessage:"The content will be loaded after your login verification.",id:"login.verification.text"},passwordLabel:{defaultMessage:"password",id:"login.password.label"},passwordPlaceholder:{defaultMessage:"[email protected]",id:"login.password.placeholder"},passwordTitle:{defaultMessage:"password",id:"login.password.title"},privateCustomerInfoLinkLabel:{defaultMessage:"Find your partner",id:"login.privateCustomerInfo.link.label"},privateCustomerInfoText:{defaultMessage:"If you are a private customer, follow the link to find a partner responsible for you, who will help you to order the right product.",id:"login.privateCustomerInfo.text"},showPasswordButtonLabel:{defaultMessage:"Show password",id:"login.showPassword.button.label"},teaserLinkLabel:{defaultMessage:"Register now",id:"login.teaser.link.label"},teaserTitle:{defaultMessage:"Benefit from a registration",id:"login.teaser.title"},unknownErrorMessage:{defaultMessage:"Something went wrong, please try again.",id:"login.unknown.error.message"},userDisabledErrorMessage:{defaultMessage:"<div><strong>The password has been entered incorrectly too many times.</strong></div>Please contact us at: {email}.",id:"login.user.disabled.error.message"},userLockedErrorMessage:{defaultMessage:"<div><strong>The process cannot be completed at the moment because the email has not been confirmed yet.</strong></div>Please check your emails. If you have any problems, please contact us at: {email}.",id:"login.user.locked.error.message"}}),u=({clearErrors:e,error:t,hasCloseButton:r=!0})=>{let u,c=(0,a.A)(),{contactUs:{email:g=""}={}}=(0,i.G)(l.pV);switch(t){case"invalid_grant_bad_credentials":u=c.formatMessage(d.badCredentialsErrorMessage);break;case"invalid_grant_account_locked":u=(0,s.jsx)(n.A,{...d.userLockedErrorMessage,values:{div:e=>(0,s.jsx)("div",{children:e}),email:(0,s.jsx)("a",{href:`mailto: ${g}`,children:g}),strong:e=>(0,s.jsx)("strong",{children:e})}});break;case"invalid_grant_account_expired":u=(0,s.jsx)(n.A,{...d.accountExpiredErrorMessage,values:{div:e=>(0,s.jsx)("div",{children:e}),email:(0,s.jsx)("a",{href:`mailto: ${g}`,children:g})}});break;case"login_maintenance":u=c.formatMessage(d.loginMaintenanceMessage);break;case"invalid_grant_user_disabled":u=(0,s.jsx)(n.A,{...d.userDisabledErrorMessage,values:{div:e=>(0,s.jsx)("div",{children:e}),email:(0,s.jsx)("a",{href:`mailto: ${g}`,children:g}),strong:e=>(0,s.jsx)("strong",{children:e})}});break;default:u=c.formatMessage(d.unknownErrorMessage)}return r?(0,s.jsx)(o.Notification,{closeButtonText:c.formatMessage(d.closeErrorMessageButtonText),isInline:!0,message:u,onClickCloseButton:e,type:"error"}):(0,s.jsx)(o.Notification,{hasCloseButton:!1,isInline:!0,message:u,type:"error"})}},84559(e,t,r){"use strict";r.d(t,{p:()=>s});const s=e=>{if("string"!=typeof e||0===e.length||!e.startsWith("/")||e.startsWith("//")||e.startsWith("/\\")||e.includes("\r")||e.includes("\n")||e.includes("\0"))return null;if("u"<typeof window)return e;try{return new URL(e,window.location.origin).origin!==window.location.origin?null:e}catch{return null}}},84885(e,t,r){"use strict";r.d(t,{$:()=>n});var s=r(59754),a=r.n(s);const n=()=>null!==a().resolve("authCodeFlowStorage").read()},93057(e,t,r){"use strict";r.r(t)},95665(e,t,r){"use strict";r.d(t,{A:()=>g});var s=r(65723),a=r(58361),n=(r(22155),r(26294)),o=r(82867),i=r(90465),l=r(22492),d=r(39439),u=r(92244),c=r(92317);const g=({children:e})=>{let t=(()=>{let e=(0,o.A)(),t=(0,u.j)(),r=(0,i.Zp)(),{privateCustomerInfo:{link:{path:s="/"}={}}={}}=(0,u.G)(d.lu);return{href:s,label:e.formatMessage(c.D.privateCustomerInfoLinkLabel),onClick:e=>{e.preventDefault(),t((0,l.K6)(r,s))},text:e.formatMessage(c.D.privateCustomerInfoText)}})();return(0,s.jsxs)(a.Stack,{gap:4,children:[e,t&&(0,s.jsxs)(a.Stack,{gap:1,itemAlignment:n.StackItemAlignment.flexStart,children:[(0,s.jsx)("span",{className:"text-sm",children:t.text}),(0,s.jsx)(a.Link,{href:t.href,onClick:t.onClick,children:t.label})]})]})}}}]);
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.