1"use strict";(self.webpackChunkflosports_webapp=self.webpackChunkflosports_webapp||[]).push([[4573],{4573:(se,z,s)=>{s.r(z),s.d(z,{SubscriptionDetailModule:()=>Ni});var c=s(36895),m=s(54004),x=s(63900),S=s(18505),O=s(71884),P=s(34782),h=s(82722),L=s(39300),M=s(68675),T=s(4707),C=s(61135),D=s(77579),k=s(39841),I=s(39646),K=s(91954),X=s(54336),Ie=s(89046),Pe=s(37623),Ee=s(97798);const Me=n=>{const r=n.upcoming_price_monthly?n.upcoming_price_monthly.localized_text:n&&n.plan&&n.plan.cost_per_month&&n.plan.cost_per_month.localized_text,i=n.upcoming_price_money?n.upcoming_price_money.localized_text:n&&n.plan&&n.plan.price&&n.plan.price.localized_text;return{...n,monthlyDollars:r,yearlyDollars:i,periodText:n.plan_is_yearly?"Yearly":"Monthly",explanation:`${r}/mo is the monthly average billed at ${i}/yr.`}},Te=n=>`By switching you will be refunded the current difference between subscriptions and charged ${n} each month (plus tax) moving forward.`;function ce(n){return"string"==typeof n&&n.includes("-")}const le={"American Express":"amex",MasterCard:"mastercard",Visa:"visa",Discover:"discover"},pe=n=>{if(!n)return;const r=n.card_type&&(n=>Object.keys(le).includes(n))(n.card_type)?`icon-cc-${le[n.card_type]}`:"icon-cc-default";return{...n,cardIcon:r}};var Re=s(34387),E=s(39047),oe=s(1857),Ae=s(91062),e=s(94650),W=s(19012),q=s(5201),J=s(90773),U=s(51011),_=s(26520),H=s(60872),G=s(70477),ee=s(32797);function ke(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",3),e.\u0275\u0275text(1),e.\u0275\u0275elementStart(2,"span",4),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();return e.\u0275\u0275resetView(o.dismissAlert())}),e.\u0275\u0275element(3,"flo-svg-icon",5),e.\u0275\u0275elementEnd()()}if(2&n){const t=r.ngIf;e.\u0275\u0275property("ngClass",t.type),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.message," ")}}function Be(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"flo-subscription-detail",6),e.\u0275\u0275listener("reactivateSubscription",function(o){e.\u0275\u0275restoreView(t);const a=e.\u0275\u0275nextContext();return e.\u0275\u0275resetView(a.reactivateSubscription(o))}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()}if(2&n){const t=r.ngIf,i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("subscription",t)("shouldShowCancelButton",i.shouldShowCancelButton)("shouldShowUpgradeButton",i.shouldShowUpgradeButton)("shouldShowPauseButton",i.shouldShowPauseButton)("shouldShowResumeButton",i.shouldShowResumeButton)("isFormVisible",i.isFormVisible)("isInNewPricingArchitecture",!!t)("subscriptionIsReactivating",i.subscriptionIsReactivating)}}function Ve(n,r){if(1&n&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",24)(2,"div",15)(3,"div",16)(4,"h2",25),e.\u0275\u0275text(5," Payment Method "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(6,"div",15)(7,"div",26)(8,"p",27),e.\u0275\u0275text(9,"Enjoy continuous service by adding a payment method."),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(10,"div",28),e.\u0275\u0275element(11,"flo-update-credit-card",29),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementContainerEnd()),2&n){const t=e.\u0275\u0275nextContext(2).ngIf;e.\u0275\u0275advance(11),e.\u0275\u0275property("enabled",!0)("subscription",t)}}function $e(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",37),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(3).ngIf,a=e.\u0275\u0275nextContext(2);return e.\u0275\u0275resetView(a.onCancelSubscription(o))}),e.\u0275\u0275text(1," Cancel Subscription "),e.\u0275\u0275elementEnd()}}function Ne(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"div",15)(1,"div",16)(2,"h2",25),e.\u0275\u0275text(3," Subscription Details "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"p",30),e.\u0275\u0275text(5," Plan: "),e.\u0275\u0275elementStart(6,"span",31),e.\u0275\u0275text(7),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(8,"p",32),e.\u0275\u0275text(9," Status: "),e.\u0275\u0275elementStart(10,"span",31),e.\u0275\u0275text(11),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(12,"p",33),e.\u0275\u0275text(13," Next Payment: "),e.\u0275\u0275elementStart(14,"span",31),e.\u0275\u0275text(15),e.\u0275\u0275pipe(16,"floDateYear"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(17,"p",34),e.\u0275\u0275text(18," Signed Up On: "),e.\u0275\u0275elementStart(19,"span",31),e.\u0275\u0275text(20),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(21,"div",35),e.\u0275\u0275template(22,$e,2,0,"button",36),e.\u0275\u0275elementEnd()()()),2&n){const t=e.\u0275\u0275nextContext(2).ngIf;e.\u0275\u0275advance(7),e.\u0275\u0275textInterpolate(null==t.plan?null:t.plan.name),e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate(t.status),e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind1(16,5,t.end_date)),e.\u0275\u0275advance(5),e.\u0275\u0275textInterpolate(t.signed_up_on),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",t.is_stripe)}}function Ue(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"div",40)(1,"h2",25),e.\u0275\u0275text(2," Payment Method "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"p",31),e.\u0275\u0275text(4," Your subscription was purchased through a TV or mobile app. To make changes to your subscription, manage it where you originally signed up. "),e.\u0275\u0275elementStart(5,"a",41),e.\u0275\u0275text(6,"Visit our support center"),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(7," for help. "),e.\u0275\u0275elementEnd()()),2&n){const t=e.\u0275\u0275nextContext(5);e.\u0275\u0275advance(5),e.\u0275\u0275property("href",t.nonStripeSupp
1ortUrl,e.\u0275\u0275sanitizeUrl)}}function Fe(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"div",38),e.\u0275\u0275template(1,Ue,8,1,"div",39),e.\u0275\u0275elementEnd()),2&n){const t=e.\u0275\u0275nextContext(2).ngIf;e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!t.is_stripe)}}function je(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",47),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(3).ngIf,a=e.\u0275\u0275nextContext(2);return e.\u0275\u0275resetView(a.legacyReactivateSubscription(o.id,o.is_expired))}),e.\u0275\u0275text(1," Reactivate My Subscription "),e.\u0275\u0275elementEnd()}if(2&n){const t=e.\u0275\u0275nextContext(5);e.\u0275\u0275property("disabled",t.subscriptionIsReactivating)}}function Le(n,r){1&n&&(e.\u0275\u0275elementStart(0,"div",48)(1,"span",49),e.\u0275\u0275text(2,"Loading..."),e.\u0275\u0275elementEnd()())}function Ye(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"div",15)(1,"div",16)(2,"h2",25),e.\u0275\u0275text(3," Subscription Details "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"p",30),e.\u0275\u0275text(5," Plan: "),e.\u0275\u0275elementStart(6,"span",31),e.\u0275\u0275text(7),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(8,"p",42),e.\u0275\u0275text(9," Status: "),e.\u0275\u0275elementStart(10,"span",31),e.\u0275\u0275text(11),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(12,"p",43),e.\u0275\u0275text(13),e.\u0275\u0275pipe(14,"floDateYear"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(15,"div",44),e.\u0275\u0275template(16,je,2,1,"button",45),e.\u0275\u0275template(17,Le,3,0,"div",46),e.\u0275\u0275elementEnd()()()),2&n){const t=e.\u0275\u0275nextContext(2).ngIf,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(7),e.\u0275\u0275textInterpolate(null==t.plan?null:t.plan.name),e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate(t.status),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" Your subscription ends on ",e.\u0275\u0275pipeBind1(14,5,t.end_date),". "),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",t.is_stripe),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.subscriptionIsReactivating)}}function ze(n,r){1&n&&(e.\u0275\u0275elementStart(0,"div",57)(1,"div",16)(2,"h2",25),e.\u0275\u0275text(3," Payment Method "),e.\u0275\u0275elementEnd()()())}function We(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,ze,4,0,"div",50),e.\u0275\u0275elementStart(2,"div",51)(3,"div",52)(4,"div",53)(5,"span",54),e.\u0275\u0275element(6,"flo-svg-icon",55),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(7),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(8,"button",56),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(4);return e.\u0275\u0275resetView(o.isFormVisible=!o.isFormVisible)}),e.\u0275\u0275text(9),e.\u0275\u0275elementEnd()(),e.\u0275\u0275element(10,"flo-update-credit-card",29),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()}if(2&n){const t=e.\u0275\u0275nextContext(2).ngIf,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.end_date),e.\u0275\u0275advance(4),e.\u0275\u0275classMapInterpolate1("span-icon svg-vertical-align-text-bottom ",t.cardIcon,""),e.\u0275\u0275advance(1),e.\u0275\u0275property("icon",t.cardIcon),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" **** **** **** ",t.card_last4," "),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ",i.isFormVisible?"Hide Card Form":"Update Card"," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("enabled",i.isFormVisible)("subscription",t)}}const He=function(){return["/account/subscriptions"]};function Ge(n,r){if(1&n&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",14)(2,"div",15)(3,"div",16)(4,"a",17)(5,"span",18),e.\u0275\u0275element(6,"flo-svg-icon",19),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(7," Back to Subscriptions "),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275template(8,Ve,12,2,"ng-container",20),e.\u0275\u0275elementStart(9,"div",21),e.\u0275\u0275template(10,Ne,23,7,"div",22),e.\u0275\u0275template(11,Fe,2,1,"div",23),e.\u0275\u0275template(12,Ye,18,7,"div",22),e.\u0275\u0275template(13,We,11,9,"ng-container",20),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()),2&n){const t=e.\u0275\u0275nextContext().ngIf;e.\u0275\u0275advance(4),e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction0(6,He)),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",!t.card_last4&&t.is_stripe),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",t.can_cancel),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.can_cancel),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.is_canceled||t.is_expired),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.card_last4&&t.is_stripe)}}function Ke(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"div",74)(1,"p",27),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd()()),2&n){const t=e.\u0275\u0275nextContext().ngIf;e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(t.explanation)}}function Je(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"div",79)(1,"p",80),e.\u0275\u0275text(2),e.\u0275\u0275pipe(3,"floDateYear"),e.\u0275\u0275elementEnd()()),2&n){const t=e.\u0275\u0275nextContext(4).ngIf;e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" Next charge: ",e.\u0275\u0275pipeBind1(3,1,t.end_date)," ")}}function Ze(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"div",75)(1,"div",76)(2,"h2",77),e.\u0275\u0275text(3),e.\u0275\u0275pipe(4,"floDateYear"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"h2",70),e.\u0275\u0275text(6),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(7,Je,4,3,"div",78),e.\u0275\u0275elementEnd()),2&n){const t=e.\u0275\u0275nextContext().ngIf,i=e.\u0275\u0275nextContext(2).ngIf;e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate1(" Billed: ",e.\u0275\u0275pipeBind1(4,3,i.purchase_date)," "),e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate1("",t.yearlyDollars,"/yr "),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!i.is_canceled)}}function Qe(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",81)(1,"a",82),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(5);
1return e.\u0275\u0275resetView(o.toggleModal())}),e.\u0275\u0275elementStart(2,"u"),e.\u0275\u0275text(3,"More than expected?"),e.\u0275\u0275elementEnd()()()}}function Xe(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"div",59)(1,"div",60)(2,"a",61)(3,"span",18),e.\u0275\u0275element(4,"flo-svg-icon",19),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(5," Account Settings "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(6,"div",62)(7,"h1",63),e.\u0275\u0275text(8,"Subscription Details"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(9,"div",64)(10,"p",65),e.\u0275\u0275text(11," You have a "),e.\u0275\u0275elementStart(12,"strong",66),e.\u0275\u0275text(13),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(14),e.\u0275\u0275pipe(15,"floDateYear"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(16,"div",67)(17,"div",68)(18,"h2",69),e.\u0275\u0275text(19),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(20,"h2",70),e.\u0275\u0275text(21),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(22,Ke,3,1,"div",71),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(23,Ze,8,5,"div",72),e.\u0275\u0275pipe(24,"async"),e.\u0275\u0275template(25,Qe,4,0,"div",73),e.\u0275\u0275pipe(26,"async"),e.\u0275\u0275elementEnd()),2&n){const t=r.ngIf,i=e.\u0275\u0275nextContext(2).ngIf,o=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(13),e.\u0275\u0275textInterpolate(t.periodText),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate2(" subscription that is set to ",i.is_canceled?"cancel":"renew"," on ",e.\u0275\u0275pipeBind1(15,8,i.end_date),". "),e.\u0275\u0275advance(5),e.\u0275\u0275textInterpolate1("Paid ",t.periodText,""),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1("",t.monthlyDollars,"/mo "),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.plan_is_yearly),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!1===e.\u0275\u0275pipeBind1(24,10,o.hasDowngraded$)),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",!1===e.\u0275\u0275pipeBind1(26,12,o.hasDowngraded$))}}function qe(n,r){if(1&n&&(e.\u0275\u0275template(0,Xe,27,14,"div",58),e.\u0275\u0275pipe(1,"async")),2&n){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(1,1,t.flo11112DowngradeDetails$))}}function et(n,r){1&n&&(e.\u0275\u0275elementStart(0,"div",92)(1,"span",49),e.\u0275\u0275text(2,"Loading..."),e.\u0275\u0275elementEnd()())}function tt(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"h5",83),e.\u0275\u0275text(2,"Limited Time Offer"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"p",84),e.\u0275\u0275text(4,"SAVE"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"span",85),e.\u0275\u0275text(6,"20%"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(7,"p",86),e.\u0275\u0275text(8," Enjoy the same great benefits of your current plan and save money. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"div",87)(10,"p",88),e.\u0275\u0275text(11," Claim this offer to get 20% back now. Then keep your subscription active, and continue saving 20%. "),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(12,"button",89),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext().ngIf,a=e.\u0275\u0275nextContext(2);return e.\u0275\u0275resetView(a.refundAndDiscountSubscription(o.id))}),e.\u0275\u0275text(13," Claim Offer "),e.\u0275\u0275template(14,et,3,0,"div",90),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(15,"a",91),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(3);return e.\u0275\u0275resetView(o.advanceToDowngradeModal())}),e.\u0275\u0275text(16,"Other Options"),e.\u0275\u0275elementEnd()()}if(2&n){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(12),e.\u0275\u0275property("disabled",t.discountSubmitting),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",t.discountSubmitting)}}function nt(n,r){1&n&&(e.\u0275\u0275elementStart(0,"div",97)(1,"span",49),e.\u0275\u0275text(2,"Loading..."),e.\u0275\u0275elementEnd()())}function it(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"h2",69),e.\u0275\u0275text(2,"Switch to Monthly Billing?"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"p",93),e.\u0275\u0275text(4," A paid monthly compared to a paid yearly subscription costs more per month. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"div",87)(6,"p",88),e.\u0275\u0275text(7),e.\u0275\u0275pipe(8,"async"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(9,"button",94),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext().ngIf,a=e.\u0275\u0275nextContext(2);
1return e.\u0275\u0275resetView(a.downgradeSubscription(o.id))}),e.\u0275\u0275text(10," Yes, Switch to Monthly Subscription "),e.\u0275\u0275template(11,nt,3,0,"div",95),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(12,"a",96),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(3);return e.\u0275\u0275resetView(o.toggleModal())}),e.\u0275\u0275text(13,"No, Keep My Yearly Subscription"),e.\u0275\u0275elementEnd()()}if(2&n){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(7),e.\u0275\u0275textInterpolate1(" ",e.\u0275\u0275pipeBind1(8,3,t.modalDisclaimer$)," "),e.\u0275\u0275advance(2),e.\u0275\u0275property("disabled",t.downgradeSubmitting),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",t.downgradeSubmitting)}}function ot(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"span",102),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&n){const t=r.ngIf;e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1("and refunded $",t,"")}}function rt(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"h2",98),e.\u0275\u0275text(2,"Thank You"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"p",99),e.\u0275\u0275text(4,"Your subscription has been changed "),e.\u0275\u0275template(5,ot,2,1,"span",100),e.\u0275\u0275pipe(6,"async"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(7,"p",27),e.\u0275\u0275text(8," Please allow up to 5-10 days for the refund to appear in your account. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"button",101),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(3);return e.\u0275\u0275resetView(o.toggleModal())}),e.\u0275\u0275text(10," Continue "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(11,"p",93),e.\u0275\u0275text(12),e.\u0275\u0275pipe(13,"floDateYear"),e.\u0275\u0275elementEnd()()}if(2&n){const t=e.\u0275\u0275nextContext().ngIf,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(5),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(6,2,i.refundAmount$)),e.\u0275\u0275advance(7),e.\u0275\u0275textInterpolate1(" Your subscription is set to renew on ",e.\u0275\u0275pipeBind1(13,4,t.end_date),". Keep your account active and we will apply a 20% savings on renewal. If you do not wish to continue your subscription, please cancel before this date. ")}}function at(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"h2",98),e.\u0275\u0275text(2,"Success!"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"p",93),e.\u0275\u0275text(4," Your subscription has been changed. Please allow up to 5-10 days for the refund to appear in your account. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"button",103),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(3);return e.\u0275\u0275resetView(o.toggleModal())}),e.\u0275\u0275text(6," Okay "),e.\u0275\u0275elementEnd()()}}function st(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"div")(1,"h2",98),e.\u0275\u0275text(2,"Oops!"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"p",93),e.\u0275\u0275text(4," Something went wrong. Please "),e.\u0275\u0275elementStart(5,"a",104),e.\u0275\u0275text(6,"contact customer support"),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(7," for further assistance. "),e.\u0275\u0275elementEnd()()),2&n){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(5),e.\u0275\u0275propertyInterpolate("href",t.CUSTOMER_SERVICE_URL,e.\u0275\u0275sanitizeUrl)}}function ct(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"div")(1,"h2",69),e.\u0275\u0275text(2,"Oops!"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"p",93),e.\u0275\u0275text(4," This discount has already been applied "),e.\u0275\u0275elementStart(5,"a",104),e.\u0275\u0275text(6,"contact customer support"),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(7," for further assistance. "),e.\u0275\u0275elementEnd()()),2&n){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(5),e.\u0275\u0275propertyInterpolate("href",t.CUSTOMER_SERVICE_URL,e.\u0275\u0275sanitizeUrl)}}function lt(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"section",8),e.\u0275\u0275template(1,Ge,14,7,"ng-container",1),e.\u0275\u0275pipe(2,"async"),e.\u0275\u0275template(3,qe,2,3,"ng-template",null,9,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementStart(5,"flo-modal",10),e.\u0275\u0275listener("isActive",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);
1return e.\u0275\u0275resetView(o.toggleModal())}),e.\u0275\u0275pipe(6,"async"),e.\u0275\u0275elementStart(7,"div",11),e.\u0275\u0275elementContainerStart(8,12),e.\u0275\u0275pipe(9,"async"),e.\u0275\u0275template(10,tt,17,2,"div",13),e.\u0275\u0275template(11,it,14,5,"div",13),e.\u0275\u0275template(12,rt,14,6,"div",13),e.\u0275\u0275template(13,at,7,0,"div",13),e.\u0275\u0275template(14,st,8,1,"div",13),e.\u0275\u0275template(15,ct,8,1,"div",13),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementEnd()()()}if(2&n){const t=e.\u0275\u0275reference(4),i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!1===e.\u0275\u0275pipeBind1(2,10,i.showDowngradeView$))("ngIfElse",t),e.\u0275\u0275advance(4),e.\u0275\u0275property("active",e.\u0275\u0275pipeBind1(6,12,i.showModal$)),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngSwitch",e.\u0275\u0275pipeBind1(9,14,i.modalStatus$)),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngSwitchCase","DiscountStandard"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","DowngradeStandard"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","DiscountSuccess"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","DowngradeSuccess"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","DiscountOrDowngradeError"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","DiscountAlreadyApplied")}}function pt(n,r){if(1&n&&(e.\u0275\u0275template(0,lt,16,16,"section",7),e.\u0275\u0275pipe(1,"async")),2&n){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(1,1,t.subscriptionDetails$))}}var F=(()=>{return(n=F||(F={})).Primary="alert-primary",n.Success="alert-success",F;var n})();const de="Success! Your subscription is no longer cancelled.",ue=n=>`Oops! Something went wrong. Please try again or contact customer service. ${n}`;let me=(()=>{class n{constructor(t,i,o,a,d,l,v,g,y,b,R){this.logger=t,this.accountService=i,this.authService=o,this.productService=a,this.subscriptionService=d,this.ar=l,this.paymentsService=v,this.segmentService=g,this.router=y,this.platformService=b,this.window=R,this.classes="col-6 col-sm-8 col-lg-9 p-0",this.idInRoute$=this.ar.params.pipe((0,m.U)(p=>p.id)),this.ngOnDestroy$=new T.t(1),this.subscriptionDetails$=this.idInRoute$.pipe((0,x.w)(p=>{const f=Number(p);return isNaN(f)?this.subscriptionService.getSubscriptionById(p):this.accountService.matchRouteIdToUserSubscription(f)}),(0,m.U)(p=>pe(p)),(0,S.b)(p=>{p?.discount&&this.discountAlreadyAppliedSource.next(!0)}),(0,O.x)(),(0,P.d)(1),(0,h.R)(this.ngOnDestroy$)),this.shouldShowUpgradeButton=!1,this.shouldShowCancelButton=!1,this.shouldShowPauseButton=!1,this.shouldShowResumeButton=!1,this.subscriptionIsReactivating=!1,this.CUSTOMER_SERVICE_URL=X.x,this.nonStripeSupportUrl=X.M,this.isFormVisible=!1,this.discountAlreadyAppliedSource=new C.X(!1),this.discountAlreadyApplied$=this.discountAlreadyAppliedSource.asObservable(),this.refreshSubscription=new D.x,this.refreshSubscription$=this.refreshSubscription.asObservable(),this.flo11112HasDowngradeQueryParam$=this.ar.queryParamMap.pipe((0,m.U)(_t)),this.hasDowngradedSource=new C.X(!1),this.hasDowngraded$=this.hasDowngradedSource.asObservable(),this.showDowngradeView$=(0,k.a)([this.flo11112HasDowngradeQueryParam$,this.subscriptionDetails$,this.hasDowngraded$,this.discountAlreadyApplied$]).pipe((0,m.U)(([p,f,w,j])=>((n,r,t=!1,i=!1,o)=>{if(!o)return!1;const a=(0,Pe.Z)((0,Ie.legacyParse)(o),(0,Ee.Z)())>=-30;return n&&a&&r&&!t&&!i})(p,f?.plan_is_yearly||!1,w,j,f?.created_at)),(0,O.x)(),(0,P.d)(1),(0,h.R)(this.ngOnDestroy$)),this.flo11112DowngradeDetails$=this.subscriptionDetails$.pipe((0,m.U)(Me)),this.refundAmountSource=new T.t,this.refundAmount$=this.refundAmountSource.pipe((0,L.h)(Boolean),(0,m.U)(p=>(0,Re.bQ)(p))),this.alertSource=new D.x,this.alert$=this.alertSource.asObservable(),this.showModalSource=new C.X(!1),this.showModal$=this.showModalSource.asObservable(),this.modalStatusSource=new C.X(B.DiscountStandard),this.modalStatus$=this.modalStatusSource.asObservable(),this.downgradeSubmitting=!1,this.discountSubmitting=!1,this.monthlyPlanCost$=this.productService.monthlyPlan$.pipe((0,m.U)(p=>p?.price.localized_text||2999),(0,P.d)(1),(0,h.R)(this.ngOnDestroy$)),this.modalDisclaimer$=this.monthlyPlanCost$.pipe((0,m.U)(Te)),this.resumeSubscription=p=>this.subscriptionService.resumeSubscription(p).pipe((0,h.R)(this.ngOnDestroy$)).subscribe(f=>this.legacyHandleResponse(f,"Success! Your subscription is now resumed and you have access to all premium content.")),this.legacyReactivateSubscription=(p,f)=>{this.segmentService.trackEvent({name:E.AA.BUTTON_CLICKED,properties:{name:"Legacy Reactivate Subscription Button",page_id:"subscription-detail
1s",path:"/account/subscriptions/:id"}}),f?this.router.navigate(["/pay"],{relativeTo:this.ar}):(this.subscriptionIsReactivating=!0,this.subscriptionService.legacyReactivateSubscription(p).pipe((0,h.R)(this.ngOnDestroy$)).subscribe(w=>this.legacyHandleResponse(w,de)))},this.legacyHandleResponse=(p,f)=>{"error"in p?(this.logger.error(p.message,p.error),this.updateAlert({message:ue(p.message),type:F.Primary})):"user"in p?(this.accountService.updateUserData(p.user),this.segmentService.trackEvent({name:E.AA.SUBSCRIPTION_REACTIVATED,properties:{name:"Successfully Reactivated Legacy Subscription",page_id:"subscription-details",path:"/account/subscriptions/:id"}}),this.updateAlert({message:f,type:F.Success})):this.updateAlert({message:"Something unexpected happened. Please refresh to see subscription details.",type:F.Primary}),this.subscriptionIsReactivating=!1},this.navigateToCancelGuides=p=>{let f="";f=p.is_roku?"https://support.flosports.tv/en/article/a3b2ea":"https://support.flosports.tv/en/article/0f59c5",this.platformService.isBrowser&&(this.window.location.href=f)},this.updateAlert=p=>this.alertSource.next(p),this.dismissAlert=()=>this.alertSource.next(void 0),this.toggleModal=()=>{this.modalStatusSource.next(B.DiscountStandard);const p=this.showModalSource.getValue();this.showModalSource.next(!p)},this.advanceToDowngradeModal=()=>{this.modalStatusSource.next(B.DowngradeStandard)},this.downgradeSubscription=p=>{this.downgradeSubmitting=!0,this.subscriptionService.downgradeUserToMonthly(p).pipe((0,h.R)(this.ngOnDestroy$)).subscribe(f=>{this.downgradeSubmitting=!1,"error"in f?(this.logger.error(f.message,f.error),this.modalStatusSource.next(B.DiscountOrDowngradeError)):"user"in f?(this.modalStatusSource.next(B.DowngradeSuccess),this.hasDowngradedSource.next(!0),this.accountService.updateUserData(f.user)):this.legacyHandleResponse(f,"Success! Your subscription has been changed. Please allow up to 5-10 days for the\n refund to appear in your account.")})},this.refundAndDiscountSubscription=p=>{this.discountSubmitting=!0,this.subscriptionService.refundAndDiscountSubscription({stripe_subscription:p}).pipe((0,h.R)(this.ngOnDestroy$)).subscribe(w=>{this.discountSubmitting=!1,"error"in w?(this.logger.error(w.message,w.error),this.modalStatusSource.next(B.DiscountOrDowngradeError)):"message"in w&&"Discount has already been applied"===w.message?this.modalStatusSource.next(B.DiscountAlreadyApplied):"user"in w?(this.modalStatusSource.next(B.DiscountSuccess),this.refundAmountSource.next(w.amount),this.discountAlreadyAppliedSource.next(!0),this.accountService.updateUserData(w.user)):this.legacyHandleResponse(w,"Success! Your subscription has been changed. Please allow up to 5-10 days for this to appear in your account.")})},this.subscriptionInNewArchitecture$=(0,k.a)([this.idInRoute$,this.authService.userIdentity$,this.refreshSubscription$.pipe((0,M.O)(!1))]).pipe((0,x.w)(([p,f,w])=>(this.subscriptionId=p,f&&f.id?this.subscriptionService.getAllSubscriptions(f.id):(0,I.of)(void 0))),(0,m.U)(p=>{const f=p?.find(w=>w&&w.id===this.subscriptionId);return pe(f)}),(0,S.b)(p=>{p&&(this.shouldShowPauseButton=p.can_pause,this.shouldShowResumeButton=p.can_resume,this.shouldShowUpgradeButton=p.can_upgrade,this.shouldShowCancelButton=p.can_cancel)}),(0,h.R)(this.ngOnDestroy$))}reactivateSubscription(t){this.segmentService.trackEvent({name:E.AA.BUTTON_CLICKED,properties:{name:"Reactivate Subscription Button",page_id:"subscription-details",path:"/account/subscriptions/:id"}}),t.isExpired?this.router.navigate(["/pay"],{relativeTo:this.ar}):"string"==typeof t.id&&(this.subscriptionIsReactivating=!0,this.paymentsService.reactivateSubscription(t.id).pipe((0,h.R)(this.ngOnDestroy$)).subscribe(i=>this.handleResponse(i)))}handleResponse(t){"error"in t?(this.logger.error(t.message,t.error),this.updateAlert({message:ue(t.message),type:F.Primary})):(this.refreshSubscription.next(!0),this.segmentService.trackEvent({name:E.AA.SUBSCRIPTION_REACTIVATED,properties:{name:"Successfully Reactivated Subscription",page_id:"subscription-details",path:"/account/subscriptions/:id"}}),this.updateAlert({message:de,type:F.Success})),this.subscriptionIsReactivating=!1}onCancelSubscription(t){this.segmentService.trackEvent({name:E.AA.BUTTON_CLICKED,properties:{name:"Legacy Initial Cancel Subscription Button",page_id:"subscription-detail
1s",path:"/account/subscriptions/:id"}}),(0,oe.pf)(t)&&((t.is_roku||t.is_itunes)&&this.navigateToCancelGuides(t),t?.is_stripe&&this.router.navigate(["cancel/offer"],{relativeTo:this.ar}))}ngOnDestroy(){this.ngOnDestroy$.next(),this.ngOnDestroy$.complete(),this.refreshSubscription.complete()}}return n.\u0275fac=function(t){return new(t||n)(e.\u0275\u0275directiveInject(K.te),e.\u0275\u0275directiveInject(W.B),e.\u0275\u0275directiveInject(q.e),e.\u0275\u0275directiveInject(J.M5),e.\u0275\u0275directiveInject(U.F),e.\u0275\u0275directiveInject(_.ActivatedRoute),e.\u0275\u0275directiveInject(H.c),e.\u0275\u0275directiveInject(G.BP),e.\u0275\u0275directiveInject(_.Router),e.\u0275\u0275directiveInject(ee.m),e.\u0275\u0275directiveInject(Ae.m))},n.\u0275cmp=e.\u0275\u0275defineComponent({type:n,selectors:[["flo-legacy-subscription-detail"]],hostVars:2,hostBindings:function(t,i){2&t&&e.\u0275\u0275classMap(i.classes)},decls:6,vars:7,consts:[["class","alert d-flex justify-content-between mb-0","role","alert",3,"ngClass",4,"ngIf"],[4,"ngIf","ngIfElse"],["legacySubscription",""],["role","alert",1,"alert","d-flex","justify-content-between","mb-0",3,"ngClass"],[1,"close","cursor-pointer","mt-1","me-2",3,"click"],["icon","icon-times","width","1.2em"],[3,"subscription","shouldShowCancelButton","shouldShowUpgradeButton","shouldShowPauseButton","shouldShowResumeButton","isFormVisible","isInNewPricingArchitecture","subscriptionIsReactivating","reactivateSubscription"],["class","content",4,"ngIf"],[1,"content"],["downgradeView",""],[3,"active","isActive"],[1,"modal-inner-wrapper","text-center","px-4","px-md-5","py-3"],[3,"ngSwitch"],[4,"ngSwitchCase"],[1,"container"],[1,"row"],[1,"col"],["floAnalytics","","name","Back to Subscriptions","events","click",3,"routerLink"],[1,"svg-vertical-align-text-top"],["icon","icon-chevron-left","width","1.25em"],[4,"ngIf"],[1,"subscription-details-container","container","p-4"],["class","row",4,"ngIf"],["class","row mt-4",4,"ngIf"],["data-test","payment-method-no-card",1,"container","bg-200","p-4","rounded"],[1,"font-bold","border-bottom","border-grey-300","pb-2"],[1,"col-xs","col-lg-6"],[1,"footnote","color-500"],[1,"update-form"],[3,"enabled","subscription"],[1,"body","color-900","mt-4"],[1,"color-600"],["data-test","subscription-status",1,"body","color-900","subscription-status","mb-3"],["data-test","next-payment-date",1,"body","color-900"],["data-test","signed-up-on",1,"body","color-900"],[1,"cta-container"],["class","btn btn-primary","data-test","cancel-button","name","Cancel Subscription","events","click",3,"click",4,"ngIf"],["data-test","cancel-button","name","Cancel Subscription","events","click",1,"btn","btn-primary",3,"click"],[1,"row","mt-4"],["class","col","data-test","non-stripe-provider-message",4,"ngIf"],["data-test","non-stripe-provider-message",1,"col"],["floAnalytics","","name","Non-Stripe Subscription Support","events","click","target","_blank","rel","noopener noreferrer",3,"href"],["data-test","subscription-status",1,"body","color-900"],["data-test","subscription-end-date",1,"color-700"],[1,"cta-container","form-button"],["data-test","reactivate-button","class","btn btn-primary","name","Legacy Reactivate Subscription","events","click",3,"disabled","click",4,"ngIf"],["class","spinner-border spinner-border-sm position-absolute d-md-none","data-test","reactivating-spinner",4,"ngIf"],["data-test","reactivate-button","name","Legacy Reactivate Subscription","events","click",1,"btn","btn-primary",3,"disabled","click"],["data-test","reactivating-spinner",1,"spinner-border","spinner-border-sm","position-absolute","d-md-none"],[1,"visually-hidden"],["class","row mt-4","data-test","payment-method",4,"ngIf"],[1,"credit-card-container","mt-3"],[1,"credit-card-content"],["data-test","cc-form",1,"credit-card-box","border","border-grey-300","rounded"],["aria-hidden","true"],["width","24px",3,"icon"],["data-test","cc-update",1,"btn","btn-secondary",3,"click"],["data-test","payment-method",1,"row","mt-4"],["class","downgrade-view mt-4 mx-3 mt-md-0 mx-md-5",4,"ngIf"],[1,"downgrade-view","mt-4","mx-3","mt-md-0","mx-md-5"],[1,"mb-4","d-md-none","mb-md-5"],["floAnalytics","","routerLink","/account"],[1,"downgrade-view__header","border-bottom","border-grey-300"],[1,"mb-3","h1"],[1,"downgrade-view__explanation","my-4","py-md-2"],[1,"headline","color-600"],[1,"color-900","font-family-bold"],[1,"downgrade-view__plan","pt-1","pb-3","pb-md-5","border-bottom","border-grey-300"],[1,"downgrade-view__plan--pricing","d-flex","justify-content-between","color-700"],[1,"font-bold"],[1,"font-normal"],["class","downgrade-view__plan--price-explanation",4,"ngIf"],["class","downgrade-view__billing mt-4 mb-3 mb-md-5 pt-2",4,"ngIf"],["class","downgrade-view__change w-md-50",4,"ngIf"],[1,"downgrade-view__plan--price-explanation"],[1,"downgrade-view__billing","mt-4","mb-3","mb-md-5","pt-2"],[1,"downgrade-view__billing--bill-date","d-flex","justify-content-between","color-700"],[1,"font-bold","mb-2","w-50"],["class","downgrade-view__billing--next-charge",4,"ngIf"],[1,"downgrade-view__billing--next-charge"],[1,"footnote","color-600"],[1,"downgrade-view__change","w-md-50"],["floAnalytics","","name","Change Subscription",1,"h4","font-family-regular","color-600",3,"click"],[1,"font-family-heavy","mb
1-0"],[1,"primary-color-text","mt-2","mb-0","font-weight-700"],["data-test","discount-header",1,"discount-header","primary-color-text","display-1","font-family-heavy","mb-2"],[1,"h3","color-700","fw-normal","mb-3"],[1,"bg-light","rounded","px-3","py-4","p-md-4","mb-3","d-flex","align-items-center"],[1,"h5","color-600","font-family-regular","mb-0"],["floAnalytics","","name","Discount Annual Subscription",1,"position-relative","btn","btn-primary","btn-lg","text-nowrap","w-auto","mt-3",3,"disabled","click"],["class","spinner-border spinner-border-sm ms-2","role","status",4,"ngIf"],["floAnalytics","","name","Keep Yearly Subscription",1,"footnote","d-block","color-500","mt-3","mb-2",3,"click"],["role","status",1,"spinner-border","spinner-border-sm","ms-2"],[1,"footnote","color-500","mt-2"],["floAnalytics","","name","Switch To Monthly Subscription",1,"position-relative","btn","btn-primary","btn-lg","text-nowrap","w-auto",3,"disabled","click"],["class","spinner-border spinner-border-sm","role","status",4,"ngIf"],["floAnalytics","","name","Keep Yearly Subscription",1,"footnote","d-block","color-500","mt-3",3,"click"],["role","status",1,"spinner-border","spinner-border-sm"],[1,"display-4","font-bold"],[1,"color-600","mb-2"],["data-test","refund-amount",4,"ngIf"],["floAnalytics","","name","Discount Success Confirmed",1,"btn","btn-primary","btn-lg","text-nowrap","w-100",3,"click"],["data-test","refund-amount"],["floAnalytics","","name","Confirm Subscription Downgrade",1,"btn","btn-primary","btn-lg","text-nowrap","w-auto",3,"click"],["target","_blank","floAnalytics","","name","Contact Customer Support",3,"href"]],template:function(t,i){if(1&t&&(e.\u0275\u0275template(0,ke,4,2,"div",0),e.\u0275\u0275pipe(1,"async"),e.\u0275\u0275template(2,Be,2,8,"ng-container",1),e.\u0275\u0275pipe(3,"async"),e.\u0275\u0275template(4,pt,2,3,"ng-template",null,2,e.\u0275\u0275templateRefExtractor)),2&t){const o=e.\u0275\u0275reference(5);e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(1,3,i.alert$)),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(3,5,i.subscriptionInNewArchitecture$))("ngIfElse",o)}},styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{min-height:670px;padding-top:23px}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .subscription-details-container[_ngcontent-%COMP%] .link-cancel-sub[_ngcontent-%COMP%]{font-size:12px;margin-left:15px}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .subscription-details-container[_ngcontent-%COMP%] .link-cancel-sub[_ngcontent-%COMP%]:hover{text-decoration:underline}.subscription-details-container[_ngcontent-%COMP%] .cta-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:10px}@media (min-width: 992px){.subscription-details-container[_ngcontent-%COMP%] .cta-container[_ngcontent-%COMP%]{flex-direction:row;gap:16px}}.subscription-details-container[_ngcontent-%COMP%] .credit-card-container[_ngcontent-%COMP%]{max-width:360px}.subscription-details-container[_ngcontent-%COMP%] .credit-card-container[_ngcontent-%COMP%] .credit-card-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-bottom:20px;gap:10px}@media (min-width: 992px){.subscription-details-container[_ngcontent-%COMP%] .credit-card-container[_ngcontent-%COMP%] .credit-card-content[_ngcontent-%COMP%]{flex-direction:row;gap:16px;margin:0}}@media (min-width: 992px){.subscription-details-container[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{max-height:42px}}.subscription-details-container[_ngcontent-%COMP%] .update-card-container[_ngcontent-%COMP%]{padding-bottom:60px}.subscription-details-container[_ngcontent-%COMP%] .credit-card-box[_ngcontent-%COMP%]{padding:5px 10px;float:left;margin-bottom:0}@media (min-width: 992px){.subscription-details-container[_ngcontent-%COMP%] .credit-card-box[_ngcontent-%COMP%]{margin-bottom:20px}}.subscription-details-container[_ngcontent-%COMP%] .credit-card-box[_ngcontent-%COMP%] span.span-icon[_ngcontent-%COMP%]{margin:0 5px 0 0}.subscription-details-container[_ngcontent-%COMP%] .link-update-card[_ngcontent-%COMP%]{padding:6px 6px 6px 10px;display:inline-block}
1.subscription-details-container[_ngcontent-%COMP%] .link-update-card[_ngcontent-%COMP%]:hover{text-decoration:underline}"],changeDetection:0}),n})();var B=(()=>{return(n=B||(B={})).DiscountStandard="DiscountStandard",n.DiscountSuccess="DiscountSuccess",n.DowngradeStandard="DowngradeStandard",n.DowngradeSuccess="DowngradeSuccess",n.DiscountOrDowngradeError="DiscountOrDowngradeError",n.DiscountAlreadyApplied="DiscountAlreadyApplied",B;var n})();const _t=n=>"1"===n.get("offers");var te=s(70262),ge=s(12596),ne=s(14814);function ft(n,r){1&n&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",3),e.\u0275\u0275element(2,"div",4),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd())}function ht(n,r){if(1&n&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275element(1,"flo-churn-prevention-common",5),e.\u0275\u0275elementContainerEnd()),2&n){const t=r.ngIf;e.\u0275\u0275advance(1),e.\u0275\u0275property("data",t)}}function vt(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"div"),e.\u0275\u0275element(1,"flo-churn-prevention-common",6),e.\u0275\u0275elementEnd()),2&n){const t=r.ngIf;e.\u0275\u0275advance(1),e.\u0275\u0275property("data",t)}}function bt(n,r){if(1&n&&(e.\u0275\u0275template(0,vt,2,1,"div",0),e.\u0275\u0275pipe(1,"async")),2&n){const t=e.\u0275\u0275nextContext();e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(1,1,t.legacyView$))}}let _e=(()=>{class n{constructor(t,i,o,a,d){this.productService=t,this.accountService=i,this.activatedRoute=o,this.subscriptionService=a,this.vs=d,this.ngOnDestroy$=new T.t(1),this.isLoading=!0,this.idInRoute$=this.activatedRoute.params.pipe((0,m.U)(l=>l.id)),this.legacySubscription$=this.idInRoute$.pipe((0,x.w)(l=>this.accountService.matchRouteIdToUserSubscription(l)),(0,S.b)(()=>{this.isLoading=!1}),(0,P.d)(1),(0,h.R)(this.ngOnDestroy$)),this.subscription$=this.idInRoute$.pipe((0,x.w)(l=>this.subscriptionService.getSubscriptionById(l)),(0,h.R)(this.ngOnDestroy$)),this.legacyView$=(0,k.a)([this.legacySubscription$,this.vs.siteSettings$,this.productService.legacyProductsWithChurnPreventionCoupon$]).pipe((0,m.U)(([l,v,g])=>
1{if(l){const y=g.find(j=>j.id===(l&&l.plan.product_id)),b=y&&y.plans.find(j=>!0===l.plan.monthly?j.monthly:j.yearly);return{subscription:l,settings:v,plan:b,planDuration:l.plan.monthly?"mo":"yr",discountPrice:b&&b.discounted_price&&b.discounted_price.localized_text,originalPrice:b&&b.price.localized_text,savings:b&&b.amount_discounted&&b.amount_discounted.localized_text}}}),(0,te.K)(l=>(this.isLoading=!1,(0,I.of)(void 0))),(0,h.R)(this.ngOnDestroy$)),this.view$=(0,k.a)([this.subscription$,this.productService.offersWithChurnPreventionCoupon$]).pipe((0,S.b)(()=>{this.isLoading=!1}),(0,m.U)(([l,v])=>{if(l){this.offeringId=l.plan.id.toString();const g=v.find(R=>{if(l&&l.plan.id)return R.id===l.plan.id});let y;return g&&(y=g?.period===ge.TB.Year?g.discountedPrice?.yearly.localizedText:g.discountedPrice?.monthly.localizedText),{subscription:l,settings:null,plan:g,planDuration:g?.period===ge.TB.Year?"yr":"mo",discountPrice:y,originalPrice:null,savings:g?.discountedPrice?.yearly.localizedText,offeringId:this.offeringId}}}),(0,te.K)(l=>(this.isLoading=!1,(0,I.of)(void 0))),(0,h.R)(this.ngOnDestroy$))}ngOnDestroy(){this.ngOnDestroy$.next(),this.ngOnDestroy$.complete()}}return n.\u0275fac=function(t){return new(t||n)(e.\u0275\u0275directiveInject(J.M5),e.\u0275\u0275directiveInject(W.B),e.\u0275\u0275directiveInject(_.ActivatedRoute),e.\u0275\u0275directiveInject(U.F),e.\u0275\u0275directiveInject(ne.A))},n.\u0275cmp=e.\u0275\u0275defineComponent({type:n,selectors:[["flo-churn-prevention"]],decls:5,vars:5,consts:[[4,"ngIf"],[4,"ngIf","ngIfElse"],["legacyView",""],["data-test","loader",1,"d-flex","spinner-container"],[1,"spinner-border","text-light","d-flex","m-auto"],["data-test","churn-prevention-view",3,"data"],["data-test","legacy-churn-prevention-view",3,"data"]],template:function(t,i){if(1&t&&(e.\u0275\u0275template(0,ft,3,0,"ng-container",0),e.\u0275\u0275template(1,ht,2,1,"ng-container",1),e.\u0275\u0275pipe(2,"async"),e.\u0275\u0275template(3,bt,2,3,"ng-template",null,2,e.\u0275\u0275templateRefExtractor)),2&t){const o=e.\u0275\u0275reference(4);e.\u0275\u0275property("ngIf",i.isLoading),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(2,3,i.view$))("ngIfElse",o)}},changeDetection:0}),n})();var $=s(46111),V=s(95698),Z=(()=>{return(n=Z||(Z={})).CancellationReason="cancellation_reason",n.PostCancellation="post_cancellation",Z;var n})();const re=(n,r,t,i,o,a=!1)=>({surveyId:n,question:{...r,nps:a,button:{buttonWide:t,buttonText:i,name:o}}});var fe=s(49670),yt=s(80529);let ae=(()=>{class n{constructor(t){this.http=t,this.getSurvey=i=>this.http.get(`${fe.TQ}/${i}`),this.cancellationReasonSurvey$=this.getSurvey(Z.CancellationReason).pipe((0,m.U)(i=>i.data),(0,m.U)(i=>re(i.id,i.questions[0],!0,"Continue","Continue")),(0,O.x)(),(0,P.d)(1)),this.postCancellationSurvey$=this.getSurvey(Z.PostCancellation).pipe((0,m.U)(i=>i.data),(0,O.x)(),(0,P.d)(1)),this.npsSurvey$=this.postCancellationSurvey$.pipe((0,m.U)(i=>re(i.id,i.questions[0],!1,"Next","Submit",!0)),(0,O.x)(),(0,P.d)(1)),this.postSurvey$=this.postCancellationSurvey$.pipe((0,m.U)(i=>re(i.id,i.questions[1],!1,"Finish","Submit")),(0,O.x)(),(0,P.d)(1)),this.sendSurveyResponse=i=>i?this.http.post(fe.iz,i).pipe((0,te.K)(()=>(0,I.of)("unauthorized"))):(0,I.of)(void 0)}}return n.\u0275fac=function(t){return new(t||n)(e.\u0275\u0275inject(yt.eN))},n.\u0275prov=e.\u0275\u0275defineInjectable({token:n,factory:n.\u0275fac}),n})();var ie=s(87833),u=s(24006),A=s(39137);function wt(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",18)(1,"label",19)(2,"input",20),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(3);return e.\u0275\u0275resetView(o.toggleTextArea(!1))}),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(3),e.\u0275\u0275element(4,"div",21),e.\u0275\u0275elementEnd()()}if(2&n){const t=e.\u0275\u0275nextContext().$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(2),e.\u0275\u0275property("formControlName",i.question.id.toString())("analyticsProperties",i.getAnalyticsProps(i.question.id,t.id))("value",null==t?null:t.id),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.answer_text," ")}}function It(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",22)(1,"label",23)(2,"input",24),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(3);
1return e.\u0275\u0275resetView(o.toggleTextArea(!1))}),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"p",25),e.\u0275\u0275text(4),e.\u0275\u0275elementEnd(),e.\u0275\u0275element(5,"div",21),e.\u0275\u0275elementEnd()()}if(2&n){const t=e.\u0275\u0275nextContext().$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(2),e.\u0275\u0275property("analyticsProperties",i.getAnalyticsProps(i.question.id,t.id))("formControlName",i.question.id.toString())("value",null==t?null:t.id),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate(t.answer_text)}}function Pt(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"textarea",29),e.\u0275\u0275listener("ngModelChange",function(o){e.\u0275\u0275restoreView(t);const a=e.\u0275\u0275nextContext(4);return e.\u0275\u0275resetView(a.freeResponse=o)}),e.\u0275\u0275elementEnd()}if(2&n){const t=e.\u0275\u0275nextContext(2).$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("ngModel",i.freeResponse)("analyticsProperties",i.getAnalyticsProps(i.question.id,t.id))}}function Et(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"p",30),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&n){const t=e.\u0275\u0275nextContext(4);e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.freeResponse.length,"/255")}}function Ot(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",18)(1,"label",26)(2,"input",24),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(3);return e.\u0275\u0275resetView(o.toggleTextArea(!0))}),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(3),e.\u0275\u0275element(4,"div",21),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(5,Pt,1,2,"textarea",27),e.\u0275\u0275template(6,Et,2,1,"p",28),e.\u0275\u0275elementEnd()}if(2&n){const t=e.\u0275\u0275nextContext().$implicit,i=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(2),e.\u0275\u0275property("analyticsProperties",i.getAnalyticsProps(i.question.id,t.id))("formControlName",i.question.id.toString())("value",null==t?null:t.id),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.answer_text," "),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.showTextArea),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.showTextArea&&!!i.freeResponse)}}function Mt(n,r){if(1&n&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",15),e.\u0275\u0275template(2,wt,5,4,"div",16),e.\u0275\u0275template(3,It,6,4,"div",17),e.\u0275\u0275template(4,Ot,7,6,"div",16),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()),2&n){const t=r.$implicit;e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitch",null==t?null:t.controlType),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","radio"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","nps"),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngSwitchCase","textarea")}}function Tt(n,r){1&n&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"p",31),e.\u0275\u0275text(2," Still on the fence about cancelling your subscription, choose Pause Subscription. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd())}function Dt(n,r){1&n&&(e.\u0275\u0275elementStart(0,"p",31),e.\u0275\u0275text(1," One last chance to claim the "),e.\u0275\u0275elementStart(2,"strong"),e.\u0275\u0275text(3,"20% off discount"),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(4,". "),e.\u0275\u0275elementEnd())}function Rt(n,r){if(1&n&&e.\u0275\u0275template(0,Dt,5,0,"p",32),2&n){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("ngIf",!t.isPausedOrPending)}}const he=function(n){return{"pointer-events-none":n}};function At(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"button",33),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return e.\u0275\u0275resetView(o.onPauseSubscription())}),e.\u0275\u0275text(2," Pause Subscription "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()}if(2&n){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(1,he,t.subscriptionIsCancelling))}}function kt(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",35),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(3);
1return e.\u0275\u0275resetView(o.onClaimOffer())}),e.\u0275\u0275text(1," Claim Offer "),e.\u0275\u0275elementEnd()}if(2&n){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(1,he,t.subscriptionIsCancelling))}}function Bt(n,r){if(1&n&&e.\u0275\u0275template(0,kt,2,3,"button",34),2&n){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("ngIf",!t.isPausedOrPending)}}function Vt(n,r){1&n&&(e.\u0275\u0275elementStart(0,"div",36)(1,"span",37),e.\u0275\u0275text(2,"Loading..."),e.\u0275\u0275elementEnd()())}const $t=function(n){return{nps:n}},Nt=function(n){return{"nps-wrapper":n}};function Ut(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div")(1,"form",1),e.\u0275\u0275listener("ngSubmit",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();return e.\u0275\u0275resetView(o.onSubmit())}),e.\u0275\u0275elementStart(2,"div",2)(3,"div",3)(4,"span",4),e.\u0275\u0275text(5,"Not at all likely"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"span",4),e.\u0275\u0275text(7,"Extremely Likely"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(8,"div",5),e.\u0275\u0275template(9,Mt,5,4,"ng-container",6),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275template(10,Tt,3,0,"ng-container",7),e.\u0275\u0275template(11,Rt,1,1,"ng-template",null,8,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementStart(13,"div",9)(14,"div",10),e.\u0275\u0275template(15,At,3,3,"ng-container",7),e.\u0275\u0275template(16,Bt,1,1,"ng-template",null,11,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementStart(18,"div",12)(19,"button",13),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();return e.\u0275\u0275resetView(o.onSubmit())}),e.\u0275\u0275text(20," Cancel Subscription "),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(21,Vt,3,0,"div",14),e.\u0275\u0275elementEnd()()()()}if(2&n){const t=e.\u0275\u0275reference(12),i=e.\u0275\u0275reference(17),o=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("formGroup",o.surveyForm),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(11,$t,null==o.question?null:o.question.nps)),e.\u0275\u0275advance(6),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(13,Nt,null==o.question?null:o.question.nps)),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",o.question.answers)("ngForTrackBy",o.trackByAnswer),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",o.accountPausingEnabled)("ngIfElse",t),e.\u0275\u0275advance(5),e.\u0275\u0275property("ngIf",o.accountPausingEnabled)("ngIfElse",i),e.\u0275\u0275advance(4),e.\u0275\u0275property("disabled",o.subscriptionIsCancelling),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",o.subscriptionIsCancelling)}}let Ft=(()=>{class n{constructor(t,i,o,a,d,l){this.segment=t,this.surveyService=i,this.auth=o,this.vs=a,this.ar=d,this.cdr=l,this.textAreaRadioChecked=!1,this.showTextArea=!1,this.surveyFormSubmitting=!1,this.userId$=this.auth.userIdentity$.pipe((0,m.U)(v=>v&&+v.id)),this.accountPausingEnabled=this.ar.snapshot.queryParams.ap,this.isPausedOrPending=this.ar.snapshot.queryParams.is_paused,this.surveyResponse=new e.EventEmitter,this.trackByAnswer=(v,g)=>g.id}get question(){return{...this._surveyQuestion}}set question(t){this._surveyQuestion={...t,answers:t.answers.map(i=>({...i,controlType:i.is_free_response?"textarea":t.nps?"nps":"radio"}))}}ngOnInit(){this.surveyForm=this.createFormGroup()}get canSubmitForm(){return!this.surveyForm.pending&&!this.surveyFormSubmitting}onSubmit(){if(this.segment.trackEvent({name:E.AA.BUTTON_CLICKED,properties:{name:"Confirm Cancel Subscription Button",page_id:"cancel-reason",path:"/account/subscriptions/:id/cancel/reason"}}),!this.canSubmitForm)return;this.surveyFormSubmitting=!0,this.cdr.detectChanges();const t=((n,r)=>{const t=((n,r)=>{const t=n.value[r.id.toString()];return r.answers.find(i=>i.id===t)})(n,this.question);return t&&{answer:t.id,free_text:n.value.textarea||"",sort_order:t.sort_order}})(this.surveyForm);this.segment.track(E.AA.FORM_SUBMITTED,{name:"Survey",survey_id:this.surveyId,survey_question_id:this.question.id,survey_answer_id:t&&t.answer}),(0,k.a)([this.userId$,this.vs.siteId$]).pipe((0,m.U)(([i,o])=>((n,r,t)=>n&&{answers:[n],user:r,site:t})(t,i,o)),(0,x.w)(i=>this.surveyService.sendSurveyResponse(i)),(0,V.q)(1)).subscribe({next:()=>{this.surveyFormSubmitting=!1,this.surveyResponse.next({isCancelling:!0})}})}onClaimOffer(){this.segment.trackEvent({name:E.AA.BUTTON_CLICKED,properties:{name:"Last Chance Claim Offer Button",page_id:"cancel-reason",path:"/account/subscriptions/:id/cancel/reason"}}),this.surveyResponse.next({isCancelling:!1,redirect:"../offer"})}onPauseSubscription(){this.segment.trackEvent({name:E.AA.BUTTON_CLICKED,properties:{name:"Last Chance Pause Subscription Button",page_id:"cancel-reason",path:"/account/subscriptions/:id/cancel/reason"}}),this.surveyResponse.next({isCancelling:!1,redirect:"../../pause"})}toggleTextArea(t){const i=this.surveyForm.get("textarea"),o=this.surveyForm.get(this.question.id.toString());this.textAreaRadioChecked=t,t&&i&&o?(this.showTextArea=!0,i.enable()):!t&&i&&o&&(i.disable(),i.reset(),this.showTextArea=!1)}getAnalyticsProps(t,i){return{name:"Survey Answer",survey_id:this.surveyId,survey_question_id:t,survey_answer_id:i}}createFormGroup(){const t={};return this.question?.answers?.forEach(i=>
1{"textarea"===i.controlType?t.textarea=this.question.required?new u.p4({value:"",disabled:!0},u.kI.required):new u.p4(""):t[this.question.id.toString()]=this.question.required?new u.p4("",u.kI.required):new u.p4("")}),new u.nJ(t)}}return n.\u0275fac=function(t){return new(t||n)(e.\u0275\u0275directiveInject(G.BP),e.\u0275\u0275directiveInject(ae),e.\u0275\u0275directiveInject(q.e),e.\u0275\u0275directiveInject(ne.A),e.\u0275\u0275directiveInject(_.ActivatedRoute),e.\u0275\u0275directiveInject(e.ChangeDetectorRef))},n.\u0275cmp=e.\u0275\u0275defineComponent({type:n,selectors:[["flo-survey"]],inputs:{surveyId:"surveyId",subscriptionIsCancelling:"subscriptionIsCancelling",question:"question"},outputs:{surveyResponse:"surveyResponse"},decls:1,vars:1,consts:[[4,"ngIf"],[3,"formGroup","ngSubmit"],[1,"form-wrapper","ms-0",3,"ngClass"],[1,"nps-legend"],[1,"flo-footnote"],[3,"ngClass"],[4,"ngFor","ngForOf","ngForTrackBy"],[4,"ngIf","ngIfElse"],["claimOfferInfo",""],[1,"button-wrapper","border-top","border-grey-300"],[1,"form-button"],["claimOfferCTA",""],[1,"position-relative"],["name","Submit",1,"btn","btn-primary","mx-0","w-100",3,"disabled","click"],["class","spinner-border spinner-border-sm position-absolute d-md-none","data-test","cancelling-spinner",4,"ngIf"],[1,"form-group",3,"ngSwitch"],["class","control-group",4,"ngSwitchCase"],["class","nps-control-group control-group",4,"ngSwitchCase"],[1,"control-group"],[1,"control-radio","primary-color-radio","standard-radio"],["type","radio","floAnalytics","","tagName","Radio Button",3,"formControlName","analyticsProperties","value","click"],[1,"control-radio-overlay","primary-overlay"],[1,"nps-control-group","control-group"],[1,"nps-radio","control-radio","primary-color-radio"],["type","radio","floAnalytics","","tagName","Radio Button",3,"analyticsProperties","formControlName","value","click"],[1,"nps-number"],[1,"control-radio","primary-color-radio","text-area-radio"],["floAnalytics","","tagName","Textarea","id","freeResponse","minlength","3","maxlength","255","formControlName","textarea","cols","40","rows","4",3,"ngModel","analyticsProperties","ngModelChange",4,"ngIf"],["class","character-limit flo-footnote",4,"ngIf"],["floAnalytics","","tagName","Textarea","id","freeResponse","minlength","3","maxlength","255","formControlName","textarea","cols","40","rows","4",3,"ngModel","analyticsProperties","ngModelChange"],[1,"character-limit","flo-footnote"],[1,"pause-info","pt-2","mb-0"],["class","pause-info pt-2 mb-0",4,"ngIf"],["name","Pause Subscription","data-test","pause-subscription",1,"btn","btn-secondary",3,"ngClass","click"],["class","btn btn-secondary","name","Claim Offer","data-test","claim-offer",3,"ngClass","click",4,"ngIf"],["name","Claim Offer","data-test","claim-offer",1,"btn","btn-secondary",3,"ngClass","click"],["data-test","cancelling-spinner",1,"spinner-border","spinner-border-sm","position-absolute","d-md-none"],[1,"visually-hidden"]],template:function(t,i){1&t&&e.\u0275\u0275template(0,Ut,22,15,"div",0),2&t&&e.\u0275\u0275property("ngIf",i.question)},dependencies:[c.mk,c.sg,c.O5,c.RF,c.n9,A.v,u._Y,u.Fj,u._,u.JJ,u.JL,u.wO,u.nD,u.sg,u.u],styles:["[_nghost-%COMP%] form[_ngcontent-%COMP%]{width:100%}[_nghost-%COMP%] form[_ngcontent-%COMP%] .form-wrapper[_ngcontent-%COMP%]{text-align:left;max-width:350px;width:100%;margin:0 auto;padding-bottom:10px}[_nghost-%COMP%] form[_ngcontent-%COMP%] .form-wrapper[_ngcontent-%COMP%] .question-text[_ngcontent-%COMP%]{margin-bottom:20px}[_nghost-%COMP%] form[_ngcontent-%COMP%] .form-wrapper.nps[_ngcontent-%COMP%]{max-width:620px;display:-moz-flex;display:flex;flex-direction:column;justify-content:space-between}[_nghost-%COMP%] form[_ngcontent-%COMP%] .form-wrapper.nps[_ngcontent-%COMP%] .question-text[_ngcontent-%COMP%]{margin-bottom:20px;flex-grow:1}[_nghost-%COMP%] form[_ngcontent-%COMP%] .form-wrapper.nps[_ngcontent-%COMP%] .nps-wrapper[_ngcontent-%COMP%]{display:-moz-flex;display:flex}[_nghost-%COMP%] form[_ngcontent-%COMP%] .form-wrapper.nps[_ngcontent-%COMP%] .nps-wrapper[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]:first-child{margin-left:0}[_nghost-%COMP%] form[_ngcontent-%COMP%] .form-wrapper.nps[_ngcontent-%COMP%] .nps-wrapper[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]:last-child{margin-right:0}[_nghost-%COMP%] form[_ngcontent-%COMP%] .form-wrapper.nps[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{display:inline-block;margin:0 auto}[_nghost-%COMP%] form[_ngcontent-%COMP%] .form-wrapper.nps[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .nps-control-group[_ngcontent-%COMP%]{text-align:center}[_nghost-%COMP%] form[_ngcontent-%COMP%] .form-wrapper.nps[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .nps-control-group[_ngcontent-%COMP%] .nps-radio[_ngcontent-%COMP%]{padding:0}[_nghost-%COMP%] form[_ngcontent-%COMP%] .form-wrapper.nps[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .nps-control-group[_ngcontent-%COMP%] .nps-radio[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{margin-right:8px;position:relative}[_nghost-%COMP%] form[_ngcontent-%COMP%] .form-wrapper.nps[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .nps-control-group[_ngcontent-%COMP%] .nps-number[_ngcontent-%COMP%]{margin:0}[_nghost-%COMP%] form[_ngcontent-%COMP%] .form-wrapper.nps[_ngcontent-%COMP%] .nps-legend[_ngcontent-%COMP%]{display:-moz-flex;display:flex}[_nghost-%COMP%] strong[_ngcontent-%COMP%]{font-family:Uni-Neue-Bold,Open Sans,Helvetica Neue,Helvetica,Arial,sans-serif}[_nghost-%COMP%] .pause-info[_ngcontent-%COMP%]{padding-bottom:13px}[_nghost-%COMP%] .button-wrapper[_ngcontent-%COMP%]{padding-top:21px}[_nghost-%COMP%] .button-wrapper[_ngcontent-%COMP%] .form-button[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;gap:10px}@media (min-width: 992px){[_nghost-%COMP%] .button-wrapper[_ngcontent-%COMP%] .form-button[_ngcontent-%COMP%]{flex-direction:row;justify-content:flex-start;gap:16px}}[_nghost-%COMP%] .control-group[_ngcontent-%COMP%]{font-size:17px}[_nghost-%COMP%] .control-group[_ngcontent-%COMP%] label.control-radio[_ngcontent-%COMP%]{display:block;line-height:26px;padding-left:40px}[_nghost-%COMP%] .control-group[_ngcontent-%COMP%] label.control-radio[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{margin-right:12px}[_nghost-%COMP%] .control-group[_ngcontent-%COMP%] label.control-radio[_ngcontent-%COMP%] + textarea[_ngcontent-%COMP%]{margin-top:10px;border:1px solid #939396;font-family:Uni-Neue-Regular,Open Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:13px;padding:13px 16px}[_nghost-%COMP%] .control-group[_ngcontent-%COMP%] .character-limit[_ngcontent-%COMP%]{margin-top:.125em}[_nghost-%COMP%] .control-group[_ngcontent-%COMP%] .control-radio-overlay[_ngcontent-%COMP%]{top:4px}[_nghost-%COMP%] .btn-primary[_ngcontent-%COMP%]{margin:0 auto;text-align:center}@media (max-width: 576px){[_nghost-%COMP%] .btn-primary[_ngcontent-%COMP%]{width:100%}}@media (min-width: 576px){[_nghost-%COMP%] .btn-primary.wide[_ngcontent-%COMP%]{width:215px}}.nps-legend[_ngcontent-%COMP%]{display:none;width:100%;flex-direction:row;justify-content:space-between}"],changeDetection:0}),n})();const jt=function(n){return{fadeIn:n}};function Lt(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",5),e.\u0275\u0275text(1),e.\u0275\u0275elementStart(2,"span",6),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();
1return e.\u0275\u0275resetView(o.setMainMessageBox(!1,null==o.mainMessageBox?null:o.mainMessageBox.type,null==o.mainMessageBox?null:o.mainMessageBox.text))}),e.\u0275\u0275element(3,"flo-svg-icon",7),e.\u0275\u0275elementEnd()()}if(2&n){const t=e.\u0275\u0275nextContext();e.\u0275\u0275classMapInterpolate1("primary-color-bg message-box animated ",null==t.mainMessageBox?null:t.mainMessageBox.type,""),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(5,jt,null==t.mainMessageBox?null:t.mainMessageBox.show)),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",null==t.mainMessageBox?null:t.mainMessageBox.text," ")}}function Yt(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",8)(1,"flo-survey",9),e.\u0275\u0275listener("surveyResponse",function(o){e.\u0275\u0275restoreView(t);const a=e.\u0275\u0275nextContext();return e.\u0275\u0275resetView(a.routeAfterSurvey(o))}),e.\u0275\u0275elementEnd()()}if(2&n){const t=r.ngIf,i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("surveyId",null==t?null:t.surveyId)("question",null==t?null:t.question)("subscriptionIsCancelling",i.formSubmitting)}}let zt=(()=>{class n{constructor(t,i,o,a,d,l,v,g){this.surveyService=t,this.router=i,this.ar=o,this.paymentsService=a,this.subscriptionService=d,this.authService=l,this.segmentService=v,this.loggingService=g,this.cancellationReasonSurvey$=this.surveyService.cancellationReasonSurvey$,this.ngOnDestroy$=new T.t(1),this.formSubmitting=!1,this.routeAfterSurvey=y=>{y.isCancelling?this.cancelSubscription():y.redirect&&this.navigateToNextStep(y.redirect)}}ngOnInit(){this.ar.params.pipe((0,m.U)(t=>
1t.id),(0,V.q)(1)).subscribe(t=>this.subscriptionId=t)}determineCancellationService(t){return ce(t)?this.paymentsService.cancelSubscription(t):this.subscriptionService.cancelStripeSubscription(t)}cancelSubscription(){this.formSubmitting=!0,this.determineCancellationService(this.subscriptionId).pipe((0,h.R)(this.ngOnDestroy$)).subscribe({next:()=>{this.segmentService.trackEvent({name:E.AA.SUBSCRIPTION_CANCELLED,properties:{name:"Successfully Cancelled Subscription",page_id:"cancel-reason",path:"/account/subscriptions/:id/cancel/reason"}}),this.formSubmitting=!1,this.refreshToken(),this.navigateToNextStep("../confirmation")},error:t=>{this.loggingService.error(t.message,t.error),this.setMainMessageBox(!0,"error","There was an error processing your request, please try again or contact customer service."),this.formSubmitting=!1,this.refreshToken()}})}refreshToken(){this.authService.refreshViaToken().pipe((0,V.q)(1)).subscribe()}navigateToNextStep(t){this.router.navigate([t],{relativeTo:this.ar,queryParamsHandling:"merge"})}setMainMessageBox(t,i,o){this.mainMessageBox={show:t,type:i,text:o}}}return n.\u0275fac=function(t){return new(t||n)(e.\u0275\u0275directiveInject(ae),e.\u0275\u0275directiveInject(_.Router),e.\u0275\u0275directiveInject(_.ActivatedRoute),e.\u0275\u0275directiveInject(H.c),e.\u0275\u0275directiveInject(U.F),e.\u0275\u0275directiveInject(q.e),e.\u0275\u0275directiveInject(G.BP),e.\u0275\u0275directiveInject(K.te))},n.\u0275cmp=e.\u0275\u0275defineComponent({type:n,selectors:[["flo-cancel-reason"]],decls:10,vars:4,consts:[[1,"my-5","px-4","px-md-5"],["data-test","error-message-box",3,"class","ngClass",4,"ngIf"],[1,"font-bold"],[1,"pb-4","pt-2","mb-0"],["class","survey pt-3",4,"ngIf"],["data-test","error-message-box",3,"ngClass"],["aria-hidden","true",3,"click"],["icon","icon-times","width","1.2em"],[1,"survey","pt-3"],[3,"surveyId","question","subscriptionIsCancelling","surveyResponse"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0),e.\u0275\u0275template(1,Lt,4,7,"div",1),e.\u0275\u0275elementStart(2,"h2",2),e.\u0275\u0275text(3,"We're sorry to see you go"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"p",3),e.\u0275\u0275text(5,"Before you go, please let us know the reason you want to cancel your subscription."),e.\u0275\u0275element(6,"br"),e.\u0275\u0275text(7," We value your feedback! "),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(8,Yt,2,3,"div",4),e.\u0275\u0275pipe(9,"async"),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",null==i.mainMessageBox?null:i.mainMessageBox.show),e.\u0275\u0275advance(7),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(9,2,i.cancellationReasonSurvey$)))},dependencies:[c.mk,c.O5,ie.b,Ft,c.Ov],styles:["h2[_ngcontent-%COMP%]{font-size:26px;margin-bottom:10px}"],changeDetection:0}),n})(),Wt=(()=>{class n{constructor(){}}return n.\u0275fac=function(t){return new(t||n)},n.\u0275cmp=e.\u0275\u0275defineComponent({type:n,selectors:[["flo-churn-prevention-success"]],decls:12,vars:0,consts:[[1,"my-5","px-4","px-md-5"],[1,"font-bold"],["data-test","success-message",1,"pb-4","pt-2","mb-0"],[1,"button-wrapper","border-top","border-grey-300"],[1,"form-button"],["floAnalytics","","routerLink","../../../",1,"btn","btn-secondary"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"h2",1),e.\u0275\u0275text(2,"Thank you for choosing to stay with us!"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"p",2),e.\u0275\u0275text(4," Thank you for staying with us! Your next payment includes a "),e.\u0275\u0275elementStart(5,"strong"),e.\u0275\u0275text(6,"20% discount"),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(7,", and you'll continue enjoying full access to all your favorite content. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(8,"div",3)(9,"div",4)(10,"button",5),e.\u0275\u0275text(11," Return To Manage Subscription "),e.\u0275\u0275elementEnd()()()())},dependencies:[A.v,_.RouterLink],styles:["h2[_ngcontent-%COMP%]{font-size:26px;margin-bottom:10px}strong[_ngcontent-%COMP%]{font-family:Uni-Neue-Bold,Open Sans,Helvetica Neue,Helvetica,Arial,sans-serif}.button-wrapper[_ngcontent-%COMP%]{padding-top:21px}.button-wrapper[_ngcontent-%COMP%] .form-button[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;gap:10px}@media (min-width: 992px){.button-wrapper[_ngcontent-%COMP%] .form-button[_ngcontent-%COMP%]{flex-direction:row;justify-content:flex-start;gap:16px}}"],changeDetection:0}),n})();var ve=s(37038),Ht=s(7069),Gt=s(89308),N=s(48275);function Kt(n,r){1&n&&(e.\u0275\u0275elementStart(0,"span",15)(1,"div",16)(2,"
1span",17),e.\u0275\u0275text(3,"Loading..."),e.\u0275\u0275elementEnd()()())}function Jt(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"h4",7),e.\u0275\u0275text(2,"Limited time offer!"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"p",8),e.\u0275\u0275text(4,"SAVE"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"p",9),e.\u0275\u0275text(6),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(7,"p",10),e.\u0275\u0275text(8,"Restart your subscription today and save."),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"div",11)(10,"p",12),e.\u0275\u0275text(11),e.\u0275\u0275pipe(12,"floDateYear"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(13,"button",13),e.\u0275\u0275listener("click",function(){const a=e.\u0275\u0275restoreView(t).ngIf,d=e.\u0275\u0275nextContext().ngIf,l=e.\u0275\u0275nextContext(2);return e.\u0275\u0275resetView(l.restartSubscription(a.subscription.id,d))}),e.\u0275\u0275text(14," Restart My Subscription "),e.\u0275\u0275template(15,Kt,4,0,"span",14),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()}if(2&n){const t=r.ngIf;e.\u0275\u0275advance(6),e.\u0275\u0275textInterpolate(t.details.couponDisplay),e.\u0275\u0275advance(5),e.\u0275\u0275textInterpolate2("You will be billed ",t.discountedPrice," once your current subscription period expires on ",e.\u0275\u0275pipeBind1(12,5,t.subscription.end_date),"."),e.\u0275\u0275advance(2),e.\u0275\u0275property("disabled",t.isSubmitting),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",t.isSubmitting)}}const Zt=function(n,r,t,i){return{details:n,discountedPrice:r,subscription:t,isSubmitting:i}};function Qt(n,r){if(1&n&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,Jt,16,7,"ng-container",6),e.\u0275\u0275pipe(2,"async"),e.\u0275\u0275pipe(3,"async"),e.\u0275\u0275pipe(4,"async"),e.\u0275\u0275pipe(5,"async"),e.\u0275\u0275elementContainerEnd()),2&n){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",e.\u0275\u0275pureFunction4(9,Zt,e.\u0275\u0275pipeBind1(2,1,t.couponDetails$),e.\u0275\u0275pipeBind1(3,3,t.discountedPrice$),e.\u0275\u0275pipeBind1(4,5,t.subscription$),e.\u0275\u0275pipeBind1(5,7,t.isSubmitting$)))}}function Xt(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"h4",18),e.\u0275\u0275text(1,"Oops!"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(2,"p",19),e.\u0275\u0275text(3,"There was an error finding the discount to reactivate your subscription. Please "),e.\u0275\u0275elementStart(4,"a",20),e.\u0275\u0275text(5,"contact customer support"),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(6," for further assistance."),e.\u0275\u0275elementEnd()),2&n){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(4),e.\u0275\u0275propertyInterpolate("href",t.CUSTOMER_SERVICE_URL,e.\u0275\u0275sanitizeUrl)}}function qt(n,r){if(1&n&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,Qt,6,14,"ng-container",3),e.\u0275\u0275pipe(2,"async"),e.\u0275\u0275template(3,Xt,7,1,"ng-template",null,5,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementContainerEnd()),2&n){const t=e.\u0275\u0275reference(4),i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(2,2,i.coupon$))("ngIfElse",t)}}function en(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"h4",21),e.\u0275\u0275text(1,"Oops!"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(2,"p",19),e.\u0275\u0275text(3,"Something went wrong trying to restart your subscription. Please "),e.\u0275\u0275elementStart(4,"a",20),e.\u0275\u0275text(5,"contact customer support"),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(6," for further assistance."),e.\u0275\u0275elementEnd()),2&n){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(4),e.\u0275\u0275propertyInterpolate("href",t.CUSTOMER_SERVICE_URL,e.\u0275\u0275sanitizeUrl)}}let tn=(()=>{class n{constructor(t,i,o,a,d,l,v){this.accountService=t,this.couponService=i,this.subscriptionService=o,this.logger=a,this.router=d,this.ar=l,this.productService=v,this.CUSTOMER_SERVICE_URL=X.x,this.isSubmittingSource=new C.X(!1),this.isSubmitting$=this.isSubmittingSource.asObservable(),this.idInRoute$=this.ar.params.pipe((0,m.U)(g=>+g.id)),this.subscription$=this.idInRoute$.pipe((0,x.w)(g=>this.accountService.matchRouteIdToUserSubscription(g)),(0,L.h)(Ht.bb),(0,O.x)(),(0,P.d)(1)),this.coupon$=this.couponService.couponOrError$.pipe((0,O.x)(),(0,L.h)(ve.e8),(0,P.d)(1)),this.couponDetail
1s$=this.coupon$.pipe((0,m.U)(nn)),this.discountedPrice$=(0,k.a)([this.coupon$,this.subscription$]).pipe((0,x.w)(([g,y])=>this.productService.getPlanWithDiscount(y.plan.id,g.id)),(0,m.U)(g=>g.data),(0,m.U)(g=>g?.discounted_price?.localized_text)),this.hasErrorSource=new C.X(!1),this.hasError$=this.hasErrorSource.asObservable(),this.restartSubscription=(g,y)=>{this.isSubmittingSource.next(!0),this.subscriptionService.legacyReactivateSubscription(g,{coupon:y.id}).pipe((0,V.q)(1)).subscribe(R=>{if(this.isSubmittingSource.next(!1),"error"in R)this.logger.error(R.message,R.error),this.hasErrorSource.next(!0);else{if(!("user"in R))return;this.accountService.updateUserData(R.user),this.router.navigate(["success"],{relativeTo:this.ar})}})}}}return n.\u0275fac=function(t){return new(t||n)(e.\u0275\u0275directiveInject(W.B),e.\u0275\u0275directiveInject(ve.jb),e.\u0275\u0275directiveInject(U.F),e.\u0275\u0275directiveInject(Gt.e),e.\u0275\u0275directiveInject(_.Router),e.\u0275\u0275directiveInject(_.ActivatedRoute),e.\u0275\u0275directiveInject(J.M5))},n.\u0275cmp=e.\u0275\u0275defineComponent({type:n,selectors:[["flo-reactivation"]],decls:7,vars:4,consts:[[1,"container","mt-5"],[1,"row","pt-3"],[1,"col-12","col-sm-7","col-lg-5","mx-auto","text-center"],[4,"ngIf","ngIfElse"],["hasError",""],["noCoupon",""],[4,"ngIf"],["data-test","reactivation-headline"],[1,"headline","font-family-bold","color-ignite","mb-0"],[1,"display-1","color-ignite"],[1,"subhead","color-600","mb-4"],[1,"billing-explanation","rounded","bg-200","p-4","mb-4"],[1,"footnote","color-600","mb-0"],["type","submit","floAnalytics","","name","Restart Subscription",1,"position-relative","btn","btn-primary","mt-3",3,"disabled","click"],["class","icon-wrapper position-absolute right center-y me-1",4,"ngIf"],[1,"icon-wrapper","position-absolute","right","center-y","me-1"],["role","status",1,"spinner-border","spinner-border-sm"],[1,"visually-hidden"],["data-test","no-coupon-headline"],[1,"subhead","color-600"],["target","_blank","floAnalytics","","name","Contact Customer Support",3,"href"],["data-test","reactivation-error-headline"]],template:function(t,i){if(1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"div",1)(2,"div",2),e.\u0275\u0275template(3,qt,5,4,"ng-container",3),e.\u0275\u0275pipe(4,"async"),e.\u0275\u0275template(5,en,7,1,"ng-template",null,4,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd()()()),2&t){const o=e.\u0275\u0275reference(6);e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",!1===e.\u0275\u0275pipeBind1(4,2,i.hasError$))("ngIfElse",o)}},dependencies:[c.O5,A.v,c.Ov,N.J],encapsulation:2,changeDetection:0}),n})();const nn=n=>({couponDisplay:n&&(n.percent_off?`${n.percent_off}%`:`$${n.amount_off}`)});var on=s(18312),rn=s(85445);let be=(()=>{class n{constructor(t,i,o){this.authService=t,this.accountService=i,this.router=o}canActivate(t,i){const a=t.queryParams;return(0,k.a)([this.authService.loggedIn$,this.accountService.matchRouteIdToUserSubscription(+t.params.id)]).pipe((0,V.q)(1),(0,on.V)(([d,l])=>d?l&&!l.is_active?(0,I.of)(!1).pipe((0,S.b)(()=>this.router.navigate(["signup"],{queryParams:a}))):l&&l.status===rn.ux.CANCELLED?(0,I.of)(!0):(0,I.of)(!1).pipe((0,S.b)(()=>this.router.navigateByUrl("/"))):(0,I.of)(!1).pipe((0,S.b)(()=>this.router.navigate(["login"],{queryParams:a})))))}}return n.\u0275fac=function(t){return new(t||n)(e.\u0275\u0275inject(q.e),e.\u0275\u0275inject(W.B),e.\u0275\u0275inject(_.Router))},n.\u0275prov=e.\u0275\u0275defineInjectable({token:n,factory:n.\u0275fac}),n})();var Ce=s(85866),an=s(97978);let sn=(()=>{class n{constructor(t,i){this.accountService=t,this.ar=i,this.idInRoute$=this.ar.params.pipe((0,m.U)(o=>o.id)),this.subscriptionEndDate$=this.idInRoute$.pipe((0,x.w)(o=>this.accountService.matchRouteIdToUserSubscription(o)),(0,m.U)(o=>o&&o.end_date?o.end_date:o&&o.purchase_date?"month"===o.plan.period?(0,Ce.Z)(new Date(o.purchase_date),1).toDateString():(0,an.Z)(new Date(o.purchase_date),1).toDateString():void 0),(0,O.x)(),(0,P.d)(1))}}return n.\u0275fac=function(t){return new(t||n)(e.\u0275\u0275directiveInject(W.B),e.\u0275\u0275directiveInject(_.ActivatedRoute))},n.\u0275cmp=e.\u0275\u0275defineComponent({type:n,selectors:[["flo-reactivation-success"]],decls:13,vars:5,consts:[[1,"container","reactivation-success","mt-5"],[1,"row","pt-3"],[1,"col-12","col-sm-7","col-lg-5","mx-auto","text-center"],[1,"headline","color-600"],["routerLink","/account/subscriptions","floAnalytics","","name","Go To Manage Subscriptions",1,"btn","btn-primary","my-3","w-100"],[1,"footnote","color-500"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0)(1,"div",1)(2,"div",2)(3,"h1"),e.\u0275\u0275text(4,"Thank You"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"p",3),e.\u0275\u0275text(6," You have restarted your subscription. Enjoy! "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(7,"button",4),e.\u0275\u0275text(8,"Continue"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"p",5),e.\u0275\u0275text(10),e.\u0275\u0275pipe(11,"floDateYear"),e.\u0275\u0275pipe(12,"async"),e.\u0275\u0275elementEnd()()()()),2&t&&(e.\u0275\u0275advance(10),e.\u0275\u0275textInterpolate1("Your subscription is set to renew on ",e.\u0275\u0275pipeBind1(11,1,e.\u0275\u0275pipeBind1(12,3,i.subscriptionEndDate$)),". If you do not wish to continue your subscription, please cancel before this date."))},dependencies:[A.v,_.RouterLink,c.Ov,N.J],encapsulation:2,changeDetection:0}),n})();function cn(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"div",1)(1,"h2",2),e.\u0275\u0275text(2,"Thank you for your feedback"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"p"),e.\u0275\u0275text(4),e.\u0275\u0275pipe(5,"floDateYear"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(6,"div",3)(7,"div",4)(8,"button",5),e.\u0275\u0275text(9," Return To Manage Subscription "),e.\u0275\u0275elementEnd()()()()),2&n){const t=r.ngIf;e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate1(" Your subscription has been set to cancel. If you change your mind please re-activate your subscription before ",e.\u0275\u0275pipeBind1(5,1,t),". ")}}let ln=(()=>{class n{constructor(t,i,o){this.ar=t,this.subscriptionService=i,this.accountService=o,this.idInRoute$=this.ar.params.pipe((0,m.U)(a=>a.id)),this.ngOnDestroy$=new T.t(1),this.subscriptionEndDate$=this.idInRoute$.pipe((0,x.w)(a=>{const d=Number(a);return isNaN(d)?this.subscriptionService.getSubscriptionById(a):this.accountService.matchRouteIdToUserSubscription(d)}),(0,m.U)(a=>a?(0,oe.Yc)(a):void 0),(0,O.x)(),(0,P.d)(1),(0,h.R)(this.ngOnDestroy$))}ngOnDestroy(){this.ngOnDestroy$.next(),this.ngOnDestroy$.complete()}}return n.\u0275fac=function(t){return new(t||n)(e.\u0275\u0275directiveInject(_.ActivatedRoute),e.\u0275\u0275directiveInject(U.F),e.\u0275\u0275directiveInject(W.B))},n.\u0275cmp=e.\u0275\u0275defineComponent({type:n,selectors:[["flo-cancel-confirmation"]],decls:2,vars:3,consts:[["class","my-5 px-4 px-md-5","data-test","container",4,"ngIf"],["data-test","container",1,"my-5","px-4","px-md-5"],[1,"font-bold"],[1,"button-wrapper","border-top","border-grey-300"],[1,"form-button"],["floAnalytics","","name","Return To Manage Subscription","routerLink","../../",1,"btn","btn-secondary"]],template:function(t,i){1&t&&(e.\u0275\u0275template(0,cn,10,3,"div",0),e.\u0275\u0275pipe(1,"async")),2&t&&e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(1,1,i.subscriptionEndDate$))},dependencies:[c.O5,A.v,_.RouterLink,c.Ov,N.J],styles:["p[_ngcontent-%COMP%]{padding-top:9px;padding-bottom:59px}.button-wrapper[_ngcontent-%COMP%]{padding-top:21px}.button-wrapper[_ngcontent-%COMP%] .form-button[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;gap:10px}@media (min-width: 992px){.button-wrapper[_ngcontent-%COMP%] .form-button[_ngcontent-%COMP%]{flex-direction:row;justify-content:flex-start;gap:16px}}"]}),n})();const pn={USD:"$",BRL:"R$ ",CAD:"CAD $"};var Y=s(98878);const dn={[Y.TZ.ONE_MONTH]:"1 Month",[Y.TZ.THREE_MONTHS]:"3 Months",[Y.TZ.SIX_MONTHS]:"6 Months"};function un(n,r){1&n&&(e.\u0275\u0275elementStart(0,"div",3)(1,"span",4),e.\u0275\u0275text(2,"Pause Your Subscription and get 50% Off Your Next Payment!"),e.\u0275\u0275elementEnd()())}function mn(n,r){if(1&n&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"p"),e.\u0275\u0275text(2),e.\u0275\u0275pipe(3,"floDateYear"),e.\u0275\u0275elementStart(4,"strong"),e.\u0275\u0275text(5,"50% discount"),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(6),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()),2&n){const t=e.\u0275\u0275nextContext(2).ngIf;e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" Pausing your subscription is easy. Your account will be paused at the end of your current billing cycle on ",e.\u0275\u0275pipeBind1(3,2,t.end_date),". Resume anytime and enjoy a "),e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate1(" on your next payment. Subsequent payments will be billed at the standard monthly rate of ",t.plan.cost_per_month.localized_text,". ")}}function gn(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"p"),e.\u0275\u0275text(1),e.\u0275\u0275pipe(2,"floDateYear"),e.\u0275\u0275element(3,"br")(4,"br"),e.\u0275\u0275text(5),e.\u0275\u0275elementEnd()),2&n){const t=e.\u0275\u0275nextContext(2).ngIf;e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" While your subscription is paused, you will not have access to premium content. You will also have the ability to resume your subscription at any time. Pausing will not take effect until ",e.\u0275\u0275pipeBind1(2,2,t.end_date),". "),e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate1(" After your Pause term ends, you will automatically be charged the standard Monthly rate of ",t.plan.cost_per_month.localized_text,"/mo. We will send an email reminder before your subscription is set to resume. ")}}function _n(n,r){if(1&n&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",19)(2,"div",20)(3,"label",21),e.\u0275\u0275element(4,"input",22),e.\u0275\u0275text(5),e.\u0275\u0275pipe(6,"floDateYear"),e.\u0275\u0275element(7,"div",23),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementContainerEnd()),2&n){const t=r.$implicit,i=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(4),e.\u0275\u0275property("analyticsProperties",i.getAnalyticsProps(t.months))("value",t.months),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate2(" ",i.getPauseDurationLabel(t.months)," (Resumes on ",e.\u0275\u0275pipeBind1(6,4,t.date),") ")}}function fn(n,r){1&n&&(e.\u0275\u0275elementStart(0,"div",24)(1,"span",25),e.\u0275\u0275text(2,"Loading..."),e.\u0275\u0275elementEnd()())}const hn=function(n){return{"pt-2":n}},vn=function(n){return{"pointer-events-none":n}};function bn(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",5)(1,"div",6)(2,"h2",7),e.\u0275\u0275text(3,"Need a break? Pause your subscription and come back when you're ready!"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(4,mn,7,4,"ng-container",8),e.\u0275\u0275template(5,gn,6,4,"ng-template",null,9,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(7,"div")(8,"span",10),e.\u0275\u0275text(9,"Choose your desired pause duration below:"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(10,"form",11),e.\u0275\u0275template(11,_n,8,6,"ng-container",12),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(12,"div",13)(13,"div",14)(14,"button",15),e.\u0275\u0275text(15," I Don't Want To Pause "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(16,"div",16)(17,"button",17),e.\u0275\u0275listener("click",function(){const a=e.\u0275\u0275restoreView(t).ngIf,d=e.\u0275\u0275nextContext().ngIf,l=e.\u0275\u0275nextContext();let v;
1return e.\u0275\u0275resetView(l.onConfirmPause(null==(v=l.pauseDateForm.get("pauseDate"))?null:v.value,d,a))}),e.\u0275\u0275text(18," Confirm Pause "),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(19,fn,3,0,"div",18),e.\u0275\u0275elementEnd()()()()()}if(2&n){const t=e.\u0275\u0275reference(6),i=e.\u0275\u0275nextContext().ngIf,o=e.\u0275\u0275nextContext();let a;e.\u0275\u0275advance(2),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(9,hn,!o.isEligibleForPauseOffer)),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",o.isEligibleForPauseOffer)("ngIfElse",t),e.\u0275\u0275advance(6),e.\u0275\u0275property("formGroup",o.pauseDateForm),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngForOf",i.pause_dates)("ngForTrackBy",o.trackByDuration),e.\u0275\u0275advance(3),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(11,vn,o.subscriptionIsPausing)),e.\u0275\u0275advance(3),e.\u0275\u0275property("disabled",!(null!=(a=o.pauseDateForm.get("pauseDate"))&&a.value)||o.subscriptionIsPausing),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",o.subscriptionIsPausing)}}function Cn(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"div"),e.\u0275\u0275template(1,un,3,0,"div",1),e.\u0275\u0275template(2,bn,20,13,"div",2),e.\u0275\u0275pipe(3,"async"),e.\u0275\u0275elementEnd()),2&n){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.isEligibleForPauseOffer),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(3,2,t.siteName$))}}let xn=(()=>{class n{constructor(t,i,o,a,d,l,v,g,y){this.fb=t,this.ar=i,this.vs=o,this.cdr=a,this.subscriptionService=d,this.segmentService=l,this.paymentsService=v,this.loggingService=g,this.router=y,this.idInRoute$=this.ar.params.pipe((0,m.U)(b=>b.id)),this.ngOnDestroy$=new T.t(1),this.siteName$=this.vs.siteName$,this.subscriptionIsPausing=!1,this.subscription$=this.idInRoute$.pipe((0,x.w)(b=>this.subscriptionService.getSubscriptionById(b,!0)),(0,S.b)(b=>{this.isEligibleForPauseOffer=b.paused_subscription?.isEligibleForDiscount??!0}),(0,O.x)(),(0,P.d)(1),(0,h.R)(this.ngOnDestroy$)),this.trackByDuration=(b,R)=>R}ngOnInit(){this.pauseDateForm=this.fb.group({pauseDate:[Y.TZ.ONE_MONTH]})}ngOnDestroy(){this.ngOnDestroy$.next(),this.ngOnDestroy$.complete()}onConfirmPause(t,i,o){this.segmentService.trackEvent({name:E.AA.BUTTON_CLICKED,properties:{name:"Confirm Pause Subscription Button",page_id:"pause",path:"/account/subscriptions/:id/pause"}}),this.pauseSubscription(i,t,o)}pauseSubscription(t,i,o){const a={action:Y.A7.PAUSE,pauseDuration:i};this.subscriptionIsPausing=!0,this.cdr.detectChanges(),this.paymentsService.pauseSubscription(t.id,a).pipe((0,h.R)(this.ngOnDestroy$)).subscribe({next:d=>{const l={pauseStartDate:d.pauseDate,pauseEndDate:d.pauseEndDate,monthlyPrice:this.isEligibleForPauseOffer?this.getLocalizedDiscountPrice(t.plan.cost_per_month):t.plan.cost_per_month.localized_text,siteName:o};sessionStorage.setItem("pausedSubscriptionState",JSON.stringify(l)),this.segmentService.trackEvent({name:E.AA.SUBSCRIPTION_PAUSED,properties:{name:"Successfully Paused Subscription",page_id:"pause",path:"/account/subscriptions/:id/pause"}}),this.subscriptionIsPausing=!1,this.router.navigate(["confirmation"],{relativeTo:this.ar})},error:d=>{this.loggingService.error(d.message,d.error)}})}getPauseDurationLabel(t){return dn[t]}getLocalizedDiscountPrice(t){return`${pn[t.currency]}${(t.amount/2/t.scale).toFixed(2)}`}getAnalyticsProps(t){return{name:"Pause Duration Selected",duration_id:t,duration_label:this.getPauseDurationLabel(t)}}}return n.\u0275fac=function(t){return new(t||n)(e.\u0275\u0275directiveInject(u.qu),e.\u0275\u0275directiveInject(_.ActivatedRoute),e.\u0275\u0275directiveInject(ne.A),e.\u0275\u0275directiveInject(e.ChangeDetectorRef),e.\u0275\u0275directiveInject(U.F),e.\u0275\u0275directiveInject(G.BP),e.\u0275\u0275directiveInject(H.c),e.\u0275\u0275directiveInject(K.te),e.\u0275\u0275directiveInject(_.Router))},n.\u0275cmp=e.\u0275\u0275defineComponent({type:n,selectors:[["flo-pause-subscription"]],decls:2,vars:3,consts:[[4,"ngIf"],["class","offer-banner d-flex justify-content-center align-items-center w-100",4,"ngIf"],["class","mb-5 px-4 px-md-5",4,"ngIf"],[1,"offer-banner","d-flex","justify-content-center","align-items-center","w-100"],[1,"banner-text"],[1,"mb-5","px-4","px-md-5"],[1,"info-container"],["data-test","discount-header",1,"font-bold",3,"ngClass"],[4,"ngIf","ngIfElse"],["standardPause",""],[1,"form-header","font-bold"],[1,"form-container",3,"formGroup"],[4,"ngFor","ngForOf","ngForTrackBy"],[1,"button-wrapper","border-top","border-grey-300"],[1,"form-button"],["floAnalytics","","data-test","do-not-pause-cta","name","Do Not Pause","routerLink","../",1,"btn","btn-secondary","mx-0",3,"ngClass"],[1,"position-relative"],["name","Confirm Pause","data-test","confirm-pause-cta",1,"btn","btn-primary","w-100",3,"disabled","click"],["class","spinner-border spinner-border-sm position-absolute d-md-none","data-test","pausing-spinner",4,"ngIf"],[1,"form-group"],[1,"control-group"],[1,"control-radio","primary-color-radio","standard-radio"],["type","radio","floAnalytics","","tagName","Radio Button","formControlName","pauseDate",3,"analyticsProperties","value"],[1,"control-radio-overlay","primary-overlay"],["data-test","pausing-spinner",1,"spinner-border","spinner-border-sm","position-absolute","d-md-none"],[1,"visually-hidden"]],template:function(t,i){1&t&&(e.\u0275\u0275template(0,Cn,4,4,"div",0),e.\u0275\u0275pipe(1,"async")),2&t&&e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(1,1,i.subscription$))},dependencies:[c.mk,c.sg,c.O5,A.v,_.RouterLink,u._Y,u.Fj,u._,u.JJ,u.JL,u.sg,u.u,c.Ov,N.J],styles:[".offer-banner[_ngcontent-%COMP%]{min-height:40px;background-color:#345ad1;padding:4px 16px}.offer-banner[_ngcontent-%COMP%] .banner-text[_ngcontent-%COMP%]{color:#fff}.info-container[_ngcontent-%COMP%]{margin-top:40px}.info-container[_ngcontent-%COMP%] h2[_ngcontent-%COMP%]{margin-bottom:26px}.info-container[_ngcontent-%COMP%] p[_ngcontent-%COMP%]{margin-bottom:32px}.info-container[_ngcontent-%COMP%] strong[_ngcontent-%COMP%]{font-family:Uni-Neue-Bold,Open Sans,Helvetica Neue,Helvetica,Arial,sans-serif}.form-header[_ngcontent-%COMP%]{font-size:20px}.form-container[_ngcontent-%COMP%]{margin-bottom:25px}.form-container[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%]{margin:21px auto 0}.form-container[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .control-group[_ngcontent-%COMP%]{font-size:18px}.form-container[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .control-group[_ngcontent-%COMP%] label.control-radio[_ngcontent-%COMP%]{display:block;line-height:26px;padding-left:40px}.form-container[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .control-group[_ngcontent-%COMP%] label.control-radio[_ngcontent-%COMP%] input[_ngcontent-%COMP%]{margin-right:12px}.form-container[_ngcontent-%COMP%] .form-group[_ngcontent-%COMP%] .control-group[_ngcontent-%COMP%] .control-radio-overlay[_ngcontent-%COMP%]{top:4px}.button-wrapper[_ngcontent-%COMP%]{padding-top:21px}.button-wrapper[_ngcontent-%COMP%] .form-button[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;gap:10px}@media (min-width: 992px){.button-wrapper[_ngcontent-%COMP%] .form-button[_ngcontent-%COMP%]{flex-direction:row;justify-content:flex-start;gap:16px}}"],changeDetection:0}),n})();function Sn(n,r){if(1&n&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"h2",8),e.\u0275\u0275text(2,"Your Subscription will be paused"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"p"),e.\u0275\u0275text(4),e.\u0275\u0275pipe(5,"floDateYear"),e.\u0275\u0275pipe(6,"floDateYear"),e.\u0275\u0275element(7,"br")(8,"br"),e.\u0275\u0275text(9," Visit Manage Subscription to resume your subscription at anytime. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()),2&n){const t=e.\u0275\u0275nextContext().ngIf;e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate4(" Your subscription will be paused on ",e.\u0275\u0275pipeBind1(5,4,t.pauseStartDate)," and will automatically restart on ",e.\u0275\u0275pipeBind1(6,6,t.pauseEndDate),". When your subscription resumes, your payment method will automatically be charged ",t.monthlyPrice," and you will regain access to all the benefits of a ",t.siteName," subscription. ")}}function yn(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"p",11),e.\u0275\u0275text(1),e.\u0275\u0275pipe(2,"floDateYear"),e.\u0275\u0275elementEnd()),2&n){const t=e.\u0275\u0275nextContext(3).ngIf;e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" Your new subscription end date is ",e.\u0275\u0275pipeBind1(2,1,t.newSubscriptionEndDate)," and you can now continue where you left off. Enjoy! ")}}function wn(n,r){if(1&n&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"h2",8),e.\u0275\u0275text(2,"Your Subscription has been resumed"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(3,yn,3,3,"p",10),e.\u0275\u0275elementContainerEnd()),2&n){const t=e.\u0275\u0275nextContext(2).ngIf;e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",t.newSubscriptionEndDate)}}function In(n,r){1&n&&(e.\u0275\u0275elementStart(0,"h2",8),e.\u0275\u0275text(1,"Your Subscription will not be paused"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(2,"p",11),e.\u0275\u0275text(3," If this was a mistake, you can pause your subscription again. "),e.\u0275\u0275elementEnd())}function Pn(n,r){if(1&n&&(e.\u0275\u0275template(0,wn,4,1,"ng-container",3),e.\u0275\u0275template(1,In,4,0,"ng-template",null,9,e.\u0275\u0275templateRefExtractor)),2&n){const t=e.\u0275\u0275reference(2),i=e.\u0275\u0275nextContext().ngIf;e.\u0275\u0275property("ngIf",i.isPaused)("ngIfElse",t)}}function En(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",2),e.\u0275\u0275template(1,Sn,10,8,"ng-container",3),e.\u0275\u0275template(2,Pn,3,2,"ng-template",null,4,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementStart(4,"div",5)(5,"div",6)(6,"button",7),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();
1return e.\u0275\u0275resetView(o.onReturnToManageSubscription())}),e.\u0275\u0275text(7," Return To Manage Subscription "),e.\u0275\u0275elementEnd()()()()}if(2&n){const t=e.\u0275\u0275reference(3),i=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!i.isResuming)("ngIfElse",t)}}function On(n,r){1&n&&(e.\u0275\u0275elementStart(0,"div",12)(1,"h2",8),e.\u0275\u0275text(2,"It looks like you accessed this page out of order"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"p"),e.\u0275\u0275text(4,"To continue, please click the button to go back to Manage Subscription."),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"div",5)(6,"div",6)(7,"button",13),e.\u0275\u0275text(8," Return To Manage Subscription "),e.\u0275\u0275elementEnd()()()())}let Mn=(()=>{class n{constructor(t,i){this.ar=t,this.router=i,this.pausedSubscriptionState$=(0,I.of)(this.getPausedSubscriptionState()),this.isResuming=this.ar.snapshot.queryParams.is_resuming}onReturnToManageSubscription(){sessionStorage.removeItem("pausedSubscriptionState"),this.router.navigate(["../../"],{relativeTo:this.ar})}getPausedSubscriptionState(){const t=sessionStorage.getItem("pausedSubscriptionState");return t?JSON.parse(t):void 0}}return n.\u0275fac=function(t){return new(t||n)(e.\u0275\u0275directiveInject(_.ActivatedRoute),e.\u0275\u0275directiveInject(_.Router))},n.\u0275cmp=e.\u0275\u0275defineComponent({type:n,selectors:[["flo-pause-confirmation"]],decls:4,vars:4,consts:[["class","my-5 px-4 px-md-5","data-test","container",4,"ngIf","ngIfElse"],["errorState",""],["data-test","container",1,"my-5","px-4","px-md-5"],[4,"ngIf","ngIfElse"],["resumeSub",""],[1,"button-wrapper","border-top","border-grey-300"],[1,"form-button"],["floAnalytics","","name","Return To Manage Subscription",1,"btn","btn-secondary",3,"click"],[1,"font-bold"],["isPendingPause",""],["class","cancel-body",4,"ngIf"],[1,"cancel-body"],["data-test","error-state-container",1,"my-5","px-4","px-md-5"],["floAnalytics","","name","Return To Manage Subscription","routerLink","../../",1,"btn","btn-secondary"]],template:function(t,i){if(1&t&&(e.\u0275\u0275template(0,En,8,2,"div",0),e.\u0275\u0275pipe(1,"async"),e.\u0275\u0275template(2,On,9,0,"ng-template",null,1,e.\u0275\u0275templateRefExtractor)),2&t){const o=e.\u0275\u0275reference(3);e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(1,2,i.pausedSubscriptionState$))("ngIfElse",o)}},dependencies:[c.O5,A.v,_.RouterLink,c.Ov,N.J],styles:["p[_ngcontent-%COMP%]{padding-top:9px}.cancel-body[_ngcontent-%COMP%]{padding-bottom:59px}.button-wrapper[_ngcontent-%COMP%]{padding-top:21px}.button-wrapper[_ngcontent-%COMP%] .form-button[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;gap:10px}@media (min-width: 992px){.button-wrapper[_ngcontent-%COMP%] .form-button[_ngcontent-%COMP%]{flex-direction:row;justify-content:flex-start;gap:16px}}"],changeDetection:0}),n})();function Tn(n,r){if(1&n&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"p",11),e.\u0275\u0275text(2),e.\u0275\u0275elementStart(3,"strong"),e.\u0275\u0275text(4,"50% discount"),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(5," on your next payment. "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()),2&n){const t=e.\u0275\u0275nextContext().ngIf;e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" We\u2019d hate to see you cancel your subscription. If you are enjoying ",null==t?null:t.siteName," and need to take a break, choose Pause Subscription below and when you return we will offer you a ")}}function Dn(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"p",11),e.\u0275\u0275text(1),e.\u0275\u0275elementEnd()),2&n){const t=e.\u0275\u0275nextContext().ngIf;e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" We\u2019d hate to see you cancel your subscription. If you are enjoying ",null==t?null:t.siteName," and need to take a break, choose Pause Subscription below. ")}}function Rn(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",2)(1,"h2",3),e.\u0275\u0275text(2,"We're sorry you want to cancel"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(3,Tn,6,1,"ng-container",4),e.\u0275\u0275template(4,Dn,2,1,"ng-template",null,5,e.\u0275\u0275templateRefExtractor),e.\u0275\u0275elementStart(6,"p",6),e.\u0275\u0275text(7),e.\u0275\u0275pipe(8,"floDateYear"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(9,"div",7)(10,"div",8)(11,"button",9),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();
1return e.\u0275\u0275resetView(o.goToNextPage("../pause"))}),e.\u0275\u0275text(12," Pause Subscription "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(13,"button",10),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();return e.\u0275\u0275resetView(o.goToNextPage("reason"))}),e.\u0275\u0275text(14," No Thanks, Cancel Subscription "),e.\u0275\u0275elementEnd()()()()}if(2&n){const t=r.ngIf,i=e.\u0275\u0275reference(5);e.\u0275\u0275advance(3),e.\u0275\u0275property("ngIf",t.isEligibleForPauseOffer)("ngIfElse",i),e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate1(" Note: You will continue to have access to your account until ",e.\u0275\u0275pipeBind1(8,3,null==t?null:t.endDate),". ")}}function An(n,r){1&n&&(e.\u0275\u0275elementStart(0,"div",12)(1,"h2",3),e.\u0275\u0275text(2,"It looks like you accessed this page out of order"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"p"),e.\u0275\u0275text(4,"To continue, please click the button to go back to Manage Subscription."),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(5,"div",7)(6,"div",8)(7,"button",13),e.\u0275\u0275text(8," Return To Manage Subscription "),e.\u0275\u0275elementEnd()()()())}let kn=(()=>{class n{constructor(t,i){this.router=t,this.ar=i,this.cancelSubscriptionState$=(0,I.of)(this.getCancelSubscriptionState())}getCancelSubscriptionState(){const t=sessionStorage.getItem("cancelSubscriptionState");return t?JSON.parse(t):void 0}goToNextPage(t){sessionStorage.removeItem("cancelSubscriptionState"),this.router.navigate([t],{relativeTo:this.ar,queryParamsHandling:"merge"})}}return n.\u0275fac=function(t){return new(t||n)(e.\u0275\u0275directiveInject(_.Router),e.\u0275\u0275directiveInject(_.ActivatedRoute))},n.\u0275cmp=e.\u0275\u0275defineComponent({type:n,selectors:[["flo-cancel-subscription"]],decls:4,vars:4,consts:[["class","my-5 px-4 px-md-5","data-test","container",4,"ngIf","ngIfElse"],["errorState",""],["data-test","container",1,"my-5","px-4","px-md-5"],[1,"font-bold"],[4,"ngIf","ngIfElse"],["standardPause",""],[1,"pb-4","mb-0"],[1,"button-wrapper","border-top","border-grey-300"],[1,"form-button"],["floAnalytics","","data-test","pause-subscription-button","name","Pause Subscription",1,"btn","btn-secondary",3,"click"],["floAnalytics","","data-test","cancel-subscription-button","name","Cancel Subscription",1,"btn","btn-primary",3,"click"],[1,"pb-4","pt-2","mb-0"],["data-test","error-state-container",1,"my-5","px-4","px-md-5"],["floAnalytics","","name","Return To Manage Subscription","routerLink","../../",1,"btn","btn-secondary"]],template:function(t,i){if(1&t&&(e.\u0275\u0275template(0,Rn,15,5,"div",0),e.\u0275\u0275pipe(1,"async"),e.\u0275\u0275template(2,An,9,0,"ng-template",null,1,e.\u0275\u0275templateRefExtractor)),2&t){const o=e.\u0275\u0275reference(3);e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(1,2,i.cancelSubscriptionState$))("ngIfElse",o)}},dependencies:[c.O5,A.v,_.RouterLink,c.Ov,N.J],styles:["h2[_ngcontent-%COMP%]{font-size:26px;margin-bottom:10px}strong[_ngcontent-%COMP%]{font-family:Uni-Neue-Bold,Open Sans,Helvetica Neue,Helvetica,Arial,sans-serif}.button-wrapper[_ngcontent-%COMP%]{padding-top:21px}.button-wrapper[_ngcontent-%COMP%] .form-button[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;gap:10px}@media (min-width: 992px){.button-wrapper[_ngcontent-%COMP%] .form-button[_ngcontent-%COMP%]{flex-direction:row;justify-content:flex-start;gap:16px}}"],changeDetection:0}),n})(),Bn=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=e.\u0275\u0275defineNgModule({type:n}),n.\u0275inj=e.\u0275\u0275defineInjector({imports:[_.RouterModule.forChild([{path:"",component:me,data:{segment:$.E.SETTINGS_SUBSCRIPTION_DETAILS,hideReactivatePill:!0}},{path:"cancel",component:kn,data:{segment:$.E.SETTINGS_SUBSCRIPTION_DETAILS_CANCEL}},{path:"pause",component:xn,data:{segment:$.E.SETTINGS_SUBSCRIPTION_PAUSE}},{path:"pause/confirmation",component:Mn,data:{segment:$.E.SETTINGS_SUBSCRIPTION_PAUSE_CONFIRMATION}},{path:"cancel/reason",component:zt,data:{segment:$.E.SETTINGS_SUBSCRIPTION_DETAILS_CANCEL_REASON}},{path:"cancel/offer",component:_e,data:{segment:$.E.SETTINGS_SUBSCRIPTION_DETAILS_CANCEL_OFFER}},{path:"cancel/offer/success",component:Wt,data:{segment:$.E.SETTINGS_SUBSCRIPTION_DETAILS_CANCEL_OFFER_SUCCESS}},{path:"cancel/confirmation",component:ln,data:{segment:$.E.SETTINGS_SUBSCRIPTION_DETAILS_CANCEL_CONFIRMATION}}
1,{path:"reactivate",component:tn,canActivate:[be],data:{segment:$.E.SETTINGS_SUBSCRIPTION_DETAILS_REACTIVATION}},{path:"reactivate/success",component:sn,data:{segment:$.E.SETTINGS_SUBSCRIPTION_DETAILS_REACTIVATION_SUCCESS}}]),_.RouterModule]}),n})();var xe=s(99286),Vn=s(37658);let $n=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=e.\u0275\u0275defineNgModule({type:n}),n.\u0275inj=e.\u0275\u0275defineInjector({providers:[ae],imports:[c.ez,Vn.I,u.UX]}),n})();var Nn=s(47951),Un=s(51544);let Fn=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=e.\u0275\u0275defineNgModule({type:n}),n.\u0275inj=e.\u0275\u0275defineInjector({imports:[c.ez]}),n})(),jn=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=e.\u0275\u0275defineNgModule({type:n}),n.\u0275inj=e.\u0275\u0275defineInjector({imports:[c.ez,u.UX,Nn.F,Un.j,xe.m8,Fn]}),n})();var Se=s(26656),Ln=s(93962),ye=s(88996);const Q="We could not update your payment method. Please try again.";var Yn=s(36514),zn=s(40435),Wn=s(97290),Hn=s(59454);const Gn=function(n){return{"error-override":n}};let Kn=(()=>{class n{constructor(t,i){this.platformService=t,this.changeRef=i,this.stripeCard=new e.EventEmitter,this.stripeClient=new e.EventEmitter,this.isStripeInformationCardValid=new e.EventEmitter}ngOnInit(){this.platformService.isServer||(0,Hn.J)(this.publicKey).then(t=>{const a=t.elements().create("card",{style:{base:{iconColor:"#666EE8",color:"#272a2b",fontFamily:'"Open Sans", Helvetica, Arial, sans-serif',fontSize:"14px","::placeholder":{color:"#939495",fontWeight:"200"}}}});a.mount("#card-element"),a.on("change",d=>{this.overRideErrorMessage=!!d.error,this.errorMessage=d.error?d.error.message:"",this.changeRef.detectChanges(),this.isStripeInformationCardValid.emit(d.complete)}),this.stripeClient.emit(t),this.stripeCard.emit(a)})}}return n.\u0275fac=function(t){return new(t||n)(e.\u0275\u0275directiveInject(ee.m),e.\u0275\u0275directiveInject(e.ChangeDetectorRef))},n.\u0275cmp=e.\u0275\u0275defineComponent({type:n,selectors:[["flo-stripe-card"]],inputs:{publicKey:"publicKey",overRideErrorMessage:"overRideErrorMessage",errorMessage:"errorMessage"},outputs:{stripeCard:"stripeCard",stripeClient:"stripeClient",isStripeInformationCardValid:"isStripeInformationCardValid"},decls:3,vars:4,consts:[["id","card-element",1,"field"],["id","card-errors","role","alert",3,"ngClass"]],template:function(t,i){1&t&&(e.\u0275\u0275element(0,"div",0),e.\u0275\u0275elementStart(1,"div",1),e.\u0275\u0275text(2),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275advance(1),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(2,Gn,i.overRideErrorMessage)),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate(i.errorMessage))},dependencies:[c.mk],styles:[".field.StripeElement[_ngcontent-%COMP%]{background:#fff;border:1px solid #6f6f73;border-radius:.25rem;color:#0c0c0c;font-family:Uni-Neue-Regular,Open Sans,Helvetica Neue,Helvetica,Arial,sans-serif;font-size:14px;width:100%;-webkit-appearance:none;padding:15px}.field.StripeElement[_ngcontent-%COMP%]::-webkit-input-placeholder{font-size:13px;font-weight:400;font-style:normal;font-stretch:normal;line-height:1.62;letter-spacing:normal;color:#939396}.field.StripeElement[_ngcontent-%COMP%]:-moz-placeholder{font-size:13px;font-weight:400;font-style:normal;font-stretch:normal;line-height:1.62;letter-spacing:normal;color:#939396}.field.StripeElement[_ngcontent-%COMP%]::-moz-placeholder{font-size:13px;font-weight:400;font-style:normal;font-stretch:normal;line-height:1.62;letter-spacing:normal;color:#939396}.field.StripeElement[_ngcontent-%COMP%]:-ms-input-placeholder{font-size:13px;font-weight:400;font-style:normal;font-stretch:normal;line-height:1.62;letter-spacing:normal;color:#939396}.field.StripeElement[_ngcontent-%COMP%]:hover:not(:focus){border:1px solid #323236}.field.StripeElement[_ngcontent-%COMP%]:focus{border:1px solid #232327;box-shadow:0 0 0 1px #232327;outline:0}.field.StripeElement[_ngcontent-%COMP%]:focus::-webkit-input-placeholder{color:#535357}.field.StripeElement[_ngcontent-%COMP%]:focus:-moz-placeholder{color:#535357}.field.StripeElement[_ngcontent-%COMP%]:focus::-moz-placeholder{color:#535357}.field.StripeElement[_ngcontent-%COMP%]:focus:-ms-input-placeholder{color:#535357}.field.StripeElement.disabled[_ngcontent-%COMP%]{color:#6f6f73}.field.StripeElement.ng-invalid.ng-touched[_ngcontent-%COMP%], .field.StripeElement.card-cvc-error[_ngcontent-%COMP%], .field.StripeElement.error-override[_ngcontent-%COMP%], .field.StripeElement.StripeElement--invalid[_ngcontent-%COMP%]{border:1px solid red}"],changeDetection:0}),n})();var Jn=s(74372),Zn=s(18449);const Qn=["mountEl"];let Xn=(()=>{class n{constructor(t,i,o){this.platformService=t,this.ngZone=i,this.logger=o,this.walletSuccess=new e.EventEmitter,this.walletError=new e.EventEmitter,this.walletAvailable=new e.EventEmitter,this.stripe=null,this.isDestroyed=!1}ngOnChanges(){this.platformService.isServer||!this.clientSecret||this.clientSecret===this.mountedSecret||this.mount(this.clientSecret)}mount(t){this.mountedSecret=t,this.teardownElement(),(0,Zn.d)(this.publicKey).subscribe({next:i=>{if(this.isDestroyed||this.mountedSecret!==t)return;if(!i)return void this.onLoadError();this.stripe=i,this.elements=i.elements({clientSecret:t});const o=this.elements.create("expressCheckout",{paymentMethods:{applePay:"auto",googlePay:"auto",amazonPay:"never",link:"never",paypal:"never"}});this.expressCheckoutElement=o,o.on("ready",a=>{const d=a.availablePaymentMethods,l=!!d&&(d.applePay||d.googlePay);this.ngZone.run(()=>this.walletAvailable.emit(l))}),o.on("loaderror",a=>this.onLoadError(a.error)),o.on("click",a=>a.resolve()),o.on("confirm",()=>this.confirm()),this.isDestroyed||this.mountedSecret!==t?o.destroy():o.mou
1nt(this.mountEl.nativeElement)},error:i=>this.onLoadError(i)})}confirm(){if(!this.stripe||!this.elements)return;const t=this.platformService.isServer?"":window.location.href;(0,ye.D)(this.stripe.confirmSetup({elements:this.elements,confirmParams:{return_url:t},redirect:"if_required"})).subscribe({next:i=>this.ngZone.run(()=>this.handleConfirmResult(i)),error:i=>this.ngZone.run(()=>this.emitError(i))})}handleConfirmResult(t){if(t.error)return this.logger.error("Express Checkout wallet confirmation returned an error",{type:t.error.type,code:t.error.code}),void this.walletError.emit(this.resolveWalletErrorMessage(t.error));const i=t.setupIntent;"succeeded"===i?.status&&i.payment_method?this.walletSuccess.emit(this.resolvePaymentMethodId(i.payment_method)):(this.logger.error("Express Checkout wallet confirmation did not succeed",{setupIntentStatus:i?.status}),this.walletError.emit(Q))}resolvePaymentMethodId(t){return"string"==typeof t?t:t.id}resolveWalletErrorMessage(t){return"card_error"===t.type||"validation_error"===t.type?t.message??Q:Q}emitError(t){this.logger.error("Express Checkout wallet confirmation failed",{stripeError:t}),this.walletError.emit(Q)}onLoadError(t){this.mountedSecret=void 0,this.teardownElement(),this.logger.error("Stripe Express Checkout failed to load",{stripeError:t}),this.ngZone.run(()=>this.walletAvailable.emit(!1))}teardownElement(){this.expressCheckoutElement&&(this.expressCheckoutElement.destroy(),this.expressCheckoutElement=void 0),this.elements=void 0,this.stripe=null}ngOnDestroy(){this.isDestroyed=!0,this.teardownElement()}}return n.\u0275fac=function(t){return new(t||n)(e.\u0275\u0275directiveInject(ee.m),e.\u0275\u0275directiveInject(e.NgZone),e.\u0275\u0275directiveInject(K.te))},n.\u0275cmp=e.\u0275\u0275defineComponent({type:n,selectors:[["flo-express-wallet"]],viewQuery:function(t,i){if(1&t&&e.\u0275\u0275viewQuery(Qn,7),2&t){let o;e.\u0275\u0275queryRefresh(o=e.\u0275\u0275loadQuery())&&(i.mountEl=o.first)}},inputs:{publicKey:"publicKey",clientSecret:"clientSecret"},outputs:{walletSuccess:"walletSuccess",walletError:"walletError",walletAvailable:"walletAvailable"},features:[e.\u0275\u0275NgOnChangesFeature],decls:2,vars:0,consts:[["mountEl",""]],template:function(t,i){1&t&&e.\u0275\u0275element(0,"div",null,0)},encapsulation:2,changeDetection:0}),n})();function qn(n,r){1&n&&(e.\u0275\u0275elementStart(0,"div",7)(1,"span"),e.\u0275\u0275text(2,"or"),e.\u0275\u0275elementEnd()())}function ei(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"flo-express-wallet",5),e.\u0275\u0275listener("walletSuccess",function(o){e.\u0275\u0275restoreView(t);const a=e.\u0275\u0275nextContext(3);return e.\u0275\u0275resetView(a.onWalletUpdated(o))})("walletError",function(o){e.\u0275\u0275restoreView(t);const a=e.\u0275\u0275nextContext(3);return e.\u0275\u0275resetView(a.onWalletError(o))})("walletAvailable",function(o){e.\u0275\u0275restoreView(t);const a=e.\u0275\u0275nextContext(3);return e.\u0275\u0275resetView(a.onWalletAvailable(o))}),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(2,qn,3,0,"div",6),e.\u0275\u0275elementContainerEnd()}if(2&n){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275advance(1),e.\u0275\u0275property("publicKey",t.subscription.plan.payment_provider.public_key)("clientSecret",t.clientSecret),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.walletAvailable)}}function ti(n,r){1&n&&(e.\u0275\u0275elementStart(0,"div",8)(1,"div",9)(2,"span",10),e.\u0275\u0275text(3,"Updating..."),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(4,"span"),e.\u0275\u0275text(5,"Updating your payment method\u2026"),e.\u0275\u0275elementEnd()())}function ni(n,r){if(1&n&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,ei,3,3,"ng-container",0),e.\u0275\u0275pipe(2,"async"),e.\u0275\u0275template(3,ti,6,0,"div",4),e.\u0275\u0275elementContainerEnd()),2&n){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!1===e.\u0275\u0275pipeBind1(2,2,t.formSubmitting$)),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",t.walletSubmitting)}}function ii(n,r){if(1&n&&e.\u0275\u0275element(0,"flo-form-errors",19),2&n){const t=e.\u0275\u0275nextContext(3);e.\u0275\u0275property("errors",null==t.name?null:t.name.errors)}}function oi(n,r){1&n&&(e.\u0275\u0275elementStart(0,"div",9)(1,"span",10),e.\u0275\u0275text(2,"Loading..."),e.\u0275\u0275elementEnd()())}const ri=function(){return["click","focus"]},ai=function(n){return{"primary-color-bg":n}};function si(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"form",11),e.\u0275\u0275listener("ngSubmit",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);
1return e.\u0275\u0275resetView(o.updateCard())}),e.\u0275\u0275elementStart(1,"div",12),e.\u0275\u0275element(2,"input",13),e.\u0275\u0275template(3,ii,1,1,"flo-form-errors",14),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div",12)(5,"flo-stripe-card",15),e.\u0275\u0275listener("stripeClient",function(o){e.\u0275\u0275restoreView(t);const a=e.\u0275\u0275nextContext(2);return e.\u0275\u0275resetView(a.setStripeClient(o))})("stripeCard",function(o){e.\u0275\u0275restoreView(t);const a=e.\u0275\u0275nextContext(2);return e.\u0275\u0275resetView(a.setStripeCard(o))})("isStripeInformationCardValid",function(o){e.\u0275\u0275restoreView(t);const a=e.\u0275\u0275nextContext(2);return e.\u0275\u0275resetView(a.isStripeInformationCardValid(o))}),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(6,"div",16)(7,"button",17),e.\u0275\u0275pipe(8,"async"),e.\u0275\u0275pipe(9,"async"),e.\u0275\u0275text(10," Update Card "),e.\u0275\u0275template(11,oi,3,0,"div",18),e.\u0275\u0275pipe(12,"async"),e.\u0275\u0275elementEnd()()()}if(2&n){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("formGroup",t.updateCardForm),e.\u0275\u0275advance(2),e.\u0275\u0275property("events",e.\u0275\u0275pureFunction0(13,ri)),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",(null==t.name?null:t.name.touched)&&(null==t.name?null:t.name.invalid)&&(null==t.name?null:t.name.errors)),e.\u0275\u0275advance(2),e.\u0275\u0275property("publicKey",t.subscription.plan.payment_provider.public_key),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(14,ai,!1===e.\u0275\u0275pipeBind1(8,7,t.formSubmitting$)&&(null==t.updateCardForm?null:t.updateCardForm.valid)))("disabled",e.\u0275\u0275pipeBind1(9,9,t.formSubmitting$)||(null==t.updateCardForm?null:t.updateCardForm.invalid)),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(12,11,t.formSubmitting$))}}function ci(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",20)(1,"p"),e.\u0275\u0275text(2,"You have successfully updated your credit card information."),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(3,"span",21)(4,"i",22),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return e.\u0275\u0275resetView(o.hideAllMessages())}),e.\u0275\u0275elementEnd()()()}}function li(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",23),e.\u0275\u0275text(1),e.\u0275\u0275elementStart(2,"span",24),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return e.\u0275\u0275resetView(o.hideAllMessages())}),e.\u0275\u0275elementEnd()()}if(2&n){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",t.errorMessage," ")}}function pi(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"div"),e.\u0275\u0275template(1,ni,4,4,"ng-container",0),e.\u0275\u0275template(2,si,13,16,"form",1),e.\u0275\u0275template(3,ci,5,0,"div",2),e.\u0275\u0275template(4,li,3,1,"div",3),e.\u0275\u0275elementEnd()),2&n){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.isFormVisible&&t.clientSecret&&t.subscription.plan.payment_provider.public_key),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.isFormVisible),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.visibleSuccessMessage),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.visibleErrorMessage)}}let we=(()=>{class n{constructor(t,i,o,a,d,l){this.formBuilder=t,this.subscriptionService=i,this.paymentsService=o,this.platformService=a,this.featureFlagService=d,this.cd=l,this.formSubmittingSubject=new C.X(!1),this.destroy$=new D.x,this.intentRequested=!1,this.isInNewPricingArchitecture=!1,this.updateCreditCardSuccess=new e.EventEmitter,this.formSubmitting$=this.formSubmittingSubject.asObservable(),this.isFormVisible=!0,this.visibleSuccessMessage=!1,this.visibleErrorMessage=!1,this.errorMessage="",this.walletAvailable=!1,this.walletSubmitting=!1,this.updateCardForm=this.formBuilder.group({stripe:["",[u.kI.requiredTrue]],cardholderName:["",[u.kI.required]]})}get name(){return this.updateCardForm.get("cardholderName")}ngOnChanges(){this.enabled&&this.subscription&&!this.intentRequested&&!this.platformService.isServer&&this.fetchCardUpdateIntent
1()}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete()}fetchCardUpdateIntent(){this.intentRequested=!0,this.mintCardUpdateIntent(this.isInNewPricingArchitecture?this.paymentsService.createCardUpdateIntent():this.featureFlagService.getValueWhenReady$(Yn.c.LEGACY_WALLET_CARD_UPDATE,!1).pipe((0,L.h)(t=>t),(0,x.w)(()=>this.subscriptionService.createCardSetupIntent(this.subscription.id))))}mintCardUpdateIntent(t){t.pipe((0,V.q)(1),(0,h.R)(this.destroy$)).subscribe({next:i=>{this.clientSecret=i?.clientSecret,this.cd.markForCheck()},error:()=>{this.intentRequested=!1,this.clientSecret=void 0,this.cd.markForCheck()}})}updateCard(){if(this.updateCardForm.invalid)return;const t={name:this.updateCardForm.get("cardholderName").value},i=this.formSubmitting$.pipe((0,V.q)(1),(0,L.h)(o=>!o),(0,S.b)(()=>this.formSubmittingSubject.next(!0)),(0,x.w)(()=>(0,ye.D)(this.stripeClient.createToken(this.stripeCardElement,t))),(0,x.w)(o=>this.isInNewPricingArchitecture?void 0!==o.error?(0,I.of)(o.error.message):this.paymentsService.updateCard(o.token.id).pipe((0,V.q)(1)):void 0!==o.error?(0,I.of)(o.error.message):this.subscriptionService.updateCard(o.token.id,this.subscription.id.toString(),this.couponId).pipe((0,V.q)(1))),(0,S.b)(()=>{i.unsubscribe(),this.formSubmittingSubject.next(!1),this.showSuccessMessage(),this.updateCreditCardSuccess.next(!0)}),(0,te.K)(o=>(this.formSubmittingSubject.next(!1),this.showErrorMessage(o.error.message),(0,I.of)(o)))).subscribe()}showSuccessMessage(){this.visibleSuccessMessage=!0,this.visibleErrorMessage=!1,this.updateCardForm.reset(),this.isFormVisible=!1}showErrorMessage(t){this.visibleErrorMessage=!0,this.visibleSuccessMessage=!1,this.errorMessage=t}hideAllMessages(){this.visibleErrorMessage=!1,this.visibleSuccessMessage=!1}onWalletUpdated(t){this.formSubmittingSubject.value||(this.formSubmittingSubject.next(!0),this.walletSubmitting=!0,this.cd.markForCheck(),(this.isInNewPricingArchitecture?this.paymentsService.updateCardPaymentMethod(t):this.subscriptionService.updateCardWithPaymentMethod(t,this.subscription.id.toString())).pipe((0,V.q)(1),(0,h.R)(this.destroy$)).subscribe({next:()=>{this.formSubmittingSubject.next(!1),this.walletSubmitting=!1,this.showSuccessMessage(),this.updateCreditCardSuccess.next(!0),this.cd.markForCheck()},error:()=>{this.formSubmittingSubject.next(!1),this.walletSubmitting=!1,this.showErrorMessage(Q),this.walletAvailable=!1,this.clientSecret=void 0,this.cd.markForCheck(),this.fetchCardUpdateIntent()}}))}onWalletError(t){this.showErrorMessage(t),this.cd.markForCheck()}onWalletAvailable(t){this.walletAvailable=t,this.cd.markForCheck()}isStripeInformationCardValid(t){this.updateCardForm.get("stripe").setValue(t),this.updateCardForm.updateValueAndValidity()}setStripeClient(t){this.stripeClient=t}setStripeCard(t){this.stripeCardElement=t}}return n.\u0275fac=function(t){return new(t||n)(e.\u0275\u0275directiveInject(u.QS),e.\u0275\u0275directiveInject(U.F),e.\u0275\u0275directiveInject(H.c),e.\u0275\u0275directiveInject(ee.m),e.\u0275\u0275directiveInject(zn.Qt),e.\u0275\u0275directiveInject(e.ChangeDetectorRef))},n.\u0275cmp=e.\u0275\u0275defineComponent({type:n,selectors:[["flo-update-credit-card"]],inputs:{subscription:"subscription",enabled:"enabled",couponId:"couponId",isInNewPricingArchitecture:"isInNewPricingArchitecture"},outputs:{updateCreditCardSuccess:"updateCreditCardSuccess"},features:[e.\u0275\u0275NgOnChangesFeature],decls:1,vars:1,consts:[[4,"ngIf"],["class","pay-method-form","novalidate","",3,"formGroup","ngSubmit",4,"ngIf"],["class","alert primary-color-bg",4,"ngIf"],["class","alert alert-danger",4,"ngIf"],["class","express-wallet-pending","data-test","wallet-pending",4,"ngIf"],[3,"publicKey","clientSecret","walletSuccess","walletError","walletAvailable"],["class","express-wallet-divider",4,"ngIf"],[1,"express-wallet-divider"],["data-test","wallet-pending",1,"express-wallet-pending"],["role","status",1,"spinner-border","spinner-border-sm"],[1,"visually-hidden"],["novalidate","",1,"pay-method-form",3,"formGroup","ngSubmit"],[1,"form-group"],["floAnalytics","","type","text","name","cardholderName","formControlName","cardholderName","data-test","cc-name-form","placeholder","Name on Card","autocomplete","off","maxlength","45",1,"form-control-lg",3,"events"],["control","payFormName",3,"errors",4,"ngIf"],[3,"publicKey","stripeClient","stripeCard","isStripeInformationCardValid"],[1,"form-button"],["type","submit","floAnalytics","","name","Update Card",1,"btn-update-card","btn","btn-primary","btn-lg","w-100",3,"ngClass","disabled"],["class","spinner-border spinner-border-sm","role","status",4,"ngIf"],["control","payFormName",3,"errors"],[1,"alert","primary-color-bg"],[1,"close-icon"],["floSvg","close",2,"fill","white",3,"click"],[1,"alert","alert-danger"],["floSvg","icon-times",3,"click"]],template:function(t,i){1&t&&e.\u0275\u0275template(0,pi,5,4,"div",0),2&t&&e.\u0275\u0275property("ngIf",i.enabled)},dependencies:[c.mk,c.O5,u._Y,u.Fj,u.JJ,u.JL,u.nD,u.sg,u.u,Wn.A,Kn,A.v,Jn.g,Xn,c.Ov],styles:['.pay-method-form[_ngcontent-%COMP%]{width:100%;max-width:430px}.pay-method-form[_ngcontent-%COMP%] .loader[_ngcontent-%COMP%]{top:170px;color:#000;position:absolute;margin-left:auto;margin-right:auto;left:0;right:0}.pay-method-form[_ngcontent-%COMP%] .loader[_ngcontent-%COMP%] .fa[_ngcontent-%COMP%]{color:#535357;font-size:2.3em}.pay-method-form[_ngcontent-%COMP%] .row[_ngcontent-%COMP%]{margin:0 -5px}.pay-method-form[_ngcontent-%COMP%] .row[_ngcontent-%COMP%] .col[_ngcontent-%COMP%]{padding:0 5px}flo-express-wallet[_ngcontent-%COMP%]{display:block;width:100%;max-width:430px}.express-wallet-pending[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;max-width:430px;margin:16px 0;color:#535357}.express-wallet-divider[_ngcontent-%COMP%]{display:flex;align-items:center;text-align:center;color:#535357;max-width:430px;margin:16px 0}.express-wallet-divider[_ngcontent-%COMP%]:before, .express-wallet-divider[_ngcontent-%COMP%]:after{content:"";flex:1;border-bottom:1px solid #535357;opacity:.3}.express-wallet-divider[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{padding:0 12px}.form-group[_ngcontent-%COMP%]{min-height:51px;height:auto}.form-button[_ngcontent-%COMP%]{display:-moz-flex;display:flex;flex-direction:row;justify-content:flex-end}.form-button[_ngcontent-%COMP%] .btn-update-card[_ngcontent-%COMP%]{position:relative}.alert[_ngcontent-%COMP%]{display:-moz-flex;display:flex;flex-direction:row;padding:20px 10px 5px 20px;color:#fff;width:100%}.alert.alert-danger[_ngcontent-%COMP%]{background:red;font-size:13px;padding-top:6px;margin-top:10px;justify-content:space-between}.alert[_ngcontent-%COMP%] span.close-icon[_ngcontent-%COMP%]{display:-moz-flex;display:flex;justify-content:flex-end;margin:0 10px 0 0;height:20px;width:20px;flex:0 0 20px;cursor:pointer}.update-card-modal[_nghost-%COMP%] .form-button[_ngcontent-%COMP%], .update-card-modal [_nghost-%COMP%] .form-button[_ngcontent-%COMP%]{display:-moz-flex;display:flex;border-top:1px solid #939396;flex-direction:row;justify-content:center;background-color:#f5f5f7;margin-bottom:0;margin-left:-22px;margin-right:-22px;padding:22px 22px 0}span[floSvg=icon-times][_ngcontent-%COMP%] svg.icon-times{height:16px;width:16px;vertical-align:text-bottom;cursor:pointer}']}),n})();function di(n,r){if(1&n&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",18)(2,"div",2)(3,"div",3)(4,"h5",19),e.\u0275\u0275text(5," Payment Method "),e.\u0275\u0275elementEnd()()(),e.\u0275\u0275elementStart(6,"div",2)(7,"div",20)(8,"p",21),e.\u0275\u0275text(9,"Enjoy continuous service by adding a payment method."),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(10,"div",22),e.\u0275\u0275element(11,"flo-update-credit-card",23),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275elementContainerEnd()),2&n){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(11),e.\u0275\u0275property("enabled",!0)("subscription",t.subscription)("isInNewPricingArchitecture",t.isInNewPricingArchitecture)}}function ui(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"p",24),e.\u0275\u0275text(1," Next Payment: "),e.\u0275\u0275elementStart(2,"span",11),e.\u0275\u0275text(3),e.\u0275\u0275pipe(4,"floDateYear"),e.\u0275\u0275elementEnd()()),2&n){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind1(4,1,t.subscription.upcoming_payment_date))}}function mi(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"p",25),e.\u0275\u0275text(1," Pause Begins: "),e.\u0275\u0275elementStart(2,"span",11),e.\u0275\u0275text(3),e.\u0275\u0275pipe(4,"floDateYear"),e.\u0275\u0275elementEnd()()),2&n){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(3),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind1(4,1,null==t.subscription.paused_subscription?null:t.subscription.paused_subscription.pauseDate))}}function gi(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"p",26),e.\u0275\u0275text(1),e.\u0275\u0275pipe(2,"floDateYear"),e.\u0275\u0275elementEnd()),2&n){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" Your subscription ends on ",e.\u0275\u0275pipeBind1(2,1,t.subscription.end_date),". ")}}function _i(n,r){1&n&&(e.\u0275\u0275elementStart(0,"button",34),e.\u0275\u0275text(1,"Upgrade Subscription "),e.\u0275\u0275elementEnd())}function fi(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",35),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);
1return e.\u0275\u0275resetView(o.onPauseSubscription())}),e.\u0275\u0275text(1,"Pause Subscription "),e.\u0275\u0275elementEnd()}}const hi=function(n,r,t){return{"btn-tertiary":n,"btn-primary":r,"pointer-events-none":t}};function vi(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",36),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return e.\u0275\u0275resetView(o.onCancelSubscription())}),e.\u0275\u0275text(1," Cancel Subscription "),e.\u0275\u0275elementEnd()}if(2&n){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction3(1,hi,t.subscriptionIsPausedOrPending,!t.subscriptionIsPausedOrPending,t.subscriptionIsResuming))}}function bi(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",37),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return e.\u0275\u0275resetView(o.onResumeSubscription())}),e.\u0275\u0275text(1," Cancel Pause "),e.\u0275\u0275elementEnd()}if(2&n){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("disabled",t.subscriptionIsResuming)}}function Ci(n,r){1&n&&(e.\u0275\u0275elementStart(0,"div",38)(1,"span",39),e.\u0275\u0275text(2,"Loading..."),e.\u0275\u0275elementEnd()())}function xi(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"div",27),e.\u0275\u0275template(1,_i,2,0,"button",28),e.\u0275\u0275template(2,fi,2,0,"button",29),e.\u0275\u0275template(3,vi,2,5,"button",30),e.\u0275\u0275elementStart(4,"div",31),e.\u0275\u0275template(5,bi,2,1,"button",32),e.\u0275\u0275template(6,Ci,3,0,"div",33),e.\u0275\u0275elementEnd()()),2&n){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.shouldShowUpgradeButton&&!t.subscriptionIsPausedOrPending),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!t.shouldShowResumeButton&&t.shouldShowPauseButton&&t.accountPausingEnabled&&!t.subscription.plan_is_yearly),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.shouldShowCancelButton),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",t.shouldShowResumeButton),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.subscriptionIsResuming)}}function Si(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"button",42),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext(2);return e.\u0275\u0275resetView(o.reactivateSubscription.emit({id:o.subscription.id,isExpired:o.subscription.is_expired}))}),e.\u0275\u0275text(1," Reactivate My Subscription "),e.\u0275\u0275elementEnd()}if(2&n){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275property("disabled",t.subscriptionIsReactivating)}}function yi(n,r){1&n&&(e.\u0275\u0275elementStart(0,"div",43)(1,"span",39),e.\u0275\u0275text(2,"Loading..."),e.\u0275\u0275elementEnd()())}function wi(n,r){if(1&n&&(e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275elementStart(1,"div",27),e.\u0275\u0275template(2,Si,2,1,"button",40),e.\u0275\u0275template(3,yi,3,0,"div",41),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()),2&n){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",t.subscription.is_stripe),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.subscriptionIsReactivating)}}function Ii(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"div",44)(1,"div",3)(2,"h2",9),e.\u0275\u0275text(3," Payment Method "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"p",11),e.\u0275\u0275text(5," Your subscription was purchased through a TV or mobile app. To make changes to your subscription, manage it where you originally signed up. "),e.\u0275\u0275elementStart(6,"a",45),e.\u0275\u0275text(7,"Visit our support center"),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(8," for help. "),e.\u0275\u0275elementEnd()()()),2&n){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(6),e.\u0275\u0275property("href",t.nonStripeSupportUrl,e.\u0275\u0275sanitizeUrl)}}function Pi(n,r){1&n&&(e.\u0275\u0275elementStart(0,"div",52)(1,"div",3)(2,"h2",9),e.\u0275\u0275text(3," Payment Method "),e.\u0275\u0275elementEnd()()())}function Ei(n,r){if(1&n&&(e.\u0275\u0275elementStart(0,"span",53),e.\u0275\u0275element(1,"flo-svg-icon",54),e.\u0275\u0275elementEnd()),2&n){const t=e.\u0275\u0275nextContext(2);e.\u0275\u0275classMapInterpolate1("span-icon svg-vertical-align-text-bottom ",t.subscription.cardIcon,""),e.\u0275\u0275advance(1),e.\u0275\u0275property("icon",t.subscription.cardIcon)}}function Oi(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementContainerStart(0),e.\u0275\u0275template(1,Pi,4,0,"div",46),e.\u0275\u0275elementStart(2,"div",47)(3,"div",48)(4,"div",49),e.\u0275\u0275template(5,Ei,2,4,"span",50),e.\u0275\u0275text(6),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(7,"button",51),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();
1return e.\u0275\u0275resetView(o.isFormVisible=!o.isFormVisible)}),e.\u0275\u0275text(8),e.\u0275\u0275elementEnd()(),e.\u0275\u0275element(9,"flo-update-credit-card",23),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd()}if(2&n){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",t.subscription.end_date),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",t.subscription.cardIcon),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" **** **** **** ",t.subscription.card_last4," "),e.\u0275\u0275advance(2),e.\u0275\u0275textInterpolate1(" ",t.isFormVisible?"Hide Card Form":"Update Card"," "),e.\u0275\u0275advance(1),e.\u0275\u0275property("enabled",t.isFormVisible)("subscription",t.subscription)("isInNewPricingArchitecture",t.isInNewPricingArchitecture)}}const Mi=function(){return["/account/subscriptions"]};let Ti=(()=>{class n{constructor(t,i,o,a,d,l,v){this.segmentService=t,this.experimentService=i,this.paymentsService=o,this.router=a,this.ar=d,this.cdr=l,this.loggingService=v,this.nonStripeSupportUrl=X.M,this.reactivateSubscription=new e.EventEmitter,this.ngOnDestroy$=new T.t(1),this.StripeSubscriptionStatus=Y.ux}ngOnInit(){this.experimentService.isInVariation(Se.TT,Se.KR).pipe((0,V.q)(1)).subscribe(t=>{this.accountPausingEnabled=t}),this.isPausedInitially=this.subscription.is_paused}ngOnChanges(t){this.subscriptionIsPausedOrPending=this.subscription.is_paused||this.subscription.is_pending_pause,t.subscription&&(this.subscriptionIsCancelledOrExpired=this.subscription.is_canceled||this.subscription.is_expired)}onCancelSubscription(){this.segmentService.trackEvent({name:E.AA.BUTTON_CLICKED,properties:{name:"Initial Cancel Subscription Button",page_id:"subscription-details",path:"/account/subscriptions/:id"}}),this.subscriptionIsPausedOrPending?this.router.navigate(["cancel/reason"],{relativeTo:this.ar,queryParams:{is_paused:!0}}):this.router.navigate(["cancel/offer"],{relativeTo:this.ar,queryParams:!this.accountPausingEnabled||this.subscriptionIsPausedOrPending||this.subscription.plan_is_yearly?{}:{ap:this.accountPausingEnabled}})}onPauseSubscription(){this.segmentService.trackEvent({name:E.AA.BUTTON_CLICKED,properties:{name:"Initial Pause Subscription Button",page_id:"subscription-details",path:"/account/subscriptions/:id"}}),this.router.navigate(["pause"],{relativeTo:this.ar})}onResumeSubscription(){const t={action:Y.A7.RESUME};this.subscriptionIsResuming=!0,this.cdr.detectChanges(),this.paymentsService.pauseSubscription(this.subscription.id,t).pipe((0,h.R)(this.ngOnDestroy$)).subscribe({next:()=>{const i={newSubscriptionEndDate:(0,Ce.Z)(new Date,1).toDateString(),isPaused:this.isPausedInitially};sessionStorage.setItem("pausedSubscriptionState",JSON.stringify(i)),this.subscriptionIsResuming=!1,this.router.navigate(["pause/confirmation"],{relativeTo:this.ar,queryParams:{is_resuming:!0}})},error:i=>{this.loggingService.error(i.message,i.error)}})}}return n.\u0275fac=function(t){return new(t||n)(e.\u0275\u0275directiveInject(G.BP),e.\u0275\u0275directiveInject(Ln.j),e.\u0275\u0275directiveInject(H.c),e.\u0275\u0275directiveInject(_.Router),e.\u0275\u0275directiveInject(_.ActivatedRoute),e.\u0275\u0275directiveInject(e.ChangeDetectorRef),e.\u0275\u0275directiveInject(K.te))},n.\u0275cmp=e.\u0275\u0275defineComponent({type:n,selectors:[["flo-subscription-detail"]],inputs:{subscription:"subscription",shouldShowUpgradeButton:"shouldShowUpgradeButton",shouldShowCancelButton:"shouldShowCancelButton",shouldShowPauseButton:"shouldShowPauseButton",shouldShowResumeButton:"shouldShowResumeButton",subscriptionIsReactivating:"subscriptionIsReactivating",isFormVisible:"isFormVisible",isInNewPricingArchitecture:"isInNewPricingArchitecture"},outputs:{reactivateSubscription:"reactivateSubscription"},features:[e.\u0275\u0275NgOnChangesFeature],decls:30,vars:14,consts:[[1,"content"],[1,"container"],[1,"row"],[1,"col"],["floAnalytics","","name","Back to Subscriptions","events","click",3,"routerLink"],[1,"svg-vertical-align-text-top"],["icon","icon-chevron-left","width","1.25em"],[4,"ngIf"],[1,"subscription-detail
1s-container","container","p-4"],[1,"font-bold","border-bottom","border-grey-300","pb-2"],["data-test","plan-name",1,"body","color-900","mt-4"],[1,"color-600"],["data-test","subscription-status",1,"body","color-900","subscription-status"],["class","body color-900","data-test","next-payment-date",4,"ngIf"],["class","body color-900","data-test","pause-begins",4,"ngIf"],["class","color-700","data-test","subscription-end-date",4,"ngIf"],["class","cta-container form-button",4,"ngIf"],["class","row mt-4","data-test","non-stripe-provider-message",4,"ngIf"],["data-test","payment-method-no-card",1,"container","bg-200","p-4","rounded"],[1,"headline","border-bottom","border-grey-300","pb-2"],[1,"col-xs","col-lg-6"],[1,"footnote","color-500"],[1,"update-form"],[3,"enabled","subscription","isInNewPricingArchitecture"],["data-test","next-payment-date",1,"body","color-900"],["data-test","pause-begins",1,"body","color-900"],["data-test","subscription-end-date",1,"color-700"],[1,"cta-container","form-button"],["data-test","upgrade-button","floAnalytics","","name","Upgrade Subscription","events","click","routerLink","/account/change-offer/plans","class","btn btn-secondary",4,"ngIf"],["data-test","pause-button","name","Pause Subscription","events","click","class","btn btn-tertiary",3,"click",4,"ngIf"],["class","btn","data-test","cancel-button","name","Cancel Subscription","events","click",3,"ngClass","click",4,"ngIf"],[1,"position-relative"],["class","btn btn-primary w-100","data-test","resume-button","floAnalytics","","name","Resume Subscription","events","click",3,"disabled","click",4,"ngIf"],["class","spinner-border spinner-border-sm position-absolute d-md-none","data-test","resuming-spinner",4,"ngIf"],["data-test","upgrade-button","floAnalytics","","name","Upgrade Subscription","events","click","routerLink","/account/change-offer/plans",1,"btn","btn-secondary"],["data-test","pause-button","name","Pause Subscription","events","click",1,"btn","btn-tertiary",3,"click"],["data-test","cancel-button","name","Cancel Subscription","events","click",1,"btn",3,"ngClass","click"],["data-test","resume-button","floAnalytics","","name","Resume Subscription","events","click",1,"btn","btn-primary","w-100",3,"disabled","click"],["data-test","resuming-spinner",1,"spinner-border","spinner-border-sm","position-absolute","d-md-none"],[1,"visually-hidden"],["data-test","reactivate-button","class","btn btn-primary","name","Reactivate Subscription","events","click",3,"disabled","click",4,"ngIf"],["class","spinner-border spinner-border-sm position-absolute d-md-none","data-test","reactivating-spinner",4,"ngIf"],["data-test","reactivate-button","name","Reactivate Subscription","events","click",1,"btn","btn-primary",3,"disabled","click"],["data-test","reactivating-spinner",1,"spinner-border","spinner-border-sm","position-absolute","d-md-none"],["data-test","non-stripe-provider-message",1,"row","mt-4"],["floAnalytics","","name","Non-Stripe Subscription Support","events","click","target","_blank","rel","noopener noreferrer",3,"href"],["class","row mt-4","data-test","payment-method",4,"ngIf"],[1,"credit-card-container","mt-3"],[1,"credit-card-content"],["data-test","cc-form",1,"credit-card-box","border","border-grey-300","rounded"],["aria-hidden","true",3,"class",4,"ngIf"],["data-test","cc-update",1,"btn","btn-secondary",3,"click"],["data-test","payment-method",1,"row","mt-4"],["aria-hidden","true"],["width","24px",3,"icon"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"section",0),e.\u0275\u0275elementContainerStart(1),e.\u0275\u0275elementStart(2,"div",1)(3,"div",2)(4,"div",3)(5,"a",4)(6,"span",5),e.\u0275\u0275element(7,"flo-svg-icon",6),e.\u0275\u0275elementEnd(),e.\u0275\u0275text(8," Back to Subscriptions "),e.\u0275\u0275elementEnd()()()(),e.\u0275\u0275template(9,di,12,3,"ng-container",7),e.\u0275\u0275elementStart(10,"div",8)(11,"div",3)(12,"h2",9),e.\u0275\u0275text(13," Subscription Details "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(14,"p",10),e.\u0275\u0275text(15," Plan: "),e.\u0275\u0275elementStart(16,"span",11),e.\u0275\u0275text(17),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(18,"p",12),e.\u0275\u0275text(19," Status: "),e.\u0275\u0275elementStart(20,"span",11),e.\u0275\u0275text(2
11),e.\u0275\u0275pipe(22,"titlecase"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275template(23,ui,5,3,"p",13),e.\u0275\u0275template(24,mi,5,3,"p",14),e.\u0275\u0275template(25,gi,3,3,"p",15),e.\u0275\u0275template(26,xi,7,5,"div",16),e.\u0275\u0275template(27,wi,4,2,"ng-container",7),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(28,Ii,9,1,"div",17),e.\u0275\u0275template(29,Oi,10,7,"ng-container",7),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementContainerEnd(),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275advance(5),e.\u0275\u0275property("routerLink",e.\u0275\u0275pureFunction0(13,Mi)),e.\u0275\u0275advance(4),e.\u0275\u0275property("ngIf",!i.subscription.card_last4&&i.subscription.is_stripe),e.\u0275\u0275advance(8),e.\u0275\u0275textInterpolate(null==i.subscription.plan?null:i.subscription.plan.name),e.\u0275\u0275advance(4),e.\u0275\u0275textInterpolate(e.\u0275\u0275pipeBind1(22,11,i.subscription.status)),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",i.subscription.is_active&&i.subscription.upcoming_payment_date),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.subscription.is_pending_pause&&(null==i.subscription.paused_subscription?null:i.subscription.paused_subscription.pauseDate)&&!i.subscriptionIsCancelledOrExpired),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.subscriptionIsCancelledOrExpired&&!i.subscription.is_paused),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.subscription.is_active),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.subscriptionIsCancelledOrExpired&&!i.subscription.is_paused),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",!i.subscription.is_stripe&&i.subscription.is_active),e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",i.subscription.card_last4&&i.subscription.is_stripe))},dependencies:[c.mk,c.O5,A.v,ie.b,_.RouterLink,_.RouterLinkWithHref,we,c.rS,N.J],styles:["[_nghost-%COMP%] .content[_ngcontent-%COMP%]{min-height:670px;padding-top:23px}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .subscription-details-container[_ngcontent-%COMP%] .cta-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:10px}@media (min-width: 992px){[_nghost-%COMP%] .content[_ngcontent-%COMP%] .subscription-details-container[_ngcontent-%COMP%] .cta-container[_ngcontent-%COMP%]{flex-direction:row;gap:16px}}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .subscription-details-container[_ngcontent-%COMP%] .credit-card-container[_ngcontent-%COMP%]{max-width:360px}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .subscription-details-container[_ngcontent-%COMP%] .credit-card-container[_ngcontent-%COMP%] .credit-card-content[_ngcontent-%COMP%]{display:flex;flex-direction:column;margin-bottom:20px;gap:10px}@media (min-width: 992px){[_nghost-%COMP%] .content[_ngcontent-%COMP%] .subscription-details-container[_ngcontent-%COMP%] .credit-card-container[_ngcontent-%COMP%] .credit-card-content[_ngcontent-%COMP%]{flex-direction:row;gap:16px;margin:0}}@media (min-width: 992px){[_nghost-%COMP%] .content[_ngcontent-%COMP%] .subscription-details-container[_ngcontent-%COMP%] .btn[_ngcontent-%COMP%]{max-height:42px}}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .subscription-details-container[_ngcontent-%COMP%] .link-cancel-sub[_ngcontent-%COMP%]{font-size:12px;margin-left:15px}[_nghost-%COMP%] .content[_ngcontent-%COMP%] .subscription-details-container[_ngcontent-%COMP%] .link-cancel-sub[_ngcontent-%COMP%]:hover{text-decoration:underline}.subscription-details-container[_ngcontent-%COMP%] .update-card-container[_ngcontent-%COMP%]{padding-bottom:60px}.subscription-details-container[_ngcontent-%COMP%] .credit-card-box[_ngcontent-%COMP%]{padding:5px 10px;float:left;margin-bottom:0}@media (min-width: 992px){.subscription-details-container[_ngcontent-%COMP%] .credit-card-box[_ngcontent-%COMP%]{margin-bottom:20px}}.subscription-details-container[_ngcontent-%COMP%] .credit-card-box[_ngcontent-%COMP%] span.span-icon[_ngcontent-%COMP%]{margin:0 5px 0 0}.subscription-details-container[_ngcontent-%COMP%] .link-update-card[_ngcontent-%COMP%]{padding:6px 6px 6px 10px;display:inline-block}
1.subscription-details-container[_ngcontent-%COMP%] .link-update-card[_ngcontent-%COMP%]:hover{text-decoration:underline}"],changeDetection:0}),n})();const Di=function(n){return{fadeIn:n}};function Ri(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",6),e.\u0275\u0275text(1),e.\u0275\u0275elementStart(2,"span",7),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();return e.\u0275\u0275resetView(o.setMainMessageBox(!1,null==o.mainMessageBox?null:o.mainMessageBox.type,null==o.mainMessageBox?null:o.mainMessageBox.text))}),e.\u0275\u0275element(3,"flo-svg-icon",8),e.\u0275\u0275elementEnd()()}if(2&n){const t=e.\u0275\u0275nextContext();e.\u0275\u0275classMapInterpolate1("primary-color-bg message-box animated ",null==t.mainMessageBox?null:t.mainMessageBox.type,""),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(5,Di,null==t.mainMessageBox?null:t.mainMessageBox.show)),e.\u0275\u0275advance(1),e.\u0275\u0275textInterpolate1(" ",null==t.mainMessageBox?null:t.mainMessageBox.text," ")}}function Ai(n,r){1&n&&(e.\u0275\u0275elementStart(0,"div",15)(1,"span",16),e.\u0275\u0275text(2,"Loading..."),e.\u0275\u0275elementEnd()())}const ki=function(n){return{"pointer-events-none":n}};function Bi(n,r){if(1&n){const t=e.\u0275\u0275getCurrentView();e.\u0275\u0275elementStart(0,"div",9)(1,"div",10)(2,"button",11),e.\u0275\u0275listener("click",function(){const a=e.\u0275\u0275restoreView(t).ngIf,d=e.\u0275\u0275nextContext();return e.\u0275\u0275resetView(d.onConfirmCancel(a))}),e.\u0275\u0275text(3," No Thanks, Cancel Subscription "),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(4,"div",12)(5,"button",13),e.\u0275\u0275listener("click",function(){e.\u0275\u0275restoreView(t);const o=e.\u0275\u0275nextContext();return e.\u0275\u0275resetView(o.claimOffer(null==o.data.subscription?null:o.data.subscription.id))}),e.\u0275\u0275text(6," Claim Offer "),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(7,Ai,3,0,"div",14),e.\u0275\u0275elementEnd()()()}if(2&n){const t=e.\u0275\u0275nextContext();e.\u0275\u0275advance(2),e.\u0275\u0275property("ngClass",e.\u0275\u0275pureFunction1(3,ki,t.isClaimingOffer)),e.\u0275\u0275advance(3),e.\u0275\u0275property("disabled",t.isClaimingOffer),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",t.isClaimingOffer)}}let Vi=(()=>{class n{constructor(t,i,o,a,d,l,v){this.activatedRoute=t,this.paymentsService=i,this.router=o,this.vs=a,this.subscriptionService=d,this.segmentService=l,this.cdr=v,this.ngOnDestroy$=new T.t(1),this.siteName$=this.vs.siteName$,this.isClaimingOffer=!1,this.claimOffer=g=>{this.segmentService.trackEvent({name:E.AA.BUTTON_CLICKED,properties:{name:"Confirm Claim Offer Button",page_id:"cancel-offer",path:"/account/subscriptions/:id/cancel/offer"}}),this.isClaimingOffer=!0,this.cdr.detectChanges(),ce(g)&&this.data.offeringId?this.paymentsService.applyCoupon(g,this.data.offeringId,"CHPR",J.CC).pipe((0,h.R)(this.ngOnDestroy$)).subscribe({next:()=>{this.segmentService.trackEvent({name:E.AA.CHURN_PREVENTION_OFFER_CLAIMED,properties:{name:"Successfully Claimed Churn Prevention Offer",page_id:"cancel-offer",path:"/account/subscriptions/:id/cancel/offer"}}),this.isClaimingOffer=!1,this.navigateToNextStep("../offer/success")},error:()=>{this.isClaimingOffer=!1,this.setMainMessageBox(!0,"error","There was an error processing your request, please try again or contact customer service.")}}):this.subscriptionService.updateSubscriptionWithDiscount(+g,{stripe_subscription:+g,coupon:J.qQ,discountMonthly:!0}).pipe((0,h.R)(this.ngOnDestroy$)).subscribe({next:()=>{this.segmentService.trackEvent({name:E.AA.CHURN_PREVENTION_OFFER_CLAIMED,properties:{name:"Successfully Claimed Legacy Churn Prevention Offer",page_id:"cancel-offer",path:"/account/subscriptions/:id/cancel/offer"}}),this.isClaimingOffer=!1,this.navigateToNextStep("../offer/success")},error:()=>{this.isClaimingOffer=!1,this.setMainMessageBox(!0,"error","There was an error processing your request, please try again or contact customer service.")}})}}ngOnInit(){this.activatedRoute.queryParams.pipe((0,m.U)(t=>t.ap)).subscribe(t=>{this.accountPausingEnabled=t})}ngOnDestroy(){this.ngOnDestroy$.next(),this.ngOnDestroy$.complete()}onConfirmCancel(t){!this.accountPausingEnabled||(0,oe.pf)(this.data.subscription)||this.data.subscription?.plan_is_yearly||this.data.subscription?.is_paused||this.data.subscription?.is_pending_pause?this.navigateToNextStep("../reason"):(sessionStorage.setItem("cancelSubscriptionState",JSON.stringify({siteName:t,endDate:this.data?.subscription?.end_date,isEligibleForPauseOffer:this.data?.subscription?.paused_subscription?.isEligibleForDiscount??!0})),this.navigateToNextStep("../"))}navigateToNextStep(t){this.router.navigate([t],{relativeTo:this.activatedRoute,queryParamsHandling:"merge"})}setMainMessageBox(t,i,o){this.mainMessageBox={show:t,type:i,text:o}}}return n.\u0275fac=function(t){return new(t||n)(e.\u0275\u0275directiveInject(_.ActivatedRoute),e.\u0275\u0275directiveInject(H.c),e.\u0275\u0275directiveInject(_.Router),e.\u0275\u0275directiveInject(ne.A),e.\u0275\u0275directiveInject(U.F),e.\u0275\u0275directiveInject(G.BP),e.\u0275\u0275directiveInject(e.ChangeDetectorRef))},n.\u0275cmp=e.\u0275\u0275defineComponent({type:n,selectors:[["flo-churn-prevention-common"]],inputs:{data:"data"},decls:13,vars:8,consts:[[1,"my-5","px-4","px-md-5"],["data-test","error-message-box",3,"class","ngClass",4,"ngIf"],["data-test","discount-header",1,"font-bold"],[1,"pb-1","pt-2","mb-0"],["data-test","billed-discount-price",1,"pb-4","pt-2","mb-0"],["class","button-wrapper border-top border-grey-300",4,"ngIf"],["data-test","error-message-box",3,"ngClass"],["aria-hidden","true",3,"click"],["icon","icon-times","width","1.2em"],[1,"button-wrapper","border-top","border-grey-300"],[1,"form-button"],["floAnalytics","","data-test","cancel-subscription","name","Confirm Cancel",1,"btn","btn-secondary","mx-0",3,"ngClass","click"],[1,"position-relative"],["name","Claim Offer","data-test","claim-offer",1,"btn","btn-primary","w-100",3,"disabled","click"],["class","spinner-border spinner-border-sm position-absolute d-md-none","data-test","claiming-offer-spinner",4,"ngIf"],["data-test","claiming-offer-spinner",1,"spinner-border","spinner-border-sm","position-absolute","d-md-none"],[1,"visually-hidden"]],template:function(t,i){1&t&&(e.\u0275\u0275elementStart(0,"div",0),e.\u0275\u0275template(1,Ri,4,7,"div",1),e.\u0275\u0275elementStart(2,"h2",2),e.\u0275\u0275text(3,"Limited time Offer! - "),e.\u0275\u0275elementStart(4,"strong"),e.\u0275\u0275text(5,"20% off your next payment"),e.\u0275\u0275elementEnd()(),e.\u0275\u0275elementStart(6,"p",3),e.\u0275\u0275text(7,"Enjoy the same great benefits of your current plan and save some money. Win-win!"),e.\u0275\u0275elementEnd(),e.\u0275\u0275elementStart(8,"p",4),e.\u0275\u0275text(9),e.\u0275\u0275pipe(10,"floDateYear"),e.\u0275\u0275elementEnd(),e.\u0275\u0275template(11,Bi,8,5,"div",5),e.\u0275\u0275pipe(12,"async"),e.\u0275\u0275elementEnd()),2&t&&(e.\u0275\u0275advance(1),e.\u0275\u0275property("ngIf",null==i.mainMessageBox?null:i.mainMessageBox.show),e.\u0275\u0275advance(8),e.\u0275\u0275textInterpolate2("By selecting claim offer you will be billed ",null==i.data?null:i.data.discountPrice," once your current subscription period expires on ",e.\u0275\u0275pipeBind1(10,4,null==i.data||null==i.data.subscription?null:i.data.subscription.end_date),"."),e.\u0275\u0275advance(2),e.\u0275\u0275property("ngIf",e.\u0275\u0275pipeBind1(12,6,i.siteName$)))},dependencies:[c.mk,c.O5,A.v,ie.b,c.Ov,N.J],styles:["h2[_ngcontent-%COMP%]{font-size:26px;margin-bottom:10px}strong[_ngcontent-%COMP%]{font-family:Uni-Neue-Heavy,Open Sans,Helvetica Neue,Helvetica,Arial,sans-serif}.button-wrapper[_ngcontent-%COMP%]{padding-top:21px}.button-wrapper[_ngcontent-%COMP%] .form-button[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center;gap:10px}@media (min-width: 992px){.button-wrapper[_ngcontent-%COMP%] .form-button[_ngcontent-%COMP%]{flex-direction:row;justify-content:flex-start;gap:16px}}"],changeDetection:0}),n})();var $i=s(88733);let Ni=(()=>{class n{}return n.\u0275fac=function(t){return new(t||n)},n.\u0275mod=e.\u0275\u0275defineNgModule({type:n}),n.\u0275inj=e.\u0275\u0275defineInjector({providers:[be],imports:[c.ez,xe.m8,Bn,$n,jn]}),n})();e.\u0275\u0275setComponentScope(me,[c.mk,c.O5,c.RF,c.n9,A.v,$i.zS,ie.b,_.RouterLinkWithHref,we,Ti],[c.Ov,N.J]),e.\u0275\u0275setComponentScope(_e,[c.O5,Vi],[c.Ov])},97290:(se,z,s)=>{s.d(z,{A:()=>L});var c=s(94650),m=s(79121),x=s(36895),S=s(87833);function O(M,T){1&M&&c.\u0275\u0275element(0,"flo-svg-icon",5)}function P(M,T){if(1&M&&(c.\u0275\u0275elementStart(0,"div",2),c.\u0275\u0275template(1,O,1,0,"flo-svg-icon",3),c.\u0275\u0275elementStart(2,"p",4),c.\u0275\u0275text(3),c.\u0275\u0275elementEnd()()),2&M){const C=T.$implicit,D=c.\u
10275\u0275nextContext();c.\u0275\u0275advance(1),c.\u0275\u0275property("ngIf",D.hasIcon),c.\u0275\u0275advance(2),c.\u0275\u0275textInterpolate(C)}}const h=function(M){return{"error-icon":M}};let L=(()=>{class M{constructor(C){this.formErrorsService=C,this.hasIcon=!1,this.trackByError=(D,k)=>D}get errorsList(){return Object.keys(this.errors).map(C=>this.getMessage(C,this.control))}getMessage(C,D){const k=this.formErrorsService.errorMessageDict[D];return Object.keys(k).filter(I=>I===C).map(I=>k[I])}}return M.\u0275fac=function(C){return new(C||M)(c.\u0275\u0275directiveInject(m.u))},M.\u0275cmp=c.\u0275\u0275defineComponent({type:M,selectors:[["flo-form-errors"]],inputs:{errors:"errors",control:"control",hasIcon:"hasIcon"},decls:2,vars:5,consts:[["data-test","form-error",1,"error-box",3,"ngClass"],["class","error-message",4,"ngFor","ngForOf","ngForTrackBy"],[1,"error-message"],["data-test","form-error-icon","class","icon flo-svg-minus-background","icon","exclamation","width","1.5rem",4,"ngIf"],["floAnalytics","","data-test","form-error-message",1,"error-msg"],["data-test","form-error-icon","icon","exclamation","width","1.5rem",1,"icon","flo-svg-minus-background"]],template:function(C,D){1&C&&(c.\u0275\u0275elementStart(0,"div",0),c.\u0275\u0275template(1,P,4,2,"div",1),c.\u0275\u0275elementEnd()),2&C&&(c.\u0275\u0275property("ngClass",c.\u0275\u0275pureFunction1(3,h,D.hasIcon)),c.\u0275\u0275advance(1),c.\u0275\u0275property("ngForOf",D.errorsList)("ngForTrackBy",D.trackByError))},dependencies:[x.mk,x.sg,x.O5,S.b],styles:[".error-icon[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%]{display:-moz-flex;display:flex;margin-top:6px;align-items:center}.error-icon[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%] .error-msg[_ngcontent-%COMP%]{color:#0c0c0c;font-size:14px;font-weight:400;margin:0;padding-left:8px;text-align:left}.error-icon[_ngcontent-%COMP%] .error-message[_ngcontent-%COMP%] .icon[_ngcontent-%COMP%]{height:1.5rem}"],changeDetection:0}),M})()},51544:(se,z,s)=>{s.d(z,{j:()=>x});var c=s(36895),m=s(94650);let x=(()=>{class S{}return S.\u0275fac=function(P){return new(P||S)},S.\u0275mod=m.\u0275\u0275defineNgModule({type:S}),S.\u0275inj=m.\u0275\u0275defineInjector({imports:[c.ez]}),S})()}}]);
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.