mod-build 3.6.71 → 4.0.0-alpha.1
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/.eslintignore +3 -0
- package/.eslintrc +18 -0
- package/CHANGELOG.md +2 -240
- package/README.md +16 -263
- package/gulp-tasks/build.js +1 -1
- package/package.json +21 -69
- package/siteconfig.js +38 -0
- package/src/accessible-components/button/_button.scss +195 -0
- package/src/accessible-components/button/back-button.html +4 -0
- package/src/accessible-components/button/button.html +17 -0
- package/src/accessible-components/carousel/_carousel.scss +112 -0
- package/src/accessible-components/carousel/carousel.html +25 -0
- package/src/accessible-components/checkbox/_checkbox.scss +96 -0
- package/src/accessible-components/checkbox/checkbox.html +8 -0
- package/src/accessible-components/expand-collapse/_expand-collapse.scss +122 -0
- package/src/accessible-components/expand-collapse/expand-collapse.html +8 -0
- package/src/accessible-components/expand-collapse/expand-collapse.js +52 -0
- package/src/accessible-components/expand-collapse/expand-collapse.min.js +2 -0
- package/src/accessible-components/expand-collapse/expand-collapse.min.js.map +1 -0
- package/src/accessible-components/featured-block/_featured-block.scss +219 -0
- package/src/accessible-components/featured-block/featured-block.html +54 -0
- package/src/accessible-components/foot-assets/foot-assets.html +92 -0
- package/src/accessible-components/footer/footer.html +2 -0
- package/src/{templates/_partials/scripts/gtm-editorials/body/google-tag-manager-body.html → accessible-components/gtm-body/gtm-body.html} +1 -2
- package/src/accessible-components/head/head.html +188 -0
- package/src/accessible-components/header/_header.scss +289 -0
- package/src/accessible-components/header/header.html +66 -0
- package/src/accessible-components/hero/_hero.scss +371 -0
- package/src/accessible-components/hero/hero.html +53 -0
- package/src/accessible-components/how-it-works/_how-it-works.scss +217 -0
- package/src/accessible-components/how-it-works/how-it-works-carousel.html +12 -0
- package/src/accessible-components/how-it-works/how-it-works-static.html +12 -0
- package/src/accessible-components/how-it-works/how-it-works.html +14 -0
- package/src/accessible-components/information/_information.scss +92 -0
- package/src/accessible-components/information/information.html +26 -0
- package/src/accessible-components/input/_input.scss +202 -0
- package/src/accessible-components/input/input.html +22 -0
- package/src/accessible-components/input/textarea.html +9 -0
- package/src/accessible-components/partners/_partners.scss +232 -0
- package/src/accessible-components/partners/partners.html +56 -0
- package/src/accessible-components/picture/picture.html +19 -0
- package/src/accessible-components/preloader/_preloader.scss +61 -0
- package/src/accessible-components/preloader/preloader.html +23 -0
- package/src/accessible-components/progress-bar/_progress-bar.scss +119 -0
- package/src/accessible-components/progress-bar/progress-bar.html +21 -0
- package/src/accessible-components/progress-bar/progress-bar.js +37 -0
- package/src/accessible-components/progress-bar/progress-bar.min.js +2 -0
- package/src/accessible-components/progress-bar/progress-bar.min.js.map +1 -0
- package/src/accessible-components/radio-button/_radio-button.scss +537 -0
- package/src/accessible-components/radio-button/radio-button.html +34 -0
- package/src/accessible-components/reviews/_reviews.scss +175 -0
- package/src/accessible-components/reviews/reviews-carousel.html +12 -0
- package/src/accessible-components/reviews/reviews-static.html +12 -0
- package/src/accessible-components/reviews/reviews.html +37 -0
- package/src/accessible-components/select/_select.scss +69 -0
- package/src/accessible-components/select/select.html +10 -0
- package/src/accessible-components/steps/_steps.scss +524 -0
- package/src/accessible-components/steps/defaultFormFieldConfig.json +109 -0
- package/src/accessible-components/steps/step-fields.html +33 -0
- package/src/accessible-components/steps/steps.html +150 -0
- package/src/accessible-components/tcpa/_tcpa.scss +49 -0
- package/src/accessible-components/tcpa/tcpa.html +9 -0
- package/src/accessible-components/tile/_tile.scss +117 -0
- package/src/accessible-components/tile/tile.html +14 -0
- package/src/accessible-components/value-props/_value-props.scss +100 -0
- package/src/accessible-components/value-props/value-props.html +17 -0
- package/src/accessible-components/zip-control/_zip-control.scss +78 -0
- package/src/accessible-components/zip-control/zip-control.html +10 -0
- package/src/data/footer.js +117 -0
- package/src/data/seasons.js +5 -7
- package/src/data/theme.json +164 -0
- package/src/index.html +18 -0
- package/src/main.js +45 -0
- package/src/resources/scripts/abandonment/abandonment-1df90ee155f6c0893d90.min.js +2 -0
- package/src/resources/scripts/abandonment/abandonment.min.js +2 -0
- package/src/resources/scripts/footer/footer-component-7b5e263f64568573ecc0.min.js +2 -0
- package/src/resources/scripts/footer/footer-component.min.js +2 -0
- package/src/resources/scripts/helpers/initNumericOnlyFields.min.js +2 -0
- package/src/resources/scripts/helpers/initNumericOnlyFields.min.js.map +1 -0
- package/src/resources/scripts/helpers/isZipCodeValid.min.js +2 -0
- package/src/resources/scripts/helpers/isZipCodeValid.min.js.map +1 -0
- package/src/resources/scripts/mod-alytics/modalytics-0ac7d7a5a72ea67a0f47.min.js +2 -0
- package/src/resources/scripts/mod-alytics/modalytics.min.js +2 -0
- package/src/resources/scripts/mod-form/form/homeowner-77a4dd439b8db412678b.min.js +2 -0
- package/src/resources/scripts/mod-form/form/homeowner.min.js +2 -0
- package/src/resources/scripts/mod-utils/modutils-8ba40d21f559171ddd36.min.js +2 -0
- package/src/resources/scripts/mod-utils/modutils.min.js +2 -0
- package/src/resources/styles/components/abandonment/abandonment-ae63aca828944411eff7.min.css +1 -0
- package/src/resources/styles/components/abandonment/abandonment.min.css +1 -0
- package/src/resources/styles/components/footer/mod-footer-3717faf57147c62c1777.min.css +1 -0
- package/src/resources/styles/components/footer/mod-footer.min.css +1 -0
- package/src/resources/styles/components/footer/qs-footer-12bf078dc614ff221c3c.min.css +1 -0
- package/src/resources/styles/components/footer/qs-footer.min.css +1 -0
- package/src/resources/templates/modals/about/index.html +9 -0
- package/src/resources/templates/modals/contact-us/index.html +348 -0
- package/src/resources/templates/modals/faq/index.html +9 -0
- package/src/resources/templates/modals/privacy/index.html +236 -0
- package/src/resources/templates/modals/terms/index.html +166 -0
- package/src/scripts/has-qs-params.js +6 -5
- package/src/scripts/url-cleaner.js +3 -3
- package/src/scripts/utils.js +178 -0
- package/src/styles/home.scss +1 -0
- package/src/temp/scripts/maxmind-geoip2.js +104 -0
- package/src/templates/_partials/scripts/deferred-styles.html +16 -16
- package/src/templates/_partials/scripts/vwo-redirect-callback.html +43 -45
- package/src/templates/components/head.html +70 -0
- package/tasks/clean.js +13 -0
- package/tasks/grab-cdn.js +107 -0
- package/tasks/grab-form-helpers.js +94 -0
- package/tasks/grab-shared-components.js +81 -0
- package/tasks/grab-shared-scripts.js +267 -0
- package/tasks/serve.js +15 -0
- package/tasks/templates.js +168 -0
- package/template.js +801 -0
- package/vite.config.js +56 -0
- package/.eslintrc.yml +0 -59
- package/src/data/common.js +0 -704
- package/src/data/components/qs-footer.js +0 -55
- package/src/data/components/quote-footer.js +0 -73
- package/src/scripts/apt-block.js +0 -919
- package/src/scripts/components/custom-selects.js +0 -48
- package/src/scripts/components/radio-panels.js +0 -45
- package/src/scripts/es6-1.js +0 -6
- package/src/scripts/es6-2.js +0 -2
- package/src/scripts/qs-form.js +0 -839
- package/src/scripts/vendor/maxmind-geoip2.js +0 -2
- package/src/scripts/vendor/swiper.min.js +0 -13
- package/src/styles/apt-block.scss +0 -888
- package/src/templates/_partials/apt-block.html +0 -30
- package/src/templates/_partials/scripts/analytics.html +0 -4
- package/src/templates/_partials/scripts/go-page-hiding-snippet.html +0 -8
- package/src/templates/_partials/scripts/google-maps.html +0 -1
- package/src/templates/_partials/scripts/google-optimize.html +0 -12
- package/src/templates/_partials/scripts/gtm-editorials/head/google-tag-manager-head.html +0 -10
- package/src/templates/_partials/scripts/gtm-hil/body/google-tag-manager-body.html +0 -5
- package/src/templates/_partials/scripts/gtm-hil/head/google-tag-manager-head.html +0 -10
- package/src/templates/_partials/scripts/gtm-pro/body/google-tag-manager-body.html +0 -5
- package/src/templates/_partials/scripts/gtm-pro/head/google-tag-manager-head.html +0 -10
- package/src/templates/_partials/scripts/gtm-quote/body/google-tag-manager-body.html +0 -5
- package/src/templates/_partials/scripts/gtm-quote/head/google-tag-manager-head.html +0 -9
- package/src/templates/_partials/scripts/gtm-whitelabel/body/mod-google-tag-manager-body.html +0 -5
- package/src/templates/_partials/scripts/gtm-whitelabel/body/non-mod-google-tag-manager-body.html +0 -5
- package/src/templates/_partials/scripts/gtm-whitelabel/head/mod-google-tag-manager-head.html +0 -10
- package/src/templates/_partials/scripts/gtm-whitelabel/head/non-mod-google-tag-manager-head.html +0 -9
- package/src/templates/_partials/scripts/gtm-wordpress/body/google-tag-manager-body.html +0 -5
- package/src/templates/_partials/scripts/gtm-wordpress/head/google-tag-manager-head.html +0 -9
- package/src/templates/_partials/scripts/visual-website-optimizer.html +0 -5
- package/src/templates/index.html +0 -46
- /package/{src → public}/favicon.ico +0 -0
|
@@ -0,0 +1,164 @@
|
|
|
1
|
+
{
|
|
2
|
+
"campaign": {
|
|
3
|
+
"default": {
|
|
4
|
+
"lp": {
|
|
5
|
+
"meta": {
|
|
6
|
+
"title": "Compare Walk-In Tub Prices | WalkInBathtubs.org",
|
|
7
|
+
"description": "Stay Independent & Bathe Safely with a Walk-In Tub.",
|
|
8
|
+
"keywords": "walk in tubs, walk in bathtubs, bathtubs for seniors, elderly shower, step in safety tubs"
|
|
9
|
+
},
|
|
10
|
+
"hero": {
|
|
11
|
+
"headline": "Stay Independent & Bathe Safely<br>with a Walk-In Tub"
|
|
12
|
+
},
|
|
13
|
+
"form": {
|
|
14
|
+
"title": "Get Competing Offers<br>From <b>Top Brands!</b>"
|
|
15
|
+
},
|
|
16
|
+
"guarantee": {
|
|
17
|
+
"headline": "Compare Multiple Walk-In Tub Price Quotes in One Place!",
|
|
18
|
+
"p-desktop": "When you fill out our short form, you will unlock personalized offers for your walk-in tub project! Simply answer basic question about your home to be connected to local, licensed providers who are eager to start your installation.",
|
|
19
|
+
"cta-desktop": "Get Started Now"
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"comp": {
|
|
24
|
+
"lp": {
|
|
25
|
+
"meta": {
|
|
26
|
+
"title": "Compare Walk-In Tub Prices From Brands Like {{$$lp_comp$$||These}} | WalkInBathtubs.org",
|
|
27
|
+
"description": "Stay Independent & Bathe Safely with a Walk-In Tub.",
|
|
28
|
+
"keywords": "walk in tubs, walk in bathtubs, bathtubs for seniors, elderly shower, step in safety tubs, {{$$lp_comp$$||These}} walk in tubs"
|
|
29
|
+
},
|
|
30
|
+
"hero": {
|
|
31
|
+
"headline": "Stay Independent & Bathe Safely<br>with a Walk-In Tub"
|
|
32
|
+
},
|
|
33
|
+
"form": {
|
|
34
|
+
"title": "Offers From Brands Like<br><b>{{$$lp_comp$$||These}}</b>"
|
|
35
|
+
},
|
|
36
|
+
"guarantee": {
|
|
37
|
+
"headline": "Walk-In Tubs From Brands Like {{$$lp_comp$$||These}}",
|
|
38
|
+
"p-desktop": "When you fill out our short form, you will unlock personalized offers for your walk-in tub project! Simply answer basic question about your home to be connected to local, licensed providers who are eager to start your installation.",
|
|
39
|
+
"cta-desktop": "Get Started Now"
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"comp1": {
|
|
44
|
+
"lp": {
|
|
45
|
+
"meta": {
|
|
46
|
+
"title": "American {{$$lp_comp1$$||Walk-In Tub}} Prices | WalkInTubPrices.org",
|
|
47
|
+
"description": "Stay Independent & Bathe Safely with an American {{$$lp_comp1$$||Walk-In Tub}}.",
|
|
48
|
+
"keywords": "walk in tubs, walk in bathtubs, bathtubs for seniors, elderly shower, step in safety tubs"
|
|
49
|
+
},
|
|
50
|
+
"hero": {
|
|
51
|
+
"headline": "Bathe Safely With An<br>American {{$$lp_comp1$$||Walk-In Tub}}"
|
|
52
|
+
},
|
|
53
|
+
"form": {
|
|
54
|
+
"title": "Get Competing Offers<br>From <b>Top Brands!</b>"
|
|
55
|
+
},
|
|
56
|
+
"guarantee": {
|
|
57
|
+
"headline": "Multiple American {{$$lp_comp1$$||Walk-In Tub}} Quotes in One Place!",
|
|
58
|
+
"p-desktop": "When you fill out our short form, you will unlock personalized offers for your walk-in tub project! Simply answer basic question about your home to be connected to local, licensed providers who are eager to start your installation.",
|
|
59
|
+
"cta-desktop": "Get Started Now"
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"comp2": {
|
|
64
|
+
"lp": {
|
|
65
|
+
"meta": {
|
|
66
|
+
"title": "Compare {{$$lp_comp2$$||Walk-In Tubs}} With Jets Prices | WalkInTubPrices.org",
|
|
67
|
+
"description": "Stay Independent & Bathe Safely with a Walk-In Tub with Jets.",
|
|
68
|
+
"keywords": "walk in tubs, walk in bathtubs, bathtubs for seniors, elderly shower, step in safety tubs"
|
|
69
|
+
},
|
|
70
|
+
"hero": {
|
|
71
|
+
"headline": "Bathe Safely With<br>{{$$lp_comp2$$||Walk-In Tubs}} With Jets"
|
|
72
|
+
},
|
|
73
|
+
"form": {
|
|
74
|
+
"title": "Get Competing Offers<br>From <b>Top Brands!</b>"
|
|
75
|
+
},
|
|
76
|
+
"guarantee": {
|
|
77
|
+
"headline": "Multiple {{$$lp_comp2$$||Walk-In Tubs}} With Jets Quotes in One Place!",
|
|
78
|
+
"p-desktop": "When you fill out our short form, you will unlock personalized offers for your walk-in tub project! Simply answer basic question about your home to be connected to local, licensed providers who are eager to start your installation.",
|
|
79
|
+
"cta-desktop": "Get Started Now"
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
"geo": {
|
|
84
|
+
"lp": {
|
|
85
|
+
"meta": {
|
|
86
|
+
"title": "Compare Walk-In Tub Prices in {{$$lp_geo$$||Your Area}} | WalkInTubPrices.org",
|
|
87
|
+
"description": "Stay Independent & Bathe Safely with a Walk-In Tub in {{$$lp_geo$$||Your Area}}.",
|
|
88
|
+
"keywords": "walk in tubs, walk in bathtubs, bathtubs for seniors, elderly shower, step in safety tubs, {{$$lp_geo$$||Your Area}} walk in tubs"
|
|
89
|
+
},
|
|
90
|
+
"hero": {
|
|
91
|
+
"headline": "Stay Independent & Bathe Safely<br>with a Walk-In Tub"
|
|
92
|
+
},
|
|
93
|
+
"form": {
|
|
94
|
+
"title": "Get Competing Offers<br>In <b>{{$$lp_geo$$||Your Area}}</b>"
|
|
95
|
+
},
|
|
96
|
+
"guarantee": {
|
|
97
|
+
"headline": "Multiple Walk-In Tub Quotes in {{$$lp_geo$$||Your Area}}!",
|
|
98
|
+
"p-desktop": "When you fill out our short form, you will unlock personalized offers for your walk-in tub project! Simply answer basic question about your home to be connected to local, licensed providers who are eager to start your installation.",
|
|
99
|
+
"cta-desktop": "Get Started Now"
|
|
100
|
+
}
|
|
101
|
+
}
|
|
102
|
+
},
|
|
103
|
+
"price": {
|
|
104
|
+
"lp": {
|
|
105
|
+
"meta": {
|
|
106
|
+
"title": "Compare Walk-In Tub {{$$lp_price$$||Prices}} | WalkInTub{{$$lp_price$$||Prices}}.org",
|
|
107
|
+
"description": "Stay Independent & Bathe Safely with a Walk-In Tub.",
|
|
108
|
+
"keywords": "walk in tubs, walk in bathtubs, bathtubs for seniors, elderly shower, step in safety tubs, walk in tubs prices"
|
|
109
|
+
},
|
|
110
|
+
"hero": {
|
|
111
|
+
"headline": "Stay Independent & Bathe Safely<br>with a Walk-In Tub"
|
|
112
|
+
},
|
|
113
|
+
"form": {
|
|
114
|
+
"title": "Get Competing {{$$lp_price$$||Prices}}<br>From <b>Top Brands!</b>"
|
|
115
|
+
},
|
|
116
|
+
"guarantee": {
|
|
117
|
+
"headline": "Compare Multiple Walk-In Tub {{$$lp_price$$||Prices}} in One Place!",
|
|
118
|
+
"p-desktop": "When you fill out our short form, you will unlock personalized offers for your walk-in tub project! Simply answer basic question about your home to be connected to local, licensed providers who are eager to start your installation.",
|
|
119
|
+
"cta-desktop": "Get Started Now"
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
},
|
|
123
|
+
"senior": {
|
|
124
|
+
"lp": {
|
|
125
|
+
"meta": {
|
|
126
|
+
"title": "Compare {{$$lp_senior$$||Walk-In Tubs}} for Seniors | WalkInTubPrices.org",
|
|
127
|
+
"description": "Stay Independent & Bathe Safely with {{$$lp_senior$$||Walk-In Tubs}} for Seniors.",
|
|
128
|
+
"keywords": "walk in tubs, walk in bathtubs, bathtubs for seniors, elderly shower, step in safety tubs"
|
|
129
|
+
},
|
|
130
|
+
"hero": {
|
|
131
|
+
"headline": "Stay Independent & Bathe Safely<br>with a {{$$lp_senior$$||Walk-In Tub}}"
|
|
132
|
+
},
|
|
133
|
+
"form": {
|
|
134
|
+
"title": "Get Competing Offers<br>From <b>Top Brands!</b>"
|
|
135
|
+
},
|
|
136
|
+
"guarantee": {
|
|
137
|
+
"headline": "Multiple {{$$lp_senior$$||Walk-In Tub}} Quotes in One Place!",
|
|
138
|
+
"p-desktop": "When you fill out our short form, you will unlock personalized offers for your walk-in tub project! Simply answer basic question about your home to be connected to local, licensed providers who are eager to start your installation.",
|
|
139
|
+
"cta-desktop": "Get Started Now"
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
},
|
|
143
|
+
"shower": {
|
|
144
|
+
"lp": {
|
|
145
|
+
"meta": {
|
|
146
|
+
"title": "Compare {{$$lp_shower$$||Walk-In Shower}} Prices | WalkInTubPrices.org",
|
|
147
|
+
"description": "Stay Independent & Bathe Safely with a {{$$lp_shower$$||Walk-In Shower}}.",
|
|
148
|
+
"keywords": "walk in tubs, walk in bathtubs, bathtubs for seniors, elderly shower, step in safety tubs"
|
|
149
|
+
},
|
|
150
|
+
"hero": {
|
|
151
|
+
"headline": "Stay Independent & Bathe Safely<br>with a {{$$lp_shower$$||Walk-In Shower}}"
|
|
152
|
+
},
|
|
153
|
+
"form": {
|
|
154
|
+
"title": "Get Competing Offers<br>From <b>Top Brands!</b>"
|
|
155
|
+
},
|
|
156
|
+
"guarantee": {
|
|
157
|
+
"headline": "Multiple {{$$lp_shower$$||Walk-In Shower}} Quotes in One Place!",
|
|
158
|
+
"p-desktop": "When you fill out our short form, you will unlock personalized offers for your walk-in tub project! Simply answer basic question about your home to be connected to local, licensed providers who are eager to start your installation.",
|
|
159
|
+
"cta-desktop": "Get Started Now"
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
package/src/index.html
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en">
|
|
3
|
+
<head>
|
|
4
|
+
{{ fileInclude 'src/templates/components/head.html'
|
|
5
|
+
page = this
|
|
6
|
+
path = 'home'
|
|
7
|
+
}}
|
|
8
|
+
</head>
|
|
9
|
+
<body>
|
|
10
|
+
{{#header}}
|
|
11
|
+
{{ fileInclude 'src/accessible-components/header/header.html'
|
|
12
|
+
header = this
|
|
13
|
+
}}
|
|
14
|
+
{{/header}}
|
|
15
|
+
<h1>Hello</h1>
|
|
16
|
+
<script type="module" src="/main.js"></script>
|
|
17
|
+
</body>
|
|
18
|
+
</html>
|
package/src/main.js
ADDED
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
import './styles/home.scss';
|
|
2
|
+
import { templateData } from '../template.js';
|
|
3
|
+
import { defaultSettings, siteData } from '../siteconfig.js';
|
|
4
|
+
|
|
5
|
+
const { page } = templateData();
|
|
6
|
+
|
|
7
|
+
if (page.headConfig.useDynamicGtm || typeof window.isQSPage === 'undefined') {
|
|
8
|
+
import('./scripts/has-qs-params.js').then((qs) => {
|
|
9
|
+
qs.default();
|
|
10
|
+
window.gtm_container_ID = window.isQSPage ? siteData.qs_gtm_container_ID : siteData.gtm_container_ID;
|
|
11
|
+
});
|
|
12
|
+
}
|
|
13
|
+
|
|
14
|
+
const { additionalAssets } = page.headConfig;
|
|
15
|
+
if (additionalAssets) {
|
|
16
|
+
const { afterBegin, beforeEnd } = additionalAssets;
|
|
17
|
+
|
|
18
|
+
if (afterBegin || beforeEnd) {
|
|
19
|
+
let additionalHeadAssets = [];
|
|
20
|
+
if (afterBegin) {
|
|
21
|
+
additionalHeadAssets.push(...afterBegin);
|
|
22
|
+
}
|
|
23
|
+
if (beforeEnd) {
|
|
24
|
+
additionalHeadAssets.push(...beforeEnd);
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
additionalHeadAssets.forEach((asset) => {
|
|
28
|
+
const { type, src, isLocal, localSrc, useModCdn, defer, async } = asset;
|
|
29
|
+
if (type === 'script') {
|
|
30
|
+
const script = document.createElement(type);
|
|
31
|
+
script.src = (isLocal ? localSrc : (useModCdn ? `https://${defaultSettings.resourceDomain}/${src}` : src));
|
|
32
|
+
script.async = async;
|
|
33
|
+
script.defer = defer;
|
|
34
|
+
document.head.appendChild(script);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
if (type === 'style') {
|
|
38
|
+
const link = document.createElement('link');
|
|
39
|
+
link.rel = 'stylesheet';
|
|
40
|
+
link.href = (isLocal ? localSrc : (useModCdn ? `https://${defaultSettings.resourceDomain}/${src}` : src));
|
|
41
|
+
document.head.appendChild(link);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
}
|
|
45
|
+
}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var abandonment={modalId:"abandonmentDialog",modalElement:document.querySelector(".modal--abandonment"),heapTrack:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e&&modUtils.heap("track",["Abandonment popup | ".concat(e),n])},closeModal:function(e){this.heapTrack("Closed"),e.close(),document.body.classList.remove("no-scroll"),e.setAttribute("aria-hidden","true"),document.querySelector('.step[aria-hidden="false"]').focus()},initClickTracking:function(){var e=this,n=document.querySelectorAll('#abandonment .modal-client__btn--call-now[href^="tel"]'),t=document.querySelectorAll("#abandonment .modal-client__btn--get-price-quotes");n&&n.forEach(function(n){n.addEventListener("click",function(n){e.closeModal(e.modalElement),e.heapTrack("Clicked Phone Number",{phoneNumber:n.target.textContent.trim()})})}),t&&t.forEach(function(n){n.addEventListener("click",function(){e.closeModal(e.modalElement),e.heapTrack("Clicked CTA")})})},initCloseListener:function(){var e=this;this.modalElement.querySelector('[data-close="dialog"]').addEventListener("click",function(){e.closeModal(e.modalElement)}),document.body.addEventListener("click",function(n){n.target.id===e.modalElement.id&&e.closeModal(e.modalElement)}),document.addEventListener("keydown",function(n){"Escape"===n.key&&e.closeModal(e.modalElement)})},initAbandonmentForm:function(){var e=document.querySelector("#abandonment-form");if(e){var n={isAbandonmentForm:!0,hasBackButtons:!1,hasClickToProceed:!1,hasProgressbar:!1,hasZipChange:!1,skipStep:{device:"",index:null,shouldSkip:!1}};form.init(e,n)}},setAbandonmentType:function(){var e=document.querySelector("#abandonment-form");this.type=e?"form":"default","default"===this.type?this.initClickTracking():this.initAbandonmentForm()},init:function(){this.setAbandonmentType(),this.initCloseListener();var e=window.location.hash;this.heapTrack("Shown",{step:e}),this.modalElement.show(),this.modalElement.focus(),this.modalElement.setAttribute("aria-hidden","false"),modUtils.trapTabFocusInDialog("abandonmentDialog")}};abandonment.init();
|
|
2
|
+
//# sourceMappingURL=abandonment.min.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";var abandonment={modalId:"abandonmentDialog",modalElement:document.querySelector(".modal--abandonment"),heapTrack:function(e){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};e&&modUtils.heap("track",["Abandonment popup | ".concat(e),n])},closeModal:function(e){this.heapTrack("Closed"),e.close(),document.body.classList.remove("no-scroll"),e.setAttribute("aria-hidden","true"),document.querySelector('.step[aria-hidden="false"]').focus()},initClickTracking:function(){var e=this,n=document.querySelectorAll('#abandonment .modal-client__btn--call-now[href^="tel"]'),t=document.querySelectorAll("#abandonment .modal-client__btn--get-price-quotes");n&&n.forEach(function(n){n.addEventListener("click",function(n){e.closeModal(e.modalElement),e.heapTrack("Clicked Phone Number",{phoneNumber:n.target.textContent.trim()})})}),t&&t.forEach(function(n){n.addEventListener("click",function(){e.closeModal(e.modalElement),e.heapTrack("Clicked CTA")})})},initCloseListener:function(){var e=this;this.modalElement.querySelector('[data-close="dialog"]').addEventListener("click",function(){e.closeModal(e.modalElement)}),document.body.addEventListener("click",function(n){n.target.id===e.modalElement.id&&e.closeModal(e.modalElement)}),document.addEventListener("keydown",function(n){"Escape"===n.key&&e.closeModal(e.modalElement)})},initAbandonmentForm:function(){var e=document.querySelector("#abandonment-form");if(e){var n={isAbandonmentForm:!0,hasBackButtons:!1,hasClickToProceed:!1,hasProgressbar:!1,hasZipChange:!1,skipStep:{device:"",index:null,shouldSkip:!1}};form.init(e,n)}},setAbandonmentType:function(){var e=document.querySelector("#abandonment-form");this.type=e?"form":"default","default"===this.type?this.initClickTracking():this.initAbandonmentForm()},init:function(){this.setAbandonmentType(),this.initCloseListener();var e=window.location.hash;this.heapTrack("Shown",{step:e}),this.modalElement.show(),this.modalElement.focus(),this.modalElement.setAttribute("aria-hidden","false"),modUtils.trapTabFocusInDialog("abandonmentDialog")}};abandonment.init();
|
|
2
|
+
//# sourceMappingURL=abandonment.min.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";function _slicedToArray(t,e){return _arrayWithHoles(t)||_iterableToArrayLimit(t,e)||_unsupportedIterableToArray(t,e)||_nonIterableRest()}function _nonIterableRest(){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 _unsupportedIterableToArray(t,e){if(t){if("string"==typeof t)return _arrayLikeToArray(t,e);var o=Object.prototype.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?_arrayLikeToArray(t,e):void 0}}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var o=0,n=new Array(e);o<e;o++)n[o]=t[o];return n}function _iterableToArrayLimit(t,e){var o=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=o){var n,a,r,i,c=[],s=!0,l=!1;try{if(r=(o=o.call(t)).next,0===e){if(Object(o)!==o)return;s=!1}else for(;!(s=(n=r.call(o)).done)&&(c.push(n.value),c.length!==e);s=!0);}catch(t){l=!0,a=t}finally{try{if(!s&&null!=o.return&&(i=o.return(),Object(i)!==i))return}finally{if(l)throw a}}return c}}function _arrayWithHoles(t){if(Array.isArray(t))return t}function _typeof(t){"@babel/helpers - typeof";return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var Footer={element:document.querySelector("#footer-component"),siteData:"object"===("undefined"==typeof siteData?"undefined":_typeof(siteData))?siteData:{},footerType:"qs",modDomain:"https://modernize.com",refocusOnElement:"",defaultFooter:{mod:{copyright:{year:(new Date).getFullYear(),text:"All Rights Reserved.",spanishText:"Todos los derechos reservados.",companyName:"Modernize.com"},contractor:{text:"Are you a contractor?",linkText:"Join Our Contractor Network",link:"https://modernize.com/pro/register/leads/?utm_campaign=quinstreet-referral",spanishText:"¿Eres un contratista?",spanishLinkText:"Únete a nuestra red de contratistas"},captchaDisclosure:{text:"This site is protected by reCAPTCHA and the Google",privacy:{text:"Privacy Policy",spanishText:"Política de Privacidad",url:"https://policies.google.com/privacy"},terms:{text:"Terms of Service",spanishText:"Términos de Servicio",url:"https://policies.google.com/terms"}}},qs:{links:[{id:"about",url:"/?modal=about",modal:!0,text:"About",spanishText:"Acerca de"},{id:"privacy",url:"/?modal=privacy",modal:!0,text:"Privacy Notice",spanishText:"Aviso de Privacidad"},{id:"publisher",url:"https://modernize.com/contact?publisher",text:"Affiliates",spanishText:"Afiliados",modal:!1},{id:"tou",url:"/?modal=terms",modal:!0,text:"Terms of Use",spanishText:"Términos de Uso"},{id:"contact",url:"/?modal=contact-us",modal:!0,text:"Contact Us",spanishText:"Contáctanos"},{id:"ccpa",url:"https://privacy-central.securiti.ai/#/dsr/1b319101-f00c-470f-a7f0-26aa81f057b8",modal:!1,text:"Do Not Sell or Share My Personal Information",spanishText:"No vender ni compartir mi información personal"}],copyright:{text:"QuinStreet, Inc. All Rights Reserved.",spanishText:"QuinStreet, Inc. Todos los derechos reservados.",year:(new Date).getFullYear()},contractor:{text:"Are you a contractor?",linkText:"Join Our Contractor Network",link:"https://modernize.com/pro/register/leads/?utm_campaign=quinstreet-referral",spanishText:"¿Eres un contratista?",spanishLinkText:"Únete a nuestra red de contratistas"}}},render:function(t){this.element.innerHTML=t},getFooterParams:function(){var t=document.querySelector('script[src*="footer-component"]');t&&(t.src&&t.src.indexOf("qa.")>-1&&(this.modDomain="https://qa.modernize.com"),("mod"===t.getAttribute("data-type")||t.src.indexOf("mod-footer")>-1)&&(this.footerType="mod"))},getAssetPath:function(){return"".concat(this.modDomain,"/quote/resources/assets")},getLinkTag:function(t){var e=this.siteData,o=e.isSpanishPage,n=e.pathSubdirectory,a="".concat(n||""===n?n:"/","resources/templates/modals/");return'<a\n\t\t\t\tid="'.concat(t.id,'"\n\t\t\t\thref="').concat(t.url).concat(t.anchor?"#"+t.anchor:"",'"\n\t\t\t\t').concat(!0===t.modal?'data-load="'.concat(a).concat(t.url.replace("/?modal=",""),'/"\n\t\t\t\t\tdata-bind="modal-page"\n\t\t\t\t\tdata-anchor="#').concat(t.anchor,'"'):'target="'.concat(t.target?t.target:"_blank",'"\n\t\t\t\t\trel="noopener noreferrer"'),">\n\t\t\t\t").concat(o?t.spanishText:t.text,"\n\t\t\t</a>")},getModCopyRightAndRecaptcha:function(){var t=this.defaultFooter.mod,e=t.copyright,o=t.captchaDisclosure,n=this.siteData,a=n.companyName,r=n.copyrightAt,i=n.isSpanishPage;r&&"order:".concat(r);return'\n\t\t\t<p class="footer__copyright">\n\t\t\t\t© Copyright '.concat(e.year," ").concat(a||e.companyName,".\n\t\t\t\t").concat(i?e.spanishText:e.text,'\n\t\t\t</p>\n\t\t\t<p class="footer__copyright footer__captcha-disclosure">\n\t\t\t\t').concat(i?'Este sitio está protegido por reCAPTCHA y se aplican la <a href="'.concat(o.privacy.url,'" target="_blank">').concat(o.privacy.spanishText,'</a> y <a href="').concat(o.terms.url,'" target="_blank">').concat(o.terms.spanishText,"</a> de Google"):"".concat(o.text,'\n\t\t\t\t\t<a href="').concat(o.privacy.url,'" target="_blank">').concat(o.privacy.text,'</a> and\n\t\t\t\t\t<a href="').concat(o.terms.url,'" target="_blank">').concat(o.terms.text,"</a> apply."),"\n\t\t\t</p>")},getModFooterLinks:function(){var t=this,e=this.defaultFooter.qs.links,o=this.siteData,n=o.footerLinks,a=o.isQuotePage,r=o.isQSPage;return'\n\t\t\t<ul class="footer__links">\n\t\t\t\t'.concat(e.map(function(e){if(!a&&r||("tou"===e.id&&(e.text="Terms & Conditions",e.spanishText="Términos y Condiciones"),"about"===e.id&&(e.text="About Us",e.spanishText="Acerca de Nosotros"),"publisher"===e.id&&(e.text="I'm a Publisher",e.spanishText="Soy Editor"),"contact"!==e.id))return"\n\t\t\t\t\t".concat(t.element.hasAttribute("data-hide-".concat(e.id))?"":"<li>\n\t\t\t\t\t\t".concat(t.getLinkTag(e),"\n\t\t\t\t\t</li>"))}).join(""),"\n\n\t\t\t\t").concat(n?n.map(function(e){return"\n\t\t\t\t\t<li>\n\t\t\t\t\t\t".concat(t.getLinkTag(e),"\n\t\t\t\t\t</li>")}).join(""):"","\n\t\t\t</ul>")},displayModFooter:function(){var t=this.defaultFooter.mod.contractor,e=this.siteData,o=e.bbbLogoPath,n=e.trade,a=e.isQuotePage,r=e.isSpanishPage,i=a?"".concat(this.getAssetPath(),"/images/logos/misc/bbb-dark.svg"):"".concat(this.getAssetPath(),"/images/logos/misc/bbb.svg"),c=o||i,s=this.element;this.render('<div class="footer'.concat(a?" footer--quote-page":"").concat(r?" footer--spanish":"",'">\n\t\t\t\t<div class="container">\n\t\t\t\t\t').concat(s.hasAttribute("data-hide-bbb")?"":'<img width="130" height="47" loading="lazy" src="'.concat(c,'" alt="BBB Accredited Logo" class="footer__bbb-logo footer__bbb\n\t\t\t\t\t\t\t').concat(s.hasAttribute("data-hide-bbb-xs")?"hidden-xs":"",'">'),"\n\t\t\t\t\t").concat(s.hasAttribute("data-hide-contractor")?"":'<div class="footer__head-link">\n\t\t\t\t\t\t'.concat(r?t.spanishText:t.text,'\n\t\t\t\t\t\t<a target="_blank" href="').concat(t.link).concat(n?"&trade=".concat(n):"",'" rel="noopener noreferrer">\n\t\t\t\t\t\t\t').concat(r?t.spanishLinkText:t.linkText,"\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>"),"\n\n\t\t\t\t\t\t").concat(this.getModFooterLinks(),"\n\t\t\t\t\t\t").concat(this.getModCopyRightAndRecaptcha(),"\n\t\t\t\t</div>\n\t\t\t</div>"))},displayQsFooter:function(){var t=this,e=this.defaultFooter.qs,o=e.contractor,n=e.links,a=e.copyright,r=t.siteData,i=r.trade,c=r.footerLinks,s=r.bbbLogoPath,l=r.isSpanishPage,d=this.element;this.render('<footer class="footer '.concat(l?"footer--spanish":"",'">\n\t\t\t\t<div class="container">\n\t\t\t\t\t').concat(d.hasAttribute("data-show-bbb")?'<svg class="footer__bbb-logo footer__bbb">\n\t\t\t\t\t\t<use href="'.concat(s,'"></use>\n\t\t\t\t\t</svg>'):"","\n\n\t\t\t\t\t").concat(d.hasAttribute("data-hide-contractor")?"":'<div class="footer__head-link">\n\t\t\t\t\t\t'.concat(l?o.spanishText:o.text,'\n\t\t\t\t\t\t<a href="').concat(o.link).concat(i?"&trade=".concat(i):"",'" target="_blank" rel="noopener noreferrer">\n\t\t\t\t\t\t\t').concat(l?o.spanishLinkText:o.linkText,"\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>"),'\n\n\t\t\t\t\t<ul class="footer__links">\n\t\t\t\t\t\t').concat(n.map(function(e){return"".concat(d.hasAttribute("data-hide-".concat(e.id))?"":'<li id="'.concat(e.id,'">\n\t\t\t\t\t\t\t\t\t\t').concat(t.getLinkTag(e),"\n\t\t\t\t\t\t\t\t\t</li>"))}).join(""),"\n\n\t\t\t\t\t\t").concat(c?c.map(function(e){return'<li style="'.concat(e.order?"order:".concat(e.order):"",'">\n\t\t\t\t\t\t\t\t\t').concat(t.getLinkTag(e),"\n\t\t\t\t\t\t\t\t</li>")}).join(""):"","\n\t\t\t\t\t</ul>\n\t\t\t\t\t").concat(d.hasAttribute("data-hide-copyright")?"":'<p class="footer__copyright">\n\t\t\t\t\t\tCopyright © '.concat(a.year," ").concat(l?a.spanishText:a.text,"\n\t\t\t\t\t</p>"),"\n\t\t\t\t</div>\n\t\t\t</footer>"))},loadCss:function(){var t=document.getElementsByTagName("head")[0],e=document.createElement("link");e.type="text/css",e.rel="stylesheet","mod"===this.footerType?e.href="".concat(this.modDomain,"/quote/resources/shared-resources/styles/components/footer/mod-footer.min.css"):e.href="".concat(this.modDomain,"/quote/resources/shared-resources/styles/components/footer/qs-footer.min.css"),t.appendChild(e)},getQueryParam:function(t){return(window.location.search.match(new RegExp("[?&]"+t+"=([^&]+)"))||[,null])[1]},camelToUnderscore:function(t){return t.replace(/([A-Z])/g," $1").split(" ").join("_").toLowerCase()},prepopModalTemplateWithSiteData:function(t){var e={company_name:this.siteData.company_name||("mod"===this.footerType?"Modernize.com":"Quinstreet, Inc."),domain:window.location.host};return Object.entries(e).forEach(function(e){var o=_slicedToArray(e,2),n=o[0],a=o[1],r=new RegExp("{{("+n+"|"+Footer.camelToUnderscore(n)+")}}","gi");t=t.replace(r,a)}),t},initModalLinks:function(){var t=this,e="info-modal",o=['<dialog id="info-modal" role="dialog" aria-labelledby="footer-modal-title" aria-hidden="true" tabindex="-1" style="border: 0; background-color: transparent; outline:0; padding:0; max-width: 100%; max-height: 100%; height: 100%; position: fixed; top: 0; z-index: 100;">','<div class="modal-dialog">','<div class="modal-content">','<div class="modal-header">','<h1 id="footer-modal-title" class="modal-title"></h1>',"</div>",'<div class="modal-body">Loading...</div>','<div class="modal-footer">','<button type="button" class="btn btn-primary btn--primary close" data-dismiss="modal" data-close="dialog">Close</button>',"</div>","</div>","</div>","</dialog>"].join("");document.querySelectorAll('a[data-bind="modal-page"]').forEach(function(n){n.addEventListener("click",function(n){function a(){function t(){r++}for(var e=d.getElementsByTagName("script"),o=0;o<e.length;o++){var n=e[o].innerText;new Function(n)()}for(var a=d.querySelectorAll("script[src]"),r=0,i=0;i<a.length;i++){var c=document.createElement("script");c.src=a[i].src,c.onload=t,document.head.appendChild(c)}}n.preventDefault();var r=this,i=r.getAttribute("data-load"),c=r.getAttribute("id");document.getElementById(e)&&document.getElementById(e).remove(),document.body.insertAdjacentHTML("beforeend",o);var s=document.getElementById(e),l=s.querySelector(".modal-title"),d=s.querySelector(".modal-body");l.textContent=r.textContent,fetch(i).then(function(t){return t.text()}).then(function(t){d.innerHTML=Footer.prepopModalTemplateWithSiteData(t),s.querySelectorAll("a[href^=\\#]").forEach(function(t){t.addEventListener("click",function(t){function e(){n.forEach(function(t){t.blur()}),d.classList.contains("scrolling")||(d.classList.add("scrolling"),setTimeout(function(){d.classList.remove("scrolling"),o.focus(),d.removeEventListener("scroll",e)},750))}t.preventDefault();var o=s.querySelector(this.hash);o.scrollIntoView({behavior:"smooth"});var n=d.querySelectorAll("section");d.addEventListener("scroll",e)})});var o=r.getAttribute("data-anchor");o&&"#undefined"!==o&&document.querySelector(o).scrollIntoView(),modUtils.trapTabFocusInDialog(e),Footer.initCloseDialog(e)}),s.show(),s.focus(),s.setAttribute("aria-hidden","false"),t.refocusOnElement=c;var u=new MutationObserver(function(){d.hasChildNodes()&&(u.disconnect(),a())});s.open&&u.observe(d,{childList:!0,subtree:!0})})});var n=this.getQueryParam("modal");n&&document.querySelectorAll("".concat('a[data-bind="modal-page"]','[href="/?modal=').concat(n,'"]:first')).click();var a=window.location.search;a&&(a=a.substring(1),document.querySelectorAll('a[data-bind="modal-page"]').forEach(function(t){var e=t.getAttribute("href");e+="&"+a,t.setAttribute("href",e)}))},closeModal:function(t){t.close(),t.setAttribute("aria-hidden","true"),this.refocusOnElement&&(document.querySelector("a#"+this.refocusOnElement).focus(),this.refocusOnElement="")},initCloseDialog:function(t){var e=document.getElementById(t),o=this;e.querySelector('[data-close="dialog"]').addEventListener("click",function(){o.closeModal(e)}),document.body.addEventListener("click",function(n){n.target.id===t&&o.closeModal(e)}),document.addEventListener("keydown",function(t){"Escape"===t.key&&o.closeModal(e)})},init:function(){this.getFooterParams(),this.loadCss(),"mod"===this.footerType?this.displayModFooter():this.displayQsFooter(),this.initModalLinks()}};window.addEventListener("load",function(){"function"==typeof window.HTMLDialogElement&&modUtils.heap("track",["HTML Dialog Element Supported"]),"IdlizeQueue"in window?window.IdlizeQueue.pushTask(function(){Footer.init()}):Footer.init()});
|
|
2
|
+
//# sourceMappingURL=footer-component.min.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
"use strict";function _slicedToArray(t,e){return _arrayWithHoles(t)||_iterableToArrayLimit(t,e)||_unsupportedIterableToArray(t,e)||_nonIterableRest()}function _nonIterableRest(){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 _unsupportedIterableToArray(t,e){if(t){if("string"==typeof t)return _arrayLikeToArray(t,e);var o=Object.prototype.toString.call(t).slice(8,-1);return"Object"===o&&t.constructor&&(o=t.constructor.name),"Map"===o||"Set"===o?Array.from(t):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?_arrayLikeToArray(t,e):void 0}}function _arrayLikeToArray(t,e){(null==e||e>t.length)&&(e=t.length);for(var o=0,n=new Array(e);o<e;o++)n[o]=t[o];return n}function _iterableToArrayLimit(t,e){var o=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=o){var n,a,r,i,c=[],s=!0,l=!1;try{if(r=(o=o.call(t)).next,0===e){if(Object(o)!==o)return;s=!1}else for(;!(s=(n=r.call(o)).done)&&(c.push(n.value),c.length!==e);s=!0);}catch(t){l=!0,a=t}finally{try{if(!s&&null!=o.return&&(i=o.return(),Object(i)!==i))return}finally{if(l)throw a}}return c}}function _arrayWithHoles(t){if(Array.isArray(t))return t}function _typeof(t){"@babel/helpers - typeof";return(_typeof="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t})(t)}var Footer={element:document.querySelector("#footer-component"),siteData:"object"===("undefined"==typeof siteData?"undefined":_typeof(siteData))?siteData:{},footerType:"qs",modDomain:"https://modernize.com",refocusOnElement:"",defaultFooter:{mod:{copyright:{year:(new Date).getFullYear(),text:"All Rights Reserved.",spanishText:"Todos los derechos reservados.",companyName:"Modernize.com"},contractor:{text:"Are you a contractor?",linkText:"Join Our Contractor Network",link:"https://modernize.com/pro/register/leads/?utm_campaign=quinstreet-referral",spanishText:"¿Eres un contratista?",spanishLinkText:"Únete a nuestra red de contratistas"},captchaDisclosure:{text:"This site is protected by reCAPTCHA and the Google",privacy:{text:"Privacy Policy",spanishText:"Política de Privacidad",url:"https://policies.google.com/privacy"},terms:{text:"Terms of Service",spanishText:"Términos de Servicio",url:"https://policies.google.com/terms"}}},qs:{links:[{id:"about",url:"/?modal=about",modal:!0,text:"About",spanishText:"Acerca de"},{id:"privacy",url:"/?modal=privacy",modal:!0,text:"Privacy Notice",spanishText:"Aviso de Privacidad"},{id:"publisher",url:"https://modernize.com/contact?publisher",text:"Affiliates",spanishText:"Afiliados",modal:!1},{id:"tou",url:"/?modal=terms",modal:!0,text:"Terms of Use",spanishText:"Términos de Uso"},{id:"contact",url:"/?modal=contact-us",modal:!0,text:"Contact Us",spanishText:"Contáctanos"},{id:"ccpa",url:"https://privacy-central.securiti.ai/#/dsr/1b319101-f00c-470f-a7f0-26aa81f057b8",modal:!1,text:"Do Not Sell or Share My Personal Information",spanishText:"No vender ni compartir mi información personal"}],copyright:{text:"QuinStreet, Inc. All Rights Reserved.",spanishText:"QuinStreet, Inc. Todos los derechos reservados.",year:(new Date).getFullYear()},contractor:{text:"Are you a contractor?",linkText:"Join Our Contractor Network",link:"https://modernize.com/pro/register/leads/?utm_campaign=quinstreet-referral",spanishText:"¿Eres un contratista?",spanishLinkText:"Únete a nuestra red de contratistas"}}},render:function(t){this.element.innerHTML=t},getFooterParams:function(){var t=document.querySelector('script[src*="footer-component"]');t&&(t.src&&t.src.indexOf("qa.")>-1&&(this.modDomain="https://qa.modernize.com"),("mod"===t.getAttribute("data-type")||t.src.indexOf("mod-footer")>-1)&&(this.footerType="mod"))},getAssetPath:function(){return"".concat(this.modDomain,"/quote/resources/assets")},getLinkTag:function(t){var e=this.siteData,o=e.isSpanishPage,n=e.pathSubdirectory,a="".concat(n||""===n?n:"/","resources/templates/modals/");return'<a\n\t\t\t\tid="'.concat(t.id,'"\n\t\t\t\thref="').concat(t.url).concat(t.anchor?"#"+t.anchor:"",'"\n\t\t\t\t').concat(!0===t.modal?'data-load="'.concat(a).concat(t.url.replace("/?modal=",""),'/"\n\t\t\t\t\tdata-bind="modal-page"\n\t\t\t\t\tdata-anchor="#').concat(t.anchor,'"'):'target="'.concat(t.target?t.target:"_blank",'"\n\t\t\t\t\trel="noopener noreferrer"'),">\n\t\t\t\t").concat(o?t.spanishText:t.text,"\n\t\t\t</a>")},getModCopyRightAndRecaptcha:function(){var t=this.defaultFooter.mod,e=t.copyright,o=t.captchaDisclosure,n=this.siteData,a=n.companyName,r=n.copyrightAt,i=n.isSpanishPage;r&&"order:".concat(r);return'\n\t\t\t<p class="footer__copyright">\n\t\t\t\t© Copyright '.concat(e.year," ").concat(a||e.companyName,".\n\t\t\t\t").concat(i?e.spanishText:e.text,'\n\t\t\t</p>\n\t\t\t<p class="footer__copyright footer__captcha-disclosure">\n\t\t\t\t').concat(i?'Este sitio está protegido por reCAPTCHA y se aplican la <a href="'.concat(o.privacy.url,'" target="_blank">').concat(o.privacy.spanishText,'</a> y <a href="').concat(o.terms.url,'" target="_blank">').concat(o.terms.spanishText,"</a> de Google"):"".concat(o.text,'\n\t\t\t\t\t<a href="').concat(o.privacy.url,'" target="_blank">').concat(o.privacy.text,'</a> and\n\t\t\t\t\t<a href="').concat(o.terms.url,'" target="_blank">').concat(o.terms.text,"</a> apply."),"\n\t\t\t</p>")},getModFooterLinks:function(){var t=this,e=this.defaultFooter.qs.links,o=this.siteData,n=o.footerLinks,a=o.isQuotePage,r=o.isQSPage;return'\n\t\t\t<ul class="footer__links">\n\t\t\t\t'.concat(e.map(function(e){if(!a&&r||("tou"===e.id&&(e.text="Terms & Conditions",e.spanishText="Términos y Condiciones"),"about"===e.id&&(e.text="About Us",e.spanishText="Acerca de Nosotros"),"publisher"===e.id&&(e.text="I'm a Publisher",e.spanishText="Soy Editor"),"contact"!==e.id))return"\n\t\t\t\t\t".concat(t.element.hasAttribute("data-hide-".concat(e.id))?"":"<li>\n\t\t\t\t\t\t".concat(t.getLinkTag(e),"\n\t\t\t\t\t</li>"))}).join(""),"\n\n\t\t\t\t").concat(n?n.map(function(e){return"\n\t\t\t\t\t<li>\n\t\t\t\t\t\t".concat(t.getLinkTag(e),"\n\t\t\t\t\t</li>")}).join(""):"","\n\t\t\t</ul>")},displayModFooter:function(){var t=this.defaultFooter.mod.contractor,e=this.siteData,o=e.bbbLogoPath,n=e.trade,a=e.isQuotePage,r=e.isSpanishPage,i=a?"".concat(this.getAssetPath(),"/images/logos/misc/bbb-dark.svg"):"".concat(this.getAssetPath(),"/images/logos/misc/bbb.svg"),c=o||i,s=this.element;this.render('<div class="footer'.concat(a?" footer--quote-page":"").concat(r?" footer--spanish":"",'">\n\t\t\t\t<div class="container">\n\t\t\t\t\t').concat(s.hasAttribute("data-hide-bbb")?"":'<img width="130" height="47" loading="lazy" src="'.concat(c,'" alt="BBB Accredited Logo" class="footer__bbb-logo footer__bbb\n\t\t\t\t\t\t\t').concat(s.hasAttribute("data-hide-bbb-xs")?"hidden-xs":"",'">'),"\n\t\t\t\t\t").concat(s.hasAttribute("data-hide-contractor")?"":'<div class="footer__head-link">\n\t\t\t\t\t\t'.concat(r?t.spanishText:t.text,'\n\t\t\t\t\t\t<a target="_blank" href="').concat(t.link).concat(n?"&trade=".concat(n):"",'" rel="noopener noreferrer">\n\t\t\t\t\t\t\t').concat(r?t.spanishLinkText:t.linkText,"\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>"),"\n\n\t\t\t\t\t\t").concat(this.getModFooterLinks(),"\n\t\t\t\t\t\t").concat(this.getModCopyRightAndRecaptcha(),"\n\t\t\t\t</div>\n\t\t\t</div>"))},displayQsFooter:function(){var t=this,e=this.defaultFooter.qs,o=e.contractor,n=e.links,a=e.copyright,r=t.siteData,i=r.trade,c=r.footerLinks,s=r.bbbLogoPath,l=r.isSpanishPage,d=this.element;this.render('<footer class="footer '.concat(l?"footer--spanish":"",'">\n\t\t\t\t<div class="container">\n\t\t\t\t\t').concat(d.hasAttribute("data-show-bbb")?'<svg class="footer__bbb-logo footer__bbb">\n\t\t\t\t\t\t<use href="'.concat(s,'"></use>\n\t\t\t\t\t</svg>'):"","\n\n\t\t\t\t\t").concat(d.hasAttribute("data-hide-contractor")?"":'<div class="footer__head-link">\n\t\t\t\t\t\t'.concat(l?o.spanishText:o.text,'\n\t\t\t\t\t\t<a href="').concat(o.link).concat(i?"&trade=".concat(i):"",'" target="_blank" rel="noopener noreferrer">\n\t\t\t\t\t\t\t').concat(l?o.spanishLinkText:o.linkText,"\n\t\t\t\t\t\t</a>\n\t\t\t\t\t</div>"),'\n\n\t\t\t\t\t<ul class="footer__links">\n\t\t\t\t\t\t').concat(n.map(function(e){return"".concat(d.hasAttribute("data-hide-".concat(e.id))?"":'<li id="'.concat(e.id,'">\n\t\t\t\t\t\t\t\t\t\t').concat(t.getLinkTag(e),"\n\t\t\t\t\t\t\t\t\t</li>"))}).join(""),"\n\n\t\t\t\t\t\t").concat(c?c.map(function(e){return'<li style="'.concat(e.order?"order:".concat(e.order):"",'">\n\t\t\t\t\t\t\t\t\t').concat(t.getLinkTag(e),"\n\t\t\t\t\t\t\t\t</li>")}).join(""):"","\n\t\t\t\t\t</ul>\n\t\t\t\t\t").concat(d.hasAttribute("data-hide-copyright")?"":'<p class="footer__copyright">\n\t\t\t\t\t\tCopyright © '.concat(a.year," ").concat(l?a.spanishText:a.text,"\n\t\t\t\t\t</p>"),"\n\t\t\t\t</div>\n\t\t\t</footer>"))},loadCss:function(){var t=document.getElementsByTagName("head")[0],e=document.createElement("link");e.type="text/css",e.rel="stylesheet","mod"===this.footerType?e.href="".concat(this.modDomain,"/quote/resources/shared-resources/styles/components/footer/mod-footer.min.css"):e.href="".concat(this.modDomain,"/quote/resources/shared-resources/styles/components/footer/qs-footer.min.css"),t.appendChild(e)},getQueryParam:function(t){return(window.location.search.match(new RegExp("[?&]"+t+"=([^&]+)"))||[,null])[1]},camelToUnderscore:function(t){return t.replace(/([A-Z])/g," $1").split(" ").join("_").toLowerCase()},prepopModalTemplateWithSiteData:function(t){var e={company_name:this.siteData.company_name||("mod"===this.footerType?"Modernize.com":"Quinstreet, Inc."),domain:window.location.host};return Object.entries(e).forEach(function(e){var o=_slicedToArray(e,2),n=o[0],a=o[1],r=new RegExp("{{("+n+"|"+Footer.camelToUnderscore(n)+")}}","gi");t=t.replace(r,a)}),t},initModalLinks:function(){var t=this,e="info-modal",o=['<dialog id="info-modal" role="dialog" aria-labelledby="footer-modal-title" aria-hidden="true" tabindex="-1" style="border: 0; background-color: transparent; outline:0; padding:0; max-width: 100%; max-height: 100%; height: 100%; position: fixed; top: 0; z-index: 100;">','<div class="modal-dialog">','<div class="modal-content">','<div class="modal-header">','<h1 id="footer-modal-title" class="modal-title"></h1>',"</div>",'<div class="modal-body">Loading...</div>','<div class="modal-footer">','<button type="button" class="btn btn-primary btn--primary close" data-dismiss="modal" data-close="dialog">Close</button>',"</div>","</div>","</div>","</dialog>"].join("");document.querySelectorAll('a[data-bind="modal-page"]').forEach(function(n){n.addEventListener("click",function(n){function a(){function t(){r++}for(var e=d.getElementsByTagName("script"),o=0;o<e.length;o++){var n=e[o].innerText;new Function(n)()}for(var a=d.querySelectorAll("script[src]"),r=0,i=0;i<a.length;i++){var c=document.createElement("script");c.src=a[i].src,c.onload=t,document.head.appendChild(c)}}n.preventDefault();var r=this,i=r.getAttribute("data-load"),c=r.getAttribute("id");document.getElementById(e)&&document.getElementById(e).remove(),document.body.insertAdjacentHTML("beforeend",o);var s=document.getElementById(e),l=s.querySelector(".modal-title"),d=s.querySelector(".modal-body");l.textContent=r.textContent,fetch(i).then(function(t){return t.text()}).then(function(t){d.innerHTML=Footer.prepopModalTemplateWithSiteData(t),s.querySelectorAll("a[href^=\\#]").forEach(function(t){t.addEventListener("click",function(t){function e(){n.forEach(function(t){t.blur()}),d.classList.contains("scrolling")||(d.classList.add("scrolling"),setTimeout(function(){d.classList.remove("scrolling"),o.focus(),d.removeEventListener("scroll",e)},750))}t.preventDefault();var o=s.querySelector(this.hash);o.scrollIntoView({behavior:"smooth"});var n=d.querySelectorAll("section");d.addEventListener("scroll",e)})});var o=r.getAttribute("data-anchor");o&&"#undefined"!==o&&document.querySelector(o).scrollIntoView(),modUtils.trapTabFocusInDialog(e),Footer.initCloseDialog(e)}),s.show(),s.focus(),s.setAttribute("aria-hidden","false"),t.refocusOnElement=c;var u=new MutationObserver(function(){d.hasChildNodes()&&(u.disconnect(),a())});s.open&&u.observe(d,{childList:!0,subtree:!0})})});var n=this.getQueryParam("modal");n&&document.querySelectorAll("".concat('a[data-bind="modal-page"]','[href="/?modal=').concat(n,'"]:first')).click();var a=window.location.search;a&&(a=a.substring(1),document.querySelectorAll('a[data-bind="modal-page"]').forEach(function(t){var e=t.getAttribute("href");e+="&"+a,t.setAttribute("href",e)}))},closeModal:function(t){t.close(),t.setAttribute("aria-hidden","true"),this.refocusOnElement&&(document.querySelector("a#"+this.refocusOnElement).focus(),this.refocusOnElement="")},initCloseDialog:function(t){var e=document.getElementById(t),o=this;e.querySelector('[data-close="dialog"]').addEventListener("click",function(){o.closeModal(e)}),document.body.addEventListener("click",function(n){n.target.id===t&&o.closeModal(e)}),document.addEventListener("keydown",function(t){"Escape"===t.key&&o.closeModal(e)})},init:function(){this.getFooterParams(),this.loadCss(),"mod"===this.footerType?this.displayModFooter():this.displayQsFooter(),this.initModalLinks()}};window.addEventListener("load",function(){"function"==typeof window.HTMLDialogElement&&modUtils.heap("track",["HTML Dialog Element Supported"]),"IdlizeQueue"in window?window.IdlizeQueue.pushTask(function(){Footer.init()}):Footer.init()});
|
|
2
|
+
//# sourceMappingURL=footer-component.min.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
!function(e,t){for(var n in t)e[n]=t[n]}(window,function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=3)}({3:function(e,t,n){"use strict";function r(e){let t=["Control","Tab","ArrowLeft","ArrowDown","ArrowRight","ArrowUp","Backspace","Enter","Delete"];if(!e.length)return!1;e.forEach((function(e){e.addEventListener("keydown",(function(e){!Number.isNaN(parseInt(e.key))||t.includes(e.key)||e.metaKey||e.preventDefault(),e.metaKey&&"KeyA"===e.code&&this.select()}))}))}n.r(t),n.d(t,"initNumericOnlyFields",(function(){return r}))}}));
|
|
2
|
+
//# sourceMappingURL=initNumericOnlyFields.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./lib/helpers/components/input/initNumericOnlyFields.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","initNumericOnlyFields","$fields","allowedKeys","length","forEach","field","addEventListener","e","Number","isNaN","parseInt","includes","metaKey","preventDefault","code","this","select"],"mappings":"4DACE,IAAIA,EAAmB,CAAC,EAGxB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,CAAC,GAUX,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,OACf,CAyDA,OArDAF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,GAEhE,EAGAZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,GACvD,EAOArB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,EAAM,EAAEC,KAAK,KAAMD,IAC9I,OAAOF,CACR,EAGAzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,OAAG,EAClD,WAA8B,OAAOA,CAAQ,EAE9C,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,CACR,EAGAZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,EAAW,EAGpH/B,EAAoBkC,EAAI,GAIjBlC,EAAoBA,EAAoBmC,EAAI,E,kCC9E9C,SAASC,EAAsBC,GACpC,IAAIC,EAAc,CAAC,UAAW,MAAO,YAAa,YAAa,aAAc,UAAW,YAAa,QAAS,UAE9G,IAAKD,EAAQE,OACX,OAAO,EAGTF,EAAQG,SAAQ,SAASC,GACvBA,EAAMC,iBAAiB,WAAW,SAASC,IAErCC,OAAOC,MAAMC,SAASH,EAAEhB,OAAUW,EAAYS,SAASJ,EAAEhB,MAASgB,EAAEK,SACtEL,EAAEM,iBAGAN,EAAEK,SAAsB,SAAXL,EAAEO,MACjBC,KAAKC,QAET,GACF,GACF,CAvBA,4D","file":"initNumericOnlyFields.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 3);\n","/**\n * Allow only numbers in a field (e.g. zip field)\n * @param {Object} $fields - jQuery object of fields\n */\nexport function initNumericOnlyFields($fields) {\n let allowedKeys = ['Control', 'Tab', 'ArrowLeft', 'ArrowDown', 'ArrowRight', 'ArrowUp', 'Backspace', 'Enter', 'Delete'];\n\n if (!$fields.length) {\n return false;\n }\n\n $fields.forEach(function(field) {\n field.addEventListener('keydown', function(e) {\n // Allow digits, arrows, enter, backspace, tab, etc\n if (Number.isNaN(parseInt(e.key)) && !allowedKeys.includes(e.key) && !e.metaKey) {\n e.preventDefault();\n }\n // Allow to use keyboard to select all\n if (e.metaKey && e.code === 'KeyA') {\n this.select();\n }\n });\n });\n}\n"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
!function(e,t){for(var n in t)e[n]=t[n]}(window,function(e){var t={};function n(r){if(t[r])return t[r].exports;var o=t[r]={i:r,l:!1,exports:{}};return e[r].call(o.exports,o,o.exports,n),o.l=!0,o.exports}return n.m=e,n.c=t,n.d=function(e,t,r){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:r})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var r=Object.create(null);if(n.r(r),Object.defineProperty(r,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var o in e)n.d(r,o,function(t){return e[t]}.bind(null,o));return r},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=4)}({4:function(e,t,n){"use strict";function r(e,t){const n="https://".concat("production"===window.modUtils.getEnv()?"hs.leadpost.net/":"hsleadpost1.quinstage.com/"),r=new XMLHttpRequest;let o={};r.open("GET","".concat(n,"api/PostalCordinateInfo/").concat(e,"/get")),r.send(),r.addEventListener("load",(function(){this.response&&(o={...o,...JSON.parse(this.response)},4===this.readyState&&200===this.status?(o.success=!0,o.data=JSON.parse(this.response),o.data.zip=e,"function"==typeof t&&t(o)):"function"==typeof t&&(400===o.status?t({error:!0,message:o.error_message}):t({})))})),r.addEventListener("error",(function(){console.error("Something went wrong")}))}n.r(t),n.d(t,"isZipCodeValid",(function(){return r}))}}));
|
|
2
|
+
//# sourceMappingURL=isZipCodeValid.min.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./lib/validators/isZipCodeValidLite.js"],"names":["installedModules","__webpack_require__","moduleId","exports","module","i","l","modules","call","m","c","d","name","getter","o","Object","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","prototype","hasOwnProperty","p","s","isZipCodeValid","zip","callback","apiDomain","concat","window","modUtils","getEnv","request","XMLHttpRequest","response","open","send","addEventListener","this","JSON","parse","readyState","status","success","data","error","message","error_message","console"],"mappings":"4DACE,IAAIA,EAAmB,CAAC,EAGxB,SAASC,EAAoBC,GAG5B,GAAGF,EAAiBE,GACnB,OAAOF,EAAiBE,GAAUC,QAGnC,IAAIC,EAASJ,EAAiBE,GAAY,CACzCG,EAAGH,EACHI,GAAG,EACHH,QAAS,CAAC,GAUX,OANAI,EAAQL,GAAUM,KAAKJ,EAAOD,QAASC,EAAQA,EAAOD,QAASF,GAG/DG,EAAOE,GAAI,EAGJF,EAAOD,OACf,CAyDA,OArDAF,EAAoBQ,EAAIF,EAGxBN,EAAoBS,EAAIV,EAGxBC,EAAoBU,EAAI,SAASR,EAASS,EAAMC,GAC3CZ,EAAoBa,EAAEX,EAASS,IAClCG,OAAOC,eAAeb,EAASS,EAAM,CAAEK,YAAY,EAAMC,IAAKL,GAEhE,EAGAZ,EAAoBkB,EAAI,SAAShB,GACX,oBAAXiB,QAA0BA,OAAOC,aAC1CN,OAAOC,eAAeb,EAASiB,OAAOC,YAAa,CAAEC,MAAO,WAE7DP,OAAOC,eAAeb,EAAS,aAAc,CAAEmB,OAAO,GACvD,EAOArB,EAAoBsB,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQrB,EAAoBqB,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,iBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAKX,OAAOY,OAAO,MAGvB,GAFA1B,EAAoBkB,EAAEO,GACtBX,OAAOC,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOrB,EAAoBU,EAAEe,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,EAAM,EAAEC,KAAK,KAAMD,IAC9I,OAAOF,CACR,EAGAzB,EAAoB6B,EAAI,SAAS1B,GAChC,IAAIS,EAAST,GAAUA,EAAOqB,WAC7B,WAAwB,OAAOrB,EAAgB,OAAG,EAClD,WAA8B,OAAOA,CAAQ,EAE9C,OADAH,EAAoBU,EAAEE,EAAQ,IAAKA,GAC5BA,CACR,EAGAZ,EAAoBa,EAAI,SAASiB,EAAQC,GAAY,OAAOjB,OAAOkB,UAAUC,eAAe1B,KAAKuB,EAAQC,EAAW,EAGpH/B,EAAoBkC,EAAI,GAIjBlC,EAAoBA,EAAoBmC,EAAI,E,kCC3E9C,SAASC,EAAeC,EAAKC,GAClC,MAAMC,EAAY,WAAHC,OACgB,eAA7BC,OAAOC,SAASC,SAA4B,mBAAqB,8BAG7DC,EAAU,IAAIC,eACpB,IAAIC,EAAW,CAAC,EAChBF,EAAQG,KAAK,MAAO,GAAFP,OAAKD,EAAS,4BAAAC,OAA2BH,EAAG,SAC9DO,EAAQI,OACRJ,EAAQK,iBAAiB,QAAQ,WAC3BC,KAAKJ,WACPA,EAAW,IAAKA,KAAaK,KAAKC,MAAMF,KAAKJ,WACrB,IAApBI,KAAKG,YAAoC,MAAhBH,KAAKI,QAChCR,EAASS,SAAU,EACnBT,EAASU,KAAOL,KAAKC,MAAMF,KAAKJ,UAChCA,EAASU,KAAKnB,IAAMA,EAEhB,mBAAsBC,GACxBA,EAASQ,IAGP,mBAAsBR,IACA,MAApBQ,EAASQ,OACXhB,EAAS,CACPmB,OAAO,EACPC,QAASZ,EAASa,gBAGpBrB,EAAS,CAAC,IAKpB,IACAM,EAAQK,iBAAiB,SAAS,WAChCW,QAAQH,MAAM,uBAChB,GACF,CA5CA,qD","file":"isZipCodeValid.min.js","sourcesContent":[" \t// The module cache\n \tvar installedModules = {};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"\";\n\n\n \t// Load entry module and return exports\n \treturn __webpack_require__(__webpack_require__.s = 4);\n","/* eslint-disable no-lonely-if */\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 const apiDomain = `https://${\n window.modUtils.getEnv() === 'production' ? 'hs.leadpost.net/' : 'hsleadpost1.quinstage.com/'\n }`;\n\n const request = new XMLHttpRequest();\n let response = {};\n request.open('GET', `${apiDomain}api/PostalCordinateInfo/${zip}/get`);\n request.send();\n request.addEventListener('load', function () {\n if (this.response) {\n response = { ...response, ...JSON.parse(this.response) };\n if (this.readyState === 4 && this.status === 200) {\n response.success = true;\n response.data = JSON.parse(this.response);\n response.data.zip = zip;\n\n if ('function' === typeof callback) {\n callback(response);\n }\n } else {\n if ('function' === typeof callback) {\n if (response.status === 400) {\n callback({\n error: true,\n message: response.error_message\n });\n } else {\n callback({});\n }\n }\n }\n }\n });\n request.addEventListener('error', function () {\n console.error('Something went wrong');\n });\n}\n"],"sourceRoot":""}
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
window.Modalytics=function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";function o(){var e=document.URL,t=window.location.hostname,n="production";return n=~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")?n="qa":~e.indexOf("env=production")&&(n="production"),n}function r(e,t){return e||(e=window.location.href.replace(window.location.hash,"")),e.substring(e.indexOf("?")+1).split("&").reduce((function(e,n){var o=n.split(/=(.+)/),r=decodeURIComponent(o[0]),i=t?r.toLowerCase():r;if(!e.hasOwnProperty(i)){if(!o[1])return e;e[i]=decodeURIComponent(o[1].replace(/\+/g,"%20"))}return e}),{})}function i(){var e=null,t={window:"windows",solar:"solar",hvac:"hvac",roof:"roofing",siding:"siding"},n=window.location.pathname.split("/");e:for(var o=1;o<n.length;o++)for(var r in t)if(t.hasOwnProperty(r)){if(n[o].indexOf(r)>-1){e=t[r];break e}e="general"}return e}function a(){return{general:"Mod001",solar:"Mod002",windows:"Mod003",hvac:"Mod004",roofing:"Mod005",siding:"Mod006"}[i()]}function c(e){return~(e?e.split("?")[0]:window.location.href.split("?")[0]).indexOf("/my/")}n.r(t),n.d(t,"heap",(function(){return u})),n.d(t,"gaSend",(function(){return p})),n.d(t,"track",(function(){return l})),n.d(t,"initGtm",(function(){return f})),n.d(t,"initHeapTracking",(function(){return w})),n.d(t,"initHeapVwo",(function(){return g})),n.d(t,"trackUserAgent",(function(){return v})),n.d(t,"getEnv",(function(){return o})),n.d(t,"getUrlParamsToObject",(function(){return r})),n.d(t,"getCurrentTrade",(function(){return i})),n.d(t,"getDefaultSrc",(function(){return a})),n.d(t,"isHRCPage",(function(){return c})),n.d(t,"privacyPreferencesDetected",(function(){return s})),n.d(t,"getCookie",(function(){return h})),n.d(t,"setCookie",(function(){return m})),n.d(t,"getHeapCookieData",(function(){return _})),n.d(t,"checkLastSrc",(function(){return y})),n.d(t,"init",(function(){return b}));var d,s=(d=new URLSearchParams(window.location.search)).has("gpc")&&"yes"===d.get("gpc");function u(e,t){if(!s){if(!~["track","identify","resetIdentity","addUserProperties","addEventProperties","removeEventProperty","clearEventProperties"].indexOf(e))return void console.log('Heap "'+e+'" method is not supported');void 0!==window.heap?"identify"===e||"track"===e?window.heap[e](t[0],t[1]):window.heap[e](t):console.log("Heap undefined ",e,t),"production"!==o()&&console.log("Heap",e,t)}}function p(e,t){if(!s)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 n=[(t?t+".":"")+"_trackEvent"],o=["eventCategory","eventAction","eventLabel"],r=0;r<o.length;++r)e[o[r]]&&n.push(e[o[r]]);window._gaq.push(n)}}function l(e,t,n){n?"ga"!==n&&"_gaq"!==n||p(t,n):u(e,t),"error"===e&&(u("track",t),console.log(t))}function f(){!function(e,t,n,o,r){var i;e[o]=e[o]||[],e[o].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var a=t.getElementsByTagName(n)[0],c=t.createElement(n);c.async=!0,c.src="https://www.googletagmanager.com/gtm.js?id="+r,null===(i=a.parentNode)||void 0===i||i.insertBefore(c,a)}(window,document,"script","dataLayer",gtm_container_ID)}function w(){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 n=t.forceSSL||"https:"===document.location.protocol,o=document.createElement("script");o.type="text/javascript",o.async=!0,o.src=(n?"https:":"http:")+"//cdn.heapanalytics.com/js/heap-"+e+".js";var r=document.getElementsByTagName("script")[0];r.parentNode.insertBefore(o,r);for(var i=function(e){return function(){heap.push([e].concat(Array.prototype.slice.call(arguments,0)))}},a=["addEventProperties","addUserProperties","clearEventProperties","identify","resetIdentity","removeEventProperty","setEventProperties","track","unsetEventProperty"],c=0;c<a.length;c++)heap[a[c]]=i(a[c])},heap.load("3246578271"))}function g(){var e=window._vis_opt_queue||[],t=0;e.push((function(){try{if(!t){window._vis_data={};for(var e,n,o=0;o<_vwo_exp_ids.length;o++)n=_vwo_exp_ids[o],_vwo_exp[n].ready&&(e=_vis_opt_readCookie("_vis_opt_exp_"+n+"_combi"),void 0!==_vwo_exp[n].combination_chosen&&(e=_vwo_exp[n].combination_chosen),void 0!==_vwo_exp[n].comb_n[e]&&(window._vis_data["VWO-Test-ID-"+n]=_vwo_exp[n].comb_n[e],t++));t&&window.heap&&window.heap.appid&&heap.addUserProperties(window._vis_data)}}catch(e){}}))}function v(){var e={};if("navigator"in window&&"userAgent"in navigator){var t=function(e){var t=" ",n=" ",o=" ",r=!1;if((t=e.match(/\(([^)]+)\)/))&&t.length){var i,a=t;r=a[1].match(/Win/gi)&&a[1].match(/Win/gi).length,a[1]=a[1].replace(/;\s\w+\:(\w+(?:\.\w+)+)|(\s[a-z|A-Z]{1};)|(\s\w+-\w+;\s)/gi,""),(i=a[1].split(";")).length&&(3===i.length?a=r?i[0]:i[2]:i[0]&&(a=i[0]),4===i.length&&i[3]?n=i[3]:i[1]&&(n=i[1])),a&&"string"==typeof a&&(t=(t=a.replace(/[\(\)]|(\w+\/\w.+)/,"")).trim()),n&&"string"==typeof n&&(n=(n=n.replace(/_/g,".")).trim())}if((o=e.match(/\w+\/(\w+(?:\.\w+)+)/g))&&o.length){var c=o,d=[];if(c.length>2?(d=c.slice(2),c=d.join(" ").replace(/Safari\/[\d.]+/i,"")):c=c[1],2===d.length){var s=[],u=[],p=/Version/i;s=d[0].split("/"),u=d[1].split("/"),s.length&&p.test(s[0])&&(s[0]=u[0],c=s.join("/")),u.length&&p.test(u[0])&&(u[0]=s[0],c=u.join("/"))}c&&"string"==typeof c&&(o=(o=c.replaceAll("/"," ")).trim())}return{deviceName:t,platform:n,browser:o}}(navigator.userAgent),n=t.deviceName,o=t.browser,r=t.platform;e.device=n,e.browser=o,e.platform=r,e.UA=navigator.userAgent}u("track",["Device Properties",e])}function h(e){for(var t=e+"=",n=document.cookie.split(";"),o=0;o<n.length;++o){for(var r=n[o];" "===r.charAt(0);)r=r.substring(1,r.length);if(~r.indexOf(t))return r.substring(t.length,r.length)}return null}function m(e,t,n){var o="";if(n){var r=new Date;r.setTime(r.getTime()+60*n*1e3),o="; expires="+r.toUTCString()}document.cookie=e+"="+t+o+"; path=/"}function _(){if(window.heap&&window.heap.appid){var e=h("_hp2_props."+window.heap.appid);if(e)try{return JSON.parse(decodeURIComponent(e))}catch(t){l("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 y(e){var t=e||_();if(t){var n=t.timestamp;if(Date.now()-n>864e5)return!0}return!1}function b(){var e=["formpath","projectid"],t=r("",!0),n=c(),o={},i={projectid:"project_id",formpath:"form_path"};for(var d in n||(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&&l("identify",t.userid),t.contractorid&&l("identify",t.contractorid),t)if(t.hasOwnProperty(d)){var s=void 0!==i[d]?i[d]:d;~e.indexOf(d)&&(o[s]=t[d])}if(o.hasOwnProperty("src")||o.hasOwnProperty("utm_source"))o.timestamp=Date.now();else if(window.isWordpress){if(0===Object.keys(o).length){var u=_();u&&(u.src||u.utm_source)?(u.src||u.utm_source)&&y()&&(u.src?o.src=a():u.utm_source&&(o.utm_source="")):o.src=a()}}else if(y()&&!n){var p=_();p.src?o.src="Mod001":p.utm_source&&(o.utm_source="")}Object.keys(o).length&&(void 0===window.heap?console.log("Heap addEventProperties",o):(n||!o.hasOwnProperty("src")&&!o.hasOwnProperty("utm_source")||window.heap.clearEventProperties(),window.heap.addEventProperties(o))),v()}window.addEventListener("load",(function(){if("heap"in window)return!1;"IdlizeQueue"in window&&window.IdlizeQueue.pushTask((function(){s||(w(),"_vwo_campaignData"in window&&0!==Object.keys(window._vwo_campaignData).length&&g(),b())}))}))}]);
|
|
2
|
+
//# sourceMappingURL=modalytics.min.js.map
|
|
@@ -0,0 +1,2 @@
|
|
|
1
|
+
window.Modalytics=function(e){var t={};function n(o){if(t[o])return t[o].exports;var r=t[o]={i:o,l:!1,exports:{}};return e[o].call(r.exports,r,r.exports,n),r.l=!0,r.exports}return n.m=e,n.c=t,n.d=function(e,t,o){n.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:o})},n.r=function(e){"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},n.t=function(e,t){if(1&t&&(e=n(e)),8&t)return e;if(4&t&&"object"==typeof e&&e&&e.__esModule)return e;var o=Object.create(null);if(n.r(o),Object.defineProperty(o,"default",{enumerable:!0,value:e}),2&t&&"string"!=typeof e)for(var r in e)n.d(o,r,function(t){return e[t]}.bind(null,r));return o},n.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return n.d(t,"a",t),t},n.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},n.p="",n(n.s=0)}([function(e,t,n){"use strict";function o(){var e=document.URL,t=window.location.hostname,n="production";return n=~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")?n="qa":~e.indexOf("env=production")&&(n="production"),n}function r(e,t){return e||(e=window.location.href.replace(window.location.hash,"")),e.substring(e.indexOf("?")+1).split("&").reduce((function(e,n){var o=n.split(/=(.+)/),r=decodeURIComponent(o[0]),i=t?r.toLowerCase():r;if(!e.hasOwnProperty(i)){if(!o[1])return e;e[i]=decodeURIComponent(o[1].replace(/\+/g,"%20"))}return e}),{})}function i(){var e=null,t={window:"windows",solar:"solar",hvac:"hvac",roof:"roofing",siding:"siding"},n=window.location.pathname.split("/");e:for(var o=1;o<n.length;o++)for(var r in t)if(t.hasOwnProperty(r)){if(n[o].indexOf(r)>-1){e=t[r];break e}e="general"}return e}function a(){return{general:"Mod001",solar:"Mod002",windows:"Mod003",hvac:"Mod004",roofing:"Mod005",siding:"Mod006"}[i()]}function c(e){return~(e?e.split("?")[0]:window.location.href.split("?")[0]).indexOf("/my/")}n.r(t),n.d(t,"heap",(function(){return u})),n.d(t,"gaSend",(function(){return p})),n.d(t,"track",(function(){return l})),n.d(t,"initGtm",(function(){return f})),n.d(t,"initHeapTracking",(function(){return w})),n.d(t,"initHeapVwo",(function(){return g})),n.d(t,"trackUserAgent",(function(){return v})),n.d(t,"getEnv",(function(){return o})),n.d(t,"getUrlParamsToObject",(function(){return r})),n.d(t,"getCurrentTrade",(function(){return i})),n.d(t,"getDefaultSrc",(function(){return a})),n.d(t,"isHRCPage",(function(){return c})),n.d(t,"privacyPreferencesDetected",(function(){return s})),n.d(t,"getCookie",(function(){return h})),n.d(t,"setCookie",(function(){return m})),n.d(t,"getHeapCookieData",(function(){return _})),n.d(t,"checkLastSrc",(function(){return y})),n.d(t,"init",(function(){return b}));var d,s=(d=new URLSearchParams(window.location.search)).has("gpc")&&"yes"===d.get("gpc");function u(e,t){if(!s){if(!~["track","identify","resetIdentity","addUserProperties","addEventProperties","removeEventProperty","clearEventProperties"].indexOf(e))return void console.log('Heap "'+e+'" method is not supported');void 0!==window.heap?"identify"===e||"track"===e?window.heap[e](t[0],t[1]):window.heap[e](t):console.log("Heap undefined ",e,t),"production"!==o()&&console.log("Heap",e,t)}}function p(e,t){if(!s)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 n=[(t?t+".":"")+"_trackEvent"],o=["eventCategory","eventAction","eventLabel"],r=0;r<o.length;++r)e[o[r]]&&n.push(e[o[r]]);window._gaq.push(n)}}function l(e,t,n){n?"ga"!==n&&"_gaq"!==n||p(t,n):u(e,t),"error"===e&&(u("track",t),console.log(t))}function f(){!function(e,t,n,o,r){var i;e[o]=e[o]||[],e[o].push({"gtm.start":(new Date).getTime(),event:"gtm.js"});var a=t.getElementsByTagName(n)[0],c=t.createElement(n);c.async=!0,c.src="https://www.googletagmanager.com/gtm.js?id="+r,null===(i=a.parentNode)||void 0===i||i.insertBefore(c,a)}(window,document,"script","dataLayer",gtm_container_ID)}function w(){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 n=t.forceSSL||"https:"===document.location.protocol,o=document.createElement("script");o.type="text/javascript",o.async=!0,o.src=(n?"https:":"http:")+"//cdn.heapanalytics.com/js/heap-"+e+".js";var r=document.getElementsByTagName("script")[0];r.parentNode.insertBefore(o,r);for(var i=function(e){return function(){heap.push([e].concat(Array.prototype.slice.call(arguments,0)))}},a=["addEventProperties","addUserProperties","clearEventProperties","identify","resetIdentity","removeEventProperty","setEventProperties","track","unsetEventProperty"],c=0;c<a.length;c++)heap[a[c]]=i(a[c])},heap.load("3246578271"))}function g(){var e=window._vis_opt_queue||[],t=0;e.push((function(){try{if(!t){window._vis_data={};for(var e,n,o=0;o<_vwo_exp_ids.length;o++)n=_vwo_exp_ids[o],_vwo_exp[n].ready&&(e=_vis_opt_readCookie("_vis_opt_exp_"+n+"_combi"),void 0!==_vwo_exp[n].combination_chosen&&(e=_vwo_exp[n].combination_chosen),void 0!==_vwo_exp[n].comb_n[e]&&(window._vis_data["VWO-Test-ID-"+n]=_vwo_exp[n].comb_n[e],t++));t&&window.heap&&window.heap.appid&&heap.addUserProperties(window._vis_data)}}catch(e){}}))}function v(){var e={};if("navigator"in window&&"userAgent"in navigator){var t=function(e){var t=" ",n=" ",o=" ",r=!1;if((t=e.match(/\(([^)]+)\)/))&&t.length){var i,a=t;r=a[1].match(/Win/gi)&&a[1].match(/Win/gi).length,a[1]=a[1].replace(/;\s\w+\:(\w+(?:\.\w+)+)|(\s[a-z|A-Z]{1};)|(\s\w+-\w+;\s)/gi,""),(i=a[1].split(";")).length&&(3===i.length?a=r?i[0]:i[2]:i[0]&&(a=i[0]),4===i.length&&i[3]?n=i[3]:i[1]&&(n=i[1])),a&&"string"==typeof a&&(t=(t=a.replace(/[\(\)]|(\w+\/\w.+)/,"")).trim()),n&&"string"==typeof n&&(n=(n=n.replace(/_/g,".")).trim())}if((o=e.match(/\w+\/(\w+(?:\.\w+)+)/g))&&o.length){var c=o,d=[];if(c.length>2?(d=c.slice(2),c=d.join(" ").replace(/Safari\/[\d.]+/i,"")):c=c[1],2===d.length){var s=[],u=[],p=/Version/i;s=d[0].split("/"),u=d[1].split("/"),s.length&&p.test(s[0])&&(s[0]=u[0],c=s.join("/")),u.length&&p.test(u[0])&&(u[0]=s[0],c=u.join("/"))}c&&"string"==typeof c&&(o=(o=c.replaceAll("/"," ")).trim())}return{deviceName:t,platform:n,browser:o}}(navigator.userAgent),n=t.deviceName,o=t.browser,r=t.platform;e.device=n,e.browser=o,e.platform=r,e.UA=navigator.userAgent}u("track",["Device Properties",e])}function h(e){for(var t=e+"=",n=document.cookie.split(";"),o=0;o<n.length;++o){for(var r=n[o];" "===r.charAt(0);)r=r.substring(1,r.length);if(~r.indexOf(t))return r.substring(t.length,r.length)}return null}function m(e,t,n){var o="";if(n){var r=new Date;r.setTime(r.getTime()+60*n*1e3),o="; expires="+r.toUTCString()}document.cookie=e+"="+t+o+"; path=/"}function _(){if(window.heap&&window.heap.appid){var e=h("_hp2_props."+window.heap.appid);if(e)try{return JSON.parse(decodeURIComponent(e))}catch(t){l("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 y(e){var t=e||_();if(t){var n=t.timestamp;if(Date.now()-n>864e5)return!0}return!1}function b(){var e=["formpath","projectid"],t=r("",!0),n=c(),o={},i={projectid:"project_id",formpath:"form_path"};for(var d in n||(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&&l("identify",t.userid),t.contractorid&&l("identify",t.contractorid),t)if(t.hasOwnProperty(d)){var s=void 0!==i[d]?i[d]:d;~e.indexOf(d)&&(o[s]=t[d])}if(o.hasOwnProperty("src")||o.hasOwnProperty("utm_source"))o.timestamp=Date.now();else if(window.isWordpress){if(0===Object.keys(o).length){var u=_();u&&(u.src||u.utm_source)?(u.src||u.utm_source)&&y()&&(u.src?o.src=a():u.utm_source&&(o.utm_source="")):o.src=a()}}else if(y()&&!n){var p=_();p.src?o.src="Mod001":p.utm_source&&(o.utm_source="")}Object.keys(o).length&&(void 0===window.heap?console.log("Heap addEventProperties",o):(n||!o.hasOwnProperty("src")&&!o.hasOwnProperty("utm_source")||window.heap.clearEventProperties(),window.heap.addEventProperties(o))),v()}window.addEventListener("load",(function(){if("heap"in window)return!1;"IdlizeQueue"in window&&window.IdlizeQueue.pushTask((function(){s||(w(),"_vwo_campaignData"in window&&0!==Object.keys(window._vwo_campaignData).length&&g(),b())}))}))}]);
|
|
2
|
+
//# sourceMappingURL=modalytics.min.js.map
|