1"use strict";(self.webpackChunkone_web=self.webpackChunkone_web||[]).push([[8457],{40540:(e,t,r)=>{r.d(t,{$A:()=>l,Ay:()=>h,mO:()=>c});var s=r(71413),a=r(52706),o=Object.defineProperty,i=Object.getOwnPropertyDescriptor,n=(e,t,r,s)=>{for(var a,n=s>1?void 0:s?i(t,r):t,l=e.length-1;l>=0;l--)(a=e[l])&&(n=(s?a(t,r,n):a(n))||n);return s&&n&&o(t,r,n),n};const l={value:"",isError:!1,isLoading:!1,errorMessage:""},c={value:!1,isError:!1,isLoading:!1,errorMessage:""};function d(e,t){return!e.length||typeof e[0]===t}let h=class extends s.WF{constructor(){super(...arguments),this.formData={}}updateFormValue(e,t){if(!this.formData[e]||typeof this.formData[e].value!=typeof t)return;const r={...this.formData};if(Array.isArray(t)){const s=this.formData[e].value;if(!Array.isArray(s))return;(d(s,"string")&&d(t,"string")||d(s,"boolean")&&d(t,"boolean")||d(s,"number")&&d(t,"number"))&&(r[e].value=t)}"string"==typeof t&&(r[e].value=t),"boolean"==typeof t&&(r[e].value=t),"number"==typeof t&&(r[e].value=t),this.formData=r}async validateFormField(e){this.formData[e].value;const t=this.formData[e];if(!t)return!1;if(!t.validateField)return!0;let r={...t};return r.isLoading=!0,this.formData={...this.formData,[e]:r},r={...r,...await t.validateField(t.value,this.formData),isLoading:!1},this.formData={...this.formData,[e]:r},!r.isError}async validateAllAndCheck(){const e=[],t=[];Object.keys(this.formData).forEach((r=>{!this.formData[r].value||this.formData[r].isError?e.push(this.validateFormField(r)):t.push(!this.formData[r].isError)}));const r=await Promise.all(e),s=Object.values(this.formData).find((e=>e.isError));return null!=s&&setTimeout((()=>s.ref?.value?.dispatchEvent(new Event("focus"))),100),r.concat(t).every((e=>e))}handleToggleChange(e){const{name:t,checked:r}=e.currentTarget;this.updateFormValue(t,r),this.validateFormField(t)}handleTextInput(e){const{name:t,value:r}=e.detail;this.updateFormValue(t,r)}handleTextBlur(e){const{name:t}=e.detail;this.validateFormField(t)}handleCheckboxChange(e){const{value:t,checked:r}=e.currentTarget;this.updateFormValue(t,r),this.validateFormField(t)}handleSelectChange(e){const{name:t,value:r}=e.detail;this.updateFormValue(t,r),this.validateFormField(t)}handleArrayChange(e){const{name:t,value:r}=e.detail;this.updateFormValue(t,r),this.validateFormField(t)}handleOptionButtonChange(e){const{name:t,selected:r}=e.currentTarget;this.updateFormValue(t,r),this.validateFormField(t)}};n([(0,a.MZ)({type:Object})],h.prototype,"formData",2),h=n([(0,a.EM)("form-base")],h)},31224:(e,t,r)=>{var s=r(71413),a=r(52706),o=r(38155),i=Object.defineProperty,n=Object.getOwnPropertyDescriptor,l=(e,t,r,s)=>{for(var a,o=s>1?void 0:s?n(t,r):t,l=e.length-1;l>=0;l--)(a=e[l])&&(o=(s?a(t,r,o):a(o))||o);return s&&o&&i(t,r,o),o};let c=class extends s.WF{constructor(){super(...arguments),this.checked=!1,this.value="",this.inputRef=(0,o._)()}static get styles(){return[s.AH` 2 :host { 3 display: flex; 4 align-items: center; 5 position: relative; 6 cursor: pointer; 7 margin-bottom: 0.75rem; 8 transition: box-shadow 0.1s ease-in-out, color 0.1s ease-in-out; 9 10 --checkbox-color-active: rgb(var(--peter-river)); 11 } 12 13 :host(:hover) { 14 color: rgba(var(--belize-hole)); 15 } 16 17 :host(:focus) { 18 outline: 0; 19 box-shadow: 0 0 0 0.25rem rgba(var(--peter-river), 0.4); 20 } 21 22 input[type='checkbox'] { 23 visibility: hidden; 24 width: 1px; 25 margin: -1px; 26 padding: 0; 27 clip: rect(0, 0, 0, 0); 28 } 29 30 label { 31 flex: 1; 32 display: flex; 33 align-items: center; 34 padding: 0.25rem 0; 35 } 36 37 input[type='checkbox'] + label:before { 38 border: var(--border-width) solid rgb(var(--dell-gray)); 39 border-radius: 0.25rem; 40 content: '\\00a0'; 41 display: block; 42 font-weight: bold; 43 height: var(--smaller); 44 min-width: var(--smaller); 45 margin: 0 0.5rem 0 0; 46 padding: 0; 47 line-height: 1rem; 48 transition: all 0.1s ease-in-out; 49 } 50 51 input[type='checkbox'] + label:hover::before { 52 background-color: rgba(var(--peter-river), 0.25); 53 } 54 55 input[type='checkbox']:checked + label:before { 56 background: var(--checkbox-color-active); 57 color: white; 58 content: '\\2713'; 59 text-align: center; 60 } 61 `]}render(){return this.setAttribute("aria-checked",String(this.checked)),s.qy` 62 <input 63 ${(0,o.K)(this.inputRef)} 64 id="${this.id}" 65 type="checkbox" 66 .checked=${this.checked} 67 readonly 68 /> 69 <label id="${this.value}" for="${this.id}" @click=${this.preventDefault}> 70 <slot></slot> 71 </label> 72 `}connectedCallback(){this.addEventListener("click",this.handleClick),this.addEventListener("focus",this.focusSelf),this.addEventListener("keyup",this.handleKeyup),this.hasAttribute("tabindex")||this.setAttribute("tabindex","0"),this.hasAttribute("role")||this.setAttribute("role","checkbox"),this.hasAttribute("aria-labelledby")||this.setAttribute("aria-labelledby",this.value),super.connectedCallback()}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("click",this.handleClick),this.removeEventListener("focus",this.focusSelf),this.removeEventListener("keyup",this.handleKeyup)}focusSelf(){this.focus()}handleKeyup(e){"option"===this.getAttribute("role")||e.defaultPrevented||"Enter"!==e.code&&"Space"!==e.code||(this.checked=!this.checked,this.setAttribute("aria-checked",String(this.checked)),this.dispatchEvent(new Event("change")))}preventDefault(e){"A"!==e.target.tagName&&e.preventDefault()}handleClick(e){"A"!==e.target.tagName&&(this.checked=!this.checked,this.setAttribute("aria-checked",String(this.checked)),this.dispatchEvent(new Event("change")))}};l([(0,a.MZ)({type:Boolean,reflect:!0})],c.prototype,"checked",2),l([(0,a.MZ)({type:String,reflect:!0})],c.prototype,"value",2),c=l([(0,a.EM)("form-checkbox")],c)},28300:(e,t,r)=>{var s=r(71413),a=r(92412),o=r(52706),i=r(30555),n=r(25461),l=r(38155),c=r(32701),d=r(24634),h=r(82625),u=r(31376),p=r(56188),b=Object.defineProperty,g=Object.getOwnPropertyDescriptor,m=(e,t,r,s)=>{for(var a,o=s>1?void 0:s?g(t,r):t,i=e.length-1;i>=0;i--)(a=e[i])&&(o=(s?a(t,r,o):a(o))||o);return s&&o&&b(t,r,o),o};let v=class extends s.WF{constructor(){super(...arguments),this.inputType="text",this.label="",this.name="",this.value="",this.autocompleteValue="off",this.errorText="",this.floatLabel=!1,this.disabled=!1,this.isLoading=!1,this.isError=!1,this.isRequired=!1,this.labelClientWidth=0,this.labelRef=(0,l._)(),this.inputRef=(0,l._)()}static get styles(){return[c.A,d.A,h.A,u.A,s.AH` 73 :host { 74 display: block; 75 position: relative; 76 } 77 `]}render(){return s.qy` 78 <label 79 ${(0,l.K)(this.labelRef)} 80 for=${this.name} 81 class=${(0,i.H)({"base-input-label":!0,"float-label":this.floatLabel})} 82 > 83 ${this.label} 84 </label> 85 <input 86 ${(0,l.K)(this.inputRef)} 87 id=${this.name} 88 class=${(0,i.H)({"base-input":!0,"input-is-error":this.isError})} 89 type=${this.inputType} 90 name=${this.name} 91 label=${this.label} 92 .value=${(0,n.V)(this.value)}
93 @input=${this.onInput} 94 @blur=${this.onBlur} 95 @focus=${this.onFocus} 96 @keydown=${this.onKeyDown} 97 aria-required=${this.isRequired} 98 ?disabled=${this.disabled} 99 aria-invalid=${this.isError} 100 aria-describedby=${`${this.name}-error`} 101 autocomplete="${this.autocompleteValue?this.autocompleteValue:"off"}" 102 aria-autocomplete="${"off"!==this.autocompleteValue?"list":"none"}" 103 /> 104 <p 105 id=${`${this.name}-error`} 106 class=${(0,i.H)({"input-error-label":!0,"input-error-label-show":this.isError})} 107 role=${this.isError?"alert":"status"} 108 part="error" 109 tabindex="-1" 110 style=${(0,a.W)({"max-width":0===this.labelClientWidth?"auto":`${this.labelClientWidth}px`})} 111 > 112 <svg class="input-error-label-icon" role="presentation" aria-hidden="true"> 113 <use href="${"/images/sprites.svg#close"}" /> 114 </svg> 115 ${this.errorText} 116 </p> 117 <div 118 class=${(0,i.H)({"error-spacer":!0,"error-spacer-is-error":this.isError})} 119 part="error" 120 ></div> 121 ${this.isLoading?s.qy`<div class="input-spinner-container"> 122 <div class="spinner" aria-label="Loading..."></div> 123 </div>`:void 0} 124 `}connectedCallback(){super.connectedCallback(),this.addEventListener("focus",this.focusInput)}disconnectedCallback(){super.disconnectedCallback(),this.removeEventListener("focus",this.focusInput)}focusInput(){this.inputRef.value?.focus()}onInput(e){const{name:t,value:r}=e.currentTarget;this.dispatchEvent((0,p.h)("crc:textInput:input",{detail:{name:t,value:r}}))}onBlur(e){const{name:t,value:r}=e.currentTarget;this.dispatchEvent((0,p.h)("crc:textInput:blur",{detail:{name:t,value:r}})),""===r&&(this.floatLabel=!1)}onFocus(){this.floatLabel=!0}onKeyDown(e){const{name:t}=e.currentTarget,{key:r}=e;this.dispatchEvent((0,p.h)("crc:textInput:keydown",{detail:{name:t,key:r}}))}willUpdate(e){e.has("value")&&(""===this.value?this.floatLabel=!1:this.floatLabel=!0),e.has("errorText")&&this.labelRef.value&&(this.labelClientWidth=this.labelRef.value.clientWidth)}};m([(0,o.MZ)({type:String})],v.prototype,"inputType",2),m([(0,o.MZ)({type:String})],v.prototype,"label",2),m([(0,o.MZ)({type:String})],v.prototype,"name",2),m([(0,o.MZ)({type:String})],v.prototype,"value",2),m([(0,o.MZ)({type:String})],v.prototype,"autocompleteValue",2),m([(0,o.MZ)({type:String})],v.prototype,"errorText",2),m([(0,o.MZ)({type:Boolean})],v.prototype,"floatLabel",2),m([(0,o.MZ)({type:Boolean})],v.prototype,"disabled",2),m([(0,o.MZ)({type:Boolean})],v.prototype,"isLoading",2),m([(0,o.MZ)({type:Boolean})],v.prototype,"isError",2),m([(0,o.MZ)({type:Boolean})],v.prototype,"isRequired",2),m([(0,o.MZ)({type:Number})],v.prototype,"labelClientWidth",2),v=m([(0,o.EM)("text-input")],v)},51427:(e,t,r)=>{var s=r(71413),a=r(52706),o=r(38155),i=Object.defineProperty,n=Object.getOwnPropertyDescriptor,l=(e,t,r,s)=>{for(var a,o=s>1?void 0:s?n(t,r):t,l=e.length-1;l>=0;l--)(a=e[l])&&(o=(s?a(t,r,o):a(o))||o);return s&&o&&i(t,r,o),o};let c=class extends s.WF{constructor(){super(...arguments),this.inputRef=(0,o._)(),this.checked=!1,this.label="",this.name="",this.disabled=!1,this.hideSwitch=!1}static get styles(){return[s.AH` 125 @media screen and (prefers-reduced-motion: reduce) { 126 :host { 127 transition: none; 128 } 129 } 130 :host { 131 --toggle-switch-disabled-opacity: 0.5; 132 --toggle-switch-toggle-duration: 0.1s; 133 134 --toggle-switch-color: rgb(var(--concrete)); 135 --toggle-switch-color-active: rgb(var(--peter-river)); 136 --toggle-switch-color-focus: rgba(var(--peter-river), 0.5); 137 138 --toggle-switch-track-height: 0.75rem; 139 140 --toggle-switch-knob-color: rgb(var(--concrete)); 141 --toggle-switch-knob-color-active: rgb(var(--peter-river)); 142 143 display: block; 144 outline: 0.25rem solid transparent; 145 cursor: pointer; 146 transition: fill 0.1s linear, color 0.1s linear, outline 0.15s ease-in-out; 147 fill: var(--toggle-switch-color); 148 } 149 150 :host([hidden]) { 151 display: none; 152 } 153 154 :host([disabled]) { 155 opacity: var(--toggle-switch-disabled-opacity); 156 } 157 158 :host([checked]) { 159 /*color: var(--toggle-switch-color-active);*/ 160 fill: var(--toggle-switch-color-active); 161 } 162 163 :host(:focus), 164 :host(:hover) { 165 --toggle-switch-knob-color: rgb(var(--peter-river)); 166 } 167 168 label { 169 flex-grow: 1; 170 } 171 172 #track, 173 #knob { 174 position: absolute; 175 top: 0; 176 bottom: 0; 177 left: 0; 178 margin: auto; 179 } 180 181 #wrapper { 182 display: flex; 183 padding: 0.5rem var(--gap); 184 /*border-top: 1px solid black;*/ 185 /*justify-content: space-between;*/ 186 align-items: center; 187 } 188 189 label { 190 /*margin-right: var(--gap);*/ 191 display: flex;
192 align-items: stretch; 193 } 194 195 #inner-wrap { 196 position: relative; 197 height: 1.25rem; 198 width: 2em; 199 margin-right: 0.5rem; 200 } 201 202 #inner-wrap:focus:focus-visible { 203 outline: rgb(var(--peter-river)) solid 0.25rem; 204 } 205 206 @media screen and (prefers-reduced-motion: reduce) { 207 #track { 208 transition: none; 209 } 210 } 211 #track { 212 height: var(--toggle-switch-track-height); 213 width: 100%; 214 border-radius: 1rem; 215 background-color: var(--toggle-switch-knob-color); 216 opacity: 0.25; 217 transition: background-color var(--toggle-switch-toggle-duration); 218 } 219 220 :host([checked]) #track { 221 background-color: var(--toggle-switch-knob-color-active); 222 } 223 224 @media screen and (prefers-reduced-motion: reduce) { 225 #knob { 226 transition: none; 227 } 228 } 229 #knob { 230 position: absolute; 231 left: 0; 232 top: 0; 233 bottom: 0; 234 margin: auto; 235 height: 90%; 236 width: 1.1rem; 237 border-radius: 50%; 238 background-color: var(--toggle-switch-knob-color); 239 transition: transform var(--toggle-switch-toggle-duration), 240 background-color var(--toggle-switch-toggle-duration); 241 } 242 243 @media screen and (prefers-reduced-motion: reduce) { 244 :host([checked]) #knob { 245 transition: none; 246 } 247 } 248 :host([checked]) #knob { 249 transform: translateX(70%); 250 background-color: var(--toggle-switch-knob-color-active); 251 } 252 `]}render(){return s.qy` 253 <span id="wrapper" @click="${this.clickHandler}"> 254 ${this.hideSwitch?"":s.qy` 255 <span 256 ${(0,o.K)(this.inputRef)} 257 id="inner-wrap" 258 aria-label="${this.label||this.name}" 259 tabindex="0" 260 role="switch" 261 aria-checked="${this.checked}" 262 > 263 <span id="track"></span> 264 <span id="knob"></span> 265 </span> 266 `} 267 <label for="wrapper"> 268 <slot></slot> 269 </label> 270 </span> 271 `}connectedCallback(){super.connectedCallback(),this.addEventListener("focus",this.focusInput),this.addEventListener("keydown",this.keyDownHandler),this.hasAttribute("checked")||(this.checked=!1)}disconnectedCallback(){this.removeEventListener("focus",this.focusInput),this.removeEventListener("keydown",this.keyDownHandler)}focusInput(){this.inputRef.value?.focus()}clickHandler(e){this.disabled||(e.preventDefault(),this.toggleChecked())}keyDownHandler(e){"Enter"!==e.code&&"Space"!==e.code||this.disabled||(e.preventDefault(),this.toggleChecked())}toggleChecked(){this.checked=!this.checked,this.dispatchEvent(new Event("change",{bubbles:!0,composed:!0}))}};l([(0,a.MZ)({type:Boolean,reflect:!0})],c.prototype,"checked",2),l([(0,a.MZ)({type:String})],c.prototype,"label",2),l([(0,a.MZ)({type:String})],c.prototype,"name",2),l([(0,a.MZ)({type:Boolean})],c.prototype,"disabled",2),l([(0,a.MZ)({type:Boolean,attribute:"hide-switch"})],c.prototype,"hideSwitch",2),c=l([(0,a.EM)("toggle-switch")],c)},45502:(e,t,r)=>{var s=r(71413),a=r(52706),o=r(32701),i=r(24634),n=r(5124),l=r(52850),c=r(56188),d=Object.defineProperty,h=Object.getOwnPropertyDescriptor,u=(e,t,r,s)=>{for(var a,o=s>1?void 0:s?h(t,r):t,i=e.length-1;i>=0;i--)(a=e[i])&&(o=(s?a(t,r,o):a(o))||o);return s&&o&&d(t,r,o),o};let p=class extends s.WF{constructor(){super(...arguments),this.isFloodgate=!1}static get styles(){const e=(0,s.iz)(l.EA.TABLET);return[o.A,i.A,n.A,s.AH` 272 :host { 273 display: block; 274 } 275 .modal-wrap { 276 position: relative; 277 box-sizing: border-box; 278 max-height: 100vh; 279 height: fill-available; 280 height: -webkit-fill-available; 281 height: -moz-available; 282 width: 100vw; 283 background: #fff; 284 pointer-events: all; 285 286 overflow-y: scroll; 287 288 -ms-overflow-style: none; /* IE and Edge */ 289 scrollbar-width: none; /* Firefox */ 290 } 291 292 /* Hide scrollbar for IE, Edge and Firefox */ 293 .modal-wrap::-webkit-scrollbar {
294 display: none; 295 } 296 297 .close-btn { 298 position: absolute; 299 top: 0; 300 right: 0; 301 } 302 303 .close-btn > svg { 304 fill: rgb(var(--close-btn-color)); 305 } 306 307 .close-btn:hover > svg { 308 fill: rgb(var(--close-btn-color), 0.8); 309 } 310 311 .iphone-scroll-enabler { 312 height: 0; 313 overflow-y: scroll; 314 } 315 316 .modal-inner-content { 317 padding-left: var(--gap); 318 padding-right: var(--gap); 319 box-sizing: border-box; 320 width: 100%; 321 } 322 323 :host([full-width]) .modal-inner-content { 324 padding: 0; 325 } 326 327 @media all and (min-width: ${e}) { 328 .modal-wrap { 329 width: 80vw; 330 border-radius: var(--border-radius); 331 max-width: var(--modal-max-width, 62rem); 332 height: auto; 333 } 334 335 .modal-inner-content { 336 width: 38rem; 337 margin: 0 auto; 338 } 339 340 :host([full-width]) .modal-inner-content { 341 width: 100%; 342 } 343 } 344 `]}render(){return s.qy` 345 <div 346 class="modal-wrap" 347 part="wrap" 348 style=${"border-left:"+(this.isFloodgate?"15px solid rgb(var(--notification-bg, var(--danger)));":"none;")} 349 > 350 <slot name="upper-header"></slot> 351 <div class="iphone-scroll-enabler"></div> 352 <button @click=${this.clickCloseButton} class="btn btn-light close-btn" title="Close"> 353 <svg role="presentation" class="btn_icon" aria-hidden="true"> 354 <use href="${"/images/sprites.svg#close-btn"}"></use> 355 </svg> 356 </button> 357 <div class="modal-inner-content"> 358 <slot name="header"></slot> 359 <slot name="body"></slot> 360 </div> 361 <slot name="footer"></slot> 362 </div> 363 `}clickCloseButton(){this.dispatchEvent((0,c.h)(l.G4t))}};u([(0,a.MZ)({type:Boolean,reflect:!0})],p.prototype,"isFloodgate",2),p=u([(0,a.EM)("modal-content")],p)},97506:(e,t,r)=>{var s=r(71413),a=r(52706);Object.defineProperty,Object.getOwnPropertyDescriptor;let o=class extends s.WF{static get styles(){return[s.AH` 364 .checkmark { 365 width: 100%; 366 height: 100%; 367 border-radius: 50%; 368 display: block; 369 stroke-width: 2; 370 stroke: #66bd46; 371 stroke-miterlimit: 10; 372 box-shadow: inset 0px 0px 0px #66bd46; 373 animation: fill 0.4s ease-in-out 0.4s forwards, scale 0.3s ease-in-out 0.9s both; 374 position: relative; 375 margin: 0 auto; 376 } 377 .checkmark__circle { 378 stroke-dasharray: 166; 379 stroke-dashoffset: 166; 380 stroke-width: 2; 381 stroke-miterlimit: 10; 382 stroke: #66bd46; 383 fill: #fff; 384 animation: stroke 0.6s cubic-bezier(0.65, 0, 0.45, 1) forwards; 385 } 386 387 .checkmark__check { 388 transform-origin: 50% 50%; 389 stroke-dasharray: 48; 390 stroke-dashoffset: 48; 391 animation: stroke 0.3s cubic-bezier(0.65, 0, 0.45, 1) 0.8s forwards; 392 } 393 394 @keyframes stroke { 395 100% { 396 stroke-dashoffset: 0; 397 } 398 } 399 400 @keyframes scale { 401 0%, 402 100% { 403 transform: none; 404 } 405 406 50% { 407 transform: scale3d(1.1, 1.1, 1); 408 } 409 } 410 411 @keyframes fill { 412 100% { 413 box-shadow: inset 0px 0px 0px 30px #66bd46; 414 } 415 } 416 `]}render(){return s.qy` 417 <svg 418 class="checkmark" 419 xmlns="http://www.w3.org/2000/svg" 420 viewBox="0 0 52 52" 421 aria-hidden="true" 422 > 423 <circle class="checkmark__circle" cx="26" cy="26" r="25" fill="none" /> 424 <path class="checkmark__check" fill="none" d="M14.1 27.2l7.1 7.2 16.7-16.8" /> 425 </svg> 426 `}};o=((e,t,r,s)=>{for(var a,o=t,i=e.length-1;i>=0;i--)(a=e[i])&&(o=a(o)||o);return o}
426)([(0,a.EM)("success-check")],o)},67078:(e,t,r)=>{r.r(t),r.d(t,{default:()=>E});var s=r(71413),a=r(52706),o=r(38155),i=r(56599),n=r(63822),l=r(40342),c=r(10388),d=r(29686),h=r(32701),u=r(24634),p=r(82625),b=r(16221),g=r(52850),m=r(70131),v=r(40540),f=(r(45502),r(31224),r(51427),r(28300),r(97506),r(21379)),w=Object.defineProperty,y=Object.getOwnPropertyDescriptor,k=(e,t,r,s)=>{for(var a,o=s>1?void 0:s?y(t,r):t,i=e.length-1;i>=0;i--)(a=e[i])&&(o=(s?a(t,r,o):a(o))||o);return s&&o&&w(t,r,o),o};let E=class extends((0,i.N)(c.M_)(v.Ay)){constructor(){super(...arguments),this.formData={email:{...v.$A},password:{...v.$A,validateField:m.Oj},passwordConfirmation:{...v.$A,validateField:m.nY}},this.submissionStatus=g.vky.UNSUBMITTED,this.passwordInputRef=(0,o._)(),this.passwordConfirmationInputRef=(0,o._)()}static get styles(){const e=(0,s.iz)(g.EA.TABLET);return[h.A,u.A,p.A,b.A,s.AH` 427 .help-text { 428 margin: 1rem 0 !important; 429 font-style: italic; 430 margin-bottom: 1rem; 431 } 432 433 .center-button { 434 width: 100%; 435 justify-content: center; 436 } 437 438 text-input { 439 margin: 0 auto; 440 max-width: 30rem; 441 } 442 443 @media all and (min-width: ${e}) { 444 .forgot { 445 min-height: 16rem; 446 } 447 } 448 `]}render(){const e=this.submissionStatus===g.vky.PENDING,t=this.submissionStatus===g.vky.SUCCESS,r=this.submissionStatus===g.vky.ERROR;return s.qy` 449 <modal-content @close=${this.close}> 450 <div slot="header" class="h-display modal-header"> 451 <h3>Reset Password</h3> 452 </div> 453 <div slot="body" class="forgot"> 454 <p class="help-text">Enter a new password and password confirmation</p> 455 <p style="font-size: 12px; margin-bottom: 10px;"> 456 ${(0,l._)((0,n.A)("your511.settings.passwordHint.text","Your password must be between 8 and 100 characters and include the following: an uppercase letter, a lowercase letter, a number, and a special character from the following: !@#$%^&*. You cannot use a password that has been used before."))} 457 </p> 458 <text-input 459 ${(0,o.K)(this.passwordInputRef)} 460 inputType="password" 461 label="New Password" 462 name="password" 463 @crc:textInput:input="${this.handleTextInput}" 464 @crc:textInput:blur="${this.handleTextBlur}" 465 value=${this.formData.password.value} 466 ?isError=${this.formData.password.isError} 467 errorText=${this.formData.password.errorMessage} 468 ></text-input> 469 <text-input 470 ${(0,o.K)(this.passwordConfirmationInputRef)} 471 inputType="password" 472 label="Confirm New Password" 473 name="passwordConfirmation" 474 @crc:textInput:input="${this.handleTextInput}" 475 @crc:textInput:blur="${this.handleTextBlur}" 476 value=${this.formData.passwordConfirmation.value} 477 ?isError=${this.formData.passwordConfirmation.isError} 478 errorText=${this.formData.passwordConfirmation.errorMessage} 479 ></text-input> 480 <div class="error-message" role="alert"> 481 <p>${r?this.errorMessage:""}</p> 482 </div> 483 <div class="success-message"> 484 ${t?s.qy` <p>Password change successful. Please login with your new password.</p> 485 <div class="check-container"><success-check></success-check></div>`:s.qy``} 486 </div> 487 </div> 488 489 <div slot="footer" class="modal-footer center-button"> 490 <button 491 class="btn account-btn account-btn-dark submit-modal-btn" 492 @click=${this.submitReset} 493 ?disabled=${e||t} 494 > 495 ${e?s.qy`<div class="spinner-contain-btn"> 496 <div class="spinner spinner-light" aria-label="Loading..."></div> 497 </div>`:void 0} 498 Submit 499 </button> 500 </div> 501 </modal-content> 502 `}async submitReset(){await this.validateAllAndCheck()&&this.resetToken&&this.email&&c.M_.dispatch((0,d.Ck)(this.formData.password.value,this.resetToken,this.email))}close(){c.M_.dispatch((0,f.A)(null))}connectedCallback(){super.connectedCallback(),this.formData.password.ref=this.passwordInputRef,this.formData.passwordConfirmation.ref=this.passwordConfirmationInputRef}stateChanged(e){const{status:t,passwordReset:r,error:s,errorMessage:a}=e.your511;if(this.submissionStatus=t,this.submissionStatus===g.vky.ERROR&&(this.errorMessage=s===g.i65.PREVIOUS_PASSWORD?a??"This password has been used before. Please enter a new password.":"There was an error resetting your password. Please try again."),r){const{token:e,email:t}=r;this.resetToken=e,this.email=t,this.formData.email.value=t}}};k([(0,a.MZ)({type:Object})],E.prototype,"formData",2),k([(0,a.MZ)({type:String})],E.prototype,"submissionStatus",2),k([(0,a.MZ)({type:String})],E.prototype,"email",2),k([(0,a.MZ)({type:String})],E.prototype,"resetToken",2),k([(0,a.MZ)({type:String})],E.prototype,"errorMessage",2),E=k([(0,a.EM)("password-reset-form")],E)},70131:(e,t,r)=>{r.d(t,{Mi:()=>f,Oj:()=>h,Q7:()=>b,VD:()=>m,ee:()=>g,jj:()=>d,nY:()=>p,tz:()=>v,yS:()=>c,yz:()=>u});var s=r(80027),a=r(52850),o=r(43908);if(!s.Vu)throw new Error(a.vmQ);
502const i=s.Vu,n=s.Vu?.invalidNameCharacters??["<",">","!",";",":","/","\\","&","@","(",")","=",".","#"],l=`Please note some special characters are not allowed ${n.join(" ")}`;function c(e){return e.length<1?{isError:!0,errorMessage:"Must be 1 or more characters"}:n.some((t=>e.includes(t)))?{isError:!0,errorMessage:l}:{isError:!1,errorMessage:""}}function d(e){return e.length<1?{isError:!0,errorMessage:"Please enter your current password"}:{isError:!1,errorMessage:""}}function h(e,t){return t.email.value&&e.toLowerCase().includes(t.email.value.toLowerCase())?{isError:!0,errorMessage:"Password cannot match email"}:i.easilyGuessablePasswordParts?.length&&i.easilyGuessablePasswordParts.some((t=>e.toLowerCase().includes(t.toLowerCase())))?{isError:!0,errorMessage:`Password cannot contain an easily guessable part (${i.easilyGuessablePasswordParts.join(", ")})`}:/[a-z]/.test(e)&&/[A-Z]/.test(e)?function(e){return/^(?=.*[0-9])(?=.*[!@#$%^&*])[a-zA-Z0-9!@#$%^&*]{8,100}$/.test(String(e).toLowerCase())}(e)?t.passwordConfirmation.value&&e!==t.passwordConfirmation.value?{isError:!0,errorMessage:"Passwords must match"}:{isError:!1,errorMessage:""}:{isError:!0,errorMessage:"Password must contain 8-100 characters and contain a number and a special character (!@#$%^&*)."}:{isError:!0,errorMessage:"Password must contain both upper and lowercase letters"}}function u(e,t){return e===t.currentPassword.value?{isError:!0,errorMessage:"Cannot be the same as your current password"}:t.passwordConfirmation.value&&e!==t.passwordConfirmation.value?{isError:!0,errorMessage:"Passwords must match"}:h(e,t)}function p(e,t){return t.password&&e===t.password.value?{isError:!1,errorMessage:""}:{isError:!0,errorMessage:"Passwords must match"}}function b(e){const t=(0,o.U)(e);return t.length>0&&10!==t.length?{isError:!0,errorMessage:"Must be a valid phone number"}:{isError:!1,errorMessage:""}}const g=(e,t)=>{const r=t.currentActiveTitles.value;return""===e?{isError:!0,errorMessage:"A label is required."}:r.includes(e)?{isError:!0,errorMessage:"A favorite already exists with this label."}:{isError:!1,errorMessage:""}};function m(e,t){return i.requireMobileCarrier&&""!==t.mobilePhoneNumber.value&&""===e?{isError:!0,errorMessage:"Must select a mobile carrier with phone number"}:{isError:!1,errorMessage:""}}function v(e){return e?{isError:!1,errorMessage:""}:{isError:!0,errorMessage:"You must accept the Terms of Use and Privacy Statement"}}function f(e,t){const r=parseInt(e,10);return t.travelTimeUpdatesActive.value?Number.isNaN(r)?{isError:!0,errorMessage:"Must include a travel time"}:r<0?{isError:!0,errorMessage:"Travel time must be positive"}:{isError:!1,errorMessage:""}:{isError:!1,errorMessage:""}}}}]);
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.