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.
Files changed (149) hide show
  1. package/.eslintignore +3 -0
  2. package/.eslintrc +18 -0
  3. package/CHANGELOG.md +2 -240
  4. package/README.md +16 -263
  5. package/gulp-tasks/build.js +1 -1
  6. package/package.json +21 -69
  7. package/siteconfig.js +38 -0
  8. package/src/accessible-components/button/_button.scss +195 -0
  9. package/src/accessible-components/button/back-button.html +4 -0
  10. package/src/accessible-components/button/button.html +17 -0
  11. package/src/accessible-components/carousel/_carousel.scss +112 -0
  12. package/src/accessible-components/carousel/carousel.html +25 -0
  13. package/src/accessible-components/checkbox/_checkbox.scss +96 -0
  14. package/src/accessible-components/checkbox/checkbox.html +8 -0
  15. package/src/accessible-components/expand-collapse/_expand-collapse.scss +122 -0
  16. package/src/accessible-components/expand-collapse/expand-collapse.html +8 -0
  17. package/src/accessible-components/expand-collapse/expand-collapse.js +52 -0
  18. package/src/accessible-components/expand-collapse/expand-collapse.min.js +2 -0
  19. package/src/accessible-components/expand-collapse/expand-collapse.min.js.map +1 -0
  20. package/src/accessible-components/featured-block/_featured-block.scss +219 -0
  21. package/src/accessible-components/featured-block/featured-block.html +54 -0
  22. package/src/accessible-components/foot-assets/foot-assets.html +92 -0
  23. package/src/accessible-components/footer/footer.html +2 -0
  24. package/src/{templates/_partials/scripts/gtm-editorials/body/google-tag-manager-body.html → accessible-components/gtm-body/gtm-body.html} +1 -2
  25. package/src/accessible-components/head/head.html +188 -0
  26. package/src/accessible-components/header/_header.scss +289 -0
  27. package/src/accessible-components/header/header.html +66 -0
  28. package/src/accessible-components/hero/_hero.scss +371 -0
  29. package/src/accessible-components/hero/hero.html +53 -0
  30. package/src/accessible-components/how-it-works/_how-it-works.scss +217 -0
  31. package/src/accessible-components/how-it-works/how-it-works-carousel.html +12 -0
  32. package/src/accessible-components/how-it-works/how-it-works-static.html +12 -0
  33. package/src/accessible-components/how-it-works/how-it-works.html +14 -0
  34. package/src/accessible-components/information/_information.scss +92 -0
  35. package/src/accessible-components/information/information.html +26 -0
  36. package/src/accessible-components/input/_input.scss +202 -0
  37. package/src/accessible-components/input/input.html +22 -0
  38. package/src/accessible-components/input/textarea.html +9 -0
  39. package/src/accessible-components/partners/_partners.scss +232 -0
  40. package/src/accessible-components/partners/partners.html +56 -0
  41. package/src/accessible-components/picture/picture.html +19 -0
  42. package/src/accessible-components/preloader/_preloader.scss +61 -0
  43. package/src/accessible-components/preloader/preloader.html +23 -0
  44. package/src/accessible-components/progress-bar/_progress-bar.scss +119 -0
  45. package/src/accessible-components/progress-bar/progress-bar.html +21 -0
  46. package/src/accessible-components/progress-bar/progress-bar.js +37 -0
  47. package/src/accessible-components/progress-bar/progress-bar.min.js +2 -0
  48. package/src/accessible-components/progress-bar/progress-bar.min.js.map +1 -0
  49. package/src/accessible-components/radio-button/_radio-button.scss +537 -0
  50. package/src/accessible-components/radio-button/radio-button.html +34 -0
  51. package/src/accessible-components/reviews/_reviews.scss +175 -0
  52. package/src/accessible-components/reviews/reviews-carousel.html +12 -0
  53. package/src/accessible-components/reviews/reviews-static.html +12 -0
  54. package/src/accessible-components/reviews/reviews.html +37 -0
  55. package/src/accessible-components/select/_select.scss +69 -0
  56. package/src/accessible-components/select/select.html +10 -0
  57. package/src/accessible-components/steps/_steps.scss +524 -0
  58. package/src/accessible-components/steps/defaultFormFieldConfig.json +109 -0
  59. package/src/accessible-components/steps/step-fields.html +33 -0
  60. package/src/accessible-components/steps/steps.html +150 -0
  61. package/src/accessible-components/tcpa/_tcpa.scss +49 -0
  62. package/src/accessible-components/tcpa/tcpa.html +9 -0
  63. package/src/accessible-components/tile/_tile.scss +117 -0
  64. package/src/accessible-components/tile/tile.html +14 -0
  65. package/src/accessible-components/value-props/_value-props.scss +100 -0
  66. package/src/accessible-components/value-props/value-props.html +17 -0
  67. package/src/accessible-components/zip-control/_zip-control.scss +78 -0
  68. package/src/accessible-components/zip-control/zip-control.html +10 -0
  69. package/src/data/footer.js +117 -0
  70. package/src/data/seasons.js +5 -7
  71. package/src/data/theme.json +164 -0
  72. package/src/index.html +18 -0
  73. package/src/main.js +45 -0
  74. package/src/resources/scripts/abandonment/abandonment-1df90ee155f6c0893d90.min.js +2 -0
  75. package/src/resources/scripts/abandonment/abandonment.min.js +2 -0
  76. package/src/resources/scripts/footer/footer-component-7b5e263f64568573ecc0.min.js +2 -0
  77. package/src/resources/scripts/footer/footer-component.min.js +2 -0
  78. package/src/resources/scripts/helpers/initNumericOnlyFields.min.js +2 -0
  79. package/src/resources/scripts/helpers/initNumericOnlyFields.min.js.map +1 -0
  80. package/src/resources/scripts/helpers/isZipCodeValid.min.js +2 -0
  81. package/src/resources/scripts/helpers/isZipCodeValid.min.js.map +1 -0
  82. package/src/resources/scripts/mod-alytics/modalytics-0ac7d7a5a72ea67a0f47.min.js +2 -0
  83. package/src/resources/scripts/mod-alytics/modalytics.min.js +2 -0
  84. package/src/resources/scripts/mod-form/form/homeowner-77a4dd439b8db412678b.min.js +2 -0
  85. package/src/resources/scripts/mod-form/form/homeowner.min.js +2 -0
  86. package/src/resources/scripts/mod-utils/modutils-8ba40d21f559171ddd36.min.js +2 -0
  87. package/src/resources/scripts/mod-utils/modutils.min.js +2 -0
  88. package/src/resources/styles/components/abandonment/abandonment-ae63aca828944411eff7.min.css +1 -0
  89. package/src/resources/styles/components/abandonment/abandonment.min.css +1 -0
  90. package/src/resources/styles/components/footer/mod-footer-3717faf57147c62c1777.min.css +1 -0
  91. package/src/resources/styles/components/footer/mod-footer.min.css +1 -0
  92. package/src/resources/styles/components/footer/qs-footer-12bf078dc614ff221c3c.min.css +1 -0
  93. package/src/resources/styles/components/footer/qs-footer.min.css +1 -0
  94. package/src/resources/templates/modals/about/index.html +9 -0
  95. package/src/resources/templates/modals/contact-us/index.html +348 -0
  96. package/src/resources/templates/modals/faq/index.html +9 -0
  97. package/src/resources/templates/modals/privacy/index.html +236 -0
  98. package/src/resources/templates/modals/terms/index.html +166 -0
  99. package/src/scripts/has-qs-params.js +6 -5
  100. package/src/scripts/url-cleaner.js +3 -3
  101. package/src/scripts/utils.js +178 -0
  102. package/src/styles/home.scss +1 -0
  103. package/src/temp/scripts/maxmind-geoip2.js +104 -0
  104. package/src/templates/_partials/scripts/deferred-styles.html +16 -16
  105. package/src/templates/_partials/scripts/vwo-redirect-callback.html +43 -45
  106. package/src/templates/components/head.html +70 -0
  107. package/tasks/clean.js +13 -0
  108. package/tasks/grab-cdn.js +107 -0
  109. package/tasks/grab-form-helpers.js +94 -0
  110. package/tasks/grab-shared-components.js +81 -0
  111. package/tasks/grab-shared-scripts.js +267 -0
  112. package/tasks/serve.js +15 -0
  113. package/tasks/templates.js +168 -0
  114. package/template.js +801 -0
  115. package/vite.config.js +56 -0
  116. package/.eslintrc.yml +0 -59
  117. package/src/data/common.js +0 -704
  118. package/src/data/components/qs-footer.js +0 -55
  119. package/src/data/components/quote-footer.js +0 -73
  120. package/src/scripts/apt-block.js +0 -919
  121. package/src/scripts/components/custom-selects.js +0 -48
  122. package/src/scripts/components/radio-panels.js +0 -45
  123. package/src/scripts/es6-1.js +0 -6
  124. package/src/scripts/es6-2.js +0 -2
  125. package/src/scripts/qs-form.js +0 -839
  126. package/src/scripts/vendor/maxmind-geoip2.js +0 -2
  127. package/src/scripts/vendor/swiper.min.js +0 -13
  128. package/src/styles/apt-block.scss +0 -888
  129. package/src/templates/_partials/apt-block.html +0 -30
  130. package/src/templates/_partials/scripts/analytics.html +0 -4
  131. package/src/templates/_partials/scripts/go-page-hiding-snippet.html +0 -8
  132. package/src/templates/_partials/scripts/google-maps.html +0 -1
  133. package/src/templates/_partials/scripts/google-optimize.html +0 -12
  134. package/src/templates/_partials/scripts/gtm-editorials/head/google-tag-manager-head.html +0 -10
  135. package/src/templates/_partials/scripts/gtm-hil/body/google-tag-manager-body.html +0 -5
  136. package/src/templates/_partials/scripts/gtm-hil/head/google-tag-manager-head.html +0 -10
  137. package/src/templates/_partials/scripts/gtm-pro/body/google-tag-manager-body.html +0 -5
  138. package/src/templates/_partials/scripts/gtm-pro/head/google-tag-manager-head.html +0 -10
  139. package/src/templates/_partials/scripts/gtm-quote/body/google-tag-manager-body.html +0 -5
  140. package/src/templates/_partials/scripts/gtm-quote/head/google-tag-manager-head.html +0 -9
  141. package/src/templates/_partials/scripts/gtm-whitelabel/body/mod-google-tag-manager-body.html +0 -5
  142. package/src/templates/_partials/scripts/gtm-whitelabel/body/non-mod-google-tag-manager-body.html +0 -5
  143. package/src/templates/_partials/scripts/gtm-whitelabel/head/mod-google-tag-manager-head.html +0 -10
  144. package/src/templates/_partials/scripts/gtm-whitelabel/head/non-mod-google-tag-manager-head.html +0 -9
  145. package/src/templates/_partials/scripts/gtm-wordpress/body/google-tag-manager-body.html +0 -5
  146. package/src/templates/_partials/scripts/gtm-wordpress/head/google-tag-manager-head.html +0 -9
  147. package/src/templates/_partials/scripts/visual-website-optimizer.html +0 -5
  148. package/src/templates/index.html +0 -46
  149. /package/{src → public}/favicon.ico +0 -0
