{ "version": 3, "sources": ["src/app/features/lead-magnet/components/lead-magnet-active-campaign-modal/lead-magnet-active-campaign-modal.component.ts", "src/app/features/lead-magnet/components/lead-magnet-active-campaign-modal/lead-magnet-active-campaign-modal.component.html", "src/app/features/lead-magnet/components/lead-magnet-exit-intent/lead-magnet-exit-intent.component.ts"], "sourcesContent": ["import { ChangeDetectorRef, Component, OnInit } from '@angular/core';\nimport {\n ReactiveFormsModule,\n UntypedFormBuilder,\n UntypedFormGroup,\n Validators,\n} from '@angular/forms';\nimport { DjangoService } from '@core/services/django.service';\nimport { EventTrackerService } from '@core/services/event-tracker.service';\nimport { ANALYTICS_EVENTS } from '@core/utils/AnalyticsEvents';\nimport { ModalData } from '@features/modal/interfaces/modal-data';\nimport { ModalService } from '@features/modal/services/modal.service';\nimport { ActiveCampaignLeadMagnet } from '@generated/graphql';\nimport { SaveButtonComponent } from '../../../../shared/save-button/save-button.component';\n\n@Component({\n selector: 'app-lead-magnet-active-campaign-modal',\n templateUrl: './lead-magnet-active-campaign-modal.component.html',\n styleUrls: ['./lead-magnet-active-campaign-modal.component.css'],\n standalone: true,\n imports: [ReactiveFormsModule, SaveButtonComponent],\n})\nexport class LeadMagnetActiveCampaignModalComponent\n implements OnInit, ModalData<{ leadMagnet: ActiveCampaignLeadMagnet }>\n{\n showLoader = false;\n success = false;\n error = false;\n\n readonly modalStyle = ['bg-blue text-white'];\n readonly navigationStyle = ['bg-blue text-white'];\n\n modalData: { leadMagnet: ActiveCampaignLeadMagnet; isExitIntent?: boolean };\n leadMagnetForm: UntypedFormGroup;\n constructor(\n private formBuilder: UntypedFormBuilder,\n private cd: ChangeDetectorRef,\n private modalService: ModalService,\n private djangoService: DjangoService,\n private eventTrackerService: EventTrackerService\n ) {}\n\n ngOnInit(): void {\n this.leadMagnetForm = this.formBuilder.group({\n firstName: ['', [Validators.required]],\n email: ['', [Validators.required, Validators.email]],\n });\n }\n\n onSubmit() {\n if (this.leadMagnetForm.valid) {\n this.showLoader = true;\n const values = this.leadMagnetForm.value;\n const data = {\n email: values.email,\n first_name: values.firstName,\n lead_magnet: this.modalData.leadMagnet.sys.id,\n };\n\n this.djangoService.leadMagnet(data).subscribe({\n next: () => {\n this.success = true;\n this.showLoader = false;\n this.cd.detectChanges();\n const eventTitle = this.modalData.isExitIntent\n ? ANALYTICS_EVENTS.LEAD_MAGNET_EXIT_INTENT_COMPLETED\n : ANALYTICS_EVENTS.LEAD_MAGNET_COMPLETED;\n this.eventTrackerService.trackEvent(\n eventTitle,\n {\n leadMagnet: this.modalData.leadMagnet.title,\n tag: this.modalData.leadMagnet.activeCampaignTag,\n },\n data.email\n );\n setTimeout(() => this.modalService.hide(), 2000);\n },\n error: error => {\n this.success = false;\n this.showLoader = false;\n this.error = true;\n this.cd.detectChanges();\n },\n });\n }\n }\n}\n", "@if (modalData?.leadMagnet) {\n \n @if (!error) {\n
\n

{{ modalData.leadMagnet.title }}

\n {{ modalData.leadMagnet.description }}\n
\n
\n \n \n
\n
\n \n \n
\n
\n \n {{ modalData.leadMagnet.callToAction }}\n \n
\n
\n
\n }\n @if (error) {\n
\n

There was an error 😢

\n

\n There was an error processing your request. Please try again\n at a later time.\n

\n

\n If it is an urgent request, feel free to reach out to\n \n travel@followalice.com .\n

\n
\n }\n \n}\n", "import {\n ChangeDetectionStrategy,\n Component,\n Inject,\n Input,\n OnDestroy,\n OnInit,\n} from '@angular/core';\nimport { EnvironmentService } from '@core/services/environment.service';\nimport { EventTrackerService } from '@core/services/event-tracker.service';\nimport { LOCALSTORAGE } from '@core/services/local-storage.service';\nimport { WINDOW } from '@core/services/window.service';\nimport { ANALYTICS_EVENTS } from '@core/utils/AnalyticsEvents';\nimport { LeadMagnetActiveCampaignModalComponent } from '@features/lead-magnet/components/lead-magnet-active-campaign-modal/lead-magnet-active-campaign-modal.component';\nimport { ModalService } from '@features/modal/services/modal.service';\nimport { ActiveCampaignLeadMagnet } from '@generated/graphql';\nimport { Subject, fromEvent } from 'rxjs';\nimport { filter, map, take, takeUntil } from 'rxjs/operators';\n\n@Component({\n selector: 'app-lead-magnet-exit-intent',\n template: '',\n changeDetection: ChangeDetectionStrategy.OnPush,\n standalone: true,\n})\nexport class LeadMagnetExitIntentComponent implements OnInit, OnDestroy {\n @Input() leadMagnet: ActiveCampaignLeadMagnet;\n private destroy$ = new Subject();\n\n constructor(\n private environmentService: EnvironmentService,\n private modalService: ModalService,\n private eventTrackerService: EventTrackerService,\n @Inject(WINDOW) private window: Window,\n @Inject(LOCALSTORAGE) private localStorage: Storage\n ) {}\n\n private get localStorageKey() {\n return `exitIntentLastDisplayed_${this.leadMagnet?.sys.id}`;\n }\n\n ngOnInit(): void {\n if (this.environmentService.isBrowser()) {\n const mouseOutEvent = fromEvent(\n this.window,\n 'mouseout'\n );\n const exitIntentLastDisplayed =\n +this.localStorage.getItem(this.localStorageKey) +\n 30 * 24 * 60 * 60 * 1000;\n mouseOutEvent\n .pipe(\n filter(() => !this.modalService.active.value),\n filter(data => data.clientY <= 0),\n filter(() => exitIntentLastDisplayed < Date.now()),\n map(() => this.leadMagnet),\n filter(data => !!data),\n take(1),\n takeUntil(this.destroy$)\n )\n .subscribe(() => {\n this.showModal();\n this.eventTrackerService.trackEvent(\n ANALYTICS_EVENTS.LEAD_MAGNET_EXIT_INTENT,\n {\n leadMagnet: this.leadMagnet.title,\n tag: this.leadMagnet.activeCampaignTag,\n }\n );\n });\n }\n }\n\n showModal() {\n this.modalService.show(LeadMagnetActiveCampaignModalComponent, {\n leadMagnet: this.leadMagnet,\n isExitIntent: true,\n });\n this.localStorage.setItem(this.localStorageKey, `${Date.now()}`);\n }\n\n ngOnDestroy(): void {\n this.destroy$.next(null);\n this.destroy$.complete();\n }\n}\n"], "mappings": "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", "names": ["\u0275\u0275elementStart", "\u0275\u0275text", "\u0275\u0275elementEnd", "\u0275\u0275element", "\u0275\u0275listener", "\u0275\u0275restoreView", "_r1", "ctx_r1", "\u0275\u0275nextContext", "\u0275\u0275resetView", "onSubmit", "\u0275\u0275advance", "\u0275\u0275textInterpolate", "modalData", "leadMagnet", "title", "description", "\u0275\u0275property", "leadMagnetForm", "showLoader", "success", "valid", "dirty", "\u0275\u0275pureFunction0", "_c0", "\u0275\u0275textInterpolate1", "callToAction", "\u0275\u0275template", "LeadMagnetActiveCampaignModalComponent_Conditional_0_Conditional_1_Template", "LeadMagnetActiveCampaignModalComponent_Conditional_0_Conditional_2_Template", "\u0275\u0275conditional", "error", "LeadMagnetActiveCampaignModalComponent", "constructor", "formBuilder", "cd", "modalService", "djangoService", "eventTrackerService", "modalStyle", "navigationStyle", "ngOnInit", "group", "firstName", "Validators", "required", "email", "values", "value", "data", "first_name", "lead_magnet", "sys", "id", "subscribe", "next", "detectChanges", "eventTitle", "isExitIntent", "ANALYTICS_EVENTS", "LEAD_MAGNET_EXIT_INTENT_COMPLETED", "LEAD_MAGNET_COMPLETED", "trackEvent", "tag", "activeCampaignTag", "setTimeout", "hide", "\u0275\u0275directiveInject", "UntypedFormBuilder", "ChangeDetectorRef", "ModalService", "DjangoService", "EventTrackerService", "selectors", "standalone", "features", "\u0275\u0275StandaloneFeature", "decls", "vars", "consts", "template", "rf", "ctx", "LeadMagnetActiveCampaignModalComponent_Conditional_0_Template", "ReactiveFormsModule", "\u0275NgNoValidate", "DefaultValueAccessor", "NgControlStatus", "NgControlStatusGroup", "FormGroupDirective", "FormControlName", "SaveButtonComponent", "styles", "LeadMagnetExitIntentComponent", "constructor", "environmentService", "modalService", "eventTrackerService", "window", "localStorage", "destroy$", "Subject", "localStorageKey", "leadMagnet", "sys", "id", "ngOnInit", "isBrowser", "mouseOutEvent", "fromEvent", "exitIntentLastDisplayed", "getItem", "pipe", "filter", "active", "value", "data", "clientY", "Date", "now", "map", "take", "takeUntil", "subscribe", "showModal", "trackEvent", "ANALYTICS_EVENTS", "LEAD_MAGNET_EXIT_INTENT", "title", "tag", "activeCampaignTag", "show", "LeadMagnetActiveCampaignModalComponent", "isExitIntent", "setItem", "ngOnDestroy", "next", "complete", "\u0275\u0275directiveInject", "EnvironmentService", "ModalService", "EventTrackerService", "WINDOW", "LOCALSTORAGE", "selectors", "inputs", "standalone", "features", "\u0275\u0275StandaloneFeature", "decls", "vars", "template", "rf", "ctx", "encapsulation", "changeDetection"] }