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,524 @@
1
+ $step-header-align-items: center !default;
2
+ $step-header-background-color: $color-charcoal6 !default;
3
+ $step-header-display: block !default;
4
+ $step-header-display-desktop: flex !default;
5
+ $step-header-flex-direction: column !default;
6
+ $step-header-justify-content: center !default;
7
+ $step-header-min-height-desktop: 90px !default;
8
+ $step-header-padding: 15px !default;
9
+ $step-header-padding-desktop: $step-header-padding !default;
10
+ $step-header-text-align: center !default;
11
+
12
+ $step-header-title-color: $color-white !default;
13
+ $step-header-title-font-size: 1.25rem !default;
14
+ $step-header-title-font-size-desktop: 1.5rem !default;
15
+ $step-header-title-font-weight: 400 !default;
16
+ $step-header-title-line-height: 1.25 !default;
17
+
18
+ $step-header-subtitle-color: $color-white !default;
19
+ $step-header-subtitle-font-size: .875rem !default;
20
+ $step-header-subtitle-font-size-desktop: 1rem !default;
21
+ $step-header-subtitle-font-weight: 700 !default;
22
+ $step-header-subtitle-line-height: 1.35 !default;
23
+ $step-header-subtitle-margin: 10px 0 0 !default;
24
+
25
+ $step-header-subtitle-list-color: $color-white !default;
26
+ $step-header-subtitle-list-font-size: .875rem !default;
27
+ $step-header-subtitle-list-font-weight: 400 !default;
28
+ $step-header-subtitle-list-icon: '\e920' !default;
29
+ $step-header-subtitle-list-icon-line-height: 1 !default;
30
+ $step-header-subtitle-list-icon-margin: 0 5px 0 0 !default;
31
+ $step-header-subtitle-list-line-height: 1.35 !default;
32
+ $step-header-subtitle-list-margin: 0 !default;
33
+
34
+ $step-content-padding: 30px 35px !default;
35
+ $step-content-padding-desktop: 40px 60px 60px !default;
36
+ $step-content-text-align: center !default;
37
+
38
+ $step-title-color: $color-charcoal8 !default;
39
+ $step-title-font-size: 1.375rem !default;
40
+ $step-title-font-size-desktop: 1.5rem !default;
41
+ $step-title-font-weight: 400 !default;
42
+ $step-title-line-height: 1.25 !default;
43
+ $step-title-margin: 0 0 25px !default;
44
+
45
+ $step-subtitle-color: $color-charcoal6 !default;
46
+ $step-subtitle-font-size: .875rem !default;
47
+ $step-subtitle-font-size-desktop: 1rem !default;
48
+ $step-subtitle-font-weight: 400 !default;
49
+ $step-subtitle-line-height: 1.35 !default;
50
+ $step-subtitle-margin: 0 !default;
51
+
52
+ $step-overview-border: 1px solid $color-charcoal1 !default;
53
+ $step-overview-color: $color-charcoal5 !default;
54
+ $step-overview-display: flex !default;
55
+ $step-overview-font-size: .8125rem !default;
56
+ $step-overview-justify-content: space-between !default;
57
+ $step-overview-letter-spacing: .1px !default;
58
+ $step-overview-line-height: 1.35 !default;
59
+ $step-overview-margin: 0 auto 25px !default;
60
+ $step-overview-padding: 8px 0 !default;
61
+ $step-overview-text-align: center !default;
62
+ $step-overview-width: 100% !default;
63
+
64
+ $step-overview-number-background: $step-overview-color !default;
65
+ $step-overview-number-color: $color-white !default;
66
+ $step-overview-number-font-size: .875rem !default;
67
+ $step-overview-number-font-weight: 700 !default;
68
+ $step-overview-number-height: 22px !default;
69
+ $step-overview-number-line-height: $step-overview-number-height !default;
70
+ $step-overview-number-margin-right: 5px !default;
71
+ $step-overview-number-width: $step-overview-number-height !default;
72
+
73
+ $step-fields-width: 100%;
74
+
75
+ $step-extra-initial-display: none !default;
76
+
77
+ $step-secure-text-include-border-background-color: $color-ivory5 !default;
78
+ $step-secure-text-include-border-border: 1px solid $color-charcoal1 !default;
79
+ $step-secure-text-include-border-padding: 4px 6px !default;
80
+ $step-secure-text-color: $color-charcoal5 !default;
81
+ $step-secure-text-display: inline-block !default;
82
+ $step-secure-text-font-size: .875rem !default;
83
+ $step-secure-text-font-weight: 700 !default;
84
+ $step-secure-text-margin: 5px auto !default;
85
+
86
+ $step-focus-outline: 1px solid rgba($color-charcoal4, .5) !default;
87
+ $step-focus-outline-offset: -2px !default;
88
+
89
+ // First Step
90
+ $first-step-content-align-items-desktop: center !default;
91
+ $first-step-content-display-desktop: flex !default;
92
+ $first-step-content-flex-direction-desktop: column !default;
93
+ $first-step-content-justify-content-desktop: center !default;
94
+ $first-step-content-min-height-desktop: 380px !default;
95
+ $first-step-button-max-width: 200px !default;
96
+ $first-step-button-margin: 10px auto !default;
97
+ $first-step-fields-margin: 0 auto !default;
98
+ $first-step-fields-max-width: 280px !default;
99
+
100
+ // Form Groups
101
+ $form-position: relative !default;
102
+ $form-group-legend-color: $step-title-color !default;
103
+ $form-group-legend-font-size: $step-title-font-size !default;
104
+ $form-group-legend-font-size-desktop: $step-title-font-size-desktop !default;
105
+ $form-group-legend-font-weight: $step-title-font-weight !default;
106
+ $form-group-legend-line-height: $step-title-line-height !default;
107
+ $form-group-legend-margin: $step-title-margin !default;
108
+ $form-group-legend-padding: 0 !default;
109
+
110
+ $form-group-margin: 0 !default;
111
+ $form-group-label-color: $color-charcoal5 !default;
112
+ $form-group-label-font-size: 1rem !default;
113
+ $form-group-label-font-size-desktop: 1.125rem !default;
114
+ $form-group-label-font-weight: normal !default;
115
+ $form-group-label-margin: 10px 0 15px !default;
116
+
117
+ $form-group-label-in-input-cursor: text !default;
118
+ $form-group-label-in-input-top-position: 17px !default;
119
+ $form-group-label-in-input-left-position: 15px !default;
120
+ $form-group-label-in-input-z-index: -1 !default;
121
+
122
+ $form-group-error-message-color: $color-a11y-red !default;
123
+ $form-group-error-message-font-size: .875rem !default;
124
+ $form-group-error-message-margin: -10px 0 10px 2px !default;
125
+ $form-group-error-message-padding: 0 !default;
126
+ $form-group-error-message-text-align: left !default;
127
+
128
+ $form-group-city-state-color: $color-charcoal4 !default;
129
+ $form-group-city-state-font-size: .75rem !default;
130
+ $form-group-city-state-font-weight: bold !default;
131
+ $form-group-city-state-margin: -10px 0 0 !default;
132
+ $form-group-city-state-padding: 0 2px 0 0 !default;
133
+ $form-group-city-state-text-align: right !default;
134
+
135
+ $form-group-note-color: $color-charcoal4 !default;
136
+ $form-group-note-font-size: .75rem !default;
137
+ $form-group-note-font-style: italic !default;
138
+ $form-group-note-margin: -7px 0 0 !default;
139
+
140
+ $form-inprogress-min-height: 510px !default;
141
+ $step-inprogress-content-padding-desktop: $step-content-padding-desktop !default;
142
+ $step-inprogress-content-padding-lg: 60px 40px 40px !default;
143
+ $step-inprogress-content-padding-xl: 70px 60px 60px !default;
144
+
145
+ $form-inprogress-top-section-padding: 30px 35px 0 !default;
146
+ $form-inprogress-top-section-padding-desktop: 40px 60px 0 !default;
147
+ $form-inprogress-bottom-section-padding-desktop: 0 60px 60px !default;
148
+ $form-inprogress-top-section-padding-lg: 60px 40px 0 !default;
149
+ $form-inprogress-bottom-section-padding-lg: 0 40px 40px !default;
150
+ $form-inprogress-top-section-padding-xl: 70px 60px 0 !default;
151
+ $form-inprogress-bottom-section-padding-xl: 0 60px 60px !default;
152
+
153
+ .step {
154
+ flex: 0 0 100%;
155
+
156
+ /* Step Header */
157
+ &__header {
158
+ background-color: $step-header-background-color;
159
+ display: $step-header-display;
160
+ padding: $step-header-padding;
161
+ text-align: $step-header-text-align;
162
+ }
163
+
164
+ &__header-title {
165
+ color: $step-header-title-color;
166
+ font-size: $step-header-title-font-size;
167
+ font-weight: $step-header-title-font-weight;
168
+ line-height: $step-header-title-line-height;
169
+ }
170
+
171
+ &__header-subtitle {
172
+ color: $step-header-subtitle-color;
173
+ font-size: $step-header-subtitle-font-size;
174
+ font-weight: $step-header-subtitle-font-weight;
175
+ line-height: $step-header-subtitle-line-height;
176
+ margin: $step-header-subtitle-margin;
177
+ }
178
+
179
+ &__header-subtitle-list {
180
+ list-style: none;
181
+ margin: $step-header-subtitle-list-margin;
182
+ padding-left: 0;
183
+
184
+ li {
185
+ color: $step-header-subtitle-list-color;
186
+ font-size: $step-header-subtitle-list-font-size;
187
+ font-weight: $step-header-subtitle-list-font-weight;
188
+ line-height: $step-header-subtitle-list-line-height;
189
+
190
+ &:before {
191
+ content: $step-header-subtitle-list-icon;
192
+ display: inline-block;
193
+ font-family: modicons-fill;
194
+ font-style: normal;
195
+ font-variant: normal;
196
+ font-weight: 400;
197
+ line-height: $step-header-subtitle-list-icon-line-height;
198
+ margin: $step-header-subtitle-list-icon-margin;
199
+ text-transform: none;
200
+ }
201
+ }
202
+ }
203
+
204
+ /* Step Content */
205
+ &__content {
206
+ padding: $step-content-padding;
207
+ text-align: $step-content-text-align;
208
+ }
209
+
210
+ &__title {
211
+ color: $step-title-color;
212
+ font-size: $step-title-font-size;
213
+ font-weight: $step-title-font-weight;
214
+ line-height: $step-title-line-height;
215
+ margin: $step-title-margin;
216
+ }
217
+
218
+ &__subtitle {
219
+ color: $step-subtitle-color;
220
+ font-size: $step-subtitle-font-size;
221
+ font-weight: $step-subtitle-font-weight;
222
+ line-height: $step-subtitle-line-height;
223
+ margin: $step-subtitle-margin;
224
+ }
225
+
226
+ &__overview {
227
+ border-bottom: $step-overview-border;
228
+ border-top: $step-overview-border;
229
+ color: $step-overview-color;
230
+ display: $step-overview-display;
231
+ font-size: $step-overview-font-size;
232
+ justify-content: $step-overview-justify-content;
233
+ letter-spacing: $step-overview-letter-spacing;
234
+ line-height: $step-overview-line-height;
235
+ margin: $step-overview-margin;
236
+ padding: $step-overview-padding;
237
+ text-align: $step-overview-text-align;
238
+ width: $step-overview-width;
239
+
240
+ span {
241
+ padding: 0;
242
+ }
243
+ }
244
+
245
+ &__overview-number {
246
+ background: $step-overview-number-background;
247
+ border-radius: 100%;
248
+ color: $step-overview-number-color;
249
+ display: inline-block;
250
+ font-size: $step-overview-number-font-size;
251
+ font-weight: $step-overview-number-font-weight;
252
+ height: $step-overview-number-height;
253
+ line-height: $step-overview-number-line-height;
254
+ margin-right: $step-overview-number-margin-right;
255
+ text-align: center;
256
+ width: $step-overview-number-width;
257
+ }
258
+
259
+ &__fields {
260
+ width: $step-fields-width;
261
+ }
262
+
263
+ &__secure-text {
264
+ color: $step-secure-text-color;
265
+ display: $step-secure-text-display;
266
+ font-size: $step-secure-text-font-size;
267
+ font-weight: $step-secure-text-font-weight;
268
+ margin: $step-secure-text-margin;
269
+
270
+ &--border {
271
+ background-color: $step-secure-text-include-border-background-color;
272
+ border: $step-secure-text-include-border-border;
273
+ padding: $step-secure-text-include-border-padding;
274
+ }
275
+ }
276
+
277
+ &__extra {
278
+ display: $step-extra-initial-display;
279
+ }
280
+
281
+ &--first {
282
+ .step__fields {
283
+ margin: $first-step-fields-margin;
284
+ max-width: $first-step-fields-max-width;
285
+ }
286
+
287
+ .btn--primary {
288
+ max-width: $first-step-button-max-width;
289
+ }
290
+ }
291
+
292
+ &:focus {
293
+ outline: $step-focus-outline;
294
+ outline-offset: $step-focus-outline-offset;
295
+ }
296
+ }
297
+
298
+ .form {
299
+ position: $form-position;
300
+
301
+ &--disable-step-focus {
302
+ .step:focus {
303
+ outline: none;
304
+ outline-offset: 0;
305
+ }
306
+ }
307
+ }
308
+
309
+ .form-group {
310
+ margin: $form-group-margin;
311
+
312
+ legend {
313
+ color: $form-group-legend-color;
314
+ font-size: $form-group-legend-font-size;
315
+ font-weight: $form-group-legend-font-weight;
316
+ line-height: $form-group-legend-line-height;
317
+ margin: $form-group-legend-margin;
318
+ padding: $form-group-legend-padding;
319
+ }
320
+
321
+ &__label {
322
+ color: $form-group-label-color;
323
+ font-size: $form-group-label-font-size;
324
+ font-weight: $form-group-label-font-weight;
325
+ margin: $form-group-label-margin;
326
+ }
327
+
328
+ &__error-message {
329
+ color: $form-group-error-message-color;
330
+ font-size: $form-group-error-message-font-size;
331
+ display: none;
332
+ margin: $form-group-error-message-margin;
333
+ padding: $form-group-error-message-padding;
334
+ text-align: $form-group-error-message-text-align;
335
+ }
336
+
337
+ &__label-input {
338
+ color: $form-group-label-color;
339
+ cursor: $form-group-label-in-input-cursor;
340
+ font-size: $form-group-label-font-size;
341
+ font-weight: $form-group-label-font-weight;
342
+ left: $form-group-label-in-input-left-position;
343
+ position: absolute;
344
+ top: $form-group-label-in-input-top-position;
345
+ transition: color 200ms ease-in-out, font-size 200ms ease-in-out;
346
+ user-select: none;
347
+ z-index: $form-group-label-in-input-z-index;
348
+ }
349
+
350
+ &__city-state {
351
+ color: $form-group-city-state-color;
352
+ font-size: $form-group-city-state-font-size;
353
+ font-weight: $form-group-city-state-font-weight;
354
+ margin: $form-group-city-state-margin;
355
+ padding: $form-group-city-state-padding;
356
+ text-align: $form-group-city-state-text-align;
357
+ }
358
+
359
+ &__note {
360
+ color: $form-group-note-color;
361
+ display: inline-block;
362
+ font-size: $form-group-note-font-size;
363
+ font-style: $form-group-note-font-style;
364
+ margin: $form-group-note-margin;
365
+ }
366
+ }
367
+
368
+ .has-error {
369
+ .form-group__error-message {
370
+ display: block;
371
+ }
372
+
373
+ .form-group__label-input {
374
+ color: $form-group-error-message-color;
375
+ }
376
+
377
+ &:focus-within {
378
+ .form-group__label-input {
379
+ color: $form-group-error-message-color;
380
+ }
381
+ }
382
+ }
383
+
384
+ .swiper--dynamic-step-height {
385
+ .step {
386
+ .step-inner {
387
+ max-height: 0;
388
+ opacity: 0;
389
+ transition: opacity 250ms 250ms ease-in;
390
+ }
391
+
392
+ &--active .step-inner {
393
+ max-height: 999px;
394
+ opacity: 1;
395
+ }
396
+ }
397
+ }
398
+
399
+ .disableAutofill {
400
+ .step-inner {
401
+ visibility: hidden;
402
+ }
403
+
404
+ .step--active {
405
+ .step-inner {
406
+ visibility: visible;
407
+ }
408
+ }
409
+ }
410
+
411
+ .form-in-progress {
412
+ .form__top-section {
413
+ padding: $form-inprogress-top-section-padding;
414
+ }
415
+ }
416
+
417
+ @include breakpoint-md {
418
+ .step {
419
+ /* Step Header */
420
+ &__header {
421
+ align-items: $step-header-align-items;
422
+ display: $step-header-display-desktop;
423
+ flex-direction: $step-header-flex-direction;
424
+ justify-content: $step-header-justify-content;
425
+ min-height: $step-header-min-height-desktop;
426
+ padding: $step-header-padding-desktop;
427
+ }
428
+
429
+ &__header-title{
430
+ font-size: $step-header-title-font-size-desktop;
431
+ }
432
+
433
+ &__header-subtitle {
434
+ font-size: $step-header-subtitle-font-size-desktop;
435
+ }
436
+
437
+ /* Step Content */
438
+ &__content {
439
+ padding: $step-content-padding-desktop;
440
+ }
441
+
442
+ &--first {
443
+ .step__content {
444
+ align-items: $first-step-content-align-items-desktop;
445
+ display: $first-step-content-display-desktop;
446
+ flex-direction: $first-step-content-flex-direction-desktop;
447
+ justify-content: $first-step-content-justify-content-desktop;
448
+ min-height: $first-step-content-min-height-desktop;
449
+ }
450
+ }
451
+
452
+ &__title {
453
+ font-size: $step-title-font-size-desktop;
454
+ }
455
+
456
+ &__subtitle {
457
+ font-size: $step-subtitle-font-size-desktop;
458
+ }
459
+ }
460
+
461
+ .form-group {
462
+ legend {
463
+ font-size: $form-group-legend-font-size-desktop;
464
+ }
465
+
466
+ &__label {
467
+ font-size: $form-group-label-font-size-desktop;
468
+ }
469
+
470
+ &__label-input {
471
+ font-size: $form-group-label-font-size-desktop;
472
+ }
473
+ }
474
+
475
+ .form-in-progress {
476
+ .step__content {
477
+ padding: $step-inprogress-content-padding-desktop;
478
+ }
479
+
480
+ .form__top-section {
481
+ padding: $form-inprogress-top-section-padding-desktop;
482
+ }
483
+
484
+ .form__bottom-section {
485
+ padding: $form-inprogress-bottom-section-padding-desktop
486
+ }
487
+ }
488
+ }
489
+
490
+ @include breakpoint-lg {
491
+ .form-in-progress {
492
+ .swiper--form {
493
+ min-height: $form-inprogress-min-height;
494
+ }
495
+
496
+ .step__content {
497
+ padding: $step-inprogress-content-padding-lg;
498
+ }
499
+
500
+ .form__top-section {
501
+ padding: $form-inprogress-top-section-padding-lg;
502
+ }
503
+
504
+ .form__bottom-section {
505
+ padding: $form-inprogress-bottom-section-padding-lg
506
+ }
507
+ }
508
+ }
509
+
510
+ @include breakpoint-xl {
511
+ .form-in-progress {
512
+ .step__content {
513
+ padding: $step-inprogress-content-padding-xl;
514
+ }
515
+
516
+ .form__top-section {
517
+ padding: $form-inprogress-top-section-padding-xl;
518
+ }
519
+
520
+ .form__bottom-section {
521
+ padding: $form-inprogress-bottom-section-padding-xl
522
+ }
523
+ }
524
+ }
@@ -0,0 +1,109 @@
1
+ {
2
+ "zip": {
3
+ "fieldType": "input",
4
+ "attributes": {
5
+ "name": "zip",
6
+ "id": "zip",
7
+ "type": "text",
8
+ "pattern": "[0-9]*",
9
+ "placeholder": "Enter Zip Code",
10
+ "maxlength": "5",
11
+ "data": {
12
+ "required": "zip"
13
+ }
14
+ },
15
+ "errorMessage": "Please enter a valid zip code.",
16
+ "labelInInput": "Zip Code"
17
+ },
18
+ "firstName": {
19
+ "fieldType": "input",
20
+ "attributes": {
21
+ "name": "firstName",
22
+ "id": "firstName",
23
+ "type": "text",
24
+ "placeholder": "First Name",
25
+ "maxlength": "30",
26
+ "data": {
27
+ "required": "name",
28
+ "name-min": "2"
29
+ }
30
+ },
31
+ "errorMessage": "Please enter a valid first name.",
32
+ "labelInInput": "First Name"
33
+ },
34
+ "lastName": {
35
+ "fieldType": "input",
36
+ "attributes": {
37
+ "name": "lastName",
38
+ "id": "lastName",
39
+ "type": "text",
40
+ "placeholder": "Last Name",
41
+ "maxlength": "30",
42
+ "data": {
43
+ "required": "name",
44
+ "name-min": "2"
45
+ }
46
+ },
47
+ "errorMessage": "Please enter a valid last name.",
48
+ "labelInInput": "Last Name"
49
+ },
50
+ "zip1": {
51
+ "fieldType": "input",
52
+ "attributes": {
53
+ "name": "zip1",
54
+ "id": "zip1",
55
+ "type": "text",
56
+ "pattern": "[0-9]*",
57
+ "placeholder": "Enter Zip Code",
58
+ "maxlength": "5",
59
+ "data": {
60
+ "required": "zip"
61
+ }
62
+ },
63
+ "errorMessage": "Please enter a valid zip code.",
64
+ "labelInInput": "Zip Code"
65
+ },
66
+ "homePhone": {
67
+ "fieldType": "input",
68
+ "attributes": {
69
+ "name": "homePhone",
70
+ "id": "homePhone",
71
+ "type": "tel",
72
+ "placeholder": "Phone Number",
73
+ "maxlength": "14",
74
+ "data": {
75
+ "required": "phone"
76
+ }
77
+ },
78
+ "errorMessage": "Please enter a valid phone number.",
79
+ "labelInInput": "Phone Number"
80
+ },
81
+ "email": {
82
+ "fieldType": "input",
83
+ "attributes": {
84
+ "name": "email",
85
+ "id": "email",
86
+ "type": "email",
87
+ "placeholder": "Email",
88
+ "data": {
89
+ "required": "email"
90
+ }
91
+ },
92
+ "errorMessage": "Please enter a valid email address.",
93
+ "labelInInput": "Email Address"
94
+ },
95
+ "address": {
96
+ "fieldType": "input",
97
+ "attributes": {
98
+ "name": "address",
99
+ "id": "address",
100
+ "type": "text",
101
+ "placeholder": "123 Your St.",
102
+ "data": {
103
+ "required": "address"
104
+ }
105
+ },
106
+ "errorMessage": "Please enter a valid address.",
107
+ "labelInInput": "Address"
108
+ }
109
+ }
@@ -0,0 +1,33 @@
1
+ {{#xif "this.stepFields.fieldType === 'radio'"}}
2
+ {{ fileInclude 'src/accessible-components/radio-button/radio-button.html'
3
+ field = this.stepFields
4
+ }}
5
+ {{/xif}}
6
+ {{#xif "this.stepFields.fieldType === 'input'"}}
7
+ {{ fileInclude 'src/accessible-components/input/input.html'
8
+ field = this.stepFields
9
+ }}
10
+ {{/xif}}
11
+ {{#xif "this.stepFields.fieldType === 'textarea'"}}
12
+ {{ fileInclude 'src/accessible-components/input/textarea.html'
13
+ field = this.stepFields
14
+ }}
15
+ {{/xif}}
16
+ {{#xif "this.stepFields.fieldType === 'select'"}}
17
+ {{ fileInclude 'src/accessible-components/select/select.html'
18
+ field = this.stepFields
19
+ }}
20
+ {{/xif}}
21
+ {{#xif "this.stepFields.fieldType === 'checkbox'"}}
22
+ {{ fileInclude 'src/accessible-components/checkbox/checkbox.html'
23
+ field = this.stepFields
24
+ }}
25
+ {{/xif}}
26
+ {{#xif "this.stepFields.fieldType === 'zip-control'"}}
27
+ {{ fileInclude 'src/accessible-components/zip-control/zip-control.html'
28
+ field = this.stepFields
29
+ }}
30
+ {{/xif}}
31
+ {{#xif "this.stepFields.fieldType == 'utility-providers'"}}
32
+ <div class="utility-provider-wrapper"></div>
33
+ {{/xif}}