PageSourceSearch

https://www.costco.com.tw/spartacus/assets/chunk-SSM2L2L7.js

js costco.com.tw collected 2026-09-24 22:23:42 UTC 15,019 bytes, 1 lines download raw bytes

1import{b as w}from"./chunk-RADCEBLA.js";import"./chunk-5LH764TT.js";import{a as $e}from"./chunk-7TMNGXNQ.js";import"./chunk-ZSGPNMJV.js";import"./chunk-4VWOJGTJ.js";import"./chunk-QMIFQL7I.js";import{a as De,e as Le}from"./chunk-SSTQIQT3.js";import"./chunk-SOWLNI5Q.js";import"./chunk-D6RHPPC7.js";import"./chunk-BA325W5R.js";import"./chunk-PZ3HQKOC.js";import"./chunk-2O6EPLWW.js";import"./chunk-KD7LKDEM.js";import"./chunk-PBVBMEBN.js";import"./chunk-HXBCLNQH.js";import{a as Be}from"./chunk-PCF6VHG4.js";import"./chunk-SI5GJQMC.js";import{a as me}from"./chunk-UVL6J63R.js";import{a as Oe}from"./chunk-LKXYBJQT.js";import{a as Re}from"./chunk-KBT2WZHU.js";import"./chunk-UFQPHIRH.js";import"./chunk-RONWZDWR.js";import"./chunk-KFRE25U2.js";import"./chunk-N3AFMFPM.js";import{b as Se}from"./chunk-CVJSDS7M.js";import"./chunk-H7CCOU6M.js";import"./chunk-F4HIK37E.js";import"./chunk-UX35NMJM.js";import"./chunk-LZL2LC4I.js";import{j as ae,r as Te,t as se}from"./chunk-WIJLTONJ.js";import"./chunk-TICZJ3OB.js";import"./chunk-ESKAF6IH.js";import{a as Ve}from"./chunk-NDDQ4HV5.js";import"./chunk-L6EN2BW6.js";import"./chunk-IZDLYJRE.js";import"./chunk-OULBKL7V.js";import"./chunk-EDLENBQR.js";import"./chunk-CE5WL3A7.js";import{c as ne,l as Ie}from"./chunk-RI5I43BI.js";import"./chunk-A7YH3TJI.js";import"./chunk-MCQQEV6H.js";import"./chunk-ZOCN6U4I.js";import"./chunk-2W7PDVXL.js";import"./chunk-SXGFXLNS.js";import"./chunk-Y7LV6N2E.js";import{a as oe}from"./chunk-6WMWEIOS.js";import"./chunk-ZO4CFGV3.js";import"./chunk-JMFJFBUD.js";import"./chunk-MNDIYD7B.js";import"./chunk-3PGHLUKK.js";import{E as Fe,L as re,O as xe,r as ie}from"./chunk-X6WXLEJ5.js";import"./chunk-UMM552OB.js";import"./chunk-XUZPMCRD.js";import"./chunk-JW3HVCPM.js";import{a as Ee}from"./chunk-TMASSOMY.js";import{Y as Ne,Z as _e}from"./chunk-Y52XVX6B.js";import"./chunk-HHEJWSKA.js";import{h as Ce}from"./chunk-D3VLNOII.js";import"./chunk-5N6ZNYUY.js";import"./chunk-6JR7EKH4.js";import"./chunk-MLVA2BKI.js";import"./chunk-SUMO55QQ.js";import{g as pe}from"./chunk-P5BIUT3A.js";import"./chunk-2JPK6GHX.js";import"./chunk-QCZIRXSN.js";import"./chunk-5Q42DF5J.js";import"./chunk-IPAVTCJR.js";import"./chunk-CZQPPCI2.js";import"./chunk-EDINK3NC.js";import"./chunk-BOJ55PH3.js";import"./chunk-P6SMF36Q.js";import"./chunk-AKJJZDJ4.js";import"./chunk-G7MMMJCH.js";import"./chunk-4MHYHNBE.js";import{e as ye}from"./chunk-W74VQ2ZW.js";import"./chunk-MIXPOUNZ.js";import"./chunk-7IEM6YIL.js";import"./chunk-QEX7IBDO.js";import"./chunk-B4HBB6J6.js";import"./chunk-CDH54WDO.js";import{H as ee,K as te,O as ve,P as Me,g as l,i as we,j as X,q as Y,t as Pe,u as Z}from"./chunk-ROAQJP46.js";import{$b as ue,Ca as y,Da as E,Dc as x,Hb as c,Ib as f,Ja as q,Jb as g,Ka as A,Kb as j,Lb as H,Nb as W,Qb as k,R as $,Sb as O,Wc as Q,Yc as N,Zd as U,_a as T,_b as fe,a as L,ac as ge,bc as F,cc as v,cd as _,ce as be,d as M,dc as G,eb as n,ec as B,fb as d,jd as I,lc as K,na as b,oc as he,oh as J,pa as de,pc as z,ph as V,ta as C,tb as h,v as S,vb as s,w as le,yc as m,zc as p}from"./chunk-ADQO3XXX.js";import{m as ce}from"./chunk-3JMZ37NM.js";var Ye=["recaptcha"],Ze=i=>({"alert alert-warning":i}),et=()=>({autofocus:!0});function tt(i,e){if(i&1&&(c(0,"sip-field-error",13),g(1,"span",14),m(2,"cxTranslate"),f()),i&2){let u=e.ngIf;s("showAriaLive",!0),n(),s("cxFocus",he(5,et))("innerHTML",p(2,3,u),T)}}function it(i,e){i&1&&g(0,"sip-page-slot",15)}function rt(i,e){if(i&1&&(c(0,"div",16)(1,"div",17)(2,"sip-form-group",18),g(3,"sip-recaptcha",19,1),f()()()),i&2){let u=O();n(2),s("control",u.forgotPwdForm.controls.recaptcha),n(),s("formControl",u.forgotPwdForm.controls.recaptcha)}}var Ae=(()=>{let e=class e{constructor(r,t,o,a,P,D){this.formBuilder=r,this.userMfaComponentsService=t,this.siteConfigService=o,this.sipForgotPasswordService=a,this.emailValidator=P,this.activatedRoute=D,this.subscription=new L,this.defaultMemberNumberLength=9,this.emailOrMemberNumberErrorMap={required:"forgottenPwdWithPrc.memberEmailOrMemberNumberError.required",requiredLength:"forgottenPwdWithPrc.memberEmailOrMemberNumberError.required",requiredPattern:"forgottenPwdWithPrc.memberEmailOrMemberNumberError.required"},this.authErrorMsg$=new M(null),this.isNonCompliant$=new M(!1)}ngOnInit(){this.forgotPwdForm=this.formBuilder.group({memberEmailOrMemberNumber:this.formBuilder.control("",[l.required]),recaptcha:this.formBuilder.control(null)}),this.addEmailOrMemberNumberValidator(),this.forgottenPwdWithPrcDescription$=this.activatedRoute.queryParams.pipe(S(t=>t.id?"forgottenPwdWithPrc.pwdNonCompliantDescription":"forgottenPwdWithPrc.description")),this.subscription.add(this.activatedRoute.queryParams.pipe(b(t=>{this.isNonCompliant$.next(!!t.id),this.forgotPwdForm.controls.memberEmailOrMemberNumber.setValue(t.id)})).subscribe()),this.recaptchaVisible$=this.siteConfigService.getBooleanConfig("forgotten.password.change.prc.captcha.enabled").pipe(b(t=>{t?this.forgotPwdForm.controls.recaptcha.addValidators(l.required):this.forgotPwdForm.controls.recaptcha.clearValidators()}));let r=this.forgotPwdForm.controls.recaptcha.valueChanges.pipe(de(this.recaptchaVisible$),b(([t,o])=>{t===null&&o&&this.userMfaComponentsService.cancelIfOnFirstStep()})).subscribe();this.subscription.add(r)}handleSubmit(){return ce(this,null,function*(){if(oe(this.forgotPwdForm),this.authErrorMsg$.next(""),!this.forgotPwdForm.valid){this.forgotPwdForm.controls.recaptcha.invalid&&this.authErrorMsg$.next("forgottenPwdWithPrc.recaptcha.required");return}let r=this.forgotPwdForm.controls.memberEmailOrMemberNumber.value,{emailValue:t,memberNumberValue:o}=this.extractEmailOrMemberNumber(r),a=yield this.sipForgotPasswordService.getPrcContactMethods(t,o).pipe($(1)).toPromise(),P=this.userMfaComponentsService.buildMfaForm(Ee.EMAIL,a.memberEmail,a.memberNumber),D={memberEmail:t!==null&&t!==""?t:void 0,memberNumber:o!==null&&o!==""?o:void 0};try{yield this.userMfaComponentsService.initMfaChallenge(P,{otpCodeType:"PRC",skipPreferredMethod:!1,isMobileCommunicationEnabled:a.isMobileCommunicationEnabled,isMfaEmailAddressValidated:a.isMfaEmailAddressValidated,isMfaMobilePhoneValidated:a.isMfaMobilePhoneValidated,extraParams:D})}finally{this.recaptcha?.reset()}})}addEmailOrMemberNumberValidator(){let r=this.forgotPwdForm.controls.memberEmailOrMemberNumber;this.subscription.add(le([this.siteConfigService.getConfig(Ne,this.defaultMemberNumberLength.toString()),this.siteConfigService.getConfig(_e,this.defaultMemberNumberLength.toString()),r.valueChanges]).pipe(b(([t,o,a])=>{let P=String(a??"").trim();if(!P){r.setValidators([l.required]),r.clearAsyncValidators(),r.updateValueAndValidity({emitEvent:!1});return}/^[0-9]+$/.test(P)?(r.setValidators([l.required,l.minLength(pe(t)),l.maxLength(pe(o)),l.pattern(/^[0-9]+$/)]),r.clearAsyncValidators()):r.setValidators([l.required,l.email,l.pattern(/^[^\s@]+@[^\s@]+\.[^\s@]+$/)]),r.updateValueAndValidity({emitEvent:!1})}
1)).subscribe())}extractEmailOrMemberNumber(r){let t=String(r??"").trim();return/^[0-9]+$/.test(t)?{emailValue:"",memberNumberValue:t}:{emailValue:t,memberNumberValue:""}}ngOnDestroy(){this.subscription.unsubscribe()}};e.\u0275fac=function(t){return new(t||e)(d(ee),d(Ie),d(Ce),d(w),d(ne),d(U))},e.\u0275cmp=y({type:e,selectors:[["sip-forgotten-password-prc"]],viewQuery:function(t,o){if(t&1&&fe(Ye,5),t&2){let a;ue(a=ge())&&(o.recaptcha=a.first)}},features:[K([w])],decls:23,vars:27,consts:[["passwordResetCodeTextOverlayBannerHelpTpl",""],["recaptcha",""],[1,"headline"],[1,"forgotten-password-section-container"],["class","login-error-msg alert alert-danger","sipAriaLive","",3,"showAriaLive",4,"ngIf"],[1,"forgotten-password-description",3,"ngClass"],[1,"forgottenPwdWithPrcForm",3,"ngSubmit","formGroup"],[3,"control","errorMap"],["idKey","memberEmailOrMemberNumber","labelKey","forgottenPwdWithPrc.memberEmailOrMemberNumber","type","text",3,"control"],[1,"cds-field-icon"],[3,"tooltipTemplate"],["class","row",4,"ngIf"],[1,"cds-btn","cds-btn-primary","mb-0"],["sipAriaLive","",1,"login-error-msg","alert","alert-danger",3,"showAriaLive"],[3,"cxFocus","innerHTML"],["position","Section1"],[1,"row"],[1,"col-xs-12"],[3,"control"],[3,"formControl"]],template:function(t,o){if(t&1){let a=W();c(0,"h1",2),v(1),m(2,"cxTranslate"),f(),c(3,"div",3),h(4,tt,3,6,"sip-field-error",4),m(5,"async"),c(6,"p",5),m(7,"async"),v(8),m(9,"async"),m(10,"cxTranslate"),f(),c(11,"form",6),k("ngSubmit",function(){return q(a),A(o.handleSubmit())}),c(12,"sip-form-group",7),g(13,"sip-text-input",8),c(14,"div",9),g(15,"sip-icon-tooltip",10),h(16,it,1,0,"ng-template",null,0,x),f()(),h(18,rt,5,2,"div",11),m(19,"async"),c(20,"button",12),v(21),m(22,"cxTranslate"),f()()()}if(t&2){let a=F(17);n(),G(p(2,11,"forgottenPwdWithPrc.section")),n(3),s("ngIf",p(5,13,o.authErrorMsg$)),n(2),s("ngClass",z(25,Ze,p(7,15,o.isNonCompliant$))),n(2),B(" ",p(10,19,p(9,17,o.forgottenPwdWithPrcDescription$))," "),n(3),s("formGroup",o.forgotPwdForm),n(),s("control",o.forgotPwdForm.controls.memberEmailOrMemberNumber)("errorMap",o.emailOrMemberNumberErrorMap),n(),s("control",o.forgotPwdForm.controls.memberEmailOrMemberNumber),n(2),s("tooltipTemplate",a),n(3),s("ngIf",p(19,21,o.recaptchaVisible$)),n(3),B(" ",p(22,23,"forgottenPwdWithPrc.continue")," ")}},dependencies:[Q,N,Y,we,X,Pe,Z,ie,re,Fe,xe,De,Se,Ve,ve,_,J],styles:["[_nghost-%COMP%]     .login-error-msg{margin-bottom:16px;padding:12px;border-radius:3px}[_nghost-%COMP%]     .login-error-msg .field-error{color:#333;margin:0;display:flex;gap:4px}[_nghost-%COMP%]     .login-error-msg .field-error mat-icon{font-size:16px;line-height:21px}[_nghost-%COMP%]     .login-error-msg .field-error span{line-height:21px}[_nghost-%COMP%]     sip-recaptcha sip-field-error{display:none}"],changeDetection:0});let i=e;return i})();var nt=i=>({"alert alert-warning":i});function at(i,e){i&1&&(j(0),g(1,"p",4),m(2,"cxTranslate"),H()),i&2&&(n(),s("innerHTML",p(2,1,"account.confirmation.forgotten.password.link.sent"),T))}function st(i,e){if(i&1){let u=W();g(0,"p",5),m(1,"async"),m(2,"async"),m(3,"cxTranslate"),c(4,"form",6),k("ngSubmit",function(){q(u);let t=O();return A(t.handleSubmit())}),c(5,"div",7)(6,"div",8)(7,"sip-form-group",9),g(8,"sip-text-input",10),f()()(),c(9,"button",11),v(10),m(11,"cxTranslate"),f()()}if(i&2){let u=O();s("ngClass",z(15,nt,p(1,7,u.isNonCompliant$)))("innerHTML",p(3,11,p(2,9,u.forgottenPwdDescription$)),T),n(4),s("formGroup",u.forgottenPwdForm),n(3),s("control",u.forgottenPwdForm.controls.memberEmail)("errorMap",u.emailErrorMap),n(),s("control",u.forgottenPwdForm.controls.memberEmail),n(2),B(" ",p(11,13,"forgottenPwd.send")," ")}}var je=(()=>{let e=class e{constructor(r,t,o,a){this.formBuilder=r,this.service=t,this.emailValidator=o,this.activatedRoute=a,this.isPasswordLinkSent$=new M(!1),this.emailErrorMap={required:"costcoEmail.messages.emailError.required",requiredPattern:"costcoEmail.messages.emailError.required"},this.subscription=new L,this.isNonCompliant$=new M(!1)}ngOnInit(){this.forgottenPwdForm=this.formBuilder.group({memberEmail:this.formBuilder.control("",[l.required,l.email,l.pattern(/^[^\s@]+@[^\s@]+\.[^\s@]+$/)])}),this.forgottenPwdDescription$=this.activatedRoute.queryParams.pipe(S(r=>r.id?"forgottenPwdWithPrc.pwdNonCompliantDescription":"forgottenPwd.description")),this.subscription.add(this.activatedRoute.queryParams.pipe(b(r=>{this.isNonCompliant$.next(!!r.id),this.forgottenPwdForm.controls.memberEmail.setValue(r.id)})).subscribe())}handleSubmit(){if(oe(this.forgottenPwdForm),!!this.forgottenPwdForm.valid)return this.service.requestForgotPasswordEmail(this.forgottenPwdForm.controls.memberEmail.value).pipe($(1),b(r=>this.isPasswordLinkSent$.next(!0))).subscribe()}ngOnDestroy(){this.subscription.unsubscribe()}};e.\u0275fac=function(t){return new(t||e)(d(ee),d(w),d(ne),d(U))},e.\u0275cmp=y({type:e,selectors:[["sip-forgotten-password-email"]],features:[K([w])],decls:8,vars:7,consts:[["forgotPasswordForm",""],[1,"headline"],[1,"forgotten-password-section-container"],[4,"ngIf","ngIfElse"],[1,"forgotten-password-info",3,"innerHTML"],[1,"forgotten-password-description",3,"ngClass","innerHTML"],[1,"forgottenPwdForm",3,"ngSubmit","formGroup"],[1,"row"],["role","textbox",1,"col-xs-12"],[3,"control","errorMap"],["idKey","memberEmail","labelKey","forgottenPwd.email","type","email",3,"control"],[1,"cds-btn","cds-btn-primary","mb-0"]],template:function(t,o){if(t&1&&(c(0,"h1",1),v(1),m(2,"cxTranslate"),f(),c(3,"div",2),h(4,at,3,3,"ng-container",3),m(5,"async"),h(6,st,12,17,"ng-template",null,0,x),f()),t&2){let a=F(7);n(),G(p(2,3,"forgottenPwd.section")),n(3),s("ngIf",p(5,5,o.isPasswordLinkSent$))("ngIfElse",a)}},dependencies:[Q,N,Y,X,Z,ie,re,_,J],changeDetection:0});let i=e;return i})();function pt(i,e){i&1&&(j(0),g(1,"sip-forgotten-password-prc"),H())}function ct(i,e){i&1&&g(0,"sip-forgotten-password-email")}var He=(()=>{let e=class e{constructor(r){this.baseStoreService=r}ngOnInit(){this.isPasswordResetCodeEnabled$=this.baseStoreService.getCurrentBaseStore().pipe(S(r=>r.enablePasswordResetCode))}};e.\u0275fac=function(t){return new(t||e)(d(ye))},e.\u0275cmp=y({type:e,selectors:[["sip-forgot-password"]],decls:6,vars:4,consts:[["emailPasswordReset",""],[1,"forgotten-password-section","mt-5"],[1,"page","recover-password"],[4,"ngIf","ngIfElse"]],template:function(t,o){if(t&1&&(c(0,"div",1)(1,"div",2),h(2,pt,2,0,"ng-container",3),m(3,"async"),h(4,ct,1,0,"ng-template",null,0,x),f()()),t&2){let a=F(5);n(2),s("ngIf",p(3,2,o.isPasswordResetCodeEnabled$))("ngIfElse",a)}},dependencies:[N,Ae,je,_],styles:[".forgotten-password-section[_ngcontent-%COMP%]   .recover-password[_ngcontent-%COMP%]{display:block;width:480px;margin:0 auto;font-family:Costco Sans,Noto Sans JP,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif,Microsoft JhengHei}@media screen and (max-width: 767px){.forgotten-password-section[_ngcontent-%COMP%]   .recover-password[_ngcontent-%COMP%]{width:100%;padding-bottom:8px}}.forgotten-password-section[_ngcontent-%COMP%]   .recover-password[_ngcontent-%COMP%]     .headline{font-size:28px;font-weight:600}.forgotten-password-section[_ngcontent-%COMP%]   .recover-password[_ngcontent-%COMP%]     .forgotten-password-section-container{margin-top:16px;border:1px solid #909090;border-radius:4px;padding:16px}.forgotten-password-section[_ngcontent-%COMP%]   .recover-password[_ngcontent-%COMP%]     .forgotten-password-section-container .forgotten-password-description{margin-bottom:16px}"],changeDetection:0});let i=e;return i})();var We=(()=>{let e=class e{};e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=E({type:e}),e.\u0275inj=C({imports:[I,te,V,Oe,se,$e,Be,ae,Le,me,Te,Me]});let i=e;return i})();var ke=(()=>{let e=class e{};e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=E({type:e}),e.\u0275inj=C({imports:[I,te,V,se,ae]});let i=e;return i})();var fi=(()=>{let e=class e{};e.\u0275fac=function(t){return new(t||e)},e.\u0275mod=E({type:e}),e.\u0275inj=C({imports:[I,V,Re,me,We,ke,be.forChild([{path:"",component:He}])]});let i=e;return i})();export{fi as SipForgotPasswordPageModule};

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.