You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

2 lines
61 KiB

"use strict";(self.webpackChunk_bitwarden_web_vault=self.webpackChunk_bitwarden_web_vault||[]).push([[405],{8405(t,e,i){i.d(e,{IndividualBillingModule:()=>li});var n=i(81098),s=i(72932),r=i(62482),o=i(11217),a=i(84522),c=i(37115),l=i(26983),u=i(83604),d=i(191),p=i(69783),h=i(35500),m=i(58329);var g=i(67789),b=i(6933),v=i(61065),f=i(35284),w=i(68711),y=i(25065),S=i(9327),P=i(31925),I=i(14041),T=i(10672),F=i(46758),M=i(25740),$=function(t,e,i,n){return new(i||(i=Promise))(function(s,r){function o(t){try{c(n.next(t))}catch(e){r(e)}}function a(t){try{c(n.throw(t))}catch(e){r(e)}}function c(t){var e;t.done?s(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(o,a)}c((n=n.apply(t,e||[])).next())})};function k(t,e){1&t&&(I.qex(0),I.nrm(1,"i",0),I.nI1(2,"i18n"),I.j41(3,"span",1),I.EFF(4),I.nI1(5,"i18n"),I.k0s(),I.bVm()),2&t&&(I.R7$(),I.Y8G("title",I.mNQ(I.bMT(2,3,"loading"))),I.R7$(3),I.JRh(I.bMT(5,5,"loading")))}function U(t,e){if(1&t){const t=I.RV6();I.qex(0),I.j41(1,"app-display-payment-method",2),I.bIt("updated",function(e){o.eBV(t);const i=I.XpG();return o.Njj(i.setPaymentMethod(e))}),I.k0s(),I.nrm(2,"app-display-account-credit",3),I.bVm()}if(2&t){I.XpG();const t=I.r8f(1);I.R7$(),I.Y8G("subscriber",t.account)("paymentMethod",t.paymentMethod),I.R7$(),I.Y8G("subscriber",t.account)("credit",t.credit)}}class x{constructor(t,e){this.accountService=t,this.subscriberBillingClient=e,this.viewState$=new g.t(null),this.load$=this.accountService.activeAccount$.pipe(P.$i,(0,d.n)(t=>$(this,void 0,void 0,function*(){const[e,i]=yield Promise.all([this.subscriberBillingClient.getPaymentMethod(t),this.subscriberBillingClient.getCredit(t)]);return{account:t,paymentMethod:e,credit:i}})),(0,b.t)({bufferSize:1,refCount:!1})),this.view$=(0,v.h)(this.load$.pipe((0,f.M)(t=>this.viewState$.next(t))),this.viewState$.pipe((0,w.p)(t=>null!==t))).pipe((0,b.t)({bufferSize:1,refCount:!0})),this.setPaymentMethod=t=>{this.viewState$.value&&this.viewState$.next(Object.assign(Object.assign({},this.viewState$.value),{paymentMethod:t}))}}}x.ɵfac=function(t){return new(t||x)(I.rXU(h.D),I.rXU(S.Hd))},x.ɵcmp=I.VBU({type:x,selectors:[["ng-component"]],decls:5,vars:4,consts:[["aria-hidden","true",1,"bwi","bwi-spinner","bwi-spin","tw-text-muted",3,"title"],[1,"tw-sr-only"],[3,"updated","subscriber","paymentMethod"],[3,"subscriber","credit"]],template:function(t,e){if(1&t&&(I.j41(0,"bit-container"),I.SS7(1),I.nI1(2,"async"),I.nVh(3,k,6,7,"ng-container")(4,U,3,4,"ng-container"),I.k0s()),2&t){I.R7$();const t=I.bH3(I.bMT(2,1,e.view$));I.R7$(2),I.vxM(t?4:3)}},dependencies:[n.I$,n.H8,s.G,y.G,T.H,F.Jj,M.$],encapsulation:2});var R=i(92128),C=i(73366),E=i(68108),j=i(29377),A=i(88832),G=i(639),D=i(75583),X=i(26477),B=i(92954),V=i(36801),W=i(88744),O=i(33438),Q=i(13583),N=i(44075),z=i(69855),Y=i(12012),L=i(50700),_=i(11224),J=i(84210),q=i(3892),H=i(26657),Z=i(38620),K=i(56898),tt=i(7730),et=i(45635),it=i(67311),nt=function(t,e,i,n){return new(i||(i=Promise))(function(s,r){function o(t){try{c(n.next(t))}catch(e){r(e)}}function a(t){try{c(n.throw(t))}catch(e){r(e)}}function c(t){var e;t.done?s(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(o,a)}c((n=n.apply(t,e||[])).next())})};function st(t,e){if(1&t&&(I.j41(0,"button",13),I.EFF(1),I.nI1(2,"i18n"),I.k0s()),2&t){const t=I.XpG();I.Y8G("bitAction",t.cancel),I.R7$(),I.SpI(" ",I.bMT(2,2,"cancel")," ")}}class rt extends Q.m{constructor(t,e,i,n,s,r,o,a,c,l={}){var u;super(e,i,n,s,r,o),this.dialogRef=t,this.accountService=a,this.billingAccountProfileStateService=c,this.dialogData=l,this.submitLicenseDialog=()=>nt(this,void 0,void 0,function*(){yield this.submitLicense()}),this.cancel=()=>nt(this,void 0,void 0,function*(){this.onCanceled.emit(),yield this.dialogRef.close(O.Y.Cancelled)}),this.fromUserSubscriptionPage=null!==(u=null==l?void 0:l.fromUserSubscriptionPage)&&void 0!==u&&u}submitLicense(){return nt(this,void 0,void 0,function*(){if((yield this.submit())===O.Y.Updated){if(null==this.organizationId){const t=yield(0,E._)(this.accountService.activeAccount$);if(t){const e=yield(0,E._)(this.billingAccountProfileStateService.hasPremiumFromAnyOrganization$(t.id));yield this.billingAccountProfileStateService.setHasPremium(!0,e,t.id)}}yield this.dialogRef.close(O.Y.Updated)}})}static open(t,e){return t.open(rt,e)}}rt.ɵfac=function(t){return new(t||rt)(I.rXU(N.ce),I.rXU(Y.G),I.rXU(L.W),I.rXU(c.y),I.rXU(_.X),I.rXU(J.ok),I.rXU(z.f),I.rXU(h.D),I.rXU(m.Q),I.rXU(W.Qs))},rt.ɵcmp=I.VBU({type:rt,selectors:[["ng-component"]],standalone:!1,features:[I.Vt3],decls:27,vars:26,consts:[["fileSelector",""],["bit-dialog","","dialogSize","default",3,"formGroup","bitSubmit","title"],["bitDialogContent",""],[1,"tw-mb-4"],[1,"tw-block","tw-text-sm","tw-text-muted","tw-mb-2"],[1,"tw-mb-2"],["bitButton","","type","button","buttonType","unstyled",1,"tw-text-primary-600","tw-p-0","tw-border-0","tw-bg-transparent","hover:tw-underline","tw-cursor-pointer",3,"click"],[1,"tw-ml-2","tw-text-muted"],["type","file","formControlName","file","hidden","",1,"tw-hidden",3,"change"],[1,"tw-text-sm","tw-text-muted"],["bitDialogFooter",""],["type","submit","buttonType","primary","bitButton","","bitFormButton","",3,"disabled"],["bitButton","","bitFormButton","","buttonType","secondary","type","button","bitDialogClose","",3,"bitAction",4,"ngIf"],["bitButton","","bitFormButton","","buttonType","secondary","type","button","bitDialogClose","",3,"bitAction"]],template:function(t,e){if(1&t){const t=I.RV6();I.j41(0,"form",1),I.nI1(1,"i18n"),I.qex(2,2),I.j41(3,"p",3),I.EFF(4),I.nI1(5,"i18n"),I.k0s(),I.j41(6,"div",3)(7,"label",4),I.EFF(8),I.nI1(9,"i18n"),I.k0s(),I.j41(10,"div",5)(11,"button",6),I.bIt("click",function(){o.eBV(t);const e=I.sdS(18);return o.Njj(e.click())}),I.EFF(12),I.nI1(13,"i18n"),I.k0s(),I.j41(14,"span",7),I.EFF(15),I.nI1(16,"i18n"),I.k0s()(),I.j41(17,"input",8,0),I.bIt("change",function(t){return e.setSelectedFile(t)}),I.k0s(),I.j41(19,"p",9),I.EFF(20),I.nI1(21,"i18n"),I.k0s()(),I.bVm(),I.qex(22,10),I.j41(23,"button",11),I.EFF(24),I.nI1(25,"i18n"),I.k0s(),I.DNE(26,st,3,4,"button",12),I.bVm(),I.k0s()}2&t&&(I.Y8G("formGroup",e.updateLicenseForm)("bitSubmit",e.submitLicenseDialog)("title",I.bMT(1,11,e.fromUserSubscriptionPage?"uploadLicense":"uploadLicenseFile")),I.R7$(4),I.JRh(I.i5U(5,13,"uploadLicenseFileDesc","bitwarden_license.json")),I.R7$(4),I.JRh(I.bMT(9,16,e.fromUserSubscriptionPage?"uploadYourPremiumLicenseFile":"uploadYourLicenseFile")),I.R7$(4),I.SpI(" ",I.bMT(13,18,"chooseFile")," "),I.R7$(3),I.JRh(e.licenseFile?e.licenseFile.name:I.bMT(16,20,"noFileChosen")),I.R7$(5),I.JRh(I.bMT(21,22,"maxFileSizeSansPunctuation")),I.R7$(3),I.Y8G("disabled",!e.licenseFile),I.R7$(),I.SpI(" ",I.bMT(25,24,"upload")," "),I.R7$(2),I.Y8G("ngIf",e.showCancel))},dependencies:[F.bT,J.qT,J.me,J.BC,J.cb,J.j4,J.JD,q.p,H.$,Z.L,K.Q,tt.I,et.m,it.hJ,M.$],encapsulation:2});var ot=i(66316),at=i(47696),ct=i(58806),lt=i(57178),ut=function(t,e,i,n){return new(i||(i=Promise))(function(s,r){function o(t){try{c(n.next(t))}catch(e){r(e)}}function a(t){try{c(n.throw(t))}catch(e){r(e)}}function c(t){var e;t.done?s(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(o,a)}c((n=n.apply(t,e||[])).next())})};const dt=()=>({type:"bwi-external-link",position:"after"}),pt=(t,e)=>({type:"primary",text:t,icon:e}),ht=(t,e)=>({type:"secondary",text:t,icon:e});function mt(t,e){if(1&t){const t=I.RV6();I.j41(0,"bit-section")(1,"div",2)(2,"span",3),I.EFF(3),I.nI1(4,"i18n"),I.k0s()(),I.j41(5,"div",4)(6,"h1",5),I.EFF(7),I.nI1(8,"i18n"),I.k0s(),I.j41(9,"p",6),I.EFF(10),I.nI1(11,"i18n"),I.k0s()(),I.j41(12,"div",7)(13,"p",8),I.EFF(14),I.nI1(15,"i18n"),I.k0s(),I.j41(16,"p",9),I.EFF(17),I.nI1(18,"i18n"),I.k0s(),I.j41(19,"a",10),I.bIt("click",function(){o.eBV(t);const e=I.XpG();return o.Njj(e.openUploadLicenseDialog())}),I.EFF(20),I.nI1(21,"i18n"),I.k0s()(),I.j41(22,"div",11)(23,"div")(24,"billing-pricing-card",12),I.nI1(25,"i18n"),I.nI1(26,"i18n"),I.bIt("buttonClick",function(){o.eBV(t);const e=I.XpG();return o.Njj(e.onPremiumUpgradeClick())}),I.j41(27,"h3",13),I.EFF(28),I.nI1(29,"i18n"),I.k0s()()(),I.j41(30,"div")(31,"billing-pricing-card",12),I.nI1(32,"i18n"),I.nI1(33,"i18n"),I.bIt("buttonClick",function(){o.eBV(t);const e=I.XpG();return o.Njj(e.onFamiliesUpgradeClick())}),I.j41(34,"h3",13),I.EFF(35),I.nI1(36,"i18n"),I.k0s()()()(),I.j41(37,"div",14)(38,"a",15),I.EFF(39),I.nI1(40,"i18n"),I.k0s()()()}if(2&t){const t=I.XpG();I.R7$(2),I.Y8G("truncate",!1),I.R7$(),I.SpI(" ",I.bMT(4,16,"bitwardenFreeplanMessage")," "),I.R7$(4),I.SpI(" ",I.bMT(8,18,"upgradeCompleteSecurity")," "),I.R7$(3),I.SpI(" ",I.bMT(11,20,"individualUpgradeDescriptionMessage")," "),I.R7$(4),I.SpI(" ",I.bMT(15,22,"alreadyHaveSubscriptionQuestion")," "),I.R7$(3),I.SpI(" ",I.bMT(18,24,"alreadyHaveSubscriptionSelfHostedMessage")," "),I.R7$(3),I.SpI(" ",I.bMT(21,26,"uploadYourLicenseFile")," "),I.R7$(4),I.Y8G("tagline",I.bMT(25,28,"planDescPremium"))("button",I.l_i(43,pt,I.bMT(26,30,"upgradeToPremium"),I.lJ4(42,dt)))("features",t.premiumFeatures),I.R7$(4),I.JRh(I.bMT(29,32,"premium")),I.R7$(3),I.Y8G("tagline",I.bMT(32,34,"planDescFamiliesV2"))("button",I.l_i(47,ht,I.bMT(33,36,"upgradeToFamilies"),I.lJ4(46,dt)))("features",t.familiesFeatures),I.R7$(4),I.JRh(I.bMT(36,38,"families")),I.R7$(4),I.SpI(" ",I.bMT(40,40,"viewAllPlans")," ")}}class gt{constructor(t,e,i,n,s,r,a,c){this.accountService=t,this.activatedRoute=e,this.billingAccountProfileStateService=i,this.dialogService=n,this.environmentService=s,this.i18nService=r,this.router=a,this.toastService=c,this.cloudPremiumPageUrl$=this.environmentService.cloudWebVaultUrl$.pipe((0,p.T)(t=>`${t}/#/settings/subscription/premium`)),this.cloudFamiliesPageUrl$=this.environmentService.cloudWebVaultUrl$.pipe((0,p.T)(t=>`${t}/#/settings/subscription/premium`)),this.hasPremiumFromAnyOrganization$=this.accountService.activeAccount$.pipe((0,d.n)(t=>t?this.billingAccountProfileStateService.hasPremiumFromAnyOrganization$(t.id):(0,u.of)(!1))),this.hasPremiumPersonally$=this.accountService.activeAccount$.pipe((0,d.n)(t=>t?this.billingAccountProfileStateService.hasPremiumPersonally$(t.id):(0,u.of)(!1))),this.shouldShowUpgradeView$=this.hasPremiumPersonally$.pipe((0,p.T)(t=>!t)),this.premiumFeatures=[this.i18nService.t("builtInAuthenticator"),this.i18nService.t("secureFileStorage"),this.i18nService.t("emergencyAccess"),this.i18nService.t("breachMonitoring"),this.i18nService.t("andMoreFeatures")],this.familiesFeatures=[this.i18nService.t("premiumAccounts"),this.i18nService.t("familiesUnlimitedSharing"),this.i18nService.t("familiesUnlimitedCollections"),this.i18nService.t("familiesSharedStorage")],this.destroyRef=(0,o.WQX)(o.abz),this.openUploadLicenseDialog=()=>ut(this,void 0,void 0,function*(){const t=rt.open(this.dialogService);(yield(0,C.s)(t.closed))===O.Y.Updated&&(this.toastService.showToast({variant:"success",title:"",message:this.i18nService.t("premiumUpdated")}),yield this.navigateToSubscription())}),this.navigateToSubscription=()=>ut(this,void 0,void 0,function*(){return this.router.navigate(["../user-subscription"],{relativeTo:this.activatedRoute})}),this.onPremiumUpgradeClick=()=>ut(this,void 0,void 0,function*(){const t=yield(0,E._)(this.cloudPremiumPageUrl$);t?window.open(t,"_blank","noopener,noreferrer"):this.toastService.showToast({variant:"error",title:"",message:this.i18nService.t("cloudUrlNotConfigured")})}),this.onFamiliesUpgradeClick=()=>ut(this,void 0,void 0,function*(){const t=yield(0,E._)(this.cloudFamiliesPageUrl$);t?window.open(t,"_blank","noopener,noreferrer"):this.toastService.showToast({variant:"error",title:"",message:this.i18nService.t("cloudUrlNotConfigured")})}),this.hasPremiumPersonally$.pipe((0,R.pQ)(this.destroyRef),(0,d.n)(t=>t?this.navigateToSubscription():(0,u.of)(!0))).subscribe()}}gt.ɵfac=function(t){return new(t||gt)(I.rXU(h.D),I.rXU(l.nX),I.rXU(m.Q),I.rXU(ot.o),I.rXU(j.v),I.rXU(L.W),I.rXU(l.Ix),I.rXU(z.f))},gt.ɵcmp=I.VBU({type:gt,selectors:[["ng-component"]],decls:3,vars:3,consts:[[1,"tw-max-w-3xl","tw-mx-auto"],[4,"ngIf"],[1,"tw-mt-10","tw-mb-4","tw-text-center"],["bitBadge","","variant","secondary",3,"truncate"],[1,"tw-text-center","tw-rounded"],[1,"tw-mt-2","tw-text-4xl"],[1,"tw-text-sm","tw-text-muted","tw-mb-6","tw-mt-4"],[1,"tw-bg-secondary-100","tw-p-4","tw-rounded-lg","tw-border","tw-border-secondary-300","tw-mb-6"],[1,"tw-font-semibold","tw-mb-0.5"],[1,"tw-text-sm","tw-text-muted","tw-mb-0.5"],["bitLink","","linkType","primary","endIcon","bwi-angle-right",1,"tw-cursor-pointer","tw-text-sm",3,"click"],[1,"tw-grid","tw-grid-cols-1","md:tw-grid-cols-2","tw-gap-6","tw-mt-6","tw-justify-center"],[3,"buttonClick","tagline","button","features"],["slot","title","bitTypography","h3",1,"tw-m-0"],[1,"tw-text-center","tw-mt-6"],["bitLink","","linkType","primary","href","https://bitwarden.com/pricing/","target","_blank","rel","noopener noreferrer","endIcon","bwi-external-link"]],template:function(t,e){1&t&&(I.j41(0,"div",0),I.DNE(1,mt,41,50,"bit-section",1),I.nI1(2,"async"),I.k0s()),2&t&&(I.R7$(),I.Y8G("ngIf",I.bMT(2,1,e.shouldShowUpgradeView$)))},dependencies:[F.MD,F.bT,A.n,G.E,at.n,D.E,ct.r,X.V,lt.g,B.Y2,F.Jj,V.$Z],encapsulation:2});var bt=i(63477),vt=i(94735),ft=i(3160),wt=i(58412),yt=i(82468),St=i(1601),Pt=i(8365),It=i(2003),Tt=i(37579),Ft=i(29029),Mt=i(81573),$t=i(26411),kt=i(86226),Ut=i(93199),xt=i(19934),Rt=i(43759),Ct=function(t,e,i,n){return new(i||(i=Promise))(function(s,r){function o(t){try{c(n.next(t))}catch(e){r(e)}}function a(t){try{c(n.throw(t))}catch(e){r(e)}}function c(t){var e;t.done?s(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(o,a)}c((n=n.apply(t,e||[])).next())})};function Et(t,e){if(1&t&&(I.j41(0,"bit-hint")(1,"strong"),I.EFF(2),I.nI1(3,"i18n"),I.k0s(),I.EFF(4),I.nI1(5,"currency"),I.nI1(6,"currency"),I.nI1(7,"i18n"),I.k0s()),2&t){const t=I.XpG();I.R7$(2),I.JRh(I.bMT(3,5,"total")),I.R7$(2),I.LHq(" ",t.formGroup.value.amount," GB × ",I.i5U(5,7,t.price(),"$")," = ",I.i5U(6,10,t.price()*t.formGroup.value.amount,"$")," / ",I.bMT(7,13,t.term())," ")}}class jt{constructor(){this.accountBillingClient=(0,o.WQX)(S.cH),this.dialogParams=(0,o.WQX)(W.Qs),this.dialogRef=(0,o.WQX)(N.ce),this.i18nService=(0,o.WQX)(L.W),this.toastService=(0,o.WQX)(z.f),this.action=(0,bt.EW)(()=>this.dialogParams.type),this.price=(0,bt.EW)(()=>{if("add"===this.dialogParams.type)return this.dialogParams.price}),this.provided=(0,bt.EW)(()=>{if("add"===this.dialogParams.type)return this.dialogParams.provided}),this.term=(0,bt.EW)(()=>{if("add"===this.dialogParams.type)switch(this.dialogParams.cadence){case"annually":return this.i18nService.t("year");case"monthly":return this.i18nService.t("month")}}),this.existing=(0,bt.EW)(()=>this.dialogParams.existing),this.content=(0,bt.EW)(()=>{switch(this.action()){case"add":return{title:this.i18nService.t("addStorage"),body:this.i18nService.t("storageAddNote"),label:this.i18nService.t("gbStorageAdd")};case"remove":return{title:this.i18nService.t("removeStorage"),body:this.i18nService.t("whenYouRemoveStorage"),label:this.i18nService.t("gbStorageRemove")}}}),this.maxPurchasable=(0,bt.EW)(()=>{const t=this.provided();if(t)return It.J_-t}),this.maxValidatorValue=(0,bt.EW)(()=>{var t;const e=null!==(t=this.maxPurchasable())&&void 0!==t?t:It.J_,i=this.existing();switch(this.action()){case"add":return i?e-i:e;case"remove":return i||0}}),this.formGroup=new J.gE({amount:new J.MJ(1,{nonNullable:!0,validators:[J.k0.required,J.k0.min(1),J.k0.max(this.maxValidatorValue())]})}),this.submit=()=>Ct(this,void 0,void 0,function*(){if(this.formGroup.markAllAsTouched(),!this.formGroup.valid||!this.formGroup.value.amount)return;const t=this.action(),e=this.existing(),i=this.formGroup.value.amount;switch(t){case"add":yield this.accountBillingClient.updateSubscriptionStorage(i+(null!=e?e:0));break;case"remove":yield this.accountBillingClient.updateSubscriptionStorage(e-i)}this.toastService.showToast({variant:"success",title:"",message:this.i18nService.t("adjustedStorage",i)}),yield this.dialogRef.close("submitted")})}}jt.open=(t,e)=>t.open(jt,e),jt.ɵfac=function(t){return new(t||jt)},jt.ɵcmp=I.VBU({type:jt,selectors:[["ng-component"]],decls:17,vars:15,consts:[["bit-dialog","",3,"formGroup","bitSubmit","title"],["bitDialogContent",""],["bitTypography","body1"],[1,"tw-grid","tw-grid-cols-12"],[1,"tw-col-span-7"],["bitInput","","type","number",3,"formControl"],["bitDialogFooter",""],["type","submit","bitButton","","bitFormButton","","buttonType","primary",3,"disabled"],["type","button","bitButton","","bitFormButton","","buttonType","secondary",3,"bitDialogClose"]],template:function(t,e){if(1&t&&(I.j41(0,"form",0),I.qex(1,1),I.j41(2,"p",2),I.EFF(3),I.k0s(),I.j41(4,"div",3)(5,"bit-form-field",4)(6,"bit-label"),I.EFF(7),I.k0s(),I.nrm(8,"input",5),I.nVh(9,Et,8,15,"bit-hint"),I.k0s()(),I.bVm(),I.qex(10,6),I.j41(11,"button",7),I.EFF(12),I.nI1(13,"i18n"),I.k0s(),I.j41(14,"button",8),I.EFF(15),I.nI1(16,"i18n"),I.k0s(),I.bVm(),I.k0s()),2&t){const t=e.content();I.Y8G("formGroup",e.formGroup)("bitSubmit",e.submit)("title",t.title),I.R7$(3),I.JRh(t.body),I.R7$(4),I.JRh(t.label),I.R7$(),I.Y8G("formControl",e.formGroup.controls.amount),I.R7$(),I.vxM("add"===e.action()?9:-1),I.R7$(2),I.Y8G("disabled",e.formGroup.invalid),I.R7$(),I.SpI(" ",I.bMT(13,11,"submit")," "),I.R7$(2),I.Y8G("bitDialogClose","closed"),I.R7$(),I.SpI(" ",I.bMT(16,13,"cancel")," ")}},dependencies:[Tt.C,H.$,Z.L,Ft.t,K.Q,Mt.P,tt.I,et.m,it.hJ,$t.L,kt.j,Ut.I,xt.J,Rt.h,J.X1,J.qT,J.me,J.Q0,J.BC,J.cb,J.l_,J.j4,D.E,ct.r,F.oe,V.$Z],encapsulation:2,changeDetection:0});var At=i(27485),Gt=i(97062),Dt=i(23101),Xt=i(24590),Bt=i(95457),Vt=i(72135),Wt=i(34949),Ot=i(14679),Qt=i(4958),Nt=i(98569),zt=i(81216),Yt=i(60577),Lt=i(33102),_t=function(t,e,i,n){return new(i||(i=Promise))(function(s,r){function o(t){try{c(n.next(t))}catch(e){r(e)}}function a(t){try{c(n.throw(t))}catch(e){r(e)}}function c(t){var e;t.done?s(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(o,a)}c((n=n.apply(t,e||[])).next())})};const Jt=["cartSummaryComponent"],qt=["paymentMethodComponent"],Ht=t=>({type:"checkout",supportsTaxId:t}),Zt="closed",Kt="upgradedToTeams",te="upgradedToEnterprise",ee="upgradedToFamilies";class ie{constructor(){this.INITIAL_TAX_VALUE=0,this.DEFAULT_SEAT_COUNT=1,this.DEFAULT_CADENCE="annually",this.PLAN_MEMBERSHIP_MESSAGES={families:"familiesMembership",teams:"teamsMembership",enterprise:"enterpriseMembership"},this.UPGRADE_STATUS_MAP={families:ee,teams:Kt,enterprise:te},this.UPGRADE_MESSAGE_KEYS={families:"upgradeToFamilies",teams:"upgradeToTeams",enterprise:"upgradeToEnterprise"},this.selectedPlanId=Xt.hFB.required(),this.account=Xt.hFB.required(),this.goBack=(0,Xt.CGW)(),this.complete=(0,Xt.CGW)(),this.cartSummaryComponent=Xt.ebz.required("cartSummaryComponent"),this.paymentMethodComponent=Xt.ebz.required("paymentMethodComponent"),this.formGroup=new J.gE({organizationName:new J.MJ("",[J.k0.required]),paymentMethodForm:n.Pu.getFormGroup(),billingAddress:n.vU.getFormGroup()}),this.selectedPlan=(0,o.vPA)(null),this.loading=(0,o.vPA)(!0),this.upgradeToMessage=(0,o.vPA)(""),this.paymentMethod=(0,o.vPA)(null),this.subscriber=(0,o.vPA)(null),this.planMembershipMessage=(0,bt.EW)(()=>{var t;return null!==(t=this.PLAN_MEMBERSHIP_MESSAGES[this.selectedPlanId()])&&void 0!==t?t:""}),this.showTaxIdField=(0,bt.EW)(()=>this.selectedPlanId()!==wt.OU.Families),this.estimatedInvoice$=(0,Bt.v)(()=>(0,Vt.z)([this.formGroup.controls.billingAddress.valueChanges]).pipe((0,Wt.Z)(this.formGroup.controls.billingAddress.value),(0,Ot.B)(1e3),(0,d.n)(()=>this.refreshInvoicePreview$()))),this.estimatedInvoice=(0,R.ot)(this.estimatedInvoice$,{initialValue:this.getEmptyInvoicePreview()}),this.i18nService=(0,o.WQX)(L.W),this.subscriptionPricingService=(0,o.WQX)(ft.z),this.toastService=(0,o.WQX)(z.f),this.logService=(0,o.WQX)(zt.Kc),this.destroyRef=(0,o.WQX)(o.abz),this.premiumOrgUpgradeService=(0,o.WQX)(Lt.J),this.subscriberBillingClient=(0,o.WQX)(Yt.H),this.accountService=(0,o.WQX)(h.D),this.cart=(0,bt.EW)(()=>this.selectedPlan()?{hidePricingTerm:!0,passwordManager:{seats:{translationKey:this.getMembershipTranslationKey(),translationParams:this.getMembershipTranslationParams(),cost:this.getCartCost(),quantity:this.DEFAULT_SEAT_COUNT,hideBreakdown:!0}},cadence:this.DEFAULT_CADENCE,estimatedTax:this.estimatedInvoice().tax,credit:{value:this.estimatedInvoice().credit,translationKey:"premiumSubscriptionCredit"}}:{hidePricingTerm:!0,passwordManager:{seats:{translationKey:this.planMembershipMessage(),cost:0,quantity:0,hideBreakdown:!0}},cadence:this.DEFAULT_CADENCE,estimatedTax:this.INITIAL_TAX_VALUE}),this.submit=()=>_t(this,void 0,void 0,function*(){var t,e;if(!this.isFormValid())return void this.formGroup.markAllAsTouched();const i=this.paymentMethodComponent(),s=null==i?void 0:i.isChangingPayment(),r=this.paymentMethod();if(!s&&this.premiumOrgUpgradeService.isUnverifiedBankAccount(r))return void this.toastService.showToast({variant:"error",message:this.i18nService.t("unverifiedBankAccountNotSupportedForUpgrade")});if(!this.selectedPlan())throw new Error("No plan selected");const o=null===(t=this.formGroup.value)||void 0===t?void 0:t.organizationName;if(!o)throw new Error("Organization name is required");const a=(0,n.c3)(this.formGroup.controls.billingAddress);if(!a.country||!a.postalCode)throw new Error("Billing address is incomplete");if(s)yield this.updatePaymentMethod(a);else if(!r)throw new Error("Payment method is required");try{const t=yield this.processUpgrade(o,a);this.toastService.showToast({variant:"success",message:this.i18nService.t("plansUpdated",null===(e=this.selectedPlan())||void 0===e?void 0:e.details.name)}),this.complete.emit(t)}catch(c){if(this.logService.error("Upgrade failed:",c),this.premiumOrgUpgradeService.isBankAccountNotSupportedError(c))return void this.toastService.showToast({variant:"error",message:this.i18nService.t("unverifiedBankAccountNotSupportedForUpgrade")});this.toastService.showToast({variant:"error",message:this.i18nService.t("upgradeErrorMessage")})}})}ngOnInit(){return _t(this,void 0,void 0,function*(){this.selectedPlanId()!=wt.OU.Premium?((0,Vt.z)([this.subscriptionPricingService.getPersonalSubscriptionPricingTiers$(),this.subscriptionPricingService.getBusinessSubscriptionPricingTiers$()]).pipe((0,Qt.W)(t=>(this.toastService.showToast({variant:"error",title:this.i18nService.t("error"),message:this.i18nService.t("unexpectedError")}),this.loading.set(!1),(0,u.of)([]))),(0,R.pQ)(this.destroyRef)).subscribe(([t,e])=>{const i=[...t,...e].find(t=>t.id===this.selectedPlanId());i?(this.setSelectedPlan(i),this.setUpgradeMessage(i)):this.complete.emit({status:Zt,organizationId:null})}),this.accountService.activeAccount$.pipe(P.$i,(0,d.n)(t=>(0,Nt.H)(this.subscriberBillingClient.getPaymentMethod(t)).pipe((0,p.T)(e=>({subscriber:t,paymentMethod:e})))),(0,R.pQ)(this.destroyRef)).subscribe(({subscriber:t,paymentMethod:e})=>{this.subscriber.set(t),this.paymentMethod.set(e),this.loading.set(!1)})):this.complete.emit({status:Zt,organizationId:null})})}ngAfterViewInit(){this.cartSummaryComponent().isExpanded.set(!1)}processUpgrade(t,e){return _t(this,void 0,void 0,function*(){const i=yield this.premiumOrgUpgradeService.upgradeToOrganization(this.account(),t,this.selectedPlan().tier,e);return{status:this.getUpgradeStatus(this.selectedPlanId()),organizationId:i}})}getUpgradeStatus(t){var e;return null!==(e=this.UPGRADE_STATUS_MAP[t])&&void 0!==e?e:Zt}updatePaymentMethod(t){return _t(this,void 0,void 0,function*(){const e=this.paymentMethodComponent(),i=yield e.getTokenizedPaymentMethod();yield this.subscriberBillingClient.updatePaymentMethod(this.subscriber(),i,t)})}getMembershipTranslationKey(){var t;return(null===(t=this.estimatedInvoice())||void 0===t?void 0:t.newPlanProratedMonths)>0?"planProratedMembershipInMonths":this.planMembershipMessage()}getMembershipTranslationParams(){var t;if((null===(t=this.estimatedInvoice())||void 0===t?void 0:t.newPlanProratedMonths)>0){const t=this.estimatedInvoice().newPlanProratedMonths,e=this.formatMonthLabel(t);return[this.selectedPlan().details.name,e]}return[]}formatMonthLabel(t){return`${t} month${t>1?"s":""}`}getCartCost(){const t=this.estimatedInvoice().newPlanProratedAmount;return t&&t>0?t:this.selectedPlan().cost}setSelectedPlan(t){this.selectedPlan.set({tier:this.selectedPlanId(),details:t,cost:this.getPlanPrice(t)})}setUpgradeMessage(t){const e=this.UPGRADE_MESSAGE_KEYS[this.selectedPlanId()],i=e?this.i18nService.t(e,t.name):"";this.upgradeToMessage.set(i)}getPlanPrice(t){var e,i;const n=t.passwordManager;return n?"annualPrice"in n?null!==(e=n.annualPrice)&&void 0!==e?e:0:"annualPricePerUser"in n&&null!==(i=n.annualPricePerUser)&&void 0!==i?i:0:0}getEmptyInvoicePreview(){return{tax:this.INITIAL_TAX_VALUE,total:0,credit:0,newPlanProratedMonths:0,newPlanProratedAmount:0}}isFormValid(){const t=this.formGroup.controls.organizationName.valid&&this.formGroup.controls.billingAddress.valid,e=this.paymentMethodComponent(),i=null==e?void 0:e.isChangingPayment();return e&&i?t&&e.isFormValid():t}refreshInvoicePreview$(){if(!this.isFormValid())return(0,u.of)(this.getEmptyInvoicePreview());const t=(0,n.c3)(this.formGroup.controls.billingAddress);return t.country&&t.postalCode?(0,Nt.H)(this.premiumOrgUpgradeService.previewProratedInvoice(this.selectedPlan(),t)).pipe((0,Qt.W)(t=>(this.logService.error("Invoice preview failed:",t),this.toastService.showToast({variant:"error",message:this.i18nService.t("invoicePreviewErrorMessage")}),(0,u.of)(this.getEmptyInvoicePreview())))):(0,u.of)(this.getEmptyInvoicePreview())}}ie.ɵfac=function(t){return new(t||ie)},ie.ɵcmp=I.VBU({type:ie,selectors:[["app-premium-org-upgrade-payment"]],viewQuery:function(t,e){1&t&&I.wEZ(e.cartSummaryComponent,Jt,5)(e.paymentMethodComponent,qt,5),2&t&&I.NyB(2)},inputs:{selectedPlanId:[1,"selectedPlanId"],account:[1,"account"]},outputs:{goBack:"goBack",complete:"complete"},decls:31,vars:31,consts:[["paymentMethodComponent",""],["cartSummaryComponent",""],["bit-dialog","","dialogSize","large",3,"formGroup","bitSubmit","loading"],["bitDialogTitle","",1,"tw-font-medium"],["bitDialogContent",""],[1,"tw-pb-4"],[1,"!tw-mb-0"],["bitInput","","type","text","formControlName","organizationName","required",""],["bitTypography","helper",1,"tw-text-muted"],[1,"tw-pb-8","!tw-mx-0"],[3,"subscriber","paymentMethod","externalFormGroup","showBankAccountOption"],["bitTypography","h5",1,"tw-pt-4","tw-pb-2"],[3,"group","scenario"],[3,"cart","hidePricingTerm"],["bitDialogFooter",""],["bitButton","","bitFormButton","","buttonType","primary","type","submit",3,"disabled"],["bitButton","","type","button","buttonType","secondary",3,"click","disabled"]],template:function(t,e){1&t&&(I.j41(0,"form",2)(1,"span",3),I.EFF(2),I.k0s(),I.qex(3,4),I.j41(4,"section")(5,"div",5)(6,"bit-form-field",6)(7,"bit-label"),I.EFF(8),I.nI1(9,"i18n"),I.k0s(),I.nrm(10,"input",7),I.j41(11,"bit-hint",8),I.EFF(12),I.nI1(13,"i18n"),I.k0s()()(),I.j41(14,"div",9),I.nrm(15,"app-display-payment-method-inline",10,0),I.j41(17,"h5",11),I.EFF(18),I.nI1(19,"i18n"),I.k0s(),I.nrm(20,"app-enter-billing-address",12),I.k0s()(),I.j41(21,"section"),I.nrm(22,"billing-cart-summary",13,1),I.k0s(),I.bVm(),I.qex(24,14),I.j41(25,"button",15),I.EFF(26),I.nI1(27,"i18n"),I.k0s(),I.j41(28,"button",16),I.bIt("click",function(){return e.goBack.emit()}),I.EFF(29),I.nI1(30,"i18n"),I.k0s(),I.bVm(),I.k0s()),2&t&&(I.Y8G("formGroup",e.formGroup)("bitSubmit",e.submit)("loading",e.loading()),I.R7$(2),I.JRh(e.upgradeToMessage()),I.R7$(6),I.JRh(I.bMT(9,19,"organizationName")),I.R7$(4),I.SpI(" ",I.bMT(13,21,"organizationNameDescription")," "),I.R7$(3),I.Y8G("subscriber",e.subscriber())("paymentMethod",e.paymentMethod())("externalFormGroup",e.formGroup.controls.paymentMethodForm)("showBankAccountOption",!1),I.R7$(3),I.JRh(I.bMT(19,23,"billingAddress")),I.R7$(2),I.Y8G("group",e.formGroup.controls.billingAddress)("scenario",I.eq3(29,Ht,e.showTaxIdField())),I.R7$(2),I.Y8G("cart",e.cart())("hidePricingTerm",!0),I.R7$(3),I.Y8G("disabled",e.loading()||!e.isFormValid()),I.R7$(),I.SpI(" ",I.bMT(27,25,"upgrade")," "),I.R7$(2),I.Y8G("disabled",e.loading()),I.R7$(),I.SpI(" ",I.bMT(30,27,"back")," "))},dependencies:[Mt.P,et.m,it.hJ,y.G,J.qT,J.me,J.BC,J.cb,J.YS,J.j4,J.JD,H.$,Z.L,K.Q,kt.j,Ut.I,xt.J,Rt.h,ct.r,B.Oo,Ft.t,n.vU,n.Ww,M.$],encapsulation:2,changeDetection:0});var ne=i(70352),se=i(36288),re=function(t,e,i,n){return new(i||(i=Promise))(function(s,r){function o(t){try{c(n.next(t))}catch(e){r(e)}}function a(t){try{c(n.throw(t))}catch(e){r(e)}}function c(t){var e;t.done?s(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(o,a)}c((n=n.apply(t,e||[])).next())})};function oe(t,e){if(1&t){const t=I.RV6();I.j41(0,"billing-pricing-card",11),I.bIt("buttonClick",function(){o.eBV(t);const e=I.XpG(2);return o.Njj(e.planSelected.emit(e.familiesPlanType))}),I.j41(1,"h3",12),I.EFF(2),I.k0s()()}if(2&t){const t=I.XpG(2);I.Y8G("tagline",t.familiesCardDetails.tagline)("price",t.familiesCardDetails.price)("button",t.familiesCardDetails.button)("features",t.familiesCardDetails.features),I.R7$(2),I.SpI(" ",t.familiesCardDetails.title," ")}}function ae(t,e){if(1&t){const t=I.RV6();I.j41(0,"billing-pricing-card",11),I.bIt("buttonClick",function(){o.eBV(t);const e=I.XpG(2);return o.Njj(e.planSelected.emit(e.teamsPlanType))}),I.j41(1,"h3",12),I.EFF(2),I.k0s()()}if(2&t){const t=I.XpG(2);I.Y8G("tagline",t.teamsCardDetails.tagline)("price",t.teamsCardDetails.price)("button",t.teamsCardDetails.button)("features",t.teamsCardDetails.features),I.R7$(2),I.SpI(" ",t.teamsCardDetails.title," ")}}function ce(t,e){if(1&t){const t=I.RV6();I.j41(0,"billing-pricing-card",11),I.bIt("buttonClick",function(){o.eBV(t);const e=I.XpG(2);return o.Njj(e.planSelected.emit(e.enterprisePlanType))}),I.j41(1,"h3",12),I.EFF(2),I.k0s()()}if(2&t){const t=I.XpG(2);I.Y8G("tagline",t.enterpriseCardDetails.tagline)("price",t.enterpriseCardDetails.price)("button",t.enterpriseCardDetails.button)("features",t.enterpriseCardDetails.features),I.R7$(2),I.SpI(" ",t.enterpriseCardDetails.title," ")}}function le(t,e){if(1&t){const t=I.RV6();I.j41(0,"section",0)(1,"header",1)(2,"button",2),I.nI1(3,"i18n"),I.bIt("click",function(){o.eBV(t);const e=I.XpG();return o.Njj(e.closeClicked.emit(e.closedStatus))}),I.k0s()(),I.j41(4,"div",3)(5,"div",4)(6,"h1",5),I.EFF(7),I.nI1(8,"i18n"),I.k0s(),I.j41(9,"p",6),I.EFF(10),I.nI1(11,"i18n"),I.k0s()(),I.j41(12,"div",7),I.nVh(13,oe,3,5,"billing-pricing-card",8),I.nVh(14,ae,3,5,"billing-pricing-card",8),I.nVh(15,ce,3,5,"billing-pricing-card",8),I.k0s(),I.j41(16,"div",9)(17,"p",10),I.EFF(18),I.nI1(19,"i18n"),I.k0s()()()()}if(2&t){const t=I.XpG();I.R7$(2),I.Y8G("label",I.bMT(3,7,"close")),I.R7$(5),I.SpI(" ",I.bMT(8,9,"upgradeYourPlan")," "),I.R7$(3),I.SpI(" ",I.bMT(11,11,"upgradeShareEvenMore")," "),I.R7$(3),I.vxM(t.familiesCardDetails?13:-1),I.R7$(),I.vxM(t.teamsCardDetails?14:-1),I.R7$(),I.vxM(t.enterpriseCardDetails?15:-1),I.R7$(3),I.SpI(" ",I.bMT(19,13,"organizationUpgradeTaxInformationMessage")," ")}}const ue="closed";class de{constructor(t,e,i,n){this.i18nService=t,this.subscriptionPricingService=e,this.toastService=i,this.destroyRef=n,this.planSelected=(0,Xt.CGW)(),this.closeClicked=(0,Xt.CGW)(),this.closedStatus=ue,this.loading=(0,o.vPA)(!0),this.familiesPlanType=wt.OU.Families,this.teamsPlanType=wt.ql.Teams,this.enterprisePlanType=wt.ql.Enterprise}ngOnInit(){return re(this,void 0,void 0,function*(){(0,Vt.z)([this.subscriptionPricingService.getPersonalSubscriptionPricingTiers$(),this.subscriptionPricingService.getBusinessSubscriptionPricingTiers$()]).pipe((0,Qt.W)(t=>(this.toastService.showToast({variant:"error",title:"",message:this.i18nService.t("unexpectedError")}),this.loading.set(!1),(0,u.of)([[],[]]))),(0,R.pQ)(this.destroyRef)).subscribe(([t,e])=>{this.setupCardDetails(t,e),this.loading.set(!1)})})}setupCardDetails(t,e){const i=t.find(t=>t.id===wt.OU.Families),n=e.find(t=>t.id===wt.ql.Teams),s=e.find(t=>t.id===wt.ql.Enterprise);i&&(this.familiesCardDetails=this.createCardDetails(i,"primary")),n&&(this.teamsCardDetails=this.createCardDetails(n,"secondary")),s&&(this.enterpriseCardDetails=this.createCardDetails(s,"secondary"))}createCardDetails(t,e){let i,n;switch(t.id){case wt.OU.Families:i="upgradeToFamilies";break;case wt.ql.Teams:i="upgradeToTeams";break;case wt.ql.Enterprise:i="upgradeToEnterprise";break;default:i=""}let s=!1;return"annualPrice"in t.passwordManager?n=t.passwordManager.annualPrice:"annualPricePerUser"in t.passwordManager&&(n=t.passwordManager.annualPricePerUser,s=!0),{title:t.name,tagline:t.description,price:n&&n>0?{amount:n/12,cadence:"month",showPerUser:s}:void 0,button:{text:this.i18nService.t(i),type:e},features:t.passwordManager.features.map(t=>t.value)}}}de.ɵfac=function(t){return new(t||de)(I.rXU(L.W),I.rXU(ft.z),I.rXU(z.f),I.rXU(o.abz))},de.ɵcmp=I.VBU({type:de,selectors:[["app-premium-org-upgrade-plan-selection"]],outputs:{planSelected:"planSelected",closeClicked:"closeClicked"},decls:1,vars:1,consts:[["cdkTrapFocus","","cdkTrapFocusAutoCapture","","tabindex","0",1,"tw-w-screen","tw-max-h-screen","tw-min-w-[332px]","md:tw-max-w-6xl","tw-overflow-y-auto","tw-self-center","tw-bg-background","tw-rounded-xl","tw-shadow-lg","tw-border-secondary-100","tw-border-solid","tw-border"],[1,"tw-flex","tw-items-center","tw-justify-end","tw-pl-6","tw-pt-3","tw-pr-2"],["cdkFocusInitial","","type","button","bitIconButton","bwi-close","buttonType","primaryGhost","size","default",3,"click","label"],[1,"tw-px-14","tw-py-8"],[1,"tw-flex","tw-text-center","tw-flex-col","tw-pb-4"],[1,"tw-font-medium","tw-text-[32px]"],["bitTypography","body1",1,"tw-text-muted"],[1,"tw-grid","tw-grid-cols-1","md:tw-grid-cols-2","lg:tw-grid-cols-3","tw-gap-5","tw-mb-4"],[1,"tw-w-full","tw-min-w-[216px]",3,"tagline","price","button","features"],[1,"tw-text-center","tw-w-full"],["bitTypography","helper",1,"tw-text-muted","tw-italic"],[1,"tw-w-full","tw-min-w-[216px]",3,"buttonClick","tagline","price","button","features"],["slot","title","bitTypography","h3",1,"tw-m-0"]],template:function(t,e){1&t&&I.nVh(0,le,20,15,"section",0),2&t&&I.vxM(e.loading()?-1:0)},dependencies:[F.MD,Mt.P,y.G,se.s,ct.r,Dt.IJ,B.Y2,ne.kB,M.$],encapsulation:2,changeDetection:0});var pe=function(t,e,i,n){return new(i||(i=Promise))(function(s,r){function o(t){try{c(n.next(t))}catch(e){r(e)}}function a(t){try{c(n.throw(t))}catch(e){r(e)}}function c(t){var e;t.done?s(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(o,a)}c((n=n.apply(t,e||[])).next())})};function he(t,e){if(1&t){const t=I.RV6();I.j41(0,"app-premium-org-upgrade-plan-selection",1),I.bIt("planSelected",function(e){o.eBV(t);const i=I.XpG();return o.Njj(i.onPlanSelected(e))})("closeClicked",function(){o.eBV(t);const e=I.XpG();return o.Njj(e.onCloseClicked())}),I.k0s()}}function me(t,e){if(1&t){const t=I.RV6();I.j41(0,"app-premium-org-upgrade-payment",2),I.bIt("goBack",function(){o.eBV(t);const e=I.XpG();return o.Njj(e.previousStep())})("complete",function(e){o.eBV(t);const i=I.XpG();return o.Njj(i.onComplete(e))}),I.k0s()}if(2&t){const t=I.XpG();I.Y8G("selectedPlanId",t.selectedPlan())("account",t.account())}}const ge="closed",be="upgradedToFamilies",ve="upgradedToTeams",fe="upgradedToEnterprise",we="planSelection",ye="payment";class Se{constructor(t,e,i,n,s){this.dialogRef=t,this.params=e,this.router=i,this.billingAccountProfileStateService=n,this.configService=s,this.step=(0,o.vPA)(we),this.selectedPlan=(0,o.vPA)(null),this.account=(0,o.vPA)(null),this.hasPremiumPersonally=(0,R.ot)(this.billingAccountProfileStateService.hasPremiumPersonally$(this.params.account.id),{initialValue:!1}),this.premiumToOrganizationUpgradeEnabled=(0,R.ot)(this.configService.getFeatureFlag$(yt.TO.PM29593_PremiumToOrganizationUpgrade),{initialValue:!1}),this.showPremiumToOrganizationUpgrade=(0,bt.EW)(()=>this.hasPremiumPersonally()&&this.premiumToOrganizationUpgradeEnabled()),this.PaymentStep=ye,this.PlanSelectionStep=we}ngOnInit(){return pe(this,void 0,void 0,function*(){var t,e;this.showPremiumToOrganizationUpgrade()?(this.account.set(this.params.account),this.step.set(null!==(t=this.params.initialStep)&&void 0!==t?t:we),this.selectedPlan.set(null!==(e=this.params.selectedPlan)&&void 0!==e?e:null)):this.close({status:ge})})}onPlanSelected(t){this.selectedPlan.set(t),this.nextStep()}onCloseClicked(){return pe(this,void 0,void 0,function*(){this.close({status:ge})})}close(t){this.dialogRef.close(t)}nextStep(){this.step()===we&&this.step.set(ye)}previousStep(){return pe(this,void 0,void 0,function*(){var t;this.step()===ye&&null==(null===(t=this.params)||void 0===t?void 0:t.initialStep)?(this.step.set(we),this.selectedPlan.set(null)):this.close({status:ge})})}onComplete(t){return pe(this,void 0,void 0,function*(){let e;switch(t.status){case"upgradedToFamilies":e=be;break;case"upgradedToTeams":e=ve;break;case"upgradedToEnterprise":e=fe;break;default:e=ge}if(this.close({status:e,organizationId:t.organizationId}),this.params.redirectOnCompletion&&(e===be||e===fe||e===ve)){const e=`/organizations/${t.organizationId}/vault`;yield this.router.navigate([e])}})}static open(t,e){return t.open(Se,{data:e.data})}}Se.ɵfac=function(t){return new(t||Se)(I.rXU(N.ce),I.rXU(W.Qs),I.rXU(l.Ix),I.rXU(m.Q),I.rXU(St.w))},Se.ɵcmp=I.VBU({type:Se,selectors:[["app-premium-org-upgrade-dialog"]],decls:2,vars:1,consts:[[3,"selectedPlanId","account"],[3,"planSelected","closeClicked"],[3,"goBack","complete","selectedPlanId","account"]],template:function(t,e){1&t&&I.nVh(0,he,1,0,"app-premium-org-upgrade-plan-selection")(1,me,1,2,"app-premium-org-upgrade-payment",0),2&t&&I.vxM(e.step()==e.PlanSelectionStep?0:e.step()==e.PaymentStep&&null!==e.selectedPlan()&&null!==e.account()?1:-1)},dependencies:[F.MD,Mt.P,Ft.t,Dt.IJ,de,ie],encapsulation:2,changeDetection:0});var Pe=function(t,e,i,n){return new(i||(i=Promise))(function(s,r){function o(t){try{c(n.next(t))}catch(e){r(e)}}function a(t){try{c(n.throw(t))}catch(e){r(e)}}function c(t){var e;t.done?s(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(o,a)}c((n=n.apply(t,e||[])).next())})};function Ie(t,e){1&t&&(I.qex(0),I.nrm(1,"i",0),I.nI1(2,"i18n"),I.j41(3,"span",1),I.EFF(4),I.nI1(5,"i18n"),I.k0s(),I.bVm()),2&t&&(I.R7$(),I.Y8G("title",I.mNQ(I.bMT(2,3,"loading"))),I.R7$(3),I.JRh(I.bMT(5,5,"loading")))}function Te(t,e){if(1&t){const t=I.RV6();I.j41(0,"billing-storage-card",9),I.bIt("callToActionClicked",function(e){o.eBV(t);const i=I.XpG(3);return o.Njj(i.onStorageCardAction(e))}),I.k0s()}if(2&t){const t=I.XpG(3);I.Y8G("storage",e)("addStorageDisabled",!t.canAddStorage())("removeStorageDisabled",!t.canRemoveStorage())}}function Fe(t,e){if(1&t){const t=I.RV6();I.j41(0,"div",2)(1,"h1",3),I.EFF(2),I.nI1(3,"i18n"),I.k0s(),I.j41(4,"p",4),I.EFF(5),I.nI1(6,"i18n"),I.k0s()(),I.j41(7,"div",5)(8,"billing-subscription-card",6),I.nI1(9,"i18n"),I.bIt("callToActionClicked",function(e){o.eBV(t);const i=I.XpG(2);return o.Njj(i.onSubscriptionCardAction(e))}),I.k0s(),I.nVh(10,Te,1,3,"billing-storage-card",7),I.j41(11,"billing-additional-options-card",8),I.bIt("callToActionClicked",function(e){o.eBV(t);const i=I.XpG(2);return o.Njj(i.onAdditionalOptionsCardAction(e))}),I.k0s()()}if(2&t){let t;const i=e,n=I.XpG(2);I.R7$(2),I.JRh(I.bMT(3,8,"youHavePremium")),I.R7$(3),I.SpI(" ",I.bMT(6,10,"viewAndManagePremiumSubscription")," "),I.R7$(3),I.Y8G("title",I.bMT(9,12,"premiumMembership"))("subscription",i)("showUpgradeButton",n.canUpgradeFromPremium()),I.R7$(2),I.vxM((t=i.storage)?10:-1,t),I.R7$(),I.Y8G("downloadLicenseDisabled",n.subscriptionTerminal())("cancelSubscriptionDisabled",!n.canCancelSubscription())}}function Me(t,e){if(1&t&&I.nVh(0,Fe,12,14),2&t){let t;const e=I.XpG();I.vxM((t=e.subscription.value())?0:-1,t)}}class $e{constructor(){this.accountService=(0,o.WQX)(h.D),this.activatedRoute=(0,o.WQX)(l.nX),this.accountBillingClient=(0,o.WQX)(S.cH),this.billingAccountProfileStateService=(0,o.WQX)(m.Q),this.configService=(0,o.WQX)(St.w),this.dialogService=(0,o.WQX)(ot.o),this.fileDownloadService=(0,o.WQX)(Pt.y),this.i18nService=(0,o.WQX)(L.W),this.router=(0,o.WQX)(l.Ix),this.subscriptionPricingService=(0,o.WQX)(ft.z),this.toastService=(0,o.WQX)(z.f),this.account=(0,R.ot)(this.accountService.activeAccount$),this.hasPremiumPersonally=(0,R.ot)(this.accountService.activeAccount$.pipe((0,d.n)(t=>t?this.billingAccountProfileStateService.hasPremiumPersonally$(t.id):(0,u.of)(!1))),{initialValue:!1}),this.hasPremiumFromAnyOrganization=(0,R.ot)(this.accountService.activeAccount$.pipe((0,d.n)(t=>t?this.billingAccountProfileStateService.hasPremiumFromAnyOrganization$(t.id):(0,u.of)(!1))),{initialValue:!1}),this.subscription=(0,bt.Zc)(Object.assign(Object.assign({},{}),{params:()=>({account:this.account()}),loader:t=>Pe(this,[t],void 0,function*({params:{account:t}}){if(!t)return yield this.router.navigate(["/settings/subscription/premium"]),null;const e=yield this.accountBillingClient.getSubscription();if(!e){const t=this.hasPremiumFromAnyOrganization();return yield this.router.navigate([t?"/vault":"/settings/subscription/premium"]),null}return e})})),this.subscriptionLoading=(0,bt.EW)(()=>this.subscription.isLoading()),this.subscriptionTerminal=(0,bt.EW)(()=>{const t=this.subscription.value();if(t)return t.status===It.gc.Incomplete||t.status===It.gc.IncompleteExpired||t.status===It.gc.Canceled||t.status===It.gc.Unpaid}),this.subscriptionPendingCancellation=(0,bt.EW)(()=>{const t=this.subscription.value();if(t)return(t.status===It.gc.Trialing||t.status===It.gc.Active)&&!!t.cancelAt}),this.storage=(0,bt.EW)(()=>{const t=this.subscription.value();return null==t?void 0:t.storage}),this.purchasedStorage=(0,bt.EW)(()=>{var t;const e=this.subscription.value();return null===(t=null==e?void 0:e.cart.passwordManager.additionalStorage)||void 0===t?void 0:t.quantity}),this.premiumPlan=(0,R.ot)(this.subscriptionPricingService.getPersonalSubscriptionPricingTiers$().pipe((0,p.T)(t=>t.find(t=>t.id===wt.OU.Premium)))),this.premiumStoragePrice=(0,bt.EW)(()=>{const t=this.premiumPlan();return null==t?void 0:t.passwordManager.annualPricePerAdditionalStorageGB}),this.premiumProvidedStorage=(0,bt.EW)(()=>{const t=this.premiumPlan();return null==t?void 0:t.passwordManager.providedStorageGB}),this.canAddStorage=(0,bt.EW)(()=>{if(this.subscriptionTerminal())return!1;const t=this.storage(),e=this.premiumProvidedStorage();if(t&&e){const i=It.J_-e;return t.available<i}}),this.canRemoveStorage=(0,bt.EW)(()=>{if(this.subscriptionTerminal())return!1;const t=this.purchasedStorage();if(!t||0===t)return!1;const e=this.storage();return e?e.available>e.used:void 0}),this.canCancelSubscription=(0,bt.EW)(()=>!this.subscriptionTerminal()&&!this.subscriptionPendingCancellation()),this.premiumToOrganizationUpgradeEnabled=(0,R.ot)(this.configService.getFeatureFlag$(yt.TO.PM29593_PremiumToOrganizationUpgrade),{initialValue:!1}),this.canUpgradeFromPremium=(0,bt.EW)(()=>{const t=this.hasPremiumPersonally(),e=this.premiumToOrganizationUpgradeEnabled();return t&&e}),this.onSubscriptionCardAction=t=>Pe(this,void 0,void 0,function*(){switch(t){case It.xI.ContactSupport:window.open("https://bitwarden.com/contact/","_blank");break;case It.xI.ManageInvoices:yield this.router.navigate(["../billing-history"],{relativeTo:this.activatedRoute});break;case It.xI.ReinstateSubscription:if(!(yield this.dialogService.openSimpleDialog({title:{key:"reinstateSubscription"},content:{key:"reinstateConfirmation"},type:"warning"})))return;yield this.accountBillingClient.reinstateSubscription(),this.toastService.showToast({variant:"success",title:"",message:this.i18nService.t("reinstated")}),this.subscription.reload();break;case It.xI.UpdatePayment:yield this.router.navigate(["../payment-details"],{relativeTo:this.activatedRoute});break;case It.xI.Resubscribe:{const t=this.account();if(!t)return;const e=At.gY.open(this.dialogService,{data:{account:t,initialStep:At.TT.Payment,selectedPlan:wt.OU.Premium}}),i=yield(0,C.s)(e.closed);(null==i?void 0:i.status)===At.PD.UpgradedToPremium&&this.subscription.reload();break}case It.xI.UpgradePlan:yield this.openUpgradeDialog()}}),this.onStorageCardAction=t=>Pe(this,void 0,void 0,function*(){const e=this.getAdjustStorageDialogParams(t),i=jt.open(this.dialogService,{data:e});"submitted"===(yield(0,C.s)(i.closed))&&this.subscription.reload()}),this.onAdditionalOptionsCardAction=t=>Pe(this,void 0,void 0,function*(){switch(t){case It.vo.DownloadLicense:{const t=yield this.accountBillingClient.getLicense(),e=JSON.stringify(t,null,2);this.fileDownloadService.download({fileName:"bitwarden_premium_license.json",blobData:e});break}case It.vo.CancelSubscription:{const t=(0,Gt.GM)(this.dialogService,{data:{type:"User"}});if((yield(0,C.s)(t.closed))===Gt.vD.Closed)return;this.subscription.reload()}}}),this.getAdjustStorageDialogParams=t=>{const e=this.purchasedStorage(),i=this.premiumStoragePrice(),n=this.premiumProvidedStorage();switch(t){case It.Xc.AddStorage:if(i&&n)return{type:"add",price:i,provided:n,cadence:"annually",existing:e};break;case It.Xc.RemoveStorage:if(e)return{type:"remove",existing:e}}},this.openUpgradeDialog=()=>Pe(this,void 0,void 0,function*(){const t=this.account();if(!t)return;const e={account:t,redirectOnCompletion:!0},i=Se.open(this.dialogService,{data:e});yield(0,E._)(i.closed)})}}$e.ɵfac=function(t){return new(t||$e)},$e.ɵcmp=I.VBU({type:$e,selectors:[["ng-component"]],decls:2,vars:1,consts:[["aria-hidden","true",1,"bwi","bwi-spinner","bwi-spin","tw-text-muted",3,"title"],[1,"tw-sr-only"],[1,"tw-flex","tw-flex-col","tw-gap-3","tw-items-center","tw-text-center","tw-pb-8","tw-pt-12","tw-px-14"],["bitTypography","h1",1,"tw-m-0"],["bitTypography","body1",1,"tw-m-0","tw-text-muted"],[1,"tw-flex","tw-flex-col","tw-gap-10","tw-mx-auto","tw-max-w-[800px]","tw-pb-8"],[3,"callToActionClicked","title","subscription","showUpgradeButton"],[3,"storage","addStorageDisabled","removeStorageDisabled"],[3,"callToActionClicked","downloadLicenseDisabled","cancelSubscriptionDisabled"],[3,"callToActionClicked","storage","addStorageDisabled","removeStorageDisabled"]],template:function(t,e){1&t&&I.nVh(0,Ie,6,7,"ng-container")(1,Me,1,1),2&t&&I.vxM(e.subscriptionLoading()?0:1)},dependencies:[It.Vj,vt.p,It.db,It.ZS,D.E,ct.r,V.$Z],encapsulation:2,changeDetection:0});var ke=i(67379),Ue=function(t,e,i,n){return new(i||(i=Promise))(function(s,r){function o(t){try{c(n.next(t))}catch(e){r(e)}}function a(t){try{c(n.throw(t))}catch(e){r(e)}}function c(t){var e;t.done?s(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(o,a)}c((n=n.apply(t,e||[])).next())})};function xe(t,e){1&t&&(I.nrm(0,"i",0),I.nI1(1,"i18n"),I.j41(2,"span",1),I.EFF(3),I.nI1(4,"i18n"),I.k0s()),2&t&&(I.Y8G("title",I.mNQ(I.bMT(1,3,"loading"))),I.R7$(3),I.JRh(I.bMT(4,5,"loading")))}function Re(t,e){1&t&&(I.j41(0,"span",10),I.EFF(1),I.nI1(2,"i18n"),I.k0s()),2&t&&(I.R7$(),I.JRh(I.bMT(2,1,"active")))}function Ce(t,e){if(1&t&&(I.j41(0,"p",11),I.EFF(1),I.nI1(2,"i18n"),I.j41(3,"strong"),I.EFF(4),I.nI1(5,"date"),I.k0s(),I.EFF(6,". "),I.k0s()),2&t){const t=I.XpG(2);I.R7$(),I.SpI(" ",I.bMT(2,2,"youNeedToUpdateLicenseFile")," "),I.R7$(3),I.JRh(I.i5U(5,4,t.expiration(),"MMMM d, y"))}}function Ee(t,e){if(1&t){const t=I.RV6();I.j41(0,"div",2)(1,"h1",3),I.EFF(2),I.nI1(3,"i18n"),I.k0s(),I.j41(4,"p",4),I.EFF(5),I.nI1(6,"i18n"),I.k0s()(),I.j41(7,"div",5)(8,"bit-base-card",6)(9,"div",7)(10,"div",8)(11,"div")(12,"h2",9),I.EFF(13),I.nI1(14,"i18n"),I.k0s()(),I.nVh(15,Re,3,3,"span",10),I.k0s(),I.nVh(16,Ce,7,7,"p",11),I.j41(17,"div",12)(18,"button",13),I.bIt("click",function(){o.eBV(t);const e=I.XpG();return o.Njj(e.updateLicense())}),I.EFF(19),I.nI1(20,"i18n"),I.k0s(),I.j41(21,"a",14),I.EFF(22),I.nI1(23,"i18n"),I.k0s()()()()()}if(2&t){const t=I.XpG();I.R7$(2),I.JRh(I.bMT(3,8,"youHavePremium")),I.R7$(3),I.SpI(" ",I.bMT(6,10,"viewAndManagePremiumSubscription")," "),I.R7$(8),I.SpI(" ",I.bMT(14,12,"premiumMembership")," "),I.R7$(2),I.vxM(t.isActive()?15:-1),I.R7$(),I.vxM(t.expiration()?16:-1),I.R7$(3),I.SpI(" ",I.bMT(20,14,"updateLicense")," "),I.R7$(2),I.Y8G("href",t.cloudSubscriptionUrl(),I.B4B),I.R7$(),I.SpI(" ",I.bMT(23,16,"launchCloudSubscriptionSentenceCase")," ")}}class je{constructor(){this.accountService=(0,o.WQX)(h.D),this.apiService=(0,o.WQX)(Y.G),this.dialogService=(0,o.WQX)(ot.o),this.environmentService=(0,o.WQX)(j.v),this.account=(0,R.ot)(this.accountService.activeAccount$),this.subscription=(0,bt.Zc)(Object.assign(Object.assign({},{}),{params:()=>({account:this.account()}),loader:t=>Ue(this,[t],void 0,function*({params:{account:t}}){return t?yield this.apiService.getUserSubscription():null})})),this.subscriptionLoading=this.subscription.isLoading,this.expiration=(0,bt.EW)(()=>{var t,e;return null!==(e=null===(t=this.subscription.value())||void 0===t?void 0:t.expiration)&&void 0!==e?e:null}),this.isActive=(0,bt.EW)(()=>{const t=this.expiration();if(!t)return!1;const e=new Date(t);return!isNaN(e.getTime())&&e>new Date}),this.cloudSubscriptionUrl=(0,R.ot)(this.environmentService.cloudWebVaultUrl$.pipe((0,p.T)(t=>`${t}/#/settings/subscription`)),{initialValue:""})}updateLicense(){return Ue(this,void 0,void 0,function*(){const t=rt.open(this.dialogService,{data:{fromUserSubscriptionPage:!0}});(yield(0,C.s)(t.closed))===O.Y.Updated&&this.subscription.reload()})}}je.ɵfac=function(t){return new(t||je)},je.ɵcmp=I.VBU({type:je,selectors:[["ng-component"]],decls:2,vars:1,consts:[["aria-hidden","true",1,"bwi","bwi-spinner","bwi-spin","tw-text-muted",3,"title"],[1,"tw-sr-only"],[1,"tw-mt-10","tw-text-center","tw-pb-4"],["bitTypography","h1",1,"tw-my-0"],["bitTypography","body1",1,"tw-text-muted","tw-mb-4","tw-mt-2"],[1,"tw-flex","tw-justify-center"],[1,"tw-w-[800px]","tw-p-4","sm:tw-p-6"],[1,"tw-flex","tw-flex-col","tw-gap-5"],[1,"tw-flex","tw-items-center","tw-justify-between"],["bitTypography","h2",1,"tw-font-semibold","tw-mb-0"],["bitBadge","","variant","success"],["bitTypography","body1",1,"tw-m-0"],[1,"tw-flex","tw-gap-4"],["type","button","bitButton","","buttonType","secondary",3,"click"],["bitButton","","buttonType","secondary","target","_blank","rel","noreferrer","endIcon","bwi-external-link",3,"href"]],template:function(t,e){1&t&&I.nVh(0,xe,5,7)(1,Ee,24,18),2&t&&I.vxM(e.subscriptionLoading()?0:1)},dependencies:[G.E,at.n,ke.f,Ft.t,K.Q,D.E,ct.r,F.vh,V.$Z],encapsulation:2,changeDetection:0});var Ae=i(2922),Ge=i(78650),De=function(t,e,i,n){return new(i||(i=Promise))(function(s,r){function o(t){try{c(n.next(t))}catch(e){r(e)}}function a(t){try{c(n.throw(t))}catch(e){r(e)}}function c(t){var e;t.done?s(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(o,a)}c((n=n.apply(t,e||[])).next())})};function Xe(t,e){1&t&&(I.qex(0),I.nrm(1,"i",3),I.nI1(2,"i18n"),I.j41(3,"span",4),I.EFF(4),I.nI1(5,"i18n"),I.k0s(),I.bVm()),2&t&&(I.R7$(),I.Y8G("title",I.mNQ(I.bMT(2,3,"loading"))),I.R7$(3),I.JRh(I.bMT(5,5,"loading")))}function Be(t,e){if(1&t){const t=I.RV6();I.j41(0,"button",7),I.bIt("click",function(){o.eBV(t);const e=I.XpG(2);return o.Njj(e.load())}),I.EFF(1),I.nI1(2,"i18n"),I.k0s()}2&t&&(I.R7$(),I.SpI(" ",I.bMT(2,1,"loadMore")," "))}function Ve(t,e){if(1&t&&(I.qex(0),I.nrm(1,"app-billing-history",5),I.DNE(2,Be,3,3,"button",6),I.bVm()),2&t){const t=I.XpG();I.R7$(),I.Y8G("openInvoices",t.openInvoices)("paidInvoices",t.paidInvoices)("transactions",t.transactions),I.R7$(),I.Y8G("ngIf",t.hasAdditionalHistory)}}class We{constructor(t,e,i){this.platformUtilsService=t,this.router=e,this.accountBillingApiService=i,this.loading=!1,this.firstLoaded=!1,this.openInvoices=[],this.paidInvoices=[],this.transactions=[],this.hasAdditionalHistory=!1}ngOnInit(){return De(this,void 0,void 0,function*(){this.platformUtilsService.isSelfHost()?this.router.navigate(["/settings/subscription"]):(yield this.load(),this.firstLoaded=!0)})}load(){return De(this,void 0,void 0,function*(){if(this.loading)return;this.loading=!0;const t=this.accountBillingApiService.getBillingInvoices("open",this.openInvoices.length>0?this.openInvoices[this.openInvoices.length-1].id:null),e=this.accountBillingApiService.getBillingInvoices("paid",this.paidInvoices.length>0?this.paidInvoices[this.paidInvoices.length-1].id:null),i=this.accountBillingApiService.getBillingTransactions(this.transactions.length>0?this.transactions[this.transactions.length-1].createdDate:null),n=yield t,s=yield e,r=yield i;this.openInvoices=[...this.openInvoices,...n],this.paidInvoices=[...this.paidInvoices,...s],this.transactions=[...this.transactions,...r],this.hasAdditionalHistory=n.length>=5||s.length>=5||r.length>=5,this.loading=!1})}}We.ɵfac=function(t){return new(t||We)(I.rXU(c.y),I.rXU(l.Ix),I.rXU(Ae.k))},We.ɵcmp=I.VBU({type:We,selectors:[["ng-component"]],standalone:!1,decls:6,vars:5,consts:[[1,"tw-flex","tw-justify-between","tw-mb-2","tw-pb-2","tw-mt-6"],["bitTypography","h2"],[4,"ngIf"],["aria-hidden","true",1,"bwi","bwi-spinner","bwi-spin","tw-text-muted",3,"title"],[1,"tw-sr-only"],[3,"openInvoices","paidInvoices","transactions"],["type","button","bitButton","","buttonType","secondary",3,"click",4,"ngIf"],["type","button","bitButton","","buttonType","secondary",3,"click"]],template:function(t,e){1&t&&(I.j41(0,"div",0)(1,"h2",1),I.EFF(2),I.nI1(3,"i18n"),I.k0s()(),I.DNE(4,Xe,6,7,"ng-container",2)(5,Ve,3,4,"ng-container",2)),2&t&&(I.R7$(2),I.SpI(" ",I.bMT(3,3,"billingHistory")," "),I.R7$(2),I.Y8G("ngIf",!e.firstLoaded&&e.loading),I.R7$(),I.Y8G("ngIf",e.openInvoices||e.paidInvoices||e.transactions))},dependencies:[F.bT,K.Q,ct.r,Ge.D,M.$],encapsulation:2});var Oe=i(5206),Qe=i(54596),Ne=function(t,e,i,n){return new(i||(i=Promise))(function(s,r){function o(t){try{c(n.next(t))}catch(e){r(e)}}function a(t){try{c(n.throw(t))}catch(e){r(e)}}function c(t){var e;t.done?s(t.value):(e=t.value,e instanceof i?e:new i(function(t){t(e)})).then(o,a)}c((n=n.apply(t,e||[])).next())})};const ze=t=>({amount:t,cadence:"monthly"}),Ye=t=>({type:"primary",text:t}),Le=t=>({type:"secondary",text:t});function _e(t,e){if(1&t){const t=I.RV6();I.j41(0,"billing-pricing-card",11),I.nI1(1,"i18n"),I.nI1(2,"i18n"),I.bIt("buttonClick",function(){o.eBV(t);const e=I.XpG();return o.Njj(e.openUpgradeDialog("Premium"))}),I.j41(3,"h3",12),I.EFF(4),I.nI1(5,"i18n"),I.k0s()()}if(2&t){const t=e;I.Y8G("tagline",I.bMT(1,5,"advancedOnlineSecurity"))("price",I.eq3(11,ze,t.price))("button",I.eq3(13,Ye,I.bMT(2,7,"upgradeToPremium")))("features",t.features),I.R7$(4),I.JRh(I.bMT(5,9,"premium"))}}function Je(t,e){if(1&t){const t=I.RV6();I.j41(0,"billing-pricing-card",11),I.nI1(1,"i18n"),I.nI1(2,"i18n"),I.bIt("buttonClick",function(){o.eBV(t);const e=I.XpG();return o.Njj(e.openUpgradeDialog("Families"))}),I.j41(3,"h3",12),I.EFF(4),I.nI1(5,"i18n"),I.k0s()()}if(2&t){const t=e;I.Y8G("tagline",I.bMT(1,5,"planDescFamiliesV2"))("price",I.eq3(11,ze,t.price))("button",I.eq3(13,Le,I.bMT(2,7,"startFreeFamiliesTrial")))("features",t.features),I.R7$(4),I.JRh(I.bMT(5,9,"families"))}}const qe="callToAction",He="upgradeToPremium";class Ze{constructor(t,e,i,n,s,r,a,c,l){this.accountBillingClient=t,this.accountService=e,this.apiService=i,this.dialogService=n,this.syncService=s,this.billingAccountProfileStateService=r,this.subscriptionPricingService=a,this.router=c,this.activatedRoute=l,this.destroyRef=(0,o.WQX)(o.abz),this.navigateToSubscriptionPage=()=>this.router.navigate(["../user-subscription"],{relativeTo:this.activatedRoute}),this.navigateToIndividualVault=()=>this.router.navigate(["/vault"]),this.finalizeUpgrade=()=>Ne(this,void 0,void 0,function*(){yield this.apiService.refreshIdentityToken(),yield this.syncService.fullSync(!0)}),this.hasPremiumFromAnyOrganization$=this.accountService.activeAccount$.pipe((0,d.n)(t=>t?this.billingAccountProfileStateService.hasPremiumFromAnyOrganization$(t.id):(0,u.of)(!1))),this.hasPremiumPersonally$=this.accountService.activeAccount$.pipe((0,d.n)(t=>t?this.billingAccountProfileStateService.hasPremiumPersonally$(t.id):(0,u.of)(!1))),this.hasSubscription$=this.accountService.activeAccount$.pipe((0,d.n)(t=>t?(0,Nt.H)(this.accountBillingClient.getSubscription()).pipe((0,p.T)(t=>!!t),(0,Qt.W)(()=>(0,u.of)(!1))):(0,u.of)(!1))),this.accountService.activeAccount$.pipe(P.$i,(0,R.pQ)(this.destroyRef)).subscribe(t=>{this.subscriber=t}),(0,Vt.z)([this.hasSubscription$,this.hasPremiumFromAnyOrganization$]).pipe((0,R.pQ)(this.destroyRef),(0,Oe.s)(1),(0,d.n)(([t,e])=>t?(0,Nt.H)(this.navigateToSubscriptionPage()):e?(0,Nt.H)(this.navigateToIndividualVault()):(0,u.of)(!0))).subscribe(),this.shouldShowUpgradeDialogOnInit$=(0,Vt.z)([this.hasPremiumFromAnyOrganization$,this.hasPremiumPersonally$,this.activatedRoute.queryParams]).pipe((0,p.T)(([t,e,i])=>{const n=i[qe];return!t&&!e&&n===He})),this.personalPricingTiers$=this.subscriptionPricingService.getPersonalSubscriptionPricingTiers$(),this.premiumCardData$=this.personalPricingTiers$.pipe((0,p.T)(t=>{const e=t.find(t=>t.id===wt.OU.Premium);return{tier:e,price:"standalone"===(null==e?void 0:e.passwordManager.type)&&e.passwordManager.annualPrice?Number((e.passwordManager.annualPrice/12).toFixed(2)):0,features:(null==e?void 0:e.passwordManager.features.map(t=>t.value))||[]}}),(0,b.t)({bufferSize:1,refCount:!0})),this.familiesCardData$=this.personalPricingTiers$.pipe((0,p.T)(t=>{const e=t.find(t=>t.id===wt.OU.Families);return{tier:e,price:"packaged"===(null==e?void 0:e.passwordManager.type)&&e.passwordManager.annualPrice?Number((e.passwordManager.annualPrice/12).toFixed(2)):0,features:(null==e?void 0:e.passwordManager.features.map(t=>t.value))||[]}}),(0,b.t)({bufferSize:1,refCount:!0})),this.shouldShowUpgradeDialogOnInit$.pipe((0,Oe.s)(1),(0,d.n)(t=>t?(0,Nt.H)(this.openUpgradeDialog("Premium")):(0,u.of)(void 0)),(0,R.pQ)(this.destroyRef)).subscribe()}openUpgradeDialog(t){return Ne(this,void 0,void 0,function*(){const e=yield(0,E._)(this.accountService.activeAccount$);if(!e)return;const i="Premium"===t?wt.OU.Premium:wt.OU.Families,n={account:e,initialStep:At.TT.Payment,selectedPlan:i,redirectOnCompletion:!0};At.gY.open(this.dialogService,{data:n}).closed.pipe((0,R.pQ)(this.destroyRef)).subscribe(t=>{(null==t?void 0:t.status)!==At.PD.UpgradedToPremium&&(null==t?void 0:t.status)!==At.PD.UpgradedToFamilies||this.finalizeUpgrade()})})}}Ze.ɵfac=function(t){return new(t||Ze)(I.rXU(S.cH),I.rXU(h.D),I.rXU(Y.G),I.rXU(ot.o),I.rXU(Qe.H),I.rXU(m.Q),I.rXU(ft.z),I.rXU(l.Ix),I.rXU(l.nX))},Ze.ɵcmp=I.VBU({type:Ze,selectors:[["ng-component"]],decls:27,vars:22,consts:[[1,"tw-max-w-3xl","tw-mx-auto"],[1,"tw-text-center"],[1,"tw-mt-8","tw-mb-6"],["bitBadge","","variant","secondary",3,"truncate"],[1,"tw-mt-2","tw-text-4xl"],[1,"tw-text-muted","tw-mb-6","tw-mt-4"],[1,"tw-grid","tw-grid-cols-1","md:tw-grid-cols-2","tw-gap-6","tw-mt-6","tw-justify-center"],[3,"tagline","price","button","features"],[1,"tw-text-center","tw-mt-6"],[1,"tw-text-muted","tw-mb-2","tw-italic"],["bitLink","","linkType","primary","href","https://bitwarden.com/pricing/business/","target","_blank","rel","noopener noreferrer","endIcon","bwi-external-link"],[3,"buttonClick","tagline","price","button","features"],["slot","title","bitTypography","h3",1,"tw-m-0"]],template:function(t,e){if(1&t&&(I.j41(0,"div",0)(1,"bit-section")(2,"div",1)(3,"div",2)(4,"span",3),I.EFF(5),I.nI1(6,"i18n"),I.k0s()(),I.j41(7,"h2",4),I.EFF(8),I.nI1(9,"i18n"),I.k0s(),I.j41(10,"p",5),I.EFF(11),I.nI1(12,"i18n"),I.k0s()(),I.j41(13,"div",6)(14,"div"),I.nVh(15,_e,6,15,"billing-pricing-card",7),I.nI1(16,"async"),I.k0s(),I.j41(17,"div"),I.nVh(18,Je,6,15,"billing-pricing-card",7),I.nI1(19,"async"),I.k0s()(),I.j41(20,"div",8)(21,"p",9),I.EFF(22),I.nI1(23,"i18n"),I.k0s(),I.j41(24,"a",10),I.EFF(25),I.nI1(26,"i18n"),I.k0s()()()()),2&t){let t,i;I.R7$(4),I.Y8G("truncate",!1),I.R7$(),I.SpI(" ",I.bMT(6,8,"bitwardenFreeplanMessage")," "),I.R7$(3),I.SpI(" ",I.bMT(9,10,"upgradeCompleteSecurity")," "),I.R7$(3),I.SpI(" ",I.bMT(12,12,"individualUpgradeDescriptionMessage")," "),I.R7$(4),I.vxM((t=I.bMT(16,14,e.premiumCardData$))?15:-1,t),I.R7$(3),I.vxM((i=I.bMT(19,16,e.familiesCardData$))?18:-1,i),I.R7$(4),I.SpI(" ",I.bMT(23,18,"individualUpgradeTaxInformationMessage")," "),I.R7$(3),I.SpI(" ",I.bMT(26,20,"viewbusinessplans")," ")}},dependencies:[F.MD,A.n,G.E,at.n,D.E,ct.r,X.V,lt.g,B.Y2,F.Jj,V.$Z],encapsulation:2});var Ke=i(56962),ti=i(11728),ei=i(39805),ii=i(52798),ni=i(49112);function si(t,e){if(1&t&&(I.j41(0,"bit-tab-nav-bar",0)(1,"bit-tab-link",1),I.nI1(2,"async"),I.EFF(3),I.nI1(4,"i18n"),I.k0s(),I.j41(5,"bit-tab-link",2),I.EFF(6),I.nI1(7,"i18n"),I.k0s(),I.j41(8,"bit-tab-link",3),I.EFF(9),I.nI1(10,"i18n"),I.k0s()()),2&t){const t=I.XpG();I.R7$(),I.Y8G("route",I.bMT(2,4,t.showSubscriptionPageLink$)?"user-subscription":"premium"),I.R7$(2),I.JRh(I.bMT(4,6,"subscription")),I.R7$(3),I.JRh(I.bMT(7,8,"paymentDetails")),I.R7$(3),I.JRh(I.bMT(10,10,"billingHistory"))}}class ri{constructor(t,e,i,n){this.platformUtilsService=t,this.showSubscriptionPageLink$=e.activeAccount$.pipe((0,d.n)(t=>t?(0,Nt.H)(i.getSubscription()).pipe((0,p.T)(t=>!!t),(0,Qt.W)(t=>(n.error("Failed to fetch subscription for tab link",t),(0,u.of)(!1)))):(0,u.of)(!1)))}ngOnInit(){this.selfHosted=this.platformUtilsService.isSelfHost()}}ri.ɵfac=function(t){return new(t||ri)(I.rXU(c.y),I.rXU(h.D),I.rXU(ti.c),I.rXU(Ke.K))},ri.ɵcmp=I.VBU({type:ri,selectors:[["ng-component"]],standalone:!1,decls:3,vars:1,consts:[["slot","tabs"],[3,"route"],["route","payment-details"],["route","billing-history"]],template:function(t,e){1&t&&(I.j41(0,"app-header"),I.nVh(1,si,11,12,"bit-tab-nav-bar",0),I.k0s(),I.nrm(2,"router-outlet")),2&t&&(I.R7$(),I.vxM(e.selfHosted?-1:1))},dependencies:[l.n3,ei.J,ii.T,ni.f,F.Jj,M.$],encapsulation:2});const oi=()=>(0,o.WQX)(c.y).isSelfHost(),ai=[{path:"",component:ri,data:{titleId:"subscription"},children:[{path:"",pathMatch:"full",redirectTo:"user-subscription"},{path:"user-subscription",component:je,data:{titleId:"premiumMembership"},canMatch:[oi],canActivate:[()=>{const t=(0,o.WQX)(l.Ix),e=(0,o.WQX)(h.D),i=(0,o.WQX)(m.Q);return e.activeAccount$.pipe((0,d.n)(t=>t?i.hasPremiumPersonally$(t.id):(0,u.of)(!1)),(0,p.T)(e=>e||t.createUrlTree(["/settings/subscription/premium"])))}]},{path:"user-subscription",component:$e,data:{titleId:"premiumMembership"}},{path:"premium",component:gt,data:{titleId:"goPremium"},canMatch:[oi]},{path:"premium",component:Ze,data:{titleId:"goPremium"}},{path:"payment-details",component:x,data:{titleId:"paymentDetails"}},{path:"billing-history",component:We,data:{titleId:"billingHistory"}}]}];class ci{}ci.ɵfac=function(t){return new(t||ci)},ci.ɵmod=I.$C({type:ci}),ci.ɵinj=o.G2t({imports:[a.iI.forChild(ai),a.iI]});class li{}li.ɵfac=function(t){return new(t||li)},li.ɵmod=I.$C({type:li}),li.ɵinj=o.G2t({imports:[ci,r.rd,s.G,n.Pu,n.vU]})}}]);
//# sourceMappingURL=405.4fbc5e7bc6fd53dbc60c.js.map