@@ -0,0 +1,289 @@
1
+ $header-background-color: $color-white !default;
2
+ $header-padding: 10px 0 !default;
3
+ $header-padding-desktop: 15px 0 !default;
4
+ $header-position: relative !default;
5
+ $header-position-top: 0 !default;
6
+ $header-z-index: 2 !default;
7
+
8
+ $header-container-padding: 0 15px !default;
9
+
10
+ $header-content-align-items: center !default;
11
+ $header-content-display: flex !default;
12
+ $header-content-justify-content: center !default;
13
+ $header-content-justify-content-desktop: space-between !default;
14
+
15
+ $header-logo-display: inline-block !default;
16
+ $header-logo-height: auto !default;
17
+ $header-logo-width: 195px !default;
18
+ $header-logo-margin: 0 !default;
19
+ $header-logo-height-desktop: auto !default;
20
+ $header-logo-width-desktop: 245px !default;
21
+ $header-logo-margin-desktop: $header-logo-margin !default;
22
+ $header-logo-vertical-align: middle !default;
23
+
24
+ $header-secondary-logo-display: $header-logo-display !default;
25
+ $header-secondary-logo-height: auto !default;
26
+ $header-secondary-logo-width: 73px !default;
27
+ $header-secondary-logo-height-desktop: auto !default;
28
+ $header-secondary-logo-width-desktop: 113px !default;
29
+ $header-secondary-logo-vertical-align: middle !default;
30
+
31
+ $header-secondary-logo-padding-left: 20px !default;
32
+ $header-secondary-logo-padding-left-desktop: 40px !default;
33
+ $header-secondary-logo-divider-background-color: $color-charcoal3 !default;
34
+ $header-secondary-logo-divider-height: calc(100% + 10px) !default;
35
+ $header-secondary-logo-divider-position: absolute !default;
36
+ $header-secondary-logo-divider-position-left: 10px !default;
37
+ $header-secondary-logo-divider-position-left-desktop: 20px !default;
38
+ $header-secondary-logo-divider-width: 1px !default;
39
+
40
+ $header-back-button-background-color: transparent !default;
41
+ $header-back-button-border-right: 1px solid darken($color-charcoal3, 5%) !default;
42
+ $header-back-button-color: darken($color-charcoal3, 5%) !default;
43
+ $header-back-button-font-size: 1.125rem !default;
44
+ $header-back-button-line-height: 1 !default;
45
+ $header-back-button-padding: 18px 0 !default;
46
+
47
+ $header-show-button-button-flex: 0 15% !default;
48
+ $header-show-button-logo-flex: 0 85% !default;
49
+ $header-show-button-padding: 0 !default;
50
+ $header-show-button-container-padding: 0 !default;
51
+ $header-show-button-content-min-height: 55px !default;
52
+
53
+ $header-bbb-logo-height: 30px !default;
54
+ $header-bbb-logo-width: 82.5px !default;
55
+ $header-bbb-logo-height-desktop: 42px !default;
56
+ $header-bbb-logo-width-desktop: 115px !default;
57
+
58
+ $header-tagline-color: $color-white !default;
59
+ $header-tagline-font-size: 1.125rem !default;
60
+ $header-tagline-font-weight: 700 !default;
61
+
62
+ $callrail-display: none !default;
63
+ $call-color: $color-black !default;
64
+ $call-font-size: 1.125rem !default;
65
+ $call-font-weight: 400 !default;
66
+ $call-number-font-weight: 700 !default;
67
+ $call-link-color: inherit !default;
68
+ $call-link-text-decoration: none !default;
69
+ $call-icon-width: 12px !default;
70
+ $call-icon-width-desktop: 20px !default;
71
+
72
+ $call-button-align-self: center !default;
73
+ $call-button-background-color: $color-white !default;
74
+ $call-button-border: 1px solid $call-color !default;
75
+ $call-button-border-radius: 15px !default;
76
+ $call-button-color: $call-color !default;
77
+ $call-button-hover-color: $call-button-color !default;
78
+ $call-button-display: inline-block !default;
79
+ $call-button-font-size: .75rem !default;
80
+ $call-button-font-size-desktop: $call-font-size !default;
81
+ $call-button-font-weight: $call-font-weight !default;
82
+ $call-button-margin: 0 0 0 15px !default;
83
+ $call-button-padding: 4px 12px !default;
84
+ $call-button-text-transform: uppercase !default;
85
+ $call-button-transition: $base-transition !default;
86
+
87
+ .header {
88
+ background-color: $header-background-color;
89
+ padding: $header-padding;
90
+ position: $header-position;
91
+ top: $header-position-top;
92
+ z-index: $header-z-index;
93
+
94
+ .container {
95
+ padding: $header-container-padding;
96
+ }
97
+
98
+ &__content {
99
+ align-items: $header-content-align-items;
100
+ display: $header-content-display;
101
+ justify-content: $header-content-justify-content;
102
+ }
103
+
104
+ &__logo {
105
+ img, svg {
106
+ display: $header-logo-display;
107
+ height: $header-logo-height;
108
+ margin: $header-logo-margin;
109
+ vertical-align: $header-logo-vertical-align;
110
+ width: $header-logo-width;
111
+ }
112
+ }
113
+
114
+ &__secondary-logo {
115
+ display: $header-secondary-logo-display;
116
+ padding-left: $header-secondary-logo-padding-left;
117
+ position: relative;
118
+ vertical-align: $header-secondary-logo-vertical-align;
119
+
120
+ img, svg {
121
+ height: $header-secondary-logo-height;
122
+ width: $header-secondary-logo-width;
123
+ }
124
+
125
+ &:before {
126
+ background-color: $header-secondary-logo-divider-background-color;
127
+ content: '';
128
+ height: $header-secondary-logo-divider-height;
129
+ position: $header-secondary-logo-divider-position;
130
+ left: $header-secondary-logo-divider-position-left;
131
+ top: 50%;
132
+ transform: translateY(-50%);
133
+ width: $header-secondary-logo-divider-width;
134
+ }
135
+ }
136
+
137
+ &__bbb-logo {
138
+ height: $header-bbb-logo-height;
139
+ width: $header-bbb-logo-width;
140
+ }
141
+
142
+ &__back-button {
143
+ background-color: $header-back-button-background-color;
144
+ border: 0;
145
+ border-right: $header-back-button-border-right;
146
+ color: $header-back-button-color;
147
+ display: none;
148
+ font-size: $header-back-button-font-size;
149
+ line-height: $header-back-button-line-height;
150
+ padding: $header-back-button-padding;
151
+ }
152
+
153
+ &__tagline {
154
+ color: $header-tagline-color;
155
+ font-size: $header-tagline-font-size;
156
+ font-weight: $header-tagline-font-weight;
157
+ }
158
+
159
+ &__call {
160
+ color: $call-color;
161
+ font-size: $call-font-size;
162
+ font-weight: $call-font-weight;
163
+
164
+ .header__call-icon {
165
+ width: $call-icon-width-desktop;
166
+ }
167
+ }
168
+
169
+ &__call-link {
170
+ color: $call-link-color;
171
+ text-decoration: $call-link-text-decoration;
172
+ }
173
+
174
+ &__call-number {
175
+ font-weight: $call-number-font-weight;
176
+ }
177
+
178
+ &__call-icon {
179
+ width: $call-icon-width;
180
+ }
181
+
182
+ &__call-button {
183
+ align-self: $call-button-align-self;
184
+ background-color: $call-button-background-color;
185
+ border: $call-button-border;
186
+ border-radius: $call-button-border-radius;
187
+ color: $call-button-color;
188
+ display: $call-button-display;
189
+ font-size: $call-button-font-size;
190
+ font-weight: $call-button-font-weight;
191
+ margin: $call-button-margin;
192
+ padding: $call-button-padding;
193
+ text-transform: $call-button-text-transform;
194
+ transition: $call-button-transition;
195
+
196
+ &:hover,
197
+ &:focus {
198
+ color: $call-button-hover-color;
199
+ }
200
+ }
201
+ }
202
+
203
+ .callNowControls {
204
+ display: $callrail-display;
205
+ }
206
+
207
+ @include breakpoint-phone {
208
+ .header {
209
+ &--transparent {
210
+ background-color: transparent;
211
+ }
212
+
213
+ &--show-back-button {
214
+ padding: $header-show-button-padding;
215
+
216
+ .header__content {
217
+ min-height: $header-show-button-content-min-height;
218
+ }
219
+
220
+ .container {
221
+ padding: $header-show-button-container-padding;
222
+ }
223
+
224
+ .header__back-button {
225
+ flex: $header-show-button-button-flex;
226
+ }
227
+ .header__logo {
228
+ flex: $header-show-button-logo-flex;
229
+ text-align: center;
230
+ }
231
+ }
232
+ }
233
+
234
+ .form-in-progress {
235
+ .header--show-back-button {
236
+ .header__back-button {
237
+ display: block;
238
+ }
239
+ }
240
+ }
241
+ }
242
+
243
+ @include breakpoint-md {
244
+ .header {
245
+ padding: $header-padding-desktop;
246
+
247
+ &__content {
248
+ justify-content: $header-content-justify-content-desktop;
249
+ }
250
+
251
+ &__back-button {
252
+ display: none;
253
+ }
254
+
255
+ &__logo {
256
+ img, svg {
257
+ height: $header-logo-height-desktop;
258
+ margin: $header-logo-margin-desktop;
259
+ width: $header-logo-width-desktop;
260
+ }
261
+ }
262
+
263
+ &__secondary-logo {
264
+ padding-left: $header-secondary-logo-padding-left-desktop;
265
+
266
+ img, svg {
267
+ height: $header-secondary-logo-height-desktop;
268
+ width: $header-secondary-logo-width-desktop;
269
+ }
270
+
271
+ &:before {
272
+ left: $header-secondary-logo-divider-position-left-desktop;
273
+ }
274
+ }
275
+
276
+ &__bbb-logo {
277
+ height: $header-bbb-logo-height-desktop;
278
+ width: $header-bbb-logo-width-desktop;
279
+ }
280
+ }
281
+ }
282
+
283
+ @include breakpoint-lg {
284
+ .header {
285
+ &__call-button {
286
+ font-size: $call-button-font-size-desktop;
287
+ }
288
+ }
289
+ }
@@ -0,0 +1,66 @@
1
+ <header class="header{{#if this.header.attributes.class}} {{this.header.attributes.class}}{{/if}}{{#xif 'this.header.includeBackButton === true'}} header--show-back-button{{/xif}}" {{{addAttributes this.header 'class'}}}>
2
+ <div class="container">
3
+ <div class="header__content">
4
+ {{#xif "this.header.includeBackButton === true"}}
5
+ <button class="header__back-button" data-btn="back">
6
+ <i class="icon-caret-left">
7
+ <span class="visually-hidden">Back</span>
8
+ </i>
9
+ </button>
10
+ {{/xif}}
11
+ {{#if this.header.logo}}
12
+ <div class="header__logo">
13
+ {{ fileInclude 'src/accessible-components/picture/picture.html'
14
+ picture = this.header.logo.picture
15
+ }}
16
+ {{#if this.header.logo.secondaryLogo}}
17
+ <span class="header__secondary-logo">
18
+ {{ fileInclude 'src/accessible-components/picture/picture.html'
19
+ picture = this.header.logo.secondaryLogo.picture
20
+ }}
21
+ </span>
22
+ {{/if}}
23
+ </div>
24
+ {{/if}}
25
+ {{#if this.header.callRail}}
26
+ <div class="callNowControls">
27
+ {{#if this.header.callRail.showButtonSmallDevices}}
28
+ <div class="header__call hidden visible-lg-up">
29
+ {{#if this.header.callRail.picture}}
30
+ {{ fileInclude 'src/accessible-components/picture/picture.html'
31
+ picture = this.header.callRail.picture
32
+ class = 'header__call-icon'
33
+ }}
34
+ {{/if}}
35
+ {{{this.header.callRail.text}}}
36
+ <a class="header__call-link" href="tel:{{this.header.callRail.phoneNumber}}"><span class="header__call-number">{{this.header.callRail.phoneNumber}}</span></a>
37
+ </div>
38
+ {{/if}}
39
+ <a class="header__call-button {{#if this.header.callRail.showButtonSmallDevices}} visible-sm-down visible-md{{/if}}" href="tel:{{this.header.callRail.phoneNumber}}">
40
+ {{#if this.header.callRail.picture}}
41
+ {{ fileInclude 'src/accessible-components/picture/picture.html'
42
+ picture = this.header.callRail.picture
43
+ class = 'header__call-icon'
44
+ }}
45
+ {{/if}}
46
+ {{{this.header.callRail.mobileText}}}
47
+ </a>
48
+ </div>
49
+ {{/if}}
50
+ {{#if this.header.additionalLogos}}
51
+ <div class="header__additional-logos">
52
+ {{#each this.header.additionalLogos}}
53
+ {{ fileInclude 'src/accessible-components/picture/picture.html'
54
+ picture = this.picture
55
+ }}
56
+ {{/each}}
57
+ </div>
58
+ {{/if}}
59
+ {{#if this.header.tagline.text}}
60
+ <p class="header__tagline{{#if this.header.tagline.attributes.class}} {{this.header.tagline.attributes.class}}{{/if}}" {{{addAttributes this.header.tagline 'class'}}}>
61
+ {{{this.header.tagline.text}}}
62
+ </p>
63
+ {{/if}}
64
+ </div>
65
+ </div>
66
+ </header>