mod-build 4.0.71 → 4.0.72
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +4 -0
- package/package-loc1k copy.json +35281 -0
- package/package.json +1 -1
- package/tasks/add-editorconfig.js +1 -1
- package/public/resources/scripts/abandonment/abandonment-a4bbb36fbc8ed64042b8.min.js +0 -2
- package/public/resources/scripts/abandonment/abandonment.min.js +0 -2
- package/public/resources/scripts/callrail/callrail-14011d73b50a928de4b4.min.js +0 -2
- package/public/resources/scripts/callrail/callrail.min.js +0 -2
- package/public/resources/scripts/footer/footer-component-46dc0d7ca6af4fc3b76b.min.js +0 -2
- package/public/resources/scripts/footer/footer-component.min.js +0 -2
- package/public/resources/scripts/geolocation/geolocation.min.js +0 -2
- package/public/resources/scripts/helpers/addVWOTestQueryParam.min.js +0 -2
- package/public/resources/scripts/helpers/addVWOTestQueryParam.min.js.map +0 -1
- package/public/resources/scripts/helpers/additionalOpts.min.js +0 -2
- package/public/resources/scripts/helpers/additionalOpts.min.js.map +0 -1
- package/public/resources/scripts/helpers/calls-only.min.js +0 -2
- package/public/resources/scripts/helpers/calls-only.min.js.map +0 -1
- package/public/resources/scripts/helpers/getPhoneAssignmentData.min.js +0 -2
- package/public/resources/scripts/helpers/getPhoneAssignmentData.min.js.map +0 -1
- package/public/resources/scripts/helpers/initNumericOnlyFields.min.js +0 -2
- package/public/resources/scripts/helpers/initNumericOnlyFields.min.js.map +0 -1
- package/public/resources/scripts/helpers/initQSForm.min.js +0 -2
- package/public/resources/scripts/helpers/initQSForm.min.js.map +0 -1
- package/public/resources/scripts/helpers/initQuadTransform.min.js +0 -2
- package/public/resources/scripts/helpers/initQuadTransform.min.js.map +0 -1
- package/public/resources/scripts/helpers/isZipCodeValid.min.js +0 -2
- package/public/resources/scripts/helpers/isZipCodeValid.min.js.map +0 -1
- package/public/resources/scripts/helpers/observeVWOVariation.min.js +0 -2
- package/public/resources/scripts/helpers/observeVWOVariation.min.js.map +0 -1
- package/public/resources/scripts/helpers/opts.min.js +0 -2
- package/public/resources/scripts/helpers/opts.min.js.map +0 -1
- package/public/resources/scripts/jornaya.hbs +0 -35
- package/public/resources/scripts/jornaya.html +0 -35
- package/public/resources/scripts/mod-alytics/modalytics-be44027508c0438f6709.min.js +0 -2
- package/public/resources/scripts/mod-alytics/modalytics.min.js +0 -2
- package/public/resources/scripts/mod-form/form/contractor-0918337caf3dfede1609.min.js +0 -2
- package/public/resources/scripts/mod-form/form/contractor.min.js +0 -2
- package/public/resources/scripts/mod-form/form/homeowner-19a121b0e596042326f4.min.js +0 -2
- package/public/resources/scripts/mod-form/form/homeowner.min.js +0 -2
- package/public/resources/scripts/mod-utils/modutils-bc275eb41af515f626ef.min.js +0 -2
- package/public/resources/scripts/mod-utils/modutils.min.js +0 -2
- package/public/resources/scripts/trusted-form.hbs +0 -38
- package/public/resources/scripts/trusted-form.html +0 -38
- package/public/resources/styles/components/abandonment/abandonment-8a673f060817db6cb7dc.min.css +0 -1
- package/public/resources/styles/components/abandonment/abandonment.min.css +0 -1
- package/public/resources/styles/components/footer/mod-footer-d233fa64b6c8297c70ec.min.css +0 -1
- package/public/resources/styles/components/footer/mod-footer.min.css +0 -1
- package/public/resources/styles/components/footer/qs-footer-926e67c28d10c729db46.min.css +0 -1
- package/public/resources/styles/components/footer/qs-footer.min.css +0 -1
- package/src/resources/data/tcpa.json +0 -4
- package/src/resources/templates/modals/about/index.hbs +0 -9
- package/src/resources/templates/modals/about/index.html +0 -9
- package/src/resources/templates/modals/contact-us/index.hbs +0 -348
- package/src/resources/templates/modals/contact-us/index.html +0 -348
- package/src/resources/templates/modals/e-sign-consent/index.hbs +0 -35
- package/src/resources/templates/modals/e-sign-consent/index.html +0 -35
- package/src/resources/templates/modals/faq/index.hbs +0 -9
- package/src/resources/templates/modals/faq/index.html +0 -9
- package/src/resources/templates/modals/privacy/index.hbs +0 -237
- package/src/resources/templates/modals/privacy/index.html +0 -237
- package/src/resources/templates/modals/terms/index.hbs +0 -167
- package/src/resources/templates/modals/terms/index.html +0 -167
- package/src/shared-components/call-tracking/_call-tracking.scss +0 -311
- package/src/shared-components/call-tracking/call-tracking-icon.html +0 -8
- package/src/shared-components/call-tracking/call-tracking.html +0 -81
- package/src/shared-components/call-tracking/phone.svg +0 -6
- package/src/shared-components/card-button/_card-button.scss +0 -49
- package/src/shared-components/card-button/card-button.html +0 -9
- package/src/shared-components/carousel/_carousel.scss +0 -106
- package/src/shared-components/carousel/carousel.html +0 -23
- package/src/shared-components/carousel/carousel.js +0 -3573
- package/src/shared-components/carousel/carousel.js.map +0 -1
- package/src/shared-components/carousel/carousel.min.js +0 -2
- package/src/shared-components/carousel/carousel.min.js.map +0 -1
- package/src/shared-components/carousel/carousel.min.min.js +0 -2
- package/src/shared-components/carousel/carousel.min.min.js.map +0 -1
- package/src/shared-components/checkbox/_checkbox.scss +0 -130
- package/src/shared-components/checkbox/checkbox.html +0 -10
- package/src/shared-components/consent-capture/tcpa.html +0 -12
- package/src/shared-components/expand-collapse/_expand-collapse.scss +0 -93
- package/src/shared-components/expand-collapse/expand-collapse.html +0 -8
- package/src/shared-components/expand-collapse/expand-collapse.js +0 -40
- package/src/shared-components/expand-collapse/expand-collapse.min.js +0 -2
- package/src/shared-components/expand-collapse/expand-collapse.min.js.map +0 -1
- package/src/shared-components/featured-block/_featured-block.scss +0 -191
- package/src/shared-components/featured-block/featured-block.html +0 -80
- package/src/shared-components/foot-assets/foot-assets.html +0 -107
- package/src/shared-components/form-tcpa/form-tcpa-spanish.html +0 -61
- package/src/shared-components/form-tcpa/form-tcpa.html +0 -55
- package/src/shared-components/gtm-body/gtm-body.html +0 -4
- package/src/shared-components/head/head.html +0 -195
- package/src/shared-components/header/_header.scss +0 -200
- package/src/shared-components/header/header.html +0 -79
- package/src/shared-components/hero/_hero.scss +0 -276
- package/src/shared-components/hero/hero.html +0 -136
- package/src/shared-components/how-it-works/_how-it-works.scss +0 -138
- package/src/shared-components/how-it-works/how-it-works.html +0 -19
- package/src/shared-components/input/_input.scss +0 -242
- package/src/shared-components/input/input.html +0 -30
- package/src/shared-components/preloader/_preloader.scss +0 -61
- package/src/shared-components/preloader/preloader.html +0 -49
- package/src/shared-components/progress-bar/_progress-bar.scss +0 -142
- package/src/shared-components/progress-bar/progress-bar.html +0 -20
- package/src/shared-components/progress-bar/progress-bar.js +0 -26
- package/src/shared-components/progress-bar/progress-bar.min.js +0 -2
- package/src/shared-components/progress-bar/progress-bar.min.js.map +0 -1
- package/src/shared-components/radio-button/_radio-button.scss +0 -577
- package/src/shared-components/radio-button/radio-button.html +0 -25
- package/src/shared-components/reviews/_reviews.scss +0 -79
- package/src/shared-components/reviews/reviews.html +0 -27
- package/src/shared-components/section-deals/sitemap.xml +0 -9
- package/src/shared-components/select/_select.scss +0 -61
- package/src/shared-components/select/select.html +0 -8
- package/src/shared-components/steps/_steps.scss +0 -431
- package/src/shared-components/steps/defaultFormFieldConfig.json +0 -64
- package/src/shared-components/steps/step-fields.html +0 -36
- package/src/shared-components/steps/steps.html +0 -136
- package/src/shared-components/textarea/_textarea.scss +0 -96
- package/src/shared-components/textarea/textarea.html +0 -13
- package/src/shared-components/theme-toggle/_theme-toggle.scss +0 -68
- package/src/shared-components/theme-toggle/theme-toggle.html +0 -34
- package/src/shared-components/tile/_tile.scss +0 -117
- package/src/shared-components/tile/tile.html +0 -27
- package/src/shared-components/value-props/_value-props.scss +0 -99
- package/src/shared-components/value-props/value-props.html +0 -17
- package/src/shared-components/zip-control/_zip-control.scss +0 -42
- package/src/shared-components/zip-control/zip-control.html +0 -21
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"initQuadTransform.min.js","mappings":"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","sources":["webpack://mod-form/./lib/config/additionalOpts.js","webpack://mod-form/./lib/config/opts.js","webpack://mod-form/./lib/helpers/components/form/populateFormWithZipData.js","webpack://mod-form/./lib/helpers/components/form/prepopFormFromURL.js","webpack://mod-form/./lib/helpers/components/form/initDuplicateSubmissionExperience.js","webpack://mod-form/./lib/helpers/components/input/appendFormInput.js","webpack://mod-form/./lib/helpers/components/input/populateInput.js","webpack://mod-form/./lib/helpers/requests/getPhoneAssignmentData.js","webpack://mod-form/./lib/helpers/requests/transformQuadlink.js","webpack://mod-form/./lib/helpers/storage/saveUserInfoToCookie.js","webpack://mod-form/./lib/helpers/storage/getHeapSessionIdCookieData.js","webpack://mod-form/./lib/helpers/storage/getQueryParamsFromSessionStorage.js","webpack://mod-form/./lib/helpers/trackers/defaultQuadLinkValues.js","webpack://mod-form/./lib/helpers/trackers/getDefaultQuad.js","webpack://mod-form/./lib/helpers/trackers/getDefaultQuadByDomain.js","webpack://mod-form/./lib/helpers/trackers/getQSApiDomain.js","webpack://mod-form/./lib/helpers/trackers/heapIdentify.js","webpack://mod-form/./lib/helpers/trackers/initQuadTransform.js","webpack://mod-form/./lib/validators/isZipCodeValid.js","webpack://mod-form/webpack/bootstrap","webpack://mod-form/webpack/runtime/define property getters","webpack://mod-form/webpack/runtime/hasOwnProperty shorthand","webpack://mod-form/webpack/runtime/make namespace object","webpack://mod-form/webpack/startup"],"sourcesContent":["export const additionalOptions = {\n\t// set true before sending data to server and back to false when response is returned from server\n\tisSubmitting: false,\n\tisPhoneValid: false,\n\tisZipValid: false,\n\tareLeadTokenScriptsLoaded: false,\n\tloadedScripts: [],\n\toptedIn: false,\n\t// set true if you want inline validation on input with zip. be warned this causes many edge cases you will need to fix\n\tinlineZip: false,\n\tmutationObserverTarget: document.body,\n\tmutationObserverConfig: {\n\t\tattributes: true\n\t},\n\tprojexURL: null,\n\tredirectStart: null,\n\tzipEditControlCls: '.zip-control__edit, .change-zip-control, .step__city-state, .form__city-state, .zip-control, .form-group__city-state',\n\tzipEditInput: 'input[name=\"zip1\"], input[name=\"inertZip\"]',\n\tzipControlButton: document.querySelector('.zip-control__button'),\n\tretryZipValidation: false,\n\tpreventDuplicateSubmission: false,\n\tgetTime: new Date().getTime(),\n\tradioButtonClickedByMouse: false,\n\tincludeDuplicateSubmissionExperience: true,\n\thomeownerLeadConversionProps: {}\n};\n","export const opts = {\n\tvertical: null, // trade of a form; possible values: solar, windows, hvac, roofing, siding\n\tform: document.getElementById('form'),\n\tformId: 'form',\n\tformLoadingCls: 'form--loading',\n\tformSubmittingCls: 'form--submitting',\n\tformSubmittedCls: 'form--submit-done',\n\tformSubmitErrorCls: 'form--submit-error',\n\tstepsSelector: '[data-bind=\"step\"]', // steps selector\n\tstepActiveCls: 'step--active', // step active class\n\tbackButtons: document.querySelectorAll('.back-btn, .btn-back, [data-btn=\"back\"]'),\n\tprogressBar: document.querySelectorAll('.progress-bar'),\n\tisFormLoading: false,\n\tformElemsSelectors: {},\n\tformElemsSelectorsDefaults: {\n\t\ttcpaCopy: '#tcpa-copy', // TCPA visible copy; text version for API will be pulled from it\n\t\tmaskedPhoneFields: 'input[name=\"homePhone\"]',\n\t\tmaskedEinFields: 'input[name=\"ein\"]',\n\t\tnumericsOnlyFields: 'input[name=\"zip\"], input[name=\"zip1\"], input[name=\"companyZip\"]',\n\t\taddressField: 'input[name=\"address\"]',\n\t\tstateField: 'input[name=\"state\"]',\n\t\tcityField: 'input[name=\"city\"]',\n\t\tzip1Field: 'input[name=\"zip1\"]',\n\t\tzipField: 'input[name=\"zip\"]',\n\t\trepairField: 'input[name=\"repair\"]',\n\t\thvacWouldReplaceBlock: '#hvac-would-replace-block', // block that contains wouldReplace control,\n\t\thvacSystemTypeField: 'input[name=\"hvacSystemType\"]',\n\t\thvacFuelTypeBlock: '#hvac-fuel-type-block', // block that contains hvacFuelType control\n\t\tutilityProviderWrapper: '#utility-provider-wrapper'\n\t},\n\thvacSystemTypesWithFuel: ['Central Heating', 'Boiler'], // Array of hvac system types (lowercase) that require fuel type selection\n\tactiveInputs: '.step.swiper-slide-active input[type=text], .step.swiper-slide-active input[type=tel], .step.swiper-slide-active input[type=email], .step.swiper-slide-active textarea, .step.swiper-slide-active input[type=radio]',\n\tfieldErrorCls: 'has-error',\n\terrorParentCls: 'parent-error',\n\tgaTracker: 'main', // GA tracker to use\n\tthankyouPage: '/thankyou/',\n\tlandingPage: window.location.protocol + '//' + window.location.host + window.location.pathname + (window.location.search ? window.location.search : ''),\n\thashStepTracking: false,\n\tuseModApi: false,\n\tuseQSApi: false,\n\tuseFormsServiceApi: false,\n\tuserObj: {},\n\tformSwiperInstance: '',\n\tprepopulateUserInfo: false,\n\tuseGetMotivationParam: true,\n\tuseAutofill: false,\n\tuseSmoothScrolling: false,\n\thasZipChange: false,\n\ttrackZip1ChangeDynamically: false,\n\tuseTooltips: false,\n\tshowSecureText: false,\n\tuseObserveVWOVariation: false,\n\tobservedTargetNode: document.body, // Select the node that will be observed for mutations\n\tobserverConfig: { attributes: true }, // Options for the observer which mutations to observe\n\tvwoVariationDataAttribute: 'data-vwo-test',\n\tobserveVWOVariationCallback: function() { },\n\tvwoVariationDataAttributeValue: '', // Should be the JIRA ticket number of that test\n\tsecureTextStepsSelector: ['.step--personalInfo', '.step--contactInfo'],\n\tsecureTextPosition: 'below-cta', // Options are 'below-cta' & 'above-cta'\n\tisLoaderLoaded: false,\n\tshowLoadingOverlay: false,\n\tshowRedirectOverlay: false,\n\tappendOverlayToElem: document.getElementById('form'),\n\tignoreDuplicateSubmissionBlocker: false,\n\thvacVerticalName: 'hvac', // To trigger initHvacWouldReplaceBlock function for both Mod & QS\n\thvacRepairFieldValue: 'yes',\n\taddAccessibilityUpdates: false,\n\tisOrganicPreferredMatch: false, // use for preferred match\n\twidgetHashStepTracking: false, // receive messages from child iframes\n\tabandonmentHtmlPath: 'abandonment/index.html',\n\t/**\n\t * this fires before form is submitted;\n\t * @param {Object} formData - form data in key/value form\n\t * @returns {Object} - formData to submit to server or false to stop submitting\n\t */\n\tformSubmittingCallback: null,\n\n\t/**\n\t * this fires when submitting form data to server was successful\n\t * @param {Object} response - server response\n\t */\n\tformSubmitSuccessCallback: null,\n\n\t/**\n\t * this fires when submitting form data to server returned an error\n\t * @param {Object} response - server response\n\t */\n\tformSubmitErrorCallback: null,\n\n\t/**\n\t * this fires before step is changed;\n\t * @param {String} oldStepId - current step ID\n\t * @param {String} stepId - new step ID\n\t * @returns {Mixed} - step ID to switch to or false to stop switching\n\t */\n\tstepChangingCallback: null,\n\n\t/**\n\t * this fires after step is changed\n\t * @param {String} oldStepId - current step ID\n\t * @param {String} stepId - new step ID\n\t */\n\tstepChangedCallback: null,\n\n\t/**\n\t * this fires after zip code is validated on the server\n\t * @param {Object} geoData - city and state object\n\t */\n\tzipCodeValidated: null,\n\n\tshouldSuppressConversionPixel: false,\n\tsuppressConversionPixelParam: 'cnvrsnpxl=n',\n\tuseStepNameHash: false,\n\tdelayQuadTransformation: false,\n\tisFirePixelTrue: false,\n\tfirePixelParam: 'firepxl=y',\n\tisSharedMatch: false,\n\teCommerceVendorKeys: {\n\t\tshared: { // these will get a shared= param added to their HRC results page (to add a secondary button for their E-Commerce flow)\n\t\t\tadt: '9634310',\n\t\t\tadtHealth: '30772410',\n\t\t\tfrontdoor: '33097210'\n\t\t},\n\t\texclusive: { // these will trigger an exclusive experience if solely matched with one of these vendors\n\t\t\tairo: '31194410',\n\t\t\tangi: '31816410',\n\t\t\tfrontdoor: '33097210',\n\t\t\tnetworx: '11968410'\n\t\t}\n\t},\n\teCommerceExclusiveLoaders: {\n\t\tfrontdoor: [\n\t\t\t`${window.modUtils ? window.modUtils.getModernizeDomain() : 'https://modernize.com'}/quote/resources/assets/images/logos/partners/american-home-shield.svg`,\n\t\t\t'Congrats! You’re eligible to see pricing from American Home Shield now.',\n\t\t\t'#004B98',\n\t\t\t'#ED1C24',\n\t\t\t'#004B98',\n\t\t\t'#F9F9F6'\n\t\t],\n\t\tangi: [\n\t\t\t`${window.modUtils ? window.modUtils.getModernizeDomain() : 'https://modernize.com'}/quote/resources/assets/images/logos/partners/angi.svg`,\n\t\t\t'Transferring to Angi',\n\t\t\t'#A03027',\n\t\t\t'#FF6153',\n\t\t\t'#A03027',\n\t\t\t'#F9F9F6'\n\t\t],\n\t\tnetworx: [\n\t\t\t`${window.modUtils ? window.modUtils.getModernizeDomain() : 'https://modernize.com'}/quote/resources/assets/images/logos/partners/networx.svg`,\n\t\t\t'Transferring to Networx',\n\t\t\t'#344054',\n\t\t\t'#0088FF',\n\t\t\t'#344054',\n\t\t\t'#F9F9F6'\n\t\t]\n\t},\n\tsharedParam: 'shared=',\n\tisExclusiveMatch: false,\n\texclusiveMatchResultsPage: '',\n\texclusiveMatchVendor: '',\n\tresultsPageAdditionalParams: {},\n\tprefVendorKeys: [],\n\tprefVendorParam: 'prefVendor=',\n\tlandingPageSubdirectory: '',\n\tisCrossSellForm: false,\n\tshouldUpdateTCPACompanyNameToModernize: true,\n\tvalidateRecaptcha: false,\n\trecaptchaVersion: 3,\n\tisVite: false,\n\tscrollTopOnStepChange: true,\n\tignoreQueryParams: [],\n\tignoreQueryParamsInSessionStorage: false,\n\tautoRedirectToTyOrSorryPage: true,\n\tphoneAssignmentConfig: {\n\t\tshowPhoneAssignmentNumber: false,\n\t\tphoneNumberLinksSelector: '[class*=call-link],[class*=call-button]',\n\t\tphoneNumbersTextSelector: '[class*=call-number]',\n\t\tphoneNumberContainerSelector: '.callNowControls',\n\t\tquestQuadTagId: {\n\t\t\tstaging: '',\n\t\t\tprod: ''\n\t\t},\n\t\tmatchVendors: [],\n\t\tresponse: null,\n\t\tuseHsEndpoint: false\n\t},\n\tconsentCaptureDetails: '',\n\tconsentRequestId: '',\n\tconsentCaptureVendors: [],\n\tserviceSpecificAttributes: {}\n};\n\n","import { populateInput } from '../../../helpers';\n/**\n * Populate form with zip data\n * @param {Object} zipData - zip data\n */\nexport function populateFormWithZipData(zipData) {\n\t['city', 'state'].forEach(function(name) {\n\t\tif (zipData[name]) {\n\t\t\tpopulateInput(name, zipData[name]);\n\t\t}\n\t});\n\tdocument.querySelectorAll('input[name=\"zip\"], input[name=\"zip1\"]').forEach(function(field) {\n\t\tfield.value = zipData.zip;\n\t});\n}\n","import { appendFormInput, saveUserInfoToCookie, populateFormWithZipData } from '../../../helpers';\nimport { isZipCodeValid } from '../../../validators';\n/**\n * Pre-populate any fields with matching query string keys with their values.\n * Info on our Pre-Population Rules:\n * https://confluence.modernize.com/display/ENG/Microsite+Forms%3A+Pre-Population+Rules\n */\nexport function prepopFormFromURL() {\n\tObject.keys(window.modForm.opts.getVars).forEach(function(key) {\n\t\tif (!window.modForm.opts.ignoreQueryParams.includes(key)) {\n\t\t\tappendFormInput(key, window.modForm.opts.getVars[key]);\n\t\t}\n\t\tif ('zip' === key) {\n\t\t\tappendFormInput('zip1', window.modForm.opts.getVars[key]);\n\t\t\tappendFormInput('inertZip', window.modForm.opts.getVars[key]);\n\t\t}\n\n\t\tif (window.modForm.opts.prepopulateUserInfo) {\n\t\t\tsaveUserInfoToCookie(key, window.modForm.opts.getVars[key]);\n\t\t}\n\t});\n\n\t// Process zip\n\tif ('undefined' !== typeof window.modForm.opts.getVars.zip) {\n\t\t// TODO: Remove\n\t\tif (!window.modForm.opts.prepopulateUserInfo) {\n\t\t\tisZipCodeValid(window.modForm.opts.getVars.zip, function(response) {\n\t\t\t\t// If success..\n\t\t\t\tif (response.success) {\n\t\t\t\t\t// Populate city & state\n\t\t\t\t\tif (response.data) {\n\t\t\t\t\t\tpopulateFormWithZipData(response.data);\n\n\t\t\t\t\t\t// Fire callback\n\t\t\t\t\t\tif ('function' === typeof window.modForm.opts.zipCodeValidated) {\n\t\t\t\t\t\t\twindow.modForm.opts.zipCodeValidated(response.data);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\t}\n}\n","export function initDuplicateSubmissionExperience(heapSessionIdCookieData, activeStep = '.swiper-slide-active .step-inner') {\n\tconst activeStepInner = window.modForm.opts.form.querySelector(activeStep),\n\t\tformButtons = document.querySelectorAll('.form-btns, .form-bts, .controls, .findpros-form__btns'),\n\t\tformTcpa = document.querySelector('.form-tcpa'),\n\t\tdefaultResultsPage = window.modForm.opts.landingPage.includes('bestcompany') ? 'https://bestcompany.com/' : 'https://modernize.com/';\n\tlet resultsPageUrl = !heapSessionIdCookieData.resultsPage ? defaultResultsPage : heapSessionIdCookieData.resultsPage;\n\n\tif (resultsPageUrl.indexOf(window.modForm.opts.suppressConversionPixelParam) <= -1) {\n\t\t// suppress conversion pixels in HRC link & fire them from the page instead\n\t\tresultsPageUrl += (resultsPageUrl.indexOf('?') < 0 ? '?' : '&') + window.modForm.opts.suppressConversionPixelParam;\n\t}\n\n\twindow.modForm.opts.form.classList.add(window.modForm.opts.formLoadingCls);\n\n\tconst duplicateSubmitFireCnvrsnPxlCookie = window.modUtils.getCookie('duplicateSubmitFireCnvrsnPxl');\n\tif (!duplicateSubmitFireCnvrsnPxlCookie) {\n\t\tif (resultsPageUrl.indexOf('ThankYou') > -1) {\n\t\t\t// fire conversion pixels in case user does not redirect to HRC\n\t\t\tif (typeof window.dataLayer !== 'undefined') {\n\t\t\t\twindow.dataLayer.push({\n\t\t\t\t\tevent: 'Lead Conversion Failed Redirects'\n\t\t\t\t});\n\t\t\t}\n\t\t}\n\t}\n\twindow.modUtils.setCookie('duplicateSubmitFireCnvrsnPxl', true);\n\twindow.modForm.preventDuplicateSubmission = true;\n\n\t// Giving the page a chance to redirect before showing fallback\n\tsetTimeout(function() {\n\t\tif (window.modForm.opts.backButtons) {\n\t\t\twindow.modForm.opts.backButtons.forEach(function(backButton) {\n\t\t\t\tbackButton.style.display = 'none';\n\t\t\t});\n\t\t}\n\t\tif (window.modForm.opts.progressBar) {\n\t\t\twindow.modForm.opts.progressBar.forEach(function(bar) {\n\t\t\t\tbar.style.display = 'none';\n\t\t\t});\n\t\t}\n\t\tif (formButtons) {\n\t\t\tformButtons.forEach(function(formButton) {\n\t\t\t\tformButton.style.display = 'none';\n\t\t\t});\n\t\t}\n\t\tif (formTcpa) {\n\t\t\tformTcpa.style.display = 'none';\n\t\t}\n\n\t\twindow.modForm.opts.form.querySelector('.swiper-wrapper').style.alignItems = 'center';\n\n\t\twindow.modForm.opts.form.classList.remove(window.modForm.opts.formLoadingCls);\n\n\t\tconst target = window.modForm.opts.isLeadWidget ? '_blank' : '_self';\n\n\t\tactiveStepInner.innerHTML = '<div class=\"duplicate-submission\" style=\"background-color:#fff;display:flex; flex-direction:column;justify-content:center;align-items:center;min-height:390px;padding:40px 10px;text-align:center;\"><h3 style=\"color:#545253;font-size:22px;font-weight:bold;margin:30px auto 0;\">Welcome Back!</h3><p style=\"color:#545253;display:block;font-size:15px;font-weight:400;line-height:1.5;margin:20px auto 30px;\">It looks like you just submitted your <br>information a moment ago.</p><a class=\"btn ' + (window.modForm.opts.addAccessibilityUpdates ? 'btn--primary' : 'btn-primary') + '\" id=\"double-submission-fallback-button\" href=\"' + resultsPageUrl + '\" target=\"' + target + '\" style=\"max-width:280px;line-height: normal;width:100%;display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 14px 0px 15px;margin:0 auto 30px;min-width:unset\"><span class=\"btn__text\" style=\"visibility:visible;font-size: 18px\">See Your Matches</span></a></div>';\n\n\t\twindow.modUtils.heap('track', ['Showing Duplicate Submission Experience - on Step One', {\n\t\t\tresultsPage: resultsPageUrl\n\t\t}]);\n\t}, 300);\n}\n","import { populateInput } from '../../../helpers';\n/**\n * If input exists, populate it; if not - create hidden\n * @param {String} name - name of a field\n * @param {String} value - value of a field\n * @param {Bool} noPopulate - set to true if you only want to create input if it doesn't exist, and don't want to update existing input\n */\nexport function appendFormInput(name, value, noPopulate) {\n\tif (!window.modForm.opts.form.querySelector('input[name=\"' + name + '\"]')) {\n\t\tconst input = document.createElement('input');\n\t\tinput.type = 'hidden';\n\t\tinput.id = name;\n\t\tinput.name = name;\n\t\tinput.value = value;\n\t\twindow.modForm.opts.form.appendChild(input);\n\t} else if (!noPopulate) {\n\t\tpopulateInput(name, value);\n\t}\n}\n","/**\n * Populate form input\n * @param {String} name - name of a field\n * @param {String} value - value of a field\n */\nexport function populateInput(name, value) {\n\tconst $input = window.modForm.opts.form.querySelector('input[name=\"' + name + '\"]');\n\tif ($input) {\n\t\tif ('INPUT' === $input.tagName && 'radio' === $input.type && $input.value === value) {\n\t\t\t$input.setAttribute('checked', true);\n\t\t} else if ('INPUT' === $input.tagName && 'checkbox' === $input.type) {\n\t\t\t$input.setAttribute('checked', true);\n\t\t} else if ('SELECT' === $input.tagName) {\n\t\t\t$input.querySelector('option[value=\"' + value + '\"]').setAttribute('selected', true); // this doesn't break a select if such value is not among its options\n\t\t} else {\n\t\t\t$input.value = value;\n\t\t\t// zip1 field will be populated with zip or zip1 query\n\t\t\tif (name === 'zip') {\n\t\t\t\tconst zip1 = window.modForm.opts.form.querySelector('input[name=\"zip1\"]');\n\t\t\t\tif (zip1) {\n\t\t\t\t\tzip1.value = value;\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n}\n","/* globals modForm modUtils Modalytics */\n/**\n * HS Endpoints:\n * Dev: https://hsapiservice.dev.quinstreet.net/calls/matches\n * Stage: https://hsapiservice.quinstage.com/calls/matches\n * Prod: https://form-service-hs.qnst.com/calls/matches\n *\n * Quest Endpoints:\n * Dev: ivr.dev.quinstreet.net/number\n * Stage: ivr.quinstage.com/number\n * Prod: ivr.quinstreet.com/number\n */\n/**\n * This function gets the phone assignment data from the quest api.\n * @param {object} trafficDetails - Accepts response object of `TrafficDetails` api.\n * @param {boolean} shouldUpdateExistingPhoneAssignment - Pass `true` if this function is being called multiple times\n * @returns {void}\n */\nlet abortController = null;\nexport const getPhoneAssignmentData = function(trafficDetails, shouldUpdateExistingPhoneAssignment = false) {\n\tif (abortController) {\n\t\tabortController.abort('Current pending request has been aborted. Initiating a new request.');\n\t}\n\tconst currentParams = modUtils.getUrlParamsToObject();\n\tconst campaignAttributes = ['ad', 'gclid', 'msclkid', 'vmcid', 'tbcid', 'fb_ad_id', 'fb_campaign_id', 'fbclid', 'fb_adset_id'];\n\tconst { CCID, CLK, QTR, tagId } = trafficDetails;\n\tconst { vendorKey, PartnerSourceID } = currentParams;\n\tconst TradingPlatformTrackingInfo = {};\n\tconst isProductionEnv = modUtils.getEnv() === 'production';\n\tconst isLocalEnv = modUtils.getEnv() === 'local';\n\tconst phoneNumberRegex = new RegExp(/(\\d{3})(\\d{3})(\\d{4})/g);\n\tconst phoneNumberContainers = document.querySelectorAll(modForm.opts.phoneAssignmentConfig.phoneNumberContainerSelector);\n\tconst phoneNumberLinks = document.querySelectorAll(modForm.opts.phoneAssignmentConfig.phoneNumberLinksSelector);\n\tconst useHsEndpoint = modForm.opts.phoneAssignmentConfig.useHsEndpoint;\n\tlet url = '';\n\tlet payload = {};\n\tlet requestBody = payload;\n\n\tconst hsApiDomain = `https://${isProductionEnv ? 'form-service-hs.qnst.com' : 'hsapiservice.dev.quinstreet.net'}`;\n\tconst questApiDomain = `https://${isProductionEnv ? 'ivr.quinstreet.com' : 'ivr.quinstage.com'}`;\n\tconst requestHeaders = new Headers();\n\trequestHeaders.append('Accept', 'application/json');\n\n\tconst hidePhoneNumberContainers = () => {\n\t\tdocument.body.classList.remove('invoca', 'callrail');\n\t\tModalytics.heap('track', ['Phone Assignment', {\n\t\t\tphoneNumber: false,\n\t\t\tupdatedExistingPhoneAssignment: shouldUpdateExistingPhoneAssignment\n\t\t}]);\n\t};\n\n\tconst showPhoneNumber = (phoneNumber, extension, phoneAssignmentKey) => {\n\t\tconst shouldDisplayPhoneNumber = (phoneNumberLinks && phoneNumberLinks.length) && (phoneNumberContainers && phoneNumberContainers.length) && phoneNumber;\n\n\t\tif (shouldDisplayPhoneNumber) {\n\t\t\tdocument.body.classList.add('invoca', 'callrail');\n\t\t\tconst formattedPhoneNumber = phoneNumber.replace(phoneNumberRegex, '$1-$2-$3');\n\t\t\tconst formattedPhoneNumberWithExtension = `${formattedPhoneNumber}${extension ? ` Ext: ${extension}` : ''}`;\n\t\t\tmodForm.opts.phoneAssignmentConfig.response = {\n\t\t\t\tdisplayNumber: formattedPhoneNumberWithExtension,\n\t\t\t\threfPhoneNumber: `${phoneNumber}${extension ? `,${extension}` : ''}`,\n\t\t\t\textension,\n\t\t\t\tphoneNumber,\n\t\t\t\tformattedPhoneNumber,\n\t\t\t\tphoneAssignmentKey\n\t\t\t};\n\t\t\tphoneNumberLinks.forEach((phoneNumberLink) => {\n\t\t\t\tphoneNumberLink.setAttribute('href', `tel:${phoneNumber}${extension ? `,${extension}` : ''}`);\n\t\t\t\tconst phoneNumberTextNode = phoneNumberLink.querySelector(modForm.opts.phoneAssignmentConfig.phoneNumbersTextSelector);\n\t\t\t\tif (phoneNumberTextNode) {\n\t\t\t\t\tphoneNumberTextNode.textContent = formattedPhoneNumberWithExtension;\n\t\t\t\t}\n\t\t\t});\n\n\t\t\tModalytics.heap('track', ['Phone Assignment', {\n\t\t\t\tphoneNumber: true,\n\t\t\t\textension: extension ? true : false,\n\t\t\t\tupdatedExistingPhoneAssignment: shouldUpdateExistingPhoneAssignment\n\t\t\t}]);\n\t\t}\n\t};\n\n\tif (useHsEndpoint) {\n\t\trequestHeaders.append('Content-Type', 'application/json');\n\t\turl = `${hsApiDomain}/calls/matches`;\n\t\tconst matchVendors = Array.isArray(modForm.opts.phoneAssignmentConfig.matchVendors) && modForm.opts.phoneAssignmentConfig.matchVendors.length ? modForm.opts.phoneAssignmentConfig.matchVendors : [-1];\n\n\t\tpayload = {\n\t\t\tccid: CCID || null,\n\t\t\tclk: CLK || null,\n\t\t\tqtr: QTR || null,\n\t\t\tzip: modForm?.getFormData()?.zip || null,\n\t\t\tservice: modForm.opts.vertical,\n\t\t\tlandingPageURL: window.location.href,\n\t\t\tmatchVendors: matchVendors\n\t\t};\n\n\t\tif (!payload.zip && isLocalEnv) {\n\t\t\tpayload.zip = '94404';\n\t\t}\n\n\t\tif (shouldUpdateExistingPhoneAssignment && modForm.opts.phoneAssignmentConfig.response && modForm.opts.phoneAssignmentConfig.response.phoneAssignmentKey) {\n\t\t\tpayload.vendorPhoneAssignmentKeys = {\n\t\t\t\t[payload.matchVendors[0]]: modForm.opts.phoneAssignmentConfig.response.phoneAssignmentKey\n\t\t\t};\n\t\t}\n\n\t\trequestBody = JSON.stringify(payload);\n\t} else {\n\t\trequestHeaders.append('Content-Type', 'application/x-www-form-urlencoded');\n\t\turl = `${questApiDomain}/number`;\n\t\tpayload = {\n\t\t\tSourceClickKey: CLK || '',\n\t\t\tLandingQuadTagID: tagId || '',\n\t\t\tPC: modForm?.getFormData()?.zip,\n\t\t\tPortalServiceCode: modForm.opts.vertical,\n\t\t\tservice: 'assign',\n\t\t\tBusinessUnit: 'FC',\n\t\t\tQS_CATEGORY: 'Home Services',\n\t\t\tTradingPlatformTrackingInfo: '',\n\t\t\tvendorKeys: vendorKey ? vendorKey : '-1',\n\t\t\tquadTagId: isProductionEnv ? modForm.opts.phoneAssignmentConfig.questQuadTagId.prod : modForm.opts.phoneAssignmentConfig.questQuadTagId.staging,\n\t\t\tAffiliateSubID: PartnerSourceID || ''\n\t\t};\n\n\t\tif (currentParams && Object.keys(currentParams).length) {\n\t\t\tObject.keys(currentParams).forEach(function(key) {\n\t\t\t\tif (campaignAttributes.includes(key)) {\n\t\t\t\t\tTradingPlatformTrackingInfo[key] = currentParams[key];\n\t\t\t\t}\n\t\t\t});\n\t\t}\n\n\t\tpayload.TradingPlatformTrackingInfo = JSON.stringify(TradingPlatformTrackingInfo);\n\n\t\trequestBody = new URLSearchParams(payload).toString();\n\t}\n\n\tabortController = new AbortController();\n\tconst signal = abortController.signal;\n\n\tconst requestOptions = {\n\t\tmethod: 'POST',\n\t\theaders: requestHeaders,\n\t\tredirect: 'follow',\n\t\tmode: 'cors',\n\t\tbody: requestBody,\n\t\tsignal\n\t};\n\n\tfetch(url, requestOptions)\n\t\t.then(response => response.json())\n\t\t.then(jsonResponse => {\n\t\t\tif (useHsEndpoint) {\n\t\t\t\tif (jsonResponse && jsonResponse.status === 'success') {\n\t\t\t\t\tconst { data } = jsonResponse;\n\t\t\t\t\tconst { phoneDetails } = data;\n\t\t\t\t\tlet phoneNumberData;\n\t\t\t\t\tif (!phoneDetails) {\n\t\t\t\t\t\tphoneNumberData = modForm.opts.phoneAssignmentConfig.response;\n\t\t\t\t\t} else {\n\t\t\t\t\t\tphoneNumberData = phoneDetails[payload.matchVendors[0]];\n\t\t\t\t\t}\n\t\t\t\t\tconst { phoneNumber, extension, phoneAssignmentKey } = phoneNumberData;\n\t\t\t\t\tshowPhoneNumber(phoneNumber, extension, phoneAssignmentKey);\n\t\t\t\t} else {\n\t\t\t\t\thidePhoneNumberContainers();\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (jsonResponse && Object.keys(jsonResponse).length) {\n\t\t\t\t\tconst phoneNumberData = jsonResponse[payload.vendorKeys];\n\n\t\t\t\t\tif (!phoneNumberData || phoneNumberData.constructor !== Object) {\n\t\t\t\t\t\thidePhoneNumberContainers();\n\t\t\t\t\t\treturn;\n\t\t\t\t\t}\n\n\t\t\t\t\tconst { ccPhoneNum, extn } = phoneNumberData;\n\t\t\t\t\tshowPhoneNumber(ccPhoneNum, extn);\n\t\t\t\t} else {\n\t\t\t\t\thidePhoneNumberContainers();\n\t\t\t\t}\n\t\t\t}\n\t\t})\n\t\t.catch(error => {\n\t\t\tif (signal.aborted) {\n\t\t\t\tconsole.log(signal.reason);\n\t\t\t\tModalytics.heap('track', ['Phone Assignment', {\n\t\t\t\t\tisRequestAborted: true\n\t\t\t\t}]);\n\t\t\t} else {\n\t\t\t\thidePhoneNumberContainers();\n\t\t\t\tconsole.log('Something went wrong!', error);\n\t\t\t}\n\t\t});\n};\n","import { getQSApiDomain, heapIdentify, getPhoneAssignmentData } from '../../helpers';\n/**\n * Transform Quadlink\n */\nexport function transformQuadlink() {\n\tlet response = {};\n\tconst request = new XMLHttpRequest(),\n\t\tapiUrl = getQSApiDomain() + window.modForm.opts.trafficDetailsApi;\n\n\trequest.open('POST', apiUrl);\n\trequest.setRequestHeader('Content-Type', 'application/json');\n\trequest.send(JSON.stringify(window.modForm.opts.quadLinkData));\n\trequest.addEventListener('load', async function() {\n\t\tif (this.response) {\n\t\t\tresponse = { ...response, ...JSON.parse(this.response) };\n\t\t\tif (this.readyState === 4 && this.status === 200) {\n\t\t\t\tfor (const value in response) {\n\t\t\t\t\tif (window.modForm.opts.qsParams.includes(value) && response.hasOwnProperty(value)) { // eslint-disable-line no-prototype-builtins\n\t\t\t\t\t\twindow.modForm.opts.quadLinkParams[value] = response[value];\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (window.modForm.opts.phoneAssignmentConfig.showPhoneAssignmentNumber) {\n\t\t\t\t\tgetPhoneAssignmentData(response);\n\t\t\t\t}\n\t\t\t\theapIdentify();\n\t\t\t\twindow.modForm.opts.quadLinkHasBeenTransformed = true;\n\t\t\t\tif (window.heap) {\n\t\t\t\t\twindow.heap.addEventProperties(window.modForm.opts.quadLinkParams);\n\t\t\t\t} else {\n\t\t\t\t\tawait new Promise(resolve => { // eslint-disable-line no-undef\n\t\t\t\t\t\tsetTimeout(function() {\n\t\t\t\t\t\t\tif (window.heap) {\n\t\t\t\t\t\t\t\twindow.heap.addEventProperties(window.modForm.opts.quadLinkParams);\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tresolve();\n\t\t\t\t\t\t}, 250);\n\t\t\t\t\t});\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\trequest.addEventListener('error', function() {\n\t\tconsole.error('Something went wrong');\n\t});\n}\n","/**\n * Saves user information to cookie\n * @param {String} name - key name for the object being stored on the cookie\n * @param {String} value - value for the object being stored on the cookie\n */\nexport function saveUserInfoToCookie(name, value) {\n\tif (name.toLowerCase().includes('zip')) {\n\t\twindow.modForm.userObj.zip = value;\n\t} else {\n\t\twindow.modForm.userObj[name] = value;\n\t}\n\n\twindow.modUtils.setCookie('userInfo', JSON.stringify(window.modForm.userObj), 526740);\n}\n","export function getHeapSessionIdCookieData() {\n\tlet heapSessionSubmitCookie = null;\n\tlet heapSessionId = null;\n\tlet initialTimestamp;\n\tlet expireInOneHour;\n\tlet resultsPage = '';\n\n\tif (window.modUtils.heapCookie) {\n\t\theapSessionId = window.modUtils.heapCookieData.sessionId;\n\t\theapSessionSubmitCookie = window.modUtils.getCookie(heapSessionId);\n\t}\n\n\tif (heapSessionSubmitCookie !== null) {\n\t\tconst cookieValue = JSON.parse(decodeURIComponent(heapSessionSubmitCookie));\n\t\tinitialTimestamp = cookieValue.initialTimestamp;\n\t\texpireInOneHour = initialTimestamp + 1 * 60 * 60 * 1000;\n\t\tif (window.modForm.opts.isFrontdoorExclusiveMatch) {\n\t\t\tresultsPage = decodeURIComponent(cookieValue.resultsPage);\n\t\t} else {\n\t\t\tresultsPage = cookieValue.resultsPage;\n\t\t}\n\t}\n\n\treturn { heapSessionSubmitCookie, heapSessionId, initialTimestamp, expireInOneHour, resultsPage};\n}\n","import { prepopFormFromURL } from '../../helpers';\n/**\n * function to get the saved query string values from the session storage\n * @returns {Object} - query string values\n */\nexport function getQueryParamsFromSessionStorage() {\n\tconst queryParams = window.sessionStorage ? window.sessionStorage.getItem('queryParams') : null;\n\tconst parsedQueryParams = queryParams ? JSON.parse(queryParams) : null;\n\tif (parsedQueryParams) {\n\t\twindow.modForm.opts.getVars = parsedQueryParams;\n\t\tprepopFormFromURL();\n\t}\n\treturn parsedQueryParams;\n}\n","/**\n * Default quad values based on page domain\n * @type {Object}\n */\nexport const defaultQuadLinkValues = {\n\t// TODO: Remove m. values since we only use the desktop url\n\t'modernize.com': {\n\t\tmedicalalerts: {\n\t\t\tc: '1677934',\n\t\t\ts: '31135',\n\t\t\tf: '202109081618210'\n\t\t},\n\t\tshowers: {\n\t\t\tc: '1683621',\n\t\t\ts: '3086',\n\t\t\tf: '202309141602090'\n\t\t},\n\t\tdefault: {\n\t\t\tc: '1679227',\n\t\t\ts: '29914',\n\t\t\tf: '202202161521310'\n\t\t}\n\t},\n\t'modernizesolar.com': {\n\t\tc: '1679227',\n\t\ts: '29914',\n\t\tf: '202202161521310'\n\t},\n\t'modernize-solar.com': {\n\t\tc: '1679227',\n\t\ts: '29914',\n\t\tf: '202202161521310'\n\t},\n\t'go.jacuzzi.com': {\n\t\tc: '1674074',\n\t\ts: '3086',\n\t\tf: '202011031614490'\n\t},\n\t'm.go.jacuzzi.com': {\n\t\tc: '1674074',\n\t\ts: '3086',\n\t\tf: '202011031614490'\n\t},\n\t'americanhomewarranty.org': {\n\t\tc: '1673835',\n\t\ts: '3086',\n\t\tf: '202010191645170'\n\t},\n\t'm.americanhomewarranty.org': {\n\t\tc: '1673835',\n\t\ts: '3086',\n\t\tf: '202010191645170'\n\t},\n\t'homewindowprices.org': {\n\t\tc: '1673838',\n\t\ts: '3086',\n\t\tf: '202010191645180'\n\t},\n\t'm.homewindowprices.org': {\n\t\tc: '1673838',\n\t\ts: '3086',\n\t\tf: '202010191645180'\n\t},\n\t'mygutterguards.com': {\n\t\tc: '1673836',\n\t\ts: '3086',\n\t\tf: '202010191645180'\n\t},\n\t'm.mygutterguards.com': {\n\t\tc: '1673836',\n\t\ts: '3086',\n\t\tf: '202010191645180'\n\t},\n\t'tophottubs.org': {\n\t\tc: '1673840',\n\t\ts: '3086',\n\t\tf: '202010191645190'\n\t},\n\t'm.tophottubs.org': {\n\t\tc: '1673840',\n\t\ts: '3086',\n\t\tf: '202010191645190'\n\t},\n\t'americanstandardwalkinbaths.com': {\n\t\tc: '1665214',\n\t\ts: '28354',\n\t\tf: '201906181327550'\n\t},\n\t'm.americanstandardwalkinbaths.com': {\n\t\tc: '1665215',\n\t\ts: '28354',\n\t\tf: '201906181327560'\n\t},\n\t'bathandshower.org': {\n\t\tc: '1667476',\n\t\ts: '26393',\n\t\tf: '201910011622070'\n\t},\n\t'm.bathandshower.org': {\n\t\tc: '1667460',\n\t\ts: '26401',\n\t\tf: '201910011622030'\n\t},\n\t'bathandshowerpros.com': {\n\t\tc: '1658267',\n\t\ts: '26393',\n\t\tf: '201809211357520'\n\t},\n\t'm.bathandshowerpros.com': {\n\t\tc: '1658263',\n\t\ts: '26401',\n\t\tf: '201809211352160'\n\t},\n\t'quotes.bathwraps.com': {\n\t\tc: '1660429',\n\t\ts: '26393',\n\t\tf: '201812121510250'\n\t},\n\t'm.bathwraps.com': {\n\t\tc: '1660426',\n\t\ts: '26401',\n\t\tf: '201812121509080'\n\t},\n\t'craftmaticbeds.com': {\n\t\tc: '655234',\n\t\ts: '3086',\n\t\tf: '201008201638230'\n\t},\n\t'emedicalalerts.com': {\n\t\tc: '1647425',\n\t\ts: '26393',\n\t\tf: '201711071755250'\n\t},\n\t'm.emedicalalerts.com': {\n\t\tc: '1647405',\n\t\ts: '26401',\n\t\tf: '201711071755190'\n\t},\n\t'flooringpricer.com': {\n\t\tc: '1668109',\n\t\ts: '26393',\n\t\tf: '201910231539300'\n\t},\n\t'm.flooringpricer.com': {\n\t\tc: '1668101',\n\t\ts: '26401',\n\t\tf: '201910231539280'\n\t},\n\t'findyourwindows.com': {\n\t\tc: '1654347',\n\t\ts: '26393',\n\t\tf: '201805111614390'\n\t},\n\t'm.findyourwindows.com': {\n\t\tc: '1654331',\n\t\ts: '26401',\n\t\tf: '201805111612300'\n\t},\n\t'homesecurityprices.org': {\n\t\tc: '1658310',\n\t\ts: '26393',\n\t\tf: '201809211526510'\n\t},\n\t'm.homesecurityprices.org': {\n\t\tc: '1658305',\n\t\ts: '26401',\n\t\tf: '201809211509250'\n\t},\n\t'quotes.improvementcenter.com': {\n\t\tbathrooms: {\n\t\t\tc: '1652517',\n\t\t\ts: '26393',\n\t\t\tf: '201803221337450'\n\t\t},\n\t\tgutters: {\n\t\t\tc: '1614214',\n\t\t\ts: '3086',\n\t\t\tf: '201608311104250'\n\t\t},\n\t\tstairlifts: {\n\t\t\tc: '1658469',\n\t\t\ts: '26393',\n\t\t\tf: '201809260926260'\n\t\t},\n\t\twalkintubs: {\n\t\t\tc: '1647588',\n\t\t\ts: '26393',\n\t\t\tf: '201711081408530'\n\t\t}\n\t},\n\t'bathrooms.improvementcenter.com': {\n\t\tc: '1652509',\n\t\ts: '26401',\n\t\tf: '201803221337420'\n\t},\n\t'gutters.improvementcenter.com': {\n\t\tc: '1635550',\n\t\ts: '16479',\n\t\tf: '201703010604120'\n\t},\n\t'stairlifts.improvementcenter.com': {\n\t\tc: '1658465',\n\t\ts: '26401',\n\t\tf: '201809260926240'\n\t},\n\t'walkintubs.improvementcenter.com': {\n\t\tc: '1647564',\n\t\ts: '26401',\n\t\tf: '201711081408460'\n\t},\n\t'kitchensandcabinets.com': {\n\t\tc: '1652648',\n\t\ts: '26393',\n\t\tf: '201803261349020'\n\t},\n\t'm.kitchensandcabinets.com': {\n\t\tc: '1652624',\n\t\ts: '26401',\n\t\tf: '201803261348550'\n\t},\n\t'leafgutterpros.com': {\n\t\tc: '1685217',\n\t\ts: '3086',\n\t\tf: '202403271348130'\n\t},\n\t'lifemedicalalerts.com': {\n\t\tc: '1647427',\n\t\ts: '26393',\n\t\tf: '201711071755260'\n\t},\n\t'm.lifemedicalalerts.com': {\n\t\tc: '1647407',\n\t\ts: '26401',\n\t\tf: '201711071755200'\n\t},\n\t'go.medicalguardian.com': {\n\t\tc: '1654232',\n\t\ts: '26393',\n\t\tf: '201805101622250'\n\t},\n\t'mysolarcost.com': {\n\t\tc: '1645537',\n\t\ts: '3086',\n\t\tf: '201709221027450'\n\t},\n\t'm.mysolarcost.com': {\n\t\tc: '1645592',\n\t\ts: '16479',\n\t\tf: '201709221044340'\n\t},\n\t'roofingcosts.org': {\n\t\tc: '1673843',\n\t\ts: '3086',\n\t\tf: '202010191645200'\n\t},\n\t'm.roofingcosts.org': {\n\t\tc: '1673843',\n\t\ts: '3086',\n\t\tf: '202010191645200'\n\t},\n\t'securitypricer.com': {\n\t\tc: '1673856',\n\t\ts: '3086',\n\t\tf: '202010191645230'\n\t},\n\t'm.securitypricer.com': {\n\t\tc: '1673856',\n\t\ts: '3086',\n\t\tf: '202010191645230'\n\t},\n\t'walkinbathtubs.org': {\n\t\tc: '1673846',\n\t\ts: '3086',\n\t\tf: '202010191645210'\n\t},\n\t'm.walkinbathtubs.org': {\n\t\tc: '1673846',\n\t\ts: '3086',\n\t\tf: '202010191645210'\n\t},\n\t'walkintubprices.org': {\n\t\tc: '1673842',\n\t\ts: '3086',\n\t\tf: '202010191645200'\n\t},\n\t'm.walkintubprices.org': {\n\t\tc: '1673842',\n\t\ts: '3086',\n\t\tf: '202010191645200'\n\t},\n\t'walkintubforseniors.com': {\n\t\tc: '1647590',\n\t\ts: '26393',\n\t\tf: '201711081408540'\n\t},\n\t'm.walkintubforseniors.com': {\n\t\tc: '1647566',\n\t\ts: '26401',\n\t\tf: '201711081408470'\n\t},\n\t'plans.selecthomewarranty.com': {\n\t\tc: '1674075',\n\t\ts: '3086',\n\t\tf: '202011031614490'\n\t},\n\t'plumbingservicecosts.com': {\n\t\tc: '1684673',\n\t\ts: '3086',\n\t\tf: '202402061224360'\n\t},\n\t'm.plans.selecthomewarranty.com': {\n\t\tc: '1674075',\n\t\ts: '3086',\n\t\tf: '202011031614490'\n\t},\n\t'powerhomesolarpanels.com': {\n\t\tc: '1676761',\n\t\ts: '3086',\n\t\tf: '202105251631450'\n\t},\n\t'hvacpros.org': {\n\t\tc: '1670084',\n\t\ts: '26393',\n\t\tf: '202002181631370'\n\t},\n\t'm.hvacpros.org': {\n\t\tc: '1670076',\n\t\ts: '26401',\n\t\tf: '202002181625140'\n\t},\n\t'homewarrantyplans.org': {\n\t\tc: '1668109',\n\t\ts: '26393',\n\t\tf: '201910231539300'\n\t},\n\t'm.homewarrantyplans.org': {\n\t\tc: '1667462',\n\t\ts: '26401',\n\t\tf: '201910011622030'\n\t},\n\t'gutterguardcovers.com': {\n\t\tc: '1679714',\n\t\ts: '3086',\n\t\tf: '202205131023370'\n\t},\n\t'windowreplacementcost.org': {\n\t\tc: '1679716',\n\t\ts: '3086',\n\t\tf: '202205131023370'\n\t},\n\t'stairliftchairs.org': {\n\t\tc: '1679715',\n\t\ts: '3086',\n\t\tf: '202205131023370'\n\t},\n\t'roofingreplacementcost.com': {\n\t\tc: '1680434',\n\t\ts: '3086',\n\t\tf: '202208031707470'\n\t},\n\t'furnacereplacementcosts.org': {\n\t\tc: '1680996',\n\t\ts: '3086',\n\t\tf: '202209290958330'\n\t},\n\t'solarpanelpricing.com': {\n\t\tc: '1682247',\n\t\ts: '3086',\n\t\tf: '202302031201300'\n\t},\n\t'kitchencabinetrefacing.org': {\n\t\tc: '1680433',\n\t\ts: '3086',\n\t\tf: '202208031707460'\n\t},\n\t'airconditioningpros.org': {\n\t\tc: '1682333',\n\t\ts: '3086',\n\t\tf: '202302141453580'\n\t},\n\t'treetrimmingservicepros.com': {\n\t\tc: '1682327',\n\t\ts: '3086',\n\t\tf: '202302141447090'\n\t},\n\t'compareflooringprices.com': {\n\t\tc: '1683170',\n\t\ts: '3086',\n\t\tf: '202306161210090'\n\t},\n\t'sidingreplacementcost.com': {\n\t\tc: '1683497',\n\t\ts: '3086',\n\t\tf: '202308211539090'\n\t},\n\t'adt-savings.com': {\n\t\tc: '1683323',\n\t\ts: '31135',\n\t\tf: '202307211631550'\n\t},\n\t'topgutterpros.com': {\n\t\tc: '1683689',\n\t\ts: '3086',\n\t\tf: '202309251220170'\n\t},\n\t'topremodelingpros.com': {\n\t\tc: '1683689',\n\t\ts: '3086',\n\t\tf: '202309251220170'\n\t},\n\t'powerhomedeals.com': {\n\t\troofing: {\n\t\t\tc: '1683681',\n\t\t\ts: '3086',\n\t\t\tf: '202309251210110'\n\t\t},\n\t\twindows: {\n\t\t\tc: '1683686',\n\t\t\ts: '3086',\n\t\t\tf: '202309251219100'\n\t\t},\n\t\tsiding: {\n\t\t\tc: '1683683',\n\t\t\ts: '3086',\n\t\t\tf: '202309251214450'\n\t\t}\n\t},\n\t'bestcompany.modernize.com': {\n\t\thomewarranty: {\n\t\t\tc: '1684628',\n\t\t\ts: '34486',\n\t\t\tf: '202401301751220'\n\t\t},\n\t\tmedicalalertsystems: {\n\t\t\tc: '1684826',\n\t\t\ts: '34486',\n\t\t\tf: '202402151655050'\n\t\t},\n\t\thomesecurity: {\n\t\t\tc: '1684824',\n\t\t\ts: '34486',\n\t\t\tf: '202402151653100'\n\t\t},\n\t\tsolar: {\n\t\t\tc: '1684620',\n\t\t\ts: '34486',\n\t\t\tf: '202401301731070'\n\t\t},\n\t\twatersofteners: {\n\t\t\tc: '1684830',\n\t\t\ts: '34486',\n\t\t\tf: '202402141206230'\n\t\t},\n\t\tplumbing: {\n\t\t\tc: '1684766',\n\t\t\ts: '34486',\n\t\t\tf: '202402141115530'\n\t\t},\n\t\ttreeservices: {\n\t\t\tc: '1684764',\n\t\t\ts: '34486',\n\t\t\tf: '202402141113540'\n\t\t},\n\t\tnewwindows: {\n\t\t\tc: '1684828',\n\t\t\ts: '34486',\n\t\t\tf: '202402151656490'\n\t\t},\n\t\twalkintubs: {\n\t\t\tc: '1684760',\n\t\t\ts: '34486',\n\t\t\tf: '202402141109100'\n\t\t},\n\t\tstairlifts: {\n\t\t\tc: '1684758',\n\t\t\ts: '34486',\n\t\t\tf: '202402141106430'\n\t\t},\n\t\tsiding: {\n\t\t\tc: '1684756',\n\t\t\ts: '34486',\n\t\t\tf: '202402141103210'\n\t\t},\n\t\troofing: {\n\t\t\tc: '1684754',\n\t\t\ts: '34486',\n\t\t\tf: '202402141059590'\n\t\t},\n\t\thvac: {\n\t\t\tc: '1684752',\n\t\t\ts: '34486',\n\t\t\tf: '202402141057220'\n\t\t},\n\t\thottubs: {\n\t\t\tc: '1684750',\n\t\t\ts: '34486',\n\t\t\tf: '202402141054450'\n\t\t},\n\t\tgutters: {\n\t\t\tc: '1684748',\n\t\t\ts: '34486',\n\t\t\tf: '202402141051430'\n\t\t},\n\t\tflooring: {\n\t\t\tc: '1684746',\n\t\t\ts: '34486',\n\t\t\tf: '202402141049110'\n\t\t},\n\t\tdoors: {\n\t\t\tc: '1684744',\n\t\t\ts: '34486',\n\t\t\tf: '202402141046440'\n\t\t},\n\t\tcabinets: {\n\t\t\tc: '1684822',\n\t\t\ts: '34486',\n\t\t\tf: '202402151651120'\n\t\t},\n\t\tbathroomremodel: {\n\t\t\tc: '1684820',\n\t\t\ts: '34486',\n\t\t\tf: '202402151646230'\n\t\t},\n\t\tfindapro: {\n\t\t\tc: '1684895',\n\t\t\ts: '3086',\n\t\t\tf: '202402231339130'\n\t\t}\n\t},\n\t'bestcompany.com': {\n\t\thomewarranty: {\n\t\t\tc: '1684628',\n\t\t\ts: '34486',\n\t\t\tf: '202401301751220'\n\t\t},\n\t\tmedicalalertsystems: {\n\t\t\tc: '1684826',\n\t\t\ts: '34486',\n\t\t\tf: '202402151655050'\n\t\t},\n\t\thomesecurity: {\n\t\t\tc: '1684824',\n\t\t\ts: '34486',\n\t\t\tf: '202402151653100'\n\t\t},\n\t\tsolar: {\n\t\t\tc: '1684620',\n\t\t\ts: '34486',\n\t\t\tf: '202401301731070'\n\t\t},\n\t\twatersofteners: {\n\t\t\tc: '1684830',\n\t\t\ts: '34486',\n\t\t\tf: '202402141206230'\n\t\t},\n\t\tplumbing: {\n\t\t\tc: '1684766',\n\t\t\ts: '34486',\n\t\t\tf: '202402141115530'\n\t\t},\n\t\ttreeservices: {\n\t\t\tc: '1684764',\n\t\t\ts: '34486',\n\t\t\tf: '202402141113540'\n\t\t},\n\t\tnewwindows: {\n\t\t\tc: '1684828',\n\t\t\ts: '34486',\n\t\t\tf: '202402151656490'\n\t\t},\n\t\twalkintubs: {\n\t\t\tc: '1684760',\n\t\t\ts: '34486',\n\t\t\tf: '202402141109100'\n\t\t},\n\t\tstairlifts: {\n\t\t\tc: '1684758',\n\t\t\ts: '34486',\n\t\t\tf: '202402141106430'\n\t\t},\n\t\tsiding: {\n\t\t\tc: '1684756',\n\t\t\ts: '34486',\n\t\t\tf: '202402141103210'\n\t\t},\n\t\troofing: {\n\t\t\tc: '1684754',\n\t\t\ts: '34486',\n\t\t\tf: '202402141059590'\n\t\t},\n\t\thvac: {\n\t\t\tc: '1684752',\n\t\t\ts: '34486',\n\t\t\tf: '202402141057220'\n\t\t},\n\t\thottubs: {\n\t\t\tc: '1684750',\n\t\t\ts: '34486',\n\t\t\tf: '202402141054450'\n\t\t},\n\t\tgutters: {\n\t\t\tc: '1684748',\n\t\t\ts: '34486',\n\t\t\tf: '202402141051430'\n\t\t},\n\t\tflooring: {\n\t\t\tc: '1684746',\n\t\t\ts: '34486',\n\t\t\tf: '202402141049110'\n\t\t},\n\t\tdoors: {\n\t\t\tc: '1684744',\n\t\t\ts: '34486',\n\t\t\tf: '202402141046440'\n\t\t},\n\t\tcabinets: {\n\t\t\tc: '1684822',\n\t\t\ts: '34486',\n\t\t\tf: '202402151651120'\n\t\t},\n\t\tbathroomremodel: {\n\t\t\tc: '1684820',\n\t\t\ts: '34486',\n\t\t\tf: '202402151646230'\n\t\t},\n\t\tfindapro: {\n\t\t\tc: '1684895',\n\t\t\ts: '3086',\n\t\t\tf: '202402231339130'\n\t\t}\n\t},\n\t'topsolarcompanies.com': {\n\t\tc: '1684497',\n\t\ts: '34399',\n\t\tf: '202401241741100'\n\t},\n\t'besthomesecuritycompanys.com': {\n\t\tc: '1684495',\n\t\ts: '34399',\n\t\tf: '202401241738220'\n\t},\n\t'homewatersystemspros.com': {\n\t\tc: '1684679',\n\t\ts: '3086',\n\t\tf: '202402061238410'\n\t},\n\t'foundationandbasements.com': {\n\t\tc: '1685478',\n\t\ts: '3086',\n\t\tf: '202405021159440'\n\t},\n\t'topinsulationpros.com': {\n\t\tc: '1686466',\n\t\ts: '3086',\n\t\tf: '202408211814210'\n\t},\n\t'getwaterdamagehelp.com': {\n\t\tc: '1686735',\n\t\ts: '3086',\n\t\tf: '202409231230440'\n\t}\n};\n","import { getDefaultQuadByDomain } from '../../helpers';\n/**\n * Get default quad link based on service\n * @param {String} service - Landing Page service (vertical)\n * @returns {String} Quad Link\n */\nexport function getDefaultQuad(service) {\n\tlet c, s, f, finalLink = '';\n\tconst valuesByDomain = getDefaultQuadByDomain();\n\n\t// allows us to pass in a custom object to create the default quadlink\n\tif (typeof service === 'object' && service !== null) {\n\t\t({ c, s, f } = service);\n\t} else if (valuesByDomain) {\n\t\tc = typeof valuesByDomain.c === 'object' ? valuesByDomain.c[service] : valuesByDomain.c;\n\t\t({ s, f } = valuesByDomain);\n\t}\n\n\tfinalLink = `http://o1.qnsr.com/cgi/r?;n=203;c=${c};s=${s};x=7936;f=${f};u=j;z=TIMESTAMP;&default=yes;`;\n\n\treturn finalLink;\n}\n","import { defaultQuadLinkValues } from './defaultQuadLinkValues';\n\n/**\n * Get default quad link based on page domain\n * @returns {Object} Quad Link object value\n */\n\nexport function getDefaultQuadByDomain() {\n\tconst page = window.modForm.opts.websiteName.replace(/(qa\\.?|staging\\.?|www\\.?)/g, '');\n\n\tif (page.includes('bestcompany')) {\n\t\tlet service = window.modForm.opts.landingPage.split('/');\n\t\tservice = service[2].replace(/-/g, '');\n\n\t\treturn defaultQuadLinkValues[page][service];\n\t} else if (page.indexOf('quotes.improvementcenter.com') > -1 || page.indexOf('modernize.com') > -1 || page.indexOf('powerhomedeals.com') > -1) {\n\t\tlet service = window.modForm.opts.landingPage.replace(/\\/$/g, '').replace(/^(?:[^/]*\\/)+/g, '');\n\t\tservice = (typeof defaultQuadLinkValues[page][service] !== 'undefined') ? service : 'default';\n\t\treturn defaultQuadLinkValues[page][service];\n\t}\n\n\treturn defaultQuadLinkValues[page];\n}\n","/**\n * Get API domain based on whether this is testing or production env\n * @returns {String} QS domain to use\n */\nexport function getQSApiDomain() {\n\tlet domain = 'https://hsleadpost1.quinstage.com/';\n\tconst env = window.modUtils.getEnv();\n\n\tif (env === 'production') {\n\t\tdomain = 'https://hs.leadpost.net/';\n\t}\n\n\treturn domain;\n}\n","export function heapIdentify() {\n\t// Heap Identify once we get a click key value\n\tif (typeof window.modForm.opts.quadLinkParams.CLK !== 'undefined') {\n\t\tif ('heap' in window) {\n\t\t\twindow.Modalytics.heap('identify', [window.modForm.opts.quadLinkParams.CLK]);\n\t\t} else {\n\t\t\twindow.addEventListener('heapCookieResolved', function() {\n\t\t\t\twindow.Modalytics.heap('identify', [window.modForm.opts.quadLinkParams.CLK]);\n\t\t\t});\n\t\t}\n\t}\n}\n","import { heapIdentify, getDefaultQuad, transformQuadlink, getQueryParamsFromSessionStorage, defaultQuadLinkValues, getPhoneAssignmentData } from '../../helpers';\n\n/**\n * function to extract the required values from a quad link\n * @param {boolean} useIdlizeQueueInternally if true it will Idlize the ajaxQuadlinkTransform() call inside this function. Useful when calling `initQuadTransform()` immediately in the `initQSForm()`\n */\nexport function initQuadTransform(useIdlizeQueueInternally = false) {\n\t// We check if there's a quad link on the query string\n\t// If not we get the default link\n\tlet hasMarketingParams = false;\n\tconst currentParams = getQueryParamsFromSessionStorage() || window.modUtils.getUrlParamsToObject(),\n\t\thasQuadLink = currentParams.hasOwnProperty('quadlink'), // eslint-disable-line no-prototype-builtins\n\t\thastagID = currentParams.hasOwnProperty('tagID'), // eslint-disable-line no-prototype-builtins\n\t\theapMsg = { message: '' },\n\t\tmarketingParams = [\n\t\t\t'ad',\n\t\t\t'sp',\n\t\t\t'fb',\n\t\t\t'mt',\n\t\t\t'adposition',\n\t\t\t'dev',\n\t\t\t'gclid',\n\t\t\t'ki',\n\t\t\t'sq',\n\t\t\t'fb_ad_id',\n\t\t\t'fb_adset_id',\n\t\t\t'fb_campaign_id',\n\t\t\t'placement',\n\t\t\t'PartnerSourceID',\n\t\t\t'sub2_id',\n\t\t\t'PublisherSubID'\n\t\t],\n\t\thasQsParams = Object.keys(currentParams).some(function(param) {\n\t\t\treturn window.modForm.opts.qsParams.includes(param.toUpperCase());\n\t\t});\n\n\tif (hasQsParams) {\n\t\tfor (const param in currentParams) {\n\t\t\tif (window.modForm.opts.qsParams.includes(param.toUpperCase()) && typeof currentParams[param] !== 'undefined') {\n\t\t\t\twindow.modForm.opts.quadLinkParams[param.toUpperCase()] = currentParams[param];\n\t\t\t}\n\t\t}\n\n\t\theapIdentify();\n\t\tif (window.modForm.opts.phoneAssignmentConfig.showPhoneAssignmentNumber) {\n\t\t\tgetPhoneAssignmentData(window.modForm.opts.quadLinkParams);\n\t\t}\n\t} else {\n\t\tlet quadLinkUrl = '',\n\t\t\tquadLinkType = '';\n\t\tif (hastagID) {\n\t\t\tquadLinkUrl = currentParams.tagID;\n\t\t\tquadLinkType = 'tagID';\n\t\t} else {\n\t\t\tquadLinkUrl = hasQuadLink ? currentParams.quadlink : getDefaultQuad(window.modForm.opts.vertical);\n\t\t\tquadLinkType = hasQuadLink ? 'quadlink' : 'defaultQuad';\n\t\t}\n\n\t\twindow.modForm.opts.quadLinkData[quadLinkType] = quadLinkUrl;\n\n\t\tfor (const param in currentParams) {\n\t\t\tif (marketingParams.includes(param)) {\n\t\t\t\twindow.modForm.opts.quadLinkData[param] = currentParams[param];\n\t\t\t\thasMarketingParams = true;\n\t\t\t}\n\t\t}\n\n\t\tif (quadLinkUrl !== '') {\n\t\t\t// update source used for Best Company Blind Match forms (if user is coming in with existing params)\n\t\t\tif (window.modUtils.getLandingPage().includes('bestcompany') && window.modUtils.getLandingPage().includes('find-a-pro')) {\n\t\t\t\tconst quadlinkInput = document.querySelector('input[name=\"quadlink\"]');\n\t\t\t\tconst blindMatchDefaultQuad = getDefaultQuad(defaultQuadLinkValues['bestcompany.com'].findapro);\n\t\t\t\tconst blindMatchQuad = blindMatchDefaultQuad.replace('&default=yes;', '');\n\t\t\t\t// update quad value being sent through to LeadAnalyzer (so there is no confusion)\n\t\t\t\tif (quadlinkInput) {\n\t\t\t\t\tquadlinkInput.value = blindMatchQuad;\n\t\t\t\t}\n\t\t\t\t// transform the quadlink using this blind match specific one\n\t\t\t\tif (window.modForm.opts.quadLinkData.quadlink) {\n\t\t\t\t\twindow.modForm.opts.quadLinkData.quadlink = blindMatchQuad;\n\t\t\t\t} else if (hasMarketingParams) {\n\t\t\t\t\twindow.modForm.opts.quadLinkData.defaultQuad = blindMatchQuad;\n\t\t\t\t}\n\t\t\t}\n\n\t\t\tif (useIdlizeQueueInternally) {\n\t\t\t\tif ('IdlizeQueue' in window) {\n\t\t\t\t\theapMsg.message = 'initQuadTransform() called on DOMContentLoaded with IdlizeQueue';\n\t\t\t\t\twindow.IdlizeQueue.pushTask(() => {\n\t\t\t\t\t\ttransformQuadlink();\n\t\t\t\t\t});\n\t\t\t\t} else {\n\t\t\t\t\ttransformQuadlink();\n\t\t\t\t\theapMsg.message = 'initQuadTransform() called on DOMContentLoaded without IdlizeQueue';\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\ttransformQuadlink();\n\t\t\t\theapMsg.message = 'initQuadTransform() called on window.onload';\n\t\t\t}\n\t\t}\n\t\twindow.modUtils.heap('track', ['Quad Transform', heapMsg]);\n\t}\n}\n","import { getHeapSessionIdCookieData, initDuplicateSubmissionExperience, getPhoneAssignmentData } from '../helpers';\n/**\n * Validate Zip Code\n * @param {String} zip - zip code to validate\n * @param {Function} callback - callback function after server response\n *\n */\nexport function isZipCodeValid(zip, callback) {\n\tconst timeOut = window.modForm.opts.getVars && window.modForm.opts.getVars.timeout && window.modUtils.getEnv() !== 'production' ? Number(window.modForm.opts.getVars.timeout) : 3000,\n\t\tapiDomain = `https://${window.modUtils.getEnv() === 'production' ? 'hs.leadpost.net/' : 'hsleadpost1.quinstage.com/'}`,\n\t\tzipEditInput = document.querySelectorAll(window.modForm.zipEditInput)[0];\n\tconst currentParams = window.modUtils.getUrlParamsToObject();\n\tconst shouldCallPhoneAssignmentApi = window.modForm.opts.phoneAssignmentConfig.showPhoneAssignmentNumber && window.modForm.opts.phoneAssignmentConfig.useHsEndpoint && !currentParams.\n\t\tstartStep;\n\n\tconst request = new XMLHttpRequest();\n\tlet response = {};\n\trequest.open('GET', `${apiDomain}api/PostalCordinateInfo/${zip}/get`);\n\trequest.timeout = timeOut;\n\trequest.send();\n\trequest.addEventListener('load', function() {\n\t\tif (this.response) {\n\t\t\tresponse = { ...response, ...JSON.parse(this.response) };\n\t\t\tif (this.readyState === 4 && this.status === 200) {\n\t\t\t\tresponse.success = true;\n\t\t\t\tresponse.data = JSON.parse(this.response);\n\t\t\t\tresponse.data.zip = zip;\n\n\t\t\t\tif (zipEditInput && zipEditInput.style.display === 'hidden') {\n\t\t\t\t\tdocument.querySelector(window.modForm.zipEditControlCls).style.display = 'block';\n\t\t\t\t}\n\t\t\t\twindow.modForm.retryZipValidation = false;\n\n\t\t\t\tif ('function' === typeof callback) {\n\t\t\t\t\tcallback(response);\n\t\t\t\t}\n\n\t\t\t\tif (shouldCallPhoneAssignmentApi) {\n\t\t\t\t\tgetPhoneAssignmentData(window.modForm.opts.quadLinkParams, true);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ('function' === typeof callback) {\n\t\t\t\t\tif (response.status === 400) {\n\t\t\t\t\t\tcallback({\n\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\tmessage: response.error_message\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcallback({});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\trequest.addEventListener('error', function() {\n\t\tconsole.error('Something went wrong');\n\n\t\t// Show duplicate submission fallback experience if API encounters network issues\n\t\tconst heapSessionIdCookieData = getHeapSessionIdCookieData();\n\t\tinitDuplicateSubmissionExperience(heapSessionIdCookieData);\n\t\twindow.modUtils.heap('track', ['API Error | Showing Fallback Experience', { function: 'isZipCodeValid' }]);\n\t});\n\trequest.addEventListener('timeout', function() {\n\t\twindow.modForm.retryZipValidation = true;\n\t\tif (window.modForm.opts.cityField[0]) {\n\t\t\twindow.modForm.opts.cityField[0].value = '';\n\t\t}\n\t\tif (window.modForm.opts.stateField[0]) {\n\t\t\twindow.modForm.opts.stateField[0].value = '';\n\t\t}\n\t\tif (document.querySelector(window.modForm.zipEditControlCls)) {\n\t\t\tdocument.querySelector(window.modForm.zipEditControlCls).style.display = 'none';\n\t\t}\n\t\tcallback({ success: true, data: { zip: zip } });\n\t});\n}\n","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(3898);\n"],"names":["document","body","querySelector","Date","getTime","getElementById","querySelectorAll","window","location","protocol","host","pathname","search","modUtils","getModernizeDomain","populateFormWithZipData","zipData","forEach","name","populateInput","field","value","zip","prepopFormFromURL","Object","keys","modForm","opts","getVars","key","ignoreQueryParams","includes","appendFormInput","prepopulateUserInfo","saveUserInfoToCookie","isZipCodeValid","response","success","data","zipCodeValidated","initDuplicateSubmissionExperience","heapSessionIdCookieData","activeStep","arguments","length","undefined","activeStepInner","form","formButtons","formTcpa","defaultResultsPage","landingPage","resultsPageUrl","resultsPage","indexOf","suppressConversionPixelParam","classList","add","formLoadingCls","getCookie","dataLayer","push","event","setCookie","preventDuplicateSubmission","setTimeout","backButtons","backButton","style","display","progressBar","bar","formButton","alignItems","remove","target","isLeadWidget","innerHTML","addAccessibilityUpdates","heap","noPopulate","input","createElement","type","id","appendChild","$input","tagName","setAttribute","zip1","abortController","getPhoneAssignmentData","trafficDetails","shouldUpdateExistingPhoneAssignment","abort","currentParams","getUrlParamsToObject","campaignAttributes","CCID","CLK","QTR","tagId","vendorKey","PartnerSourceID","TradingPlatformTrackingInfo","isProductionEnv","getEnv","isLocalEnv","phoneNumberRegex","RegExp","phoneNumberContainers","phoneAssignmentConfig","phoneNumberContainerSelector","phoneNumberLinks","phoneNumberLinksSelector","useHsEndpoint","url","payload","requestBody","hsApiDomain","questApiDomain","requestHeaders","Headers","append","hidePhoneNumberContainers","Modalytics","phoneNumber","updatedExistingPhoneAssignment","showPhoneNumber","extension","phoneAssignmentKey","formattedPhoneNumber","replace","formattedPhoneNumberWithExtension","displayNumber","hrefPhoneNumber","phoneNumberLink","phoneNumberTextNode","phoneNumbersTextSelector","textContent","matchVendors","Array","isArray","ccid","clk","qtr","getFormData","service","vertical","landingPageURL","href","vendorPhoneAssignmentKeys","JSON","stringify","SourceClickKey","LandingQuadTagID","PC","PortalServiceCode","BusinessUnit","QS_CATEGORY","vendorKeys","quadTagId","questQuadTagId","prod","staging","AffiliateSubID","URLSearchParams","toString","AbortController","signal","fetch","method","headers","redirect","mode","then","json","jsonResponse","status","phoneDetails","phoneNumberData","constructor","ccPhoneNum","extn","catch","error","aborted","console","log","reason","isRequestAborted","transformQuadlink","request","XMLHttpRequest","apiUrl","getQSApiDomain","trafficDetailsApi","open","setRequestHeader","send","quadLinkData","addEventListener","async","this","parse","readyState","qsParams","hasOwnProperty","quadLinkParams","showPhoneAssignmentNumber","heapIdentify","quadLinkHasBeenTransformed","addEventProperties","Promise","resolve","toLowerCase","userObj","getHeapSessionIdCookieData","initialTimestamp","expireInOneHour","heapSessionSubmitCookie","heapSessionId","heapCookie","heapCookieData","sessionId","cookieValue","decodeURIComponent","isFrontdoorExclusiveMatch","getQueryParamsFromSessionStorage","queryParams","sessionStorage","getItem","parsedQueryParams","defaultQuadLinkValues","medicalalerts","c","s","f","showers","default","bathrooms","gutters","stairlifts","walkintubs","roofing","windows","siding","homewarranty","medicalalertsystems","homesecurity","solar","watersofteners","plumbing","treeservices","newwindows","hvac","hottubs","flooring","doors","cabinets","bathroomremodel","findapro","getDefaultQuad","finalLink","valuesByDomain","getDefaultQuadByDomain","page","websiteName","split","domain","initQuadTransform","useIdlizeQueueInternally","hasMarketingParams","hasQuadLink","hastagID","heapMsg","message","marketingParams","some","param","toUpperCase","quadLinkUrl","quadLinkType","tagID","quadlink","getLandingPage","quadlinkInput","blindMatchQuad","defaultQuad","IdlizeQueue","pushTask","callback","timeOut","timeout","Number","apiDomain","zipEditInput","shouldCallPhoneAssignmentApi","startStep","zipEditControlCls","retryZipValidation","error_message","function","cityField","stateField","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","exports","module","__webpack_modules__","d","definition","o","defineProperty","enumerable","get","obj","prop","prototype","call","r","Symbol","toStringTag","__webpack_exports__"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
!function(){"use strict";var e={d:function(t,o){for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function o(e,t){const o="https://"+("production"===window.modUtils.getEnv()?"hs.leadpost.net/":"hsleadpost1.quinstage.com/"),n=new XMLHttpRequest;let r={};n.open("GET",`${o}api/PostalCordinateInfo/${e}/get`),n.send(),n.addEventListener("load",(function(){this.response&&(r={...r,...JSON.parse(this.response)},4===this.readyState&&200===this.status?(r.success=!0,r.data=JSON.parse(this.response),r.data.zip=e,"function"==typeof t&&t(r)):"function"==typeof t&&(400===r.status?t({error:!0,message:r.error_message}):t({})))})),n.addEventListener("error",(function(){console.error("Something went wrong")}))}e.r(t),e.d(t,{isZipCodeValid:function(){return o}});var n=window;for(var r in t)n[r]=t[r];t.__esModule&&Object.defineProperty(n,"__esModule",{value:!0})}();
|
|
2
|
-
//# sourceMappingURL=isZipCodeValid.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"isZipCodeValid.min.js","mappings":"yBACA,IAAIA,EAAsB,CCA1BA,EAAwB,SAASC,EAASC,GACzC,IAAI,IAAIC,KAAOD,EACXF,EAAoBI,EAAEF,EAAYC,KAASH,EAAoBI,EAAEH,EAASE,IAC5EE,OAAOC,eAAeL,EAASE,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,IAG3E,ECPAH,EAAwB,SAASS,EAAKC,GAAQ,OAAOL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,EAAO,ECCtGV,EAAwB,SAASC,GACX,oBAAXa,QAA0BA,OAAOC,aAC1CV,OAAOC,eAAeL,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DX,OAAOC,eAAeL,EAAS,aAAc,CAAEe,OAAO,GACvD,G,KCAO,SAASC,EAAeC,EAAKC,GACnC,MAAMC,EAAY,YAAwC,eAA7BC,OAAOC,SAASC,SAA4B,mBAAqB,8BACxFC,EAAU,IAAIC,eACpB,IAAIC,EAAW,CAAC,EAChBF,EAAQG,KAAK,MAAO,GAAGP,4BAAoCF,SAC3DM,EAAQI,OACRJ,EAAQK,iBAAiB,QAAQ,WAC5BC,KAAKJ,WACRA,EAAW,IAAKA,KAAaK,KAAKC,MAAMF,KAAKJ,WACrB,IAApBI,KAAKG,YAAoC,MAAhBH,KAAKI,QACjCR,EAASS,SAAU,EACnBT,EAASU,KAAOL,KAAKC,MAAMF,KAAKJ,UAChCA,EAASU,KAAKlB,IAAMA,EAEhB,mBAAsBC,GACzBA,EAASO,IAGN,mBAAsBP,IACD,MAApBO,EAASQ,OACZf,EAAS,CACRkB,OAAO,EACPC,QAASZ,EAASa,gBAGnBpB,EAAS,CAAC,IAKf,IACAK,EAAQK,iBAAiB,SAAS,WACjCW,QAAQH,MAAM,uBACf,GACD,C","sources":["webpack://mod-form/webpack/bootstrap","webpack://mod-form/webpack/runtime/define property getters","webpack://mod-form/webpack/runtime/hasOwnProperty shorthand","webpack://mod-form/webpack/runtime/make namespace object","webpack://mod-form/./lib/validators/isZipCodeValidLite.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Validate Zip Code\n * No dependency on mod-form\n * @param {String} zip - zip code to validate\n * @param {Function} callback - callback function after server response\n */\nexport function isZipCodeValid(zip, callback) {\n\tconst apiDomain = `https://${window.modUtils.getEnv() === 'production' ? 'hs.leadpost.net/' : 'hsleadpost1.quinstage.com/'}`;\n\tconst request = new XMLHttpRequest();\n\tlet response = {};\n\trequest.open('GET', `${apiDomain}api/PostalCordinateInfo/${zip}/get`);\n\trequest.send();\n\trequest.addEventListener('load', function() {\n\t\tif (this.response) {\n\t\t\tresponse = { ...response, ...JSON.parse(this.response) };\n\t\t\tif (this.readyState === 4 && this.status === 200) {\n\t\t\t\tresponse.success = true;\n\t\t\t\tresponse.data = JSON.parse(this.response);\n\t\t\t\tresponse.data.zip = zip;\n\n\t\t\t\tif ('function' === typeof callback) {\n\t\t\t\t\tcallback(response);\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif ('function' === typeof callback) {\n\t\t\t\t\tif (response.status === 400) {\n\t\t\t\t\t\tcallback({\n\t\t\t\t\t\t\terror: true,\n\t\t\t\t\t\t\tmessage: response.error_message\n\t\t\t\t\t\t});\n\t\t\t\t\t} else {\n\t\t\t\t\t\tcallback({});\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t});\n\trequest.addEventListener('error', function() {\n\t\tconsole.error('Something went wrong');\n\t});\n}\n"],"names":["__webpack_require__","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","isZipCodeValid","zip","callback","apiDomain","window","modUtils","getEnv","request","XMLHttpRequest","response","open","send","addEventListener","this","JSON","parse","readyState","status","success","data","error","message","error_message","console"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
!function(){"use strict";var t={d:function(o,e){for(var r in e)t.o(e,r)&&!t.o(o,r)&&Object.defineProperty(o,r,{enumerable:!0,get:e[r]})},o:function(t,o){return Object.prototype.hasOwnProperty.call(t,o)},r:function(t){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})}},o={};function e(t){const o=window.modForm.opts.observedTargetNode,e=window.modForm.opts.observerConfig;new MutationObserver((function(o,e){for(const r of o)"attributes"===r.type&&r.target.hasAttribute(window.modForm.opts.vwoVariationDataAttribute)&&r.target.getAttribute(window.modForm.opts.vwoVariationDataAttribute).indexOf(window.modForm.opts.vwoVariationDataAttributeValue)>-1&&(t(),e.disconnect())})).observe(o,e)}t.r(o),t.d(o,{observeVWOVariation:function(){return e}});var r=window;for(var n in o)r[n]=o[n];o.__esModule&&Object.defineProperty(r,"__esModule",{value:!0})}();
|
|
2
|
-
//# sourceMappingURL=observeVWOVariation.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"observeVWOVariation.min.js","mappings":"yBACA,IAAIA,EAAsB,CCA1BA,EAAwB,SAASC,EAASC,GACzC,IAAI,IAAIC,KAAOD,EACXF,EAAoBI,EAAEF,EAAYC,KAASH,EAAoBI,EAAEH,EAASE,IAC5EE,OAAOC,eAAeL,EAASE,EAAK,CAAEI,YAAY,EAAMC,IAAKN,EAAWC,IAG3E,ECPAH,EAAwB,SAASS,EAAKC,GAAQ,OAAOL,OAAOM,UAAUC,eAAeC,KAAKJ,EAAKC,EAAO,ECCtGV,EAAwB,SAASC,GACX,oBAAXa,QAA0BA,OAAOC,aAC1CV,OAAOC,eAAeL,EAASa,OAAOC,YAAa,CAAEC,MAAO,WAE7DX,OAAOC,eAAeL,EAAS,aAAc,CAAEe,OAAO,GACvD,G,KCFO,SAASC,EAAoBC,GACnC,MAAMC,EAAaC,OAAOC,QAAQC,KAAKC,mBACjCC,EAASJ,OAAOC,QAAQC,KAAKG,eAiBlB,IAAIC,kBAfI,SAASC,EAAWC,GAC5C,IAAK,MAAMC,KAAYF,EAEH,eAAlBE,EAASC,MACND,EAASE,OAAOC,aAAaZ,OAAOC,QAAQC,KAAKW,4BACjDJ,EAASE,OACVG,aAAad,OAAOC,QAAQC,KAAKW,2BACjCE,QAAQf,OAAOC,QAAQC,KAAKc,iCAAmC,IAEjElB,IACAU,EAASS,aAGZ,IAGSC,QAAQnB,EAAYK,EAC9B,C","sources":["webpack://mod-form/webpack/bootstrap","webpack://mod-form/webpack/runtime/define property getters","webpack://mod-form/webpack/runtime/hasOwnProperty shorthand","webpack://mod-form/webpack/runtime/make namespace object","webpack://mod-form/./lib/helpers/observers/observeVWOVariation.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Mutation observer for A/B testing\n * @param {string} callback the callback function\n */\nexport function observeVWOVariation(callback) {\n\tconst targetNode = window.modForm.opts.observedTargetNode;\n\tconst config = window.modForm.opts.observerConfig;\n\n\tconst mutationCallback = function(mutations, observer) {\n\t\tfor (const mutation of mutations) {\n\t\t\tif (\n\t\t\t\tmutation.type === 'attributes'\n\t\t\t\t&& mutation.target.hasAttribute(window.modForm.opts.vwoVariationDataAttribute)\n\t\t\t\t&& mutation.target\n\t\t\t\t\t.getAttribute(window.modForm.opts.vwoVariationDataAttribute)\n\t\t\t\t\t.indexOf(window.modForm.opts.vwoVariationDataAttributeValue) > -1\n\t\t\t) {\n\t\t\t\tcallback();\n\t\t\t\tobserver.disconnect();\n\t\t\t}\n\t\t}\n\t};\n\n\tconst observer = new MutationObserver(mutationCallback);\n\tobserver.observe(targetNode, config);\n}\n"],"names":["__webpack_require__","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","observeVWOVariation","callback","targetNode","window","modForm","opts","observedTargetNode","config","observerConfig","MutationObserver","mutations","observer","mutation","type","target","hasAttribute","vwoVariationDataAttribute","getAttribute","indexOf","vwoVariationDataAttributeValue","disconnect","observe"],"sourceRoot":""}
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
!function(){"use strict";var e={d:function(t,o){for(var r in o)e.o(o,r)&&!e.o(t,r)&&Object.defineProperty(t,r,{enumerable:!0,get:o[r]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};e.r(t),e.d(t,{opts:function(){return o}});const o={vertical:null,form:document.getElementById("form"),formId:"form",formLoadingCls:"form--loading",formSubmittingCls:"form--submitting",formSubmittedCls:"form--submit-done",formSubmitErrorCls:"form--submit-error",stepsSelector:'[data-bind="step"]',stepActiveCls:"step--active",backButtons:document.querySelectorAll('.back-btn, .btn-back, [data-btn="back"]'),progressBar:document.querySelectorAll(".progress-bar"),isFormLoading:!1,formElemsSelectors:{},formElemsSelectorsDefaults:{tcpaCopy:"#tcpa-copy",maskedPhoneFields:'input[name="homePhone"]',maskedEinFields:'input[name="ein"]',numericsOnlyFields:'input[name="zip"], input[name="zip1"], input[name="companyZip"]',addressField:'input[name="address"]',stateField:'input[name="state"]',cityField:'input[name="city"]',zip1Field:'input[name="zip1"]',zipField:'input[name="zip"]',repairField:'input[name="repair"]',hvacWouldReplaceBlock:"#hvac-would-replace-block",hvacSystemTypeField:'input[name="hvacSystemType"]',hvacFuelTypeBlock:"#hvac-fuel-type-block",utilityProviderWrapper:"#utility-provider-wrapper"},hvacSystemTypesWithFuel:["Central Heating","Boiler"],activeInputs:".step.swiper-slide-active input[type=text], .step.swiper-slide-active input[type=tel], .step.swiper-slide-active input[type=email], .step.swiper-slide-active textarea, .step.swiper-slide-active input[type=radio]",fieldErrorCls:"has-error",errorParentCls:"parent-error",gaTracker:"main",thankyouPage:"/thankyou/",landingPage:window.location.protocol+"//"+window.location.host+window.location.pathname+(window.location.search?window.location.search:""),hashStepTracking:!1,useModApi:!1,useQSApi:!1,useFormsServiceApi:!1,userObj:{},formSwiperInstance:"",prepopulateUserInfo:!1,useGetMotivationParam:!0,useAutofill:!1,useSmoothScrolling:!1,hasZipChange:!1,trackZip1ChangeDynamically:!1,useTooltips:!1,showSecureText:!1,useObserveVWOVariation:!1,observedTargetNode:document.body,observerConfig:{attributes:!0},vwoVariationDataAttribute:"data-vwo-test",observeVWOVariationCallback:function(){},vwoVariationDataAttributeValue:"",secureTextStepsSelector:[".step--personalInfo",".step--contactInfo"],secureTextPosition:"below-cta",isLoaderLoaded:!1,showLoadingOverlay:!1,showRedirectOverlay:!1,appendOverlayToElem:document.getElementById("form"),ignoreDuplicateSubmissionBlocker:!1,hvacVerticalName:"hvac",hvacRepairFieldValue:"yes",addAccessibilityUpdates:!1,isOrganicPreferredMatch:!1,widgetHashStepTracking:!1,abandonmentHtmlPath:"abandonment/index.html",formSubmittingCallback:null,formSubmitSuccessCallback:null,formSubmitErrorCallback:null,stepChangingCallback:null,stepChangedCallback:null,zipCodeValidated:null,shouldSuppressConversionPixel:!1,suppressConversionPixelParam:"cnvrsnpxl=n",useStepNameHash:!1,delayQuadTransformation:!1,isFirePixelTrue:!1,firePixelParam:"firepxl=y",isSharedMatch:!1,eCommerceVendorKeys:{shared:{adt:"9634310",adtHealth:"30772410",frontdoor:"33097210"},exclusive:{airo:"31194410",angi:"31816410",frontdoor:"33097210",networx:"11968410"}},eCommerceExclusiveLoaders:{frontdoor:[`${window.modUtils?window.modUtils.getModernizeDomain():"https://modernize.com"}/quote/resources/assets/images/logos/partners/american-home-shield.svg`,"Congrats! You’re eligible to see pricing from American Home Shield now.","#004B98","#ED1C24","#004B98","#F9F9F6"],angi:[`${window.modUtils?window.modUtils.getModernizeDomain():"https://modernize.com"}/quote/resources/assets/images/logos/partners/angi.svg`,"Transferring to Angi","#A03027","#FF6153","#A03027","#F9F9F6"],networx:[`${window.modUtils?window.modUtils.getModernizeDomain():"https://modernize.com"}/quote/resources/assets/images/logos/partners/networx.svg`,"Transferring to Networx","#344054","#0088FF","#344054","#F9F9F6"]},sharedParam:"shared=",isExclusiveMatch:!1,exclusiveMatchResultsPage:"",exclusiveMatchVendor:"",resultsPageAdditionalParams:{},prefVendorKeys:[],prefVendorParam:"prefVendor=",landingPageSubdirectory:"",isCrossSellForm:!1,shouldUpdateTCPACompanyNameToModernize:!0,validateRecaptcha:!1,recaptchaVersion:3,isVite:!1,scrollTopOnStepChange:!0,ignoreQueryParams:[],ignoreQueryParamsInSessionStorage:!1,autoRedirectToTyOrSorryPage:!0,phoneAssignmentConfig:{showPhoneAssignmentNumber:!1,phoneNumberLinksSelector:"[class*=call-link],[class*=call-button]",phoneNumbersTextSelector:"[class*=call-number]",phoneNumberContainerSelector:".callNowControls",questQuadTagId:{staging:"",prod:""},matchVendors:[],response:null,useHsEndpoint:!1},consentCaptureDetails:"",consentRequestId:"",consentCaptureVendors:[],serviceSpecificAttributes:{}};var r=window;for(var a in t)r[a]=t[a];t.__esModule&&Object.defineProperty(r,"__esModule",{value:!0})}();
|
|
2
|
-
//# sourceMappingURL=opts.min.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"opts.min.js","mappings":"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","sources":["webpack://mod-form/webpack/bootstrap","webpack://mod-form/webpack/runtime/define property getters","webpack://mod-form/webpack/runtime/hasOwnProperty shorthand","webpack://mod-form/webpack/runtime/make namespace object","webpack://mod-form/./lib/config/opts.js"],"sourcesContent":["// The require scope\nvar __webpack_require__ = {};\n\n","// define getter functions for harmony exports\n__webpack_require__.d = function(exports, definition) {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = function(obj, prop) { return Object.prototype.hasOwnProperty.call(obj, prop); }","// define __esModule on exports\n__webpack_require__.r = function(exports) {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","export const opts = {\n\tvertical: null, // trade of a form; possible values: solar, windows, hvac, roofing, siding\n\tform: document.getElementById('form'),\n\tformId: 'form',\n\tformLoadingCls: 'form--loading',\n\tformSubmittingCls: 'form--submitting',\n\tformSubmittedCls: 'form--submit-done',\n\tformSubmitErrorCls: 'form--submit-error',\n\tstepsSelector: '[data-bind=\"step\"]', // steps selector\n\tstepActiveCls: 'step--active', // step active class\n\tbackButtons: document.querySelectorAll('.back-btn, .btn-back, [data-btn=\"back\"]'),\n\tprogressBar: document.querySelectorAll('.progress-bar'),\n\tisFormLoading: false,\n\tformElemsSelectors: {},\n\tformElemsSelectorsDefaults: {\n\t\ttcpaCopy: '#tcpa-copy', // TCPA visible copy; text version for API will be pulled from it\n\t\tmaskedPhoneFields: 'input[name=\"homePhone\"]',\n\t\tmaskedEinFields: 'input[name=\"ein\"]',\n\t\tnumericsOnlyFields: 'input[name=\"zip\"], input[name=\"zip1\"], input[name=\"companyZip\"]',\n\t\taddressField: 'input[name=\"address\"]',\n\t\tstateField: 'input[name=\"state\"]',\n\t\tcityField: 'input[name=\"city\"]',\n\t\tzip1Field: 'input[name=\"zip1\"]',\n\t\tzipField: 'input[name=\"zip\"]',\n\t\trepairField: 'input[name=\"repair\"]',\n\t\thvacWouldReplaceBlock: '#hvac-would-replace-block', // block that contains wouldReplace control,\n\t\thvacSystemTypeField: 'input[name=\"hvacSystemType\"]',\n\t\thvacFuelTypeBlock: '#hvac-fuel-type-block', // block that contains hvacFuelType control\n\t\tutilityProviderWrapper: '#utility-provider-wrapper'\n\t},\n\thvacSystemTypesWithFuel: ['Central Heating', 'Boiler'], // Array of hvac system types (lowercase) that require fuel type selection\n\tactiveInputs: '.step.swiper-slide-active input[type=text], .step.swiper-slide-active input[type=tel], .step.swiper-slide-active input[type=email], .step.swiper-slide-active textarea, .step.swiper-slide-active input[type=radio]',\n\tfieldErrorCls: 'has-error',\n\terrorParentCls: 'parent-error',\n\tgaTracker: 'main', // GA tracker to use\n\tthankyouPage: '/thankyou/',\n\tlandingPage: window.location.protocol + '//' + window.location.host + window.location.pathname + (window.location.search ? window.location.search : ''),\n\thashStepTracking: false,\n\tuseModApi: false,\n\tuseQSApi: false,\n\tuseFormsServiceApi: false,\n\tuserObj: {},\n\tformSwiperInstance: '',\n\tprepopulateUserInfo: false,\n\tuseGetMotivationParam: true,\n\tuseAutofill: false,\n\tuseSmoothScrolling: false,\n\thasZipChange: false,\n\ttrackZip1ChangeDynamically: false,\n\tuseTooltips: false,\n\tshowSecureText: false,\n\tuseObserveVWOVariation: false,\n\tobservedTargetNode: document.body, // Select the node that will be observed for mutations\n\tobserverConfig: { attributes: true }, // Options for the observer which mutations to observe\n\tvwoVariationDataAttribute: 'data-vwo-test',\n\tobserveVWOVariationCallback: function() { },\n\tvwoVariationDataAttributeValue: '', // Should be the JIRA ticket number of that test\n\tsecureTextStepsSelector: ['.step--personalInfo', '.step--contactInfo'],\n\tsecureTextPosition: 'below-cta', // Options are 'below-cta' & 'above-cta'\n\tisLoaderLoaded: false,\n\tshowLoadingOverlay: false,\n\tshowRedirectOverlay: false,\n\tappendOverlayToElem: document.getElementById('form'),\n\tignoreDuplicateSubmissionBlocker: false,\n\thvacVerticalName: 'hvac', // To trigger initHvacWouldReplaceBlock function for both Mod & QS\n\thvacRepairFieldValue: 'yes',\n\taddAccessibilityUpdates: false,\n\tisOrganicPreferredMatch: false, // use for preferred match\n\twidgetHashStepTracking: false, // receive messages from child iframes\n\tabandonmentHtmlPath: 'abandonment/index.html',\n\t/**\n\t * this fires before form is submitted;\n\t * @param {Object} formData - form data in key/value form\n\t * @returns {Object} - formData to submit to server or false to stop submitting\n\t */\n\tformSubmittingCallback: null,\n\n\t/**\n\t * this fires when submitting form data to server was successful\n\t * @param {Object} response - server response\n\t */\n\tformSubmitSuccessCallback: null,\n\n\t/**\n\t * this fires when submitting form data to server returned an error\n\t * @param {Object} response - server response\n\t */\n\tformSubmitErrorCallback: null,\n\n\t/**\n\t * this fires before step is changed;\n\t * @param {String} oldStepId - current step ID\n\t * @param {String} stepId - new step ID\n\t * @returns {Mixed} - step ID to switch to or false to stop switching\n\t */\n\tstepChangingCallback: null,\n\n\t/**\n\t * this fires after step is changed\n\t * @param {String} oldStepId - current step ID\n\t * @param {String} stepId - new step ID\n\t */\n\tstepChangedCallback: null,\n\n\t/**\n\t * this fires after zip code is validated on the server\n\t * @param {Object} geoData - city and state object\n\t */\n\tzipCodeValidated: null,\n\n\tshouldSuppressConversionPixel: false,\n\tsuppressConversionPixelParam: 'cnvrsnpxl=n',\n\tuseStepNameHash: false,\n\tdelayQuadTransformation: false,\n\tisFirePixelTrue: false,\n\tfirePixelParam: 'firepxl=y',\n\tisSharedMatch: false,\n\teCommerceVendorKeys: {\n\t\tshared: { // these will get a shared= param added to their HRC results page (to add a secondary button for their E-Commerce flow)\n\t\t\tadt: '9634310',\n\t\t\tadtHealth: '30772410',\n\t\t\tfrontdoor: '33097210'\n\t\t},\n\t\texclusive: { // these will trigger an exclusive experience if solely matched with one of these vendors\n\t\t\tairo: '31194410',\n\t\t\tangi: '31816410',\n\t\t\tfrontdoor: '33097210',\n\t\t\tnetworx: '11968410'\n\t\t}\n\t},\n\teCommerceExclusiveLoaders: {\n\t\tfrontdoor: [\n\t\t\t`${window.modUtils ? window.modUtils.getModernizeDomain() : 'https://modernize.com'}/quote/resources/assets/images/logos/partners/american-home-shield.svg`,\n\t\t\t'Congrats! You’re eligible to see pricing from American Home Shield now.',\n\t\t\t'#004B98',\n\t\t\t'#ED1C24',\n\t\t\t'#004B98',\n\t\t\t'#F9F9F6'\n\t\t],\n\t\tangi: [\n\t\t\t`${window.modUtils ? window.modUtils.getModernizeDomain() : 'https://modernize.com'}/quote/resources/assets/images/logos/partners/angi.svg`,\n\t\t\t'Transferring to Angi',\n\t\t\t'#A03027',\n\t\t\t'#FF6153',\n\t\t\t'#A03027',\n\t\t\t'#F9F9F6'\n\t\t],\n\t\tnetworx: [\n\t\t\t`${window.modUtils ? window.modUtils.getModernizeDomain() : 'https://modernize.com'}/quote/resources/assets/images/logos/partners/networx.svg`,\n\t\t\t'Transferring to Networx',\n\t\t\t'#344054',\n\t\t\t'#0088FF',\n\t\t\t'#344054',\n\t\t\t'#F9F9F6'\n\t\t]\n\t},\n\tsharedParam: 'shared=',\n\tisExclusiveMatch: false,\n\texclusiveMatchResultsPage: '',\n\texclusiveMatchVendor: '',\n\tresultsPageAdditionalParams: {},\n\tprefVendorKeys: [],\n\tprefVendorParam: 'prefVendor=',\n\tlandingPageSubdirectory: '',\n\tisCrossSellForm: false,\n\tshouldUpdateTCPACompanyNameToModernize: true,\n\tvalidateRecaptcha: false,\n\trecaptchaVersion: 3,\n\tisVite: false,\n\tscrollTopOnStepChange: true,\n\tignoreQueryParams: [],\n\tignoreQueryParamsInSessionStorage: false,\n\tautoRedirectToTyOrSorryPage: true,\n\tphoneAssignmentConfig: {\n\t\tshowPhoneAssignmentNumber: false,\n\t\tphoneNumberLinksSelector: '[class*=call-link],[class*=call-button]',\n\t\tphoneNumbersTextSelector: '[class*=call-number]',\n\t\tphoneNumberContainerSelector: '.callNowControls',\n\t\tquestQuadTagId: {\n\t\t\tstaging: '',\n\t\t\tprod: ''\n\t\t},\n\t\tmatchVendors: [],\n\t\tresponse: null,\n\t\tuseHsEndpoint: false\n\t},\n\tconsentCaptureDetails: '',\n\tconsentRequestId: '',\n\tconsentCaptureVendors: [],\n\tserviceSpecificAttributes: {}\n};\n\n"],"names":["__webpack_require__","exports","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","Symbol","toStringTag","value","opts","vertical","form","document","getElementById","formId","formLoadingCls","formSubmittingCls","formSubmittedCls","formSubmitErrorCls","stepsSelector","stepActiveCls","backButtons","querySelectorAll","progressBar","isFormLoading","formElemsSelectors","formElemsSelectorsDefaults","tcpaCopy","maskedPhoneFields","maskedEinFields","numericsOnlyFields","addressField","stateField","cityField","zip1Field","zipField","repairField","hvacWouldReplaceBlock","hvacSystemTypeField","hvacFuelTypeBlock","utilityProviderWrapper","hvacSystemTypesWithFuel","activeInputs","fieldErrorCls","errorParentCls","gaTracker","thankyouPage","landingPage","window","location","protocol","host","pathname","search","hashStepTracking","useModApi","useQSApi","useFormsServiceApi","userObj","formSwiperInstance","prepopulateUserInfo","useGetMotivationParam","useAutofill","useSmoothScrolling","hasZipChange","trackZip1ChangeDynamically","useTooltips","showSecureText","useObserveVWOVariation","observedTargetNode","body","observerConfig","attributes","vwoVariationDataAttribute","observeVWOVariationCallback","vwoVariationDataAttributeValue","secureTextStepsSelector","secureTextPosition","isLoaderLoaded","showLoadingOverlay","showRedirectOverlay","appendOverlayToElem","ignoreDuplicateSubmissionBlocker","hvacVerticalName","hvacRepairFieldValue","addAccessibilityUpdates","isOrganicPreferredMatch","widgetHashStepTracking","abandonmentHtmlPath","formSubmittingCallback","formSubmitSuccessCallback","formSubmitErrorCallback","stepChangingCallback","stepChangedCallback","zipCodeValidated","shouldSuppressConversionPixel","suppressConversionPixelParam","useStepNameHash","delayQuadTransformation","isFirePixelTrue","firePixelParam","isSharedMatch","eCommerceVendorKeys","shared","adt","adtHealth","frontdoor","exclusive","airo","angi","networx","eCommerceExclusiveLoaders","modUtils","getModernizeDomain","sharedParam","isExclusiveMatch","exclusiveMatchResultsPage","exclusiveMatchVendor","resultsPageAdditionalParams","prefVendorKeys","prefVendorParam","landingPageSubdirectory","isCrossSellForm","shouldUpdateTCPACompanyNameToModernize","validateRecaptcha","recaptchaVersion","isVite","scrollTopOnStepChange","ignoreQueryParams","ignoreQueryParamsInSessionStorage","autoRedirectToTyOrSorryPage","phoneAssignmentConfig","showPhoneAssignmentNumber","phoneNumberLinksSelector","phoneNumbersTextSelector","phoneNumberContainerSelector","questQuadTagId","staging","prod","matchVendors","response","useHsEndpoint","consentCaptureDetails","consentRequestId","consentCaptureVendors","serviceSpecificAttributes"],"sourceRoot":""}
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
<!-- Start Jornaya -->
|
|
2
|
-
<script id="LeadiDscript" type="text/javascript">
|
|
3
|
-
// <!--
|
|
4
|
-
(function() {
|
|
5
|
-
if (window.LeadiD) return;
|
|
6
|
-
var s = document.createElement('script');
|
|
7
|
-
s.id = 'LeadiDscript_campaign';
|
|
8
|
-
s.type = 'text/javascript';
|
|
9
|
-
s.async = true;
|
|
10
|
-
{{#if isQSPage}}
|
|
11
|
-
s.src = '//create.lidstatic.com/campaign/00ae0859-feed-beef-cafe-c37caf3a711c.js?snippet_version=2';
|
|
12
|
-
{{else}}
|
|
13
|
-
s.src = '//create.lidstatic.com/campaign/f1af7a81-39e4-bd63-272d-2d111a14e195.js?snippet_version=2';
|
|
14
|
-
{{/if}}
|
|
15
|
-
|
|
16
|
-
var initialRequestTime = new Date().getTime();
|
|
17
|
-
|
|
18
|
-
var script = document.createElement('script');
|
|
19
|
-
script.src = s.src;
|
|
20
|
-
|
|
21
|
-
script.onerror = function(jqxhr, settings, exception) {
|
|
22
|
-
var errorResponseTime = new Date().getTime() - initialRequestTime;
|
|
23
|
-
modUtils.heap('track', ['Token Error', {
|
|
24
|
-
token: 'Jornaya',
|
|
25
|
-
errorStatus: jqxhr.status,
|
|
26
|
-
errorMessage: jqxhr.statusText,
|
|
27
|
-
errorResponseTime: errorResponseTime + 'ms'
|
|
28
|
-
}]);
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
document.body.appendChild(script);
|
|
32
|
-
})();
|
|
33
|
-
// -->
|
|
34
|
-
</script>
|
|
35
|
-
<!-- End Jornaya -->
|
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
<!-- Start Jornaya -->
|
|
2
|
-
<script id="LeadiDscript" type="text/javascript">
|
|
3
|
-
// <!--
|
|
4
|
-
(function() {
|
|
5
|
-
if (window.LeadiD) return;
|
|
6
|
-
var s = document.createElement('script');
|
|
7
|
-
s.id = 'LeadiDscript_campaign';
|
|
8
|
-
s.type = 'text/javascript';
|
|
9
|
-
s.async = true;
|
|
10
|
-
{{#if isQSPage}}
|
|
11
|
-
s.src = '//create.lidstatic.com/campaign/00ae0859-feed-beef-cafe-c37caf3a711c.js?snippet_version=2';
|
|
12
|
-
{{else}}
|
|
13
|
-
s.src = '//create.lidstatic.com/campaign/f1af7a81-39e4-bd63-272d-2d111a14e195.js?snippet_version=2';
|
|
14
|
-
{{/if}}
|
|
15
|
-
|
|
16
|
-
var initialRequestTime = new Date().getTime();
|
|
17
|
-
|
|
18
|
-
var script = document.createElement('script');
|
|
19
|
-
script.src = s.src;
|
|
20
|
-
|
|
21
|
-
script.onerror = function(jqxhr, settings, exception) {
|
|
22
|
-
var errorResponseTime = new Date().getTime() - initialRequestTime;
|
|
23
|
-
modUtils.heap('track', ['Token Error', {
|
|
24
|
-
token: 'Jornaya',
|
|
25
|
-
errorStatus: jqxhr.status,
|
|
26
|
-
errorMessage: jqxhr.statusText,
|
|
27
|
-
errorResponseTime: errorResponseTime + 'ms'
|
|
28
|
-
}]);
|
|
29
|
-
};
|
|
30
|
-
|
|
31
|
-
document.body.appendChild(script);
|
|
32
|
-
})();
|
|
33
|
-
// -->
|
|
34
|
-
</script>
|
|
35
|
-
<!-- End Jornaya -->
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(()=>{"use strict";var e={d:(t,o)=>{for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function o(){var e=document.URL,t=window.location.hostname,o="production";return o=~t.indexOf(".local")||"localhost"===t||~e.indexOf("file://")||/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(t)?"local":~t.indexOf("staging.")?"staging":~t.indexOf("qa.")?"qa":"production",~e.indexOf("env=qa")?o="qa":~e.indexOf("env=production")&&(o="production"),o}function n(e,t){return e||(e=window.location.href.replace(window.location.hash,"")),e.substring(e.indexOf("?")+1).split("&").reduce((function(e,o){var n=o.split(/=(.+)/),r=decodeURIComponent(n[0]),a=t?r.toLowerCase():r;if(!e.hasOwnProperty(a)){if(!n[1])return e;e[a]=decodeURIComponent(n[1].replace(/\+/g,"%20"))}return e}),{})}function r(e){for(var t=e+"=",o=document.cookie.split(";"),n=0;n<o.length;++n){for(var r=o[n];" "===r.charAt(0);)r=r.substring(1,r.length);if(~r.indexOf(t))return r.substring(t.length,r.length)}return null}function a(e,t,o){var n="";if(o){var r=new Date;r.setTime(r.getTime()+60*o*1e3),n="; expires="+r.toUTCString()}document.cookie=e+"="+t+n+"; path=/"}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var n,r,a,i,s=[],c=!0,d=!1;try{if(a=(o=o.call(e)).next,0===t){if(Object(o)!==o)return;c=!1}else for(;!(c=(n=a.call(o)).done)&&(s.push(n.value),s.length!==t);c=!0);}catch(e){d=!0,r=e}finally{try{if(!c&&null!=o.return&&(i=o.return(),Object(i)!==i))return}finally{if(d)throw r}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var o={}.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?s(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,n=Array(t);o<t;o++)n[o]=e[o];return n}function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function d(e,t){if(~["track","identify","resetIdentity","addUserProperties","addEventProperties","removeEventProperty","clearEventProperties"].indexOf(e)){if(void 0!==window.heap)"identify"===e||"track"===e?window.heap[e](t[0],t[1]):window.heap[e](t);else if("production"!==o())if("y"===n("",!0).heapdebug){var s=r("qaheap");switch(s=s?JSON.parse(s):{},console.group("Heap Analytics | Method ".concat(e," Fired")),e){case"identify":s.identity=t;break;case"resetIdentity":delete s.identity;break;case"removeEventProperty":void 0!==s.allEventProperties&&t[0]in s.allEventProperties&&delete s.allEventProperties[t[0]];break;case"clearEventProperties":"allEventProperties"in s&&delete s.allEventProperties;break;case"addEventProperties":"object"!==c(t)||Array.isArray(t)?console.warn("addEventProperties needs a key/value object"):s.allEventProperties=s.allEventProperties?Object.assign(s.allEventProperties,t):t;break;case"addUserProperties":"object"!==c(t)||Array.isArray(t)?console.warn("addUserProperties needs a key/value object"):s.userProperties=s.userProperties?Object.assign(s.userProperties,t):t}if(console.group("User Info"),console.log("Identity: ",s.identity),s.userProperties){console.group("User Properties");for(var d=0,l=Object.entries(s.userProperties);d<l.length;d++){var p=i(l[d],2),u=p[0],g=p[1];console.log("".concat(u,": "),g)}console.groupEnd()}if(console.groupEnd(),"track"===e){if(console.group("Custom Event Info"),console.log("Custom Event Name: ",t[0]),t[1]){console.group("Custom Event Properties");for(var f=0,w=Object.entries(t[1]);f<w.length;f++){var m=i(w[f],2),v=m[0],h=m[1];console.log("".concat(v,": "),h)}console.groupEnd()}if(s.allEventProperties){console.group("Global Custom Event Properties");for(var y=0,_=Object.entries(s.allEventProperties);y<_.length;y++){var b=i(_[y],2),P=b[0],k=b[1];console.log("".concat(P,": "),k)}console.groupEnd()}console.groupEnd()}console.groupEnd(),a("qaheap",JSON.stringify(s),1440)}else null===sessionStorage.getItem("noHeapWasWarned")&&(console.warn("Heap is not defined!"),sessionStorage.setItem("noHeapWasWarned","t"))}else console.log('Heap "'+e+'" method is not supported')}function l(e,t){if(void 0!==window.ga)window.ga((t?t+".":"")+"send",e);else if(void 0!==window._gaq&&("pageview"===e.hitType&&e.page&&window._gaq.push([(t?t+".":"")+"_trackPageview",e.page]),"event"===e.hitType&&e.eventCategory)){for(var o=[(t?t+".":"")+"_trackEvent"],n=["eventCategory","eventAction","eventLabel"],r=0;r<n.length;++r)e[n[r]]&&o.push(e[n[r]]);window._gaq.push(o)}}function p(e,t,o){o?"ga"!==o&&"_gaq"!==o||l(t,o):d(e,t),"error"===e&&(d("track",t),console.log(t))}function u(){!function(e,t,o,n,r){var a;e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var i=t.getElementsByTagName(o)[0],s=t.createElement(o);s.async=!0,s.src="https://www.googletagmanager.com/gtm.js?id="+r,null===(a=i.parentNode)||void 0===a||a.insertBefore(s,i)}(window,document,"script","dataLayer",gtm_container_ID)}function g(){window.location.host.match(new RegExp("("+["qa.","staging.","localhost",".local","[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}"].join("|")+")","i"))||(window.heap=window.heap||[],heap.load=function(e,t){window.heap.appid=e,window.heap.config=t=t||{};var o=t.forceSSL||"https:"===document.location.protocol,n=document.createElement("script");n.type="text/javascript",n.async=!0,n.src=(o?"https:":"http:")+"//cdn.heapanalytics.com/js/heap-"+e+".js";var r=document.getElementsByTagName("script")[0];r.parentNode.insertBefore(n,r);for(var a=function(e){return function(){heap.push([e].concat(Array.prototype.slice.call(arguments,0)))}},i=["addEventProperties","addUserProperties","clearEventProperties","identify","resetIdentity","removeEventProperty","setEventProperties","track","unsetEventProperty"],s=0;s<i.length;s++)heap[i[s]]=a(i[s])},heap.load("3246578271"))}function f(){(window._vis_opt_queue||[]).push((function(){try{if(_vwo_campaignData&&0!==Object.keys(_vwo_campaignData).length){window.vwoCampaignData={};var e,t=Object.keys(_vwo_campaignData)[0];t&&(e=_vwo_campaignData[t].n)&&(window.vwoCampaignData["VWO Test ID"]=t,window.vwoCampaignData["VWO Variation Name"]=e),window.Modalytics.heap("addUserProperties",window.vwoCampaignData),window.Modalytics.heap("addEventProperties",window.vwoCampaignData)}}catch(e){console.log("Something went wrong!",e)}}))}function w(){var e={};if("navigator"in window&&"userAgent"in navigator){var t=function(e){var t=" ",o=" ",n=" ",r=!1;if((t=e.match(/\(([^)]+)\)/))&&t.length){var a,i=t;r=i[1].match(/Win/gi)&&i[1].match(/Win/gi).length,i[1]=i[1].replace(/;\s\w+:(\w+(?:\.\w+)+)|(\s[a-z|A-Z]{1};)|(\s\w+-\w+;\s)/gi,""),(a=i[1].split(";")).length&&(3===a.length?i=r?a[0]:a[2]:a[0]&&(i=a[0]),4===a.length&&a[3]?o=a[3]:a[1]&&(o=a[1])),i&&"string"==typeof i&&(t=(t=i.replace(/[()]|(\w+\/\w.+)/,"")).trim()),o&&"string"==typeof o&&(o=(o=o.replace(/_/g,".")).trim())}if((n=e.match(/\w+\/(\w+(?:\.\w+)+)/g))&&n.length){var s=n,c=[];if(s.length>2?(c=s.slice(2),s=c.join(" ").replace(/Safari\/[\d.]+/i,"")):s=s[1],2===c.length){var d=[],l=[],p=/Version/i;d=c[0].split("/"),l=c[1].split("/"),d.length&&p.test(d[0])&&(d[0]=l[0],s=d.join("/")),l.length&&p.test(l[0])&&(l[0]=d[0],s=l.join("/"))}s&&"string"==typeof s&&(n=(n=s.replaceAll("/"," ")).trim())}return{deviceName:t,platform:o,browser:n}}(navigator.userAgent),o=t.deviceName,n=t.browser,r=t.platform;e.device=o,e.browser=n,e.platform=r,e.UA=navigator.userAgent}d("track",["Device Properties",e])}function m(){"matchMedia"in window&&window.matchMedia("(prefers-color-scheme: dark)").matches&&d("track",["Dark mode detected"])}function v(){var e=null,t={window:"windows",solar:"solar",hvac:"hvac",roof:"roofing",siding:"siding"},o=window.location.pathname.split("/");e:for(var n=1;n<o.length;n++)for(var r in t)if(t.hasOwnProperty(r)){if(o[n].indexOf(r)>-1){e=t[r];break e}e="general"}return e}function h(){return{general:"Mod001",solar:"Mod002",windows:"Mod003",hvac:"Mod004",roofing:"Mod005",siding:"Mod006"}[v()]}function y(e){return~(e?e.split("?")[0]:window.location.href.split("?")[0]).indexOf("/my/")}function _(){if(window.heap&&window.heap.appid){var e=r("_hp2_props."+window.heap.appid);if(e)try{return JSON.parse(decodeURIComponent(e))}catch(t){p("track",["Heap Cookie Parse Error",{cookieVal:e}])}else console.log("No tracking params available")}else console.log("Heap is not connected to the page")}function b(e){var t=e||_();if(t){var o=t.timestamp;if(Date.now()-o>864e5)return!0}return!1}function P(){var e=["formpath","projectid"],t=n("",!0),o=y(),r={},a={projectid:"project_id",formpath:"form_path"};for(var i in o||(e=e.concat(["src","sub_id","sub2_id","pub_id","account","campaign","ad_group","keyword","campaignid","adgroupid","agid","keywordid","loc1","loc2","kw","gclid","utm_campaign","utm_source","utm_medium","utm_term","utm_content","program","motivation","quadlink","ccid","clk","qtr","fb_campaign_id","yh_campaign_id","yh_line_id","yh_cr_id","yh_ad_id","yh_domain","yh_subdomain","vmcid","tk_campaign_id","tk_adgroup_id","tk_ad_id","tk_placement"])),t.userid&&p("identify",t.userid),t.contractorid&&p("identify",t.contractorid),t)if(t.hasOwnProperty(i)){var s=void 0!==a[i]?a[i]:i;~e.indexOf(i)&&(r[s]=t[i])}if(r.hasOwnProperty("src")||r.hasOwnProperty("utm_source"))r.timestamp=Date.now();else if(window.isWordpress){if(0===Object.keys(r).length){var c=_();c&&(c.src||c.utm_source)?(c.src||c.utm_source)&&b()&&(c.src?r.src=h():c.utm_source&&(r.utm_source="")):r.src=h()}}else if(b()&&!o){var d=_();d.src?r.src="Mod001":d.utm_source&&(r.utm_source="")}Object.keys(r).length&&void 0!==window.heap&&(o||!r.hasOwnProperty("src")&&!r.hasOwnProperty("utm_source")||window.heap.clearEventProperties(),window.heap.addEventProperties(r)),m(),w()}e.r(t),e.d(t,{checkLastSrc:()=>b,gaSend:()=>l,getCookie:()=>r,getCurrentTrade:()=>v,getDefaultSrc:()=>h,getEnv:()=>o,getHeapCookieData:()=>_,getUrlParamsToObject:()=>n,heap:()=>d,init:()=>P,initGtm:()=>u,initHeapTracking:()=>g,initHeapVwo:()=>f,isHRCPage:()=>y,setCookie:()=>a,track:()=>p,trackDarkMode:()=>m,trackUserAgent:()=>w}),window.addEventListener("load",(function(){if("heap"in window)return!1;"IdlizeQueue"in window&&window.IdlizeQueue.pushTask((function(){g(),"_vwo_campaignData"in window&&0!==Object.keys(window._vwo_campaignData).length&&f(),P()}))})),window.Modalytics=t})();
|
|
2
|
-
//# sourceMappingURL=modalytics.min.js.map
|
|
@@ -1,2 +0,0 @@
|
|
|
1
|
-
(()=>{"use strict";var e={d:(t,o)=>{for(var n in o)e.o(o,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:o[n]})},o:(e,t)=>Object.prototype.hasOwnProperty.call(e,t),r:e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})}},t={};function o(){var e=document.URL,t=window.location.hostname,o="production";return o=~t.indexOf(".local")||"localhost"===t||~e.indexOf("file://")||/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(t)?"local":~t.indexOf("staging.")?"staging":~t.indexOf("qa.")?"qa":"production",~e.indexOf("env=qa")?o="qa":~e.indexOf("env=production")&&(o="production"),o}function n(e,t){return e||(e=window.location.href.replace(window.location.hash,"")),e.substring(e.indexOf("?")+1).split("&").reduce((function(e,o){var n=o.split(/=(.+)/),r=decodeURIComponent(n[0]),a=t?r.toLowerCase():r;if(!e.hasOwnProperty(a)){if(!n[1])return e;e[a]=decodeURIComponent(n[1].replace(/\+/g,"%20"))}return e}),{})}function r(e){for(var t=e+"=",o=document.cookie.split(";"),n=0;n<o.length;++n){for(var r=o[n];" "===r.charAt(0);)r=r.substring(1,r.length);if(~r.indexOf(t))return r.substring(t.length,r.length)}return null}function a(e,t,o){var n="";if(o){var r=new Date;r.setTime(r.getTime()+60*o*1e3),n="; expires="+r.toUTCString()}document.cookie=e+"="+t+n+"; path=/"}function i(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var o=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=o){var n,r,a,i,s=[],c=!0,d=!1;try{if(a=(o=o.call(e)).next,0===t){if(Object(o)!==o)return;c=!1}else for(;!(c=(n=a.call(o)).done)&&(s.push(n.value),s.length!==t);c=!0);}catch(e){d=!0,r=e}finally{try{if(!c&&null!=o.return&&(i=o.return(),Object(i)!==i))return}finally{if(d)throw r}}return s}}(e,t)||function(e,t){if(e){if("string"==typeof e)return s(e,t);var o={}.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?s(e,t):void 0}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function s(e,t){(null==t||t>e.length)&&(t=e.length);for(var o=0,n=Array(t);o<t;o++)n[o]=e[o];return n}function c(e){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},c(e)}function d(e,t){if(~["track","identify","resetIdentity","addUserProperties","addEventProperties","removeEventProperty","clearEventProperties"].indexOf(e)){if(void 0!==window.heap)"identify"===e||"track"===e?window.heap[e](t[0],t[1]):window.heap[e](t);else if("production"!==o())if("y"===n("",!0).heapdebug){var s=r("qaheap");switch(s=s?JSON.parse(s):{},console.group("Heap Analytics | Method ".concat(e," Fired")),e){case"identify":s.identity=t;break;case"resetIdentity":delete s.identity;break;case"removeEventProperty":void 0!==s.allEventProperties&&t[0]in s.allEventProperties&&delete s.allEventProperties[t[0]];break;case"clearEventProperties":"allEventProperties"in s&&delete s.allEventProperties;break;case"addEventProperties":"object"!==c(t)||Array.isArray(t)?console.warn("addEventProperties needs a key/value object"):s.allEventProperties=s.allEventProperties?Object.assign(s.allEventProperties,t):t;break;case"addUserProperties":"object"!==c(t)||Array.isArray(t)?console.warn("addUserProperties needs a key/value object"):s.userProperties=s.userProperties?Object.assign(s.userProperties,t):t}if(console.group("User Info"),console.log("Identity: ",s.identity),s.userProperties){console.group("User Properties");for(var d=0,l=Object.entries(s.userProperties);d<l.length;d++){var p=i(l[d],2),u=p[0],g=p[1];console.log("".concat(u,": "),g)}console.groupEnd()}if(console.groupEnd(),"track"===e){if(console.group("Custom Event Info"),console.log("Custom Event Name: ",t[0]),t[1]){console.group("Custom Event Properties");for(var f=0,w=Object.entries(t[1]);f<w.length;f++){var m=i(w[f],2),v=m[0],h=m[1];console.log("".concat(v,": "),h)}console.groupEnd()}if(s.allEventProperties){console.group("Global Custom Event Properties");for(var y=0,_=Object.entries(s.allEventProperties);y<_.length;y++){var b=i(_[y],2),P=b[0],k=b[1];console.log("".concat(P,": "),k)}console.groupEnd()}console.groupEnd()}console.groupEnd(),a("qaheap",JSON.stringify(s),1440)}else null===sessionStorage.getItem("noHeapWasWarned")&&(console.warn("Heap is not defined!"),sessionStorage.setItem("noHeapWasWarned","t"))}else console.log('Heap "'+e+'" method is not supported')}function l(e,t){if(void 0!==window.ga)window.ga((t?t+".":"")+"send",e);else if(void 0!==window._gaq&&("pageview"===e.hitType&&e.page&&window._gaq.push([(t?t+".":"")+"_trackPageview",e.page]),"event"===e.hitType&&e.eventCategory)){for(var o=[(t?t+".":"")+"_trackEvent"],n=["eventCategory","eventAction","eventLabel"],r=0;r<n.length;++r)e[n[r]]&&o.push(e[n[r]]);window._gaq.push(o)}}function p(e,t,o){o?"ga"!==o&&"_gaq"!==o||l(t,o):d(e,t),"error"===e&&(d("track",t),console.log(t))}function u(){!function(e,t,o,n,r){var a;e[n]=e[n]||[],e[n].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var i=t.getElementsByTagName(o)[0],s=t.createElement(o);s.async=!0,s.src="https://www.googletagmanager.com/gtm.js?id="+r,null===(a=i.parentNode)||void 0===a||a.insertBefore(s,i)}(window,document,"script","dataLayer",gtm_container_ID)}function g(){window.location.host.match(new RegExp("("+["qa.","staging.","localhost",".local","[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}"].join("|")+")","i"))||(window.heap=window.heap||[],heap.load=function(e,t){window.heap.appid=e,window.heap.config=t=t||{};var o=t.forceSSL||"https:"===document.location.protocol,n=document.createElement("script");n.type="text/javascript",n.async=!0,n.src=(o?"https:":"http:")+"//cdn.heapanalytics.com/js/heap-"+e+".js";var r=document.getElementsByTagName("script")[0];r.parentNode.insertBefore(n,r);for(var a=function(e){return function(){heap.push([e].concat(Array.prototype.slice.call(arguments,0)))}},i=["addEventProperties","addUserProperties","clearEventProperties","identify","resetIdentity","removeEventProperty","setEventProperties","track","unsetEventProperty"],s=0;s<i.length;s++)heap[i[s]]=a(i[s])},heap.load("3246578271"))}function f(){(window._vis_opt_queue||[]).push((function(){try{if(_vwo_campaignData&&0!==Object.keys(_vwo_campaignData).length){window.vwoCampaignData={};var e,t=Object.keys(_vwo_campaignData)[0];t&&(e=_vwo_campaignData[t].n)&&(window.vwoCampaignData["VWO Test ID"]=t,window.vwoCampaignData["VWO Variation Name"]=e),window.Modalytics.heap("addUserProperties",window.vwoCampaignData),window.Modalytics.heap("addEventProperties",window.vwoCampaignData)}}catch(e){console.log("Something went wrong!",e)}}))}function w(){var e={};if("navigator"in window&&"userAgent"in navigator){var t=function(e){var t=" ",o=" ",n=" ",r=!1;if((t=e.match(/\(([^)]+)\)/))&&t.length){var a,i=t;r=i[1].match(/Win/gi)&&i[1].match(/Win/gi).length,i[1]=i[1].replace(/;\s\w+:(\w+(?:\.\w+)+)|(\s[a-z|A-Z]{1};)|(\s\w+-\w+;\s)/gi,""),(a=i[1].split(";")).length&&(3===a.length?i=r?a[0]:a[2]:a[0]&&(i=a[0]),4===a.length&&a[3]?o=a[3]:a[1]&&(o=a[1])),i&&"string"==typeof i&&(t=(t=i.replace(/[()]|(\w+\/\w.+)/,"")).trim()),o&&"string"==typeof o&&(o=(o=o.replace(/_/g,".")).trim())}if((n=e.match(/\w+\/(\w+(?:\.\w+)+)/g))&&n.length){var s=n,c=[];if(s.length>2?(c=s.slice(2),s=c.join(" ").replace(/Safari\/[\d.]+/i,"")):s=s[1],2===c.length){var d=[],l=[],p=/Version/i;d=c[0].split("/"),l=c[1].split("/"),d.length&&p.test(d[0])&&(d[0]=l[0],s=d.join("/")),l.length&&p.test(l[0])&&(l[0]=d[0],s=l.join("/"))}s&&"string"==typeof s&&(n=(n=s.replaceAll("/"," ")).trim())}return{deviceName:t,platform:o,browser:n}}(navigator.userAgent),o=t.deviceName,n=t.browser,r=t.platform;e.device=o,e.browser=n,e.platform=r,e.UA=navigator.userAgent}d("track",["Device Properties",e])}function m(){"matchMedia"in window&&window.matchMedia("(prefers-color-scheme: dark)").matches&&d("track",["Dark mode detected"])}function v(){var e=null,t={window:"windows",solar:"solar",hvac:"hvac",roof:"roofing",siding:"siding"},o=window.location.pathname.split("/");e:for(var n=1;n<o.length;n++)for(var r in t)if(t.hasOwnProperty(r)){if(o[n].indexOf(r)>-1){e=t[r];break e}e="general"}return e}function h(){return{general:"Mod001",solar:"Mod002",windows:"Mod003",hvac:"Mod004",roofing:"Mod005",siding:"Mod006"}[v()]}function y(e){return~(e?e.split("?")[0]:window.location.href.split("?")[0]).indexOf("/my/")}function _(){if(window.heap&&window.heap.appid){var e=r("_hp2_props."+window.heap.appid);if(e)try{return JSON.parse(decodeURIComponent(e))}catch(t){p("track",["Heap Cookie Parse Error",{cookieVal:e}])}else console.log("No tracking params available")}else console.log("Heap is not connected to the page")}function b(e){var t=e||_();if(t){var o=t.timestamp;if(Date.now()-o>864e5)return!0}return!1}function P(){var e=["formpath","projectid"],t=n("",!0),o=y(),r={},a={projectid:"project_id",formpath:"form_path"};for(var i in o||(e=e.concat(["src","sub_id","sub2_id","pub_id","account","campaign","ad_group","keyword","campaignid","adgroupid","agid","keywordid","loc1","loc2","kw","gclid","utm_campaign","utm_source","utm_medium","utm_term","utm_content","program","motivation","quadlink","ccid","clk","qtr","fb_campaign_id","yh_campaign_id","yh_line_id","yh_cr_id","yh_ad_id","yh_domain","yh_subdomain","vmcid","tk_campaign_id","tk_adgroup_id","tk_ad_id","tk_placement"])),t.userid&&p("identify",t.userid),t.contractorid&&p("identify",t.contractorid),t)if(t.hasOwnProperty(i)){var s=void 0!==a[i]?a[i]:i;~e.indexOf(i)&&(r[s]=t[i])}if(r.hasOwnProperty("src")||r.hasOwnProperty("utm_source"))r.timestamp=Date.now();else if(window.isWordpress){if(0===Object.keys(r).length){var c=_();c&&(c.src||c.utm_source)?(c.src||c.utm_source)&&b()&&(c.src?r.src=h():c.utm_source&&(r.utm_source="")):r.src=h()}}else if(b()&&!o){var d=_();d.src?r.src="Mod001":d.utm_source&&(r.utm_source="")}Object.keys(r).length&&void 0!==window.heap&&(o||!r.hasOwnProperty("src")&&!r.hasOwnProperty("utm_source")||window.heap.clearEventProperties(),window.heap.addEventProperties(r)),m(),w()}e.r(t),e.d(t,{checkLastSrc:()=>b,gaSend:()=>l,getCookie:()=>r,getCurrentTrade:()=>v,getDefaultSrc:()=>h,getEnv:()=>o,getHeapCookieData:()=>_,getUrlParamsToObject:()=>n,heap:()=>d,init:()=>P,initGtm:()=>u,initHeapTracking:()=>g,initHeapVwo:()=>f,isHRCPage:()=>y,setCookie:()=>a,track:()=>p,trackDarkMode:()=>m,trackUserAgent:()=>w}),window.addEventListener("load",(function(){if("heap"in window)return!1;"IdlizeQueue"in window&&window.IdlizeQueue.pushTask((function(){g(),"_vwo_campaignData"in window&&0!==Object.keys(window._vwo_campaignData).length&&f(),P()}))})),window.Modalytics=t})();
|
|
2
|
-
//# sourceMappingURL=modalytics.min.js.map
|