mod-build 4.0.21 → 4.0.22-beta.2

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 (164) hide show
  1. package/CHANGELOG.md +4 -0
  2. package/package.json +1 -1
  3. package/public/resources/scripts/abandonment/abandonment-1df90ee155f6c0893d90.min.js +2 -0
  4. package/public/resources/scripts/abandonment/abandonment.min.js +2 -0
  5. package/public/resources/scripts/callrail/callrail-5c7c537f04af468600cf.min.js +2 -0
  6. package/public/resources/scripts/callrail/callrail.min.js +2 -0
  7. package/public/resources/scripts/footer/footer-component-7b5e263f64568573ecc0.min.js +2 -0
  8. package/public/resources/scripts/footer/footer-component.min.js +2 -0
  9. package/public/resources/scripts/helpers/initNumericOnlyFields.min.js +2 -0
  10. package/public/resources/scripts/helpers/initNumericOnlyFields.min.js.map +1 -0
  11. package/public/resources/scripts/helpers/isZipCodeValid.min.js +2 -0
  12. package/public/resources/scripts/helpers/isZipCodeValid.min.js.map +1 -0
  13. package/public/resources/scripts/jornaya.hbs +35 -0
  14. package/public/resources/scripts/jornaya.html +35 -0
  15. package/public/resources/scripts/mod-alytics/modalytics-0ac7d7a5a72ea67a0f47.min.js +2 -0
  16. package/public/resources/scripts/mod-alytics/modalytics.min.js +2 -0
  17. package/public/resources/scripts/mod-form/form/homeowner-62292fdc874b2d2f5c82.min.js +2 -0
  18. package/public/resources/scripts/mod-form/form/homeowner.min.js +2 -0
  19. package/public/resources/scripts/mod-utils/modutils-15069d7b728a555fb3f7.min.js +2 -0
  20. package/public/resources/scripts/mod-utils/modutils.min.js +2 -0
  21. package/public/resources/scripts/trusted-form.hbs +38 -0
  22. package/public/resources/scripts/trusted-form.html +38 -0
  23. package/public/resources/styles/components/abandonment/abandonment-a8571a9e32ed6ef9acb4.min.css +1 -0
  24. package/public/resources/styles/components/abandonment/abandonment.min.css +1 -0
  25. package/public/resources/styles/components/footer/mod-footer-1fb2cec3278f29df57d0.min.css +1 -0
  26. package/public/resources/styles/components/footer/mod-footer.min.css +1 -0
  27. package/public/resources/styles/components/footer/qs-footer-9a3b0ab00428b03e6e9e.min.css +1 -0
  28. package/public/resources/styles/components/footer/qs-footer.min.css +1 -0
  29. package/src/accessible-components/button/_button.scss +319 -0
  30. package/src/accessible-components/button/back-button.html +8 -0
  31. package/src/accessible-components/button/button.html +17 -0
  32. package/src/accessible-components/carousel/_carousel.scss +112 -0
  33. package/src/accessible-components/carousel/carousel.html +25 -0
  34. package/src/accessible-components/carousel/carousel.js +3426 -0
  35. package/src/accessible-components/carousel/carousel.js.map +1 -0
  36. package/src/accessible-components/carousel/carousel.min.js +6 -0
  37. package/src/accessible-components/carousel/carousel.min.js.map +1 -0
  38. package/src/accessible-components/checkbox/_checkbox.scss +153 -0
  39. package/src/accessible-components/checkbox/checkbox-group.html +18 -0
  40. package/src/accessible-components/checkbox/checkbox.html +8 -0
  41. package/src/accessible-components/expand-collapse/_expand-collapse.scss +129 -0
  42. package/src/accessible-components/expand-collapse/expand-collapse.html +14 -0
  43. package/src/accessible-components/expand-collapse/expand-collapse.js +52 -0
  44. package/src/accessible-components/expand-collapse/expand-collapse.min.js +2 -0
  45. package/src/accessible-components/expand-collapse/expand-collapse.min.js.map +1 -0
  46. package/src/accessible-components/featured-block/_featured-block.scss +221 -0
  47. package/src/accessible-components/featured-block/featured-block.html +54 -0
  48. package/src/accessible-components/foot-assets/foot-assets.html +112 -0
  49. package/src/accessible-components/footer/footer.html +2 -0
  50. package/src/accessible-components/gtm-body/gtm-body.html +4 -0
  51. package/src/accessible-components/head/head.html +187 -0
  52. package/src/accessible-components/header/_header.scss +289 -0
  53. package/src/accessible-components/header/header.html +66 -0
  54. package/src/accessible-components/hero/_hero.scss +405 -0
  55. package/src/accessible-components/hero/hero.html +53 -0
  56. package/src/accessible-components/how-it-works/_how-it-works.scss +217 -0
  57. package/src/accessible-components/how-it-works/how-it-works-carousel.html +12 -0
  58. package/src/accessible-components/how-it-works/how-it-works-static.html +12 -0
  59. package/src/accessible-components/how-it-works/how-it-works.html +14 -0
  60. package/src/accessible-components/information/_information.scss +96 -0
  61. package/src/accessible-components/information/information.html +32 -0
  62. package/src/accessible-components/input/_input.scss +204 -0
  63. package/src/accessible-components/input/input.html +22 -0
  64. package/src/accessible-components/input/textarea.html +9 -0
  65. package/src/accessible-components/partners/_partners.scss +234 -0
  66. package/src/accessible-components/partners/partners.html +56 -0
  67. package/src/accessible-components/picture/picture.html +19 -0
  68. package/src/accessible-components/preloader/_preloader.scss +61 -0
  69. package/src/accessible-components/preloader/preloader.html +23 -0
  70. package/src/accessible-components/progress-bar/_progress-bar.scss +140 -0
  71. package/src/accessible-components/progress-bar/progress-bar.html +21 -0
  72. package/src/accessible-components/progress-bar/progress-bar.js +37 -0
  73. package/src/accessible-components/progress-bar/progress-bar.min.js +2 -0
  74. package/src/accessible-components/progress-bar/progress-bar.min.js.map +1 -0
  75. package/src/accessible-components/radio-button/_radio-button.scss +586 -0
  76. package/src/accessible-components/radio-button/radio-button.html +33 -0
  77. package/src/accessible-components/reviews/_reviews.scss +180 -0
  78. package/src/accessible-components/reviews/reviews-carousel.html +12 -0
  79. package/src/accessible-components/reviews/reviews-static.html +12 -0
  80. package/src/accessible-components/reviews/reviews.html +37 -0
  81. package/src/accessible-components/select/_select.scss +87 -0
  82. package/src/accessible-components/select/select.html +10 -0
  83. package/src/accessible-components/steps/_steps.scss +640 -0
  84. package/src/accessible-components/steps/defaultFormFieldConfig.json +109 -0
  85. package/src/accessible-components/steps/step-fields.html +38 -0
  86. package/src/accessible-components/steps/steps.html +168 -0
  87. package/src/accessible-components/tcpa/_tcpa.scss +49 -0
  88. package/src/accessible-components/tcpa/tcpa.html +9 -0
  89. package/src/accessible-components/tile/_tile.scss +117 -0
  90. package/src/accessible-components/tile/tile.html +14 -0
  91. package/src/accessible-components/value-props/_value-props.scss +102 -0
  92. package/src/accessible-components/value-props/value-props.html +17 -0
  93. package/src/accessible-components/zip-control/_zip-control.scss +79 -0
  94. package/src/accessible-components/zip-control/zip-control.html +10 -0
  95. package/src/resources/data/tcpa.json +4 -0
  96. package/src/resources/templates/modals/about/index.hbs +9 -0
  97. package/src/resources/templates/modals/about/index.html +9 -0
  98. package/src/resources/templates/modals/contact-us/index.hbs +348 -0
  99. package/src/resources/templates/modals/contact-us/index.html +348 -0
  100. package/src/resources/templates/modals/faq/index.hbs +9 -0
  101. package/src/resources/templates/modals/faq/index.html +9 -0
  102. package/src/resources/templates/modals/privacy/index.hbs +236 -0
  103. package/src/resources/templates/modals/privacy/index.html +236 -0
  104. package/src/resources/templates/modals/terms/index.hbs +166 -0
  105. package/src/resources/templates/modals/terms/index.html +166 -0
  106. package/src/shared-components/card-button/_card-button.scss +49 -0
  107. package/src/shared-components/card-button/card-button.html +9 -0
  108. package/src/shared-components/carousel/_carousel.scss +106 -0
  109. package/src/shared-components/carousel/carousel.html +22 -0
  110. package/src/shared-components/carousel/carousel.js +3574 -0
  111. package/src/shared-components/carousel/carousel.js.map +1 -0
  112. package/src/shared-components/carousel/carousel.min.js +6 -0
  113. package/src/shared-components/carousel/carousel.min.js.map +1 -0
  114. package/src/shared-components/carousel/carousel.min.min.js +6 -0
  115. package/src/shared-components/carousel/carousel.min.min.js.map +1 -0
  116. package/src/shared-components/checkbox/_checkbox.scss +125 -0
  117. package/src/shared-components/checkbox/checkbox.html +10 -0
  118. package/src/shared-components/expand-collapse/_expand-collapse.scss +93 -0
  119. package/src/shared-components/expand-collapse/expand-collapse.html +8 -0
  120. package/src/shared-components/expand-collapse/expand-collapse.js +40 -0
  121. package/src/shared-components/expand-collapse/expand-collapse.min.js +2 -0
  122. package/src/shared-components/expand-collapse/expand-collapse.min.js.map +1 -0
  123. package/src/shared-components/featured-block/_featured-block.scss +191 -0
  124. package/src/shared-components/featured-block/featured-block.html +80 -0
  125. package/src/shared-components/foot-assets/foot-assets.html +107 -0
  126. package/src/shared-components/form-tcpa/form-tcpa.html +12 -0
  127. package/src/shared-components/gtm-body/gtm-body.html +4 -0
  128. package/src/shared-components/head/head.html +192 -0
  129. package/src/shared-components/header/_header.scss +200 -0
  130. package/src/shared-components/header/header.html +73 -0
  131. package/src/shared-components/hero/_hero.scss +253 -0
  132. package/src/shared-components/hero/hero.html +126 -0
  133. package/src/shared-components/how-it-works/_how-it-works.scss +138 -0
  134. package/src/shared-components/how-it-works/how-it-works.html +19 -0
  135. package/src/shared-components/input/_input.scss +242 -0
  136. package/src/shared-components/input/input.html +30 -0
  137. package/src/shared-components/preloader/_preloader.scss +61 -0
  138. package/src/shared-components/preloader/preloader.html +49 -0
  139. package/src/shared-components/progress-bar/_progress-bar.scss +142 -0
  140. package/src/shared-components/progress-bar/progress-bar.html +20 -0
  141. package/src/shared-components/progress-bar/progress-bar.js +25 -0
  142. package/src/shared-components/progress-bar/progress-bar.min.js +2 -0
  143. package/src/shared-components/progress-bar/progress-bar.min.js.map +1 -0
  144. package/src/shared-components/radio-button/_radio-button.scss +554 -0
  145. package/src/shared-components/radio-button/radio-button.html +25 -0
  146. package/src/shared-components/reviews/_reviews.scss +79 -0
  147. package/src/shared-components/reviews/reviews.html +27 -0
  148. package/src/shared-components/select/_select.scss +61 -0
  149. package/src/shared-components/select/select.html +8 -0
  150. package/src/shared-components/steps/_steps.scss +414 -0
  151. package/src/shared-components/steps/defaultFormFieldConfig.json +64 -0
  152. package/src/shared-components/steps/step-fields.html +36 -0
  153. package/src/shared-components/steps/steps.html +131 -0
  154. package/src/shared-components/textarea/_textarea.scss +96 -0
  155. package/src/shared-components/textarea/textarea.html +13 -0
  156. package/src/shared-components/theme-toggle/_theme-toggle.scss +68 -0
  157. package/src/shared-components/theme-toggle/theme-toggle.html +34 -0
  158. package/src/shared-components/tile/_tile.scss +117 -0
  159. package/src/shared-components/tile/tile.html +27 -0
  160. package/src/shared-components/value-props/_value-props.scss +98 -0
  161. package/src/shared-components/value-props/value-props.html +17 -0
  162. package/src/shared-components/zip-control/_zip-control.scss +42 -0
  163. package/src/shared-components/zip-control/zip-control.html +21 -0
  164. package/tasks/grab-shared-scripts.js +11 -1
@@ -0,0 +1,242 @@
1
+ $form-input-bg-color: $color-white !default;
2
+ $form-input-border: 1px solid $color-charcoal1 !default;
3
+ $form-input-border-radius: 4px !default;
4
+ $form-input-box-shadow: inset 2px 1px 2px 0 rgba($color-black, .08), inset -2px 0px 2px 0 rgba($color-black, .08) !default;
5
+ $form-input-color: $color-charcoal5 !default;
6
+ $form-input-font-size: 16px !default;
7
+ $form-input-font-weight: 400 !default;
8
+ $form-input-height: 48px !default;
9
+ $form-input-line-height: 1.1875 !default;
10
+ $form-input-margin: 0 0 15px !default;
11
+ $form-input-padding: 15px !default;
12
+ $form-input-placeholder-color: $color-charcoal2 !default;
13
+ $form-input-placeholder-color-desktop: $form-input-placeholder-color !default;
14
+ $form-input-transition-time: .15s !default;
15
+ $form-input-zip-width: 200px !default;
16
+
17
+ $form-input-focus-bg-color: $form-input-bg-color !default;
18
+ $form-input-focus-border: 1px solid $color-charcoal2 !default;
19
+
20
+ $form-group-includes-label-background-color: transparent !default;
21
+ $form-group-label-in-input-color: $color-charcoal5 !default;
22
+ $form-group-label-in-input-focus-color: $color-blue5 !default;
23
+ $form-group-label-in-input-focus-font-size: 12px !default;
24
+ $form-group-label-in-input-focus-font-weight: 600 !default;
25
+ $form-group-label-in-input-focus-top-position: 5px !default;
26
+ $form-group-label-in-input-error-color: $color-red5 !default;
27
+ $form-group-label-in-input-focus-z-index: 0 !default;
28
+
29
+ $form-group-label-wrapper-display: block !default;
30
+ $form-group-label-centered-padding: 0 !default;
31
+
32
+ $form-input-error-color: $color-red5 !default;
33
+ $form-input-error-border: 1px solid $form-input-error-color !default;
34
+ $form-input-error-box-shadow: inset 0 1px 1px rgba($color-black, .08) !default;
35
+ $form-input-error-focus-border-color: #E34B2B !default;
36
+ $form-input-error-focus-box-shadow: inset 0 1px 1px rgba($color-black, .08), 0 0 6px #F5BEB2 !default;
37
+ $form-input-icon-error-bg-color: $color-red2 !default;
38
+ $form-input-icon-error-color: $color-red5 !default;
39
+ $form-input-group-error-border-width: 0 !default;
40
+ $form-input-group-input-error-border: $form-input-error-border !default;
41
+
42
+ $form-input-icon-bg-color: transparent !default;
43
+ $form-input-icon-box-shadow: inset 2px 1px 2px 0 rgba($color-black, .08) !default;
44
+ $form-input-icon-color: $color-charcoal1 !default;
45
+ $form-input-icon-focus-color: $form-input-icon-color !default;
46
+ $form-input-icon-width: 44px !default;
47
+ $form-input-group-input-box-shadow: inset -2px 1px 2px 0 rgba($color-black, .08) !default;
48
+ $form-input-group-width: 100% !default;
49
+
50
+ .form-input-group {
51
+ &--icon {
52
+ border: $form-input-border;
53
+ border-radius: $form-input-border-radius;
54
+ display: inline-flex;
55
+ margin: $form-input-margin;
56
+ width: $form-input-group-width;
57
+
58
+ &:focus-within {
59
+ border: $form-input-focus-border;
60
+ box-shadow: none;
61
+
62
+ .form-input-group__icon {
63
+ box-shadow: none;
64
+ }
65
+ }
66
+
67
+ &:has(.form-input-group--includes-label) {
68
+ &:has(.form-input:not(:placeholder-shown)),
69
+ &:has(.form-input:-webkit-autofill),
70
+ &:has(.form-input:-webkit-autofill:hover),
71
+ &:has(.form-input:-webkit-autofill:focus),
72
+ &:has(.form-input:focus) {
73
+ .form-input-group__icon {
74
+ color: $form-input-icon-focus-color;
75
+ }
76
+ }
77
+ }
78
+ }
79
+
80
+ &--includes-label {
81
+ display: $form-group-label-wrapper-display;
82
+ position: relative;
83
+
84
+ .form-input {
85
+ background-color: $form-group-includes-label-background-color;
86
+
87
+ &::placeholder {
88
+ opacity: 0;
89
+ }
90
+
91
+ + label {
92
+ cursor: text;
93
+ color: $form-group-label-in-input-color;
94
+ }
95
+
96
+ &:not(:placeholder-shown),
97
+ &:-webkit-autofill,
98
+ &:-webkit-autofill:hover,
99
+ &:-webkit-autofill:focus,
100
+ &:focus {
101
+ background-color: $form-input-focus-bg-color;
102
+ border: $form-input-focus-border;
103
+
104
+ + label {
105
+ color: $form-group-label-in-input-focus-color;
106
+ font-size: $form-group-label-in-input-focus-font-size;
107
+ font-weight: $form-group-label-in-input-focus-font-weight;
108
+ top: $form-group-label-in-input-focus-top-position;
109
+ z-index: $form-group-label-in-input-focus-z-index;
110
+ }
111
+ }
112
+
113
+ &.label-centered {
114
+ & + label {
115
+ left: 0;
116
+ right: 0;
117
+ padding: $form-group-label-centered-padding;
118
+ }
119
+ }
120
+ }
121
+ }
122
+ }
123
+
124
+ .form-input-group__icon {
125
+ align-items: center;
126
+ background-color: $form-input-icon-bg-color;
127
+ border-radius: $form-input-border-radius 0 0 $form-input-border-radius;
128
+ box-shadow: $form-input-icon-box-shadow;
129
+ color: $form-input-icon-color;
130
+ display: inline-flex;
131
+ flex: 0 0 $form-input-icon-width;
132
+ height: $form-input-height;
133
+ justify-content: center;
134
+ transition: all $form-input-transition-time ease-in-out;
135
+ }
136
+
137
+ .form-input-group--icon .form-input {
138
+ border: 0;
139
+ border-radius: 0 $form-input-border-radius $form-input-border-radius 0;
140
+ box-shadow: $form-input-group-input-box-shadow;
141
+ margin: 0;
142
+ transition: all $form-input-transition-time ease-in-out;
143
+ width: $form-input-group-width;
144
+
145
+ &:focus {
146
+ border: 0;
147
+ }
148
+ }
149
+
150
+ .form-input {
151
+ background-color: $form-input-bg-color;
152
+ border: $form-input-border;
153
+ border-radius: $form-input-border-radius;
154
+ box-shadow: $form-input-box-shadow;
155
+ color: $form-input-color;
156
+ font-size: $form-input-font-size;
157
+ font-weight: $form-input-font-weight;
158
+ height: $form-input-height;
159
+ line-height: $form-input-line-height;
160
+ margin: $form-input-margin;
161
+ padding: $form-input-padding;
162
+ position: relative;
163
+ transition: background-color $form-input-transition-time ease-in-out, border-color $form-input-transition-time ease-in-out, box-shadow $form-input-transition-time ease-in-out;
164
+ width: 100%;
165
+
166
+ &::-webkit-input-placeholder {
167
+ color: $form-input-placeholder-color;
168
+ }
169
+
170
+ &::-ms-input-placeholder {
171
+ color: $form-input-placeholder-color;
172
+ }
173
+
174
+ &::placeholder {
175
+ color: $form-input-placeholder-color;
176
+ }
177
+
178
+ &:focus {
179
+ background-color: $form-input-focus-bg-color;
180
+ border: $form-input-focus-border;
181
+ box-shadow: none;
182
+ }
183
+
184
+ &.zip {
185
+ width: $form-input-zip-width;
186
+ }
187
+ }
188
+
189
+ .has-error .form-input {
190
+ border: $form-input-error-border;
191
+ box-shadow: $form-input-error-box-shadow;
192
+ color: $form-input-error-color;
193
+
194
+ &:focus {
195
+ border-color: $form-input-error-focus-border-color;
196
+ box-shadow: $form-input-error-focus-box-shadow;
197
+ }
198
+ }
199
+
200
+ .has-error .form-input-group--icon {
201
+ border-color: $form-input-error-color;
202
+ border-width: $form-input-group-error-border-width;
203
+ box-shadow: none;
204
+ }
205
+
206
+ .has-error .form-input-group--icon .form-input {
207
+ border: $form-input-group-input-error-border;
208
+ }
209
+
210
+ .has-error .form-input-group--includes-label {
211
+ .form-input {
212
+ &:not(:placeholder-shown),
213
+ &:focus {
214
+ + label {
215
+ color: $form-group-label-in-input-error-color;
216
+ }
217
+ }
218
+ }
219
+ }
220
+
221
+ .has-error .form-input-group__icon {
222
+ background-color: $form-input-icon-error-bg-color;
223
+ box-shadow: none;
224
+ color: $form-input-icon-error-color;
225
+ }
226
+
227
+ @include breakpoint-sm {
228
+ .form-input {
229
+ &::-webkit-input-placeholder {
230
+ color: $form-input-placeholder-color-desktop;
231
+ }
232
+
233
+ &::-ms-input-placeholder {
234
+ color: $form-input-placeholder-color-desktop;
235
+ }
236
+
237
+ &::placeholder {
238
+ color: $form-input-placeholder-color-desktop;
239
+ }
240
+ }
241
+
242
+ }
@@ -0,0 +1,30 @@
1
+ {{#xif "this.field.icon || this.field.hasToolTip || this.field.iconImageUrl"}}
2
+ <div class="form-input-group{{#xif 'this.field.icon || this.field.iconImageUrl'}} form-input-group--icon{{/xif}}">
3
+ {{#if this.field.icon}}
4
+ <span class="form-input-group__icon">
5
+ <i class="{{this.field.icon}}"></i>
6
+ </span>
7
+ {{/if}}
8
+ {{#if this.field.iconImageUrl}}
9
+ <span class="form-input-group__icon">
10
+ <img src="{{this.field.iconImageUrl}}">
11
+ </span>
12
+ {{/if}}
13
+ {{/xif}}
14
+ {{#if this.field.labelInInput}}<div class="form-input-group form-input-group--includes-label">{{/if}}
15
+ <input
16
+ type="{{this.field.type}}"
17
+ id="{{#if this.field.id}}{{this.field.id}}{{else}}{{this.field.name}}{{/if}}"
18
+ class="form-input {{this.field.class}}"
19
+ name="{{this.field.name}}"
20
+ {{#if this.field.placeholder}}placeholder="{{this.field.placeholder}}"{{/if}}
21
+ {{#if this.field.maxLength}}maxlength="{{this.field.maxLength}}"{{/if}}
22
+ {{#if this.field.required}}data-required="{{this.field.required}}"{{/if}}
23
+ {{#if this.field.value}}value="{{this.field.value}}"{{/if}}
24
+ {{#if this.field.min}}data-{{this.field.required}}-min="{{this.field.min}}"{{/if}}
25
+ {{#if this.field.saveField}}data-save{{/if}}
26
+ {{#if this.field.readonly}}readonly{{/if}}
27
+ {{#if this.extraAttributes}}{{#each this.extraAttributes}}{{{this.attributeName}}}="{{{this.attributeValue}}}"{{/each}}{{/if}}
28
+ />
29
+ {{#if this.field.labelInInput}}<label for="{{#if this.field.id}}{{this.field.id}}{{else}}{{this.field.name}}{{/if}}" class="form-group__label-input">{{{this.field.labelInInput}}}</label></div>{{/if}}
30
+ {{#xif "this.field.icon || this.field.hasToolTip || this.field.iconImageUrl"}}</div>{{/xif}}
@@ -0,0 +1,61 @@
1
+ @keyframes fadeOut {
2
+ from {
3
+ opacity: 1;
4
+ z-index: 9;
5
+ }
6
+
7
+ to {
8
+ opacity: 0;
9
+ z-index: -1;
10
+ }
11
+ }
12
+
13
+ @keyframes animateArrowUp {
14
+ 0% {
15
+ opacity: 0;
16
+ padding-top: 150px;
17
+ }
18
+
19
+ 40% {
20
+ opacity: 1;
21
+ padding-top: 0;
22
+ }
23
+
24
+ 100% {
25
+ opacity: 1;
26
+ padding-top: 0;
27
+ }
28
+ }
29
+
30
+ .preloader {
31
+ animation: fadeOut 250ms 1250ms ease forwards;
32
+ background-color: $color-white;
33
+ display: block;
34
+ height: 100%;
35
+ opacity: 1;
36
+ position: fixed;
37
+ width: 100%;
38
+ z-index: 9;
39
+
40
+ &__text {
41
+ color: $color-charcoal5;
42
+ font-size: 22px;
43
+ font-weight: 700;
44
+ padding-bottom: 30px;
45
+ padding-top: 200px;
46
+ text-align: center;
47
+ }
48
+
49
+ &__logo {
50
+ margin: 0 auto;
51
+ max-width: 310px;
52
+ padding-bottom: 30px;
53
+ }
54
+
55
+ &__arrow {
56
+ animation: animateArrowUp 1000ms 450ms ease-out forwards;
57
+ opacity: 0;
58
+ margin: 0 auto;
59
+ max-width: 72px;
60
+ }
61
+ }
@@ -0,0 +1,49 @@
1
+ <div class="preloader">
2
+ <div class="preloader__text">{{this.preloader.text}}</div>
3
+ <div class="preloader__logo{{#if this.preloader.logo.class}} {{this.preloader.logo.class}}{{/if}}">
4
+ {{#if this.preloader.logo}}
5
+ {{#xif "this.preloader.logo.tag === 'img'"}}
6
+ <img src="{{#if this.preloader.logo.localSrc}}{{this.preloader.logo.localSrc}}{{else}}https://{{x 'process.env.NODE_ENV'}}/quote/resources/assets/{{this.preloader.logo.src}}{{/if}}" alt="{{this.preloader.logo.altText}}">
7
+ {{/xif}}
8
+ {{#xif "this.preloader.logo.tag === 'picture'"}}
9
+ <picture>
10
+ <source media="{{#if this.preloader.logo.media}}{{this.preloader.logo.media}}{{/if}}" srcset="{{#if this.preloader.logo.localSrcset}}{{this.preloader.logo.localSrcset}}{{else}}https://{{x 'process.env.NODE_ENV'}}/quote/resources/assets/{{this.preloader.logo.srcset}}{{/if}}" {{{this.preloader.logo.pictureSourceAttributes}}}>
11
+ <img src="{{#if this.preloader.logo.localSrc}}{{this.preloader.logo.localSrc}}{{else}}https://{{x 'process.env.NODE_ENV'}}/quote/resources/assets/{{this.preloader.logo.src}}{{/if}}" alt="{{this.preloader.logo.altText}}">
12
+ </picture>
13
+ {{/xif}}
14
+ {{#xif "this.preloader.logo.tag === 'svg'"}}
15
+ <svg>
16
+ <use href="{{#if this.preloader.logo.localSrc}}{{this.preloader.logo.localSrc}}{{else}}https://{{x 'process.env.NODE_ENV'}}/quote/resources/assets/{{this.preloader.logo.src}}{{/if}}"></use>
17
+ </svg>
18
+ {{/xif}}
19
+ {{else}}
20
+ {{#xif "this.header.logo.tag === 'img'"}}
21
+ <img src="{{#if this.header.logo.localSrc}}{{this.header.logo.localSrc}}{{else}}https://{{x 'process.env.NODE_ENV'}}/quote/resources/assets/{{this.header.logo.src}}{{/if}}" alt="{{this.header.logo.altText}}">
22
+ {{/xif}}
23
+ {{#xif "this.header.logo.tag === 'picture'"}}
24
+ <picture>
25
+ <source media="{{#if this.header.logo.media}}{{this.header.logo.media}}{{/if}}" srcset="{{#if this.header.logo.localSrcset}}{{this.header.logo.localSrcset}}{{else}}https://{{x 'process.env.NODE_ENV'}}/quote/resources/assets/{{this.header.logo.srcset}}{{/if}}" {{{this.header.logo.pictureSourceAttributes}}}>
26
+ <img src="{{#if this.header.logo.localSrc}}{{this.header.logo.localSrc}}{{else}}https://{{x 'process.env.NODE_ENV'}}/quote/resources/assets/{{this.header.logo.src}}{{/if}}" alt="{{this.header.logo.altText}}">
27
+ </picture>
28
+ {{/xif}}
29
+ {{#xif "this.header.logo.tag === 'svg'"}}
30
+ <svg>
31
+ <use href="{{#if this.header.logo.localSrc}}{{this.header.logo.localSrc}}{{else}}https://{{x 'process.env.NODE_ENV'}}/quote/resources/assets/{{this.header.logo.src}}{{/if}}"></use>
32
+ </svg>
33
+ {{/xif}}
34
+ {{/if}}
35
+ </div>
36
+ {{#if this.preloader.showArrows}}
37
+ <div class="preloader__arrow"><img src="https://{{x 'process.env.NODE_ENV'}}/quote/resources/assets/images/illustrations/misc/pre-landing-page-arrow.svg" alt=""></div>
38
+ {{/if}}
39
+ </div>
40
+ <script>
41
+ if (!window.localStorage.getItem('pr')) {
42
+ window.localStorage.setItem('pr', true);
43
+ setTimeout(function() {
44
+ window.document.querySelector('.preloader').remove();
45
+ }, 1500);
46
+ } else {
47
+ window.document.querySelector('.preloader').remove();
48
+ }
49
+ </script>
@@ -0,0 +1,142 @@
1
+ $progress-bar-background-color: $color-green1 !default;
2
+ $progress-bar-background-color-desktop: $progress-bar-background-color !default;
3
+ $progress-bar-border-radius: 4px !default;
4
+ $progress-bar-border-radius-desktop: 4px !default;
5
+ $progress-bar-height: 5px !default;
6
+ $progress-bar-height-desktop: $progress-bar-height !default;
7
+ $progress-bar-margin: 0 0 15px !default;
8
+ $progress-bar-position: relative !default;
9
+ $progress-bar-width: 100% !default;
10
+
11
+ $progress-bar-fill-border-radius: $progress-bar-border-radius !default;
12
+ $progress-bar-fill-color: $color-green4 !default;
13
+ $progress-bar-fill-color-desktop: $progress-bar-fill-color !default;
14
+ $progress-bar-fill-percentage-color: $color-white !default;
15
+ $progress-bar-fill-percentage-font-size: 16px !default;
16
+ $progress-bar-fill-percentage-font-weight: 400 !default;
17
+ $progress-bar-fill-percentage-height: 28px !default;
18
+ $progress-bar-all-devices-padding: 30px 35px 0 !default;
19
+ $progress-bar-all-devices-padding-desktop: 0 !default;
20
+
21
+ $progress-bar-title-color: #8A8A8A !default;
22
+ $progress-bar-title-letter-spacing: 1px !default;
23
+ $progress-bar-title-font-size: 11px !default;
24
+ $progress-bar-title-margin: 0 0 4px !default;
25
+ $progress-bar-title-text-transform: uppercase !default;
26
+
27
+ .progress-bar {
28
+ margin: $progress-bar-margin;
29
+ position: $progress-bar-position;
30
+ width: $progress-bar-width;
31
+ z-index: 2;
32
+
33
+ &__title {
34
+ color: $progress-bar-title-color;
35
+ display: block;
36
+ font-size: $progress-bar-title-font-size;
37
+ letter-spacing: $progress-bar-title-letter-spacing;
38
+ margin: $progress-bar-title-margin;
39
+ position: relative;
40
+ text-transform: $progress-bar-title-text-transform;
41
+ white-space: nowrap;
42
+ }
43
+
44
+ &__percentage {
45
+ position: absolute;
46
+ right: 0;
47
+ }
48
+
49
+ &__background,
50
+ &__fill {
51
+ background-color: $progress-bar-background-color;
52
+ border-radius: $progress-bar-border-radius;
53
+ height: $progress-bar-height;
54
+ position: relative;
55
+ width: 100%;
56
+ z-index: 1;
57
+ }
58
+
59
+ &__fill {
60
+ background-color: $progress-bar-fill-color;
61
+ border-radius: $progress-bar-fill-border-radius;
62
+ position: absolute;
63
+ top: 0;
64
+ width: 0;
65
+ z-index: 2;
66
+
67
+ .progress-bar__percentage {
68
+ color: $progress-bar-fill-percentage-color;
69
+ font-size: $progress-bar-fill-percentage-font-size;
70
+ font-weight: $progress-bar-fill-percentage-font-weight;
71
+ position: relative;
72
+ right: auto;
73
+ text-align: center;
74
+ width: 100%;
75
+ }
76
+ }
77
+
78
+ &--includes-fill-percentage-on-all-devices {
79
+ padding: $progress-bar-all-devices-padding;
80
+
81
+ .progress-bar {
82
+ &__background,
83
+ &__fill {
84
+ border-radius: $progress-bar-border-radius-desktop;
85
+ height: auto;
86
+ line-height: $progress-bar-fill-percentage-height;;
87
+ min-height: $progress-bar-fill-percentage-height;;
88
+ }
89
+
90
+ &__fill {
91
+ position: relative;
92
+ }
93
+
94
+ &__percentage {
95
+ display: block;
96
+
97
+ }
98
+ }
99
+ }
100
+ }
101
+
102
+ @include breakpoint-sm {
103
+ .progress-bar {
104
+ &__background,
105
+ &__fill {
106
+ border-radius: $progress-bar-border-radius-desktop;
107
+ }
108
+
109
+ &__background {
110
+ background-color: $progress-bar-background-color-desktop;
111
+ }
112
+
113
+ &__fill {
114
+ background-color: $progress-bar-fill-color-desktop;
115
+ }
116
+
117
+ &--includes-fill-percentage-on-all-devices {
118
+ padding: $progress-bar-all-devices-padding-desktop;
119
+ }
120
+
121
+ &:not(.progress-bar--includes-fill-percentage-on-all-devices) {
122
+ &.progress-bar--includes-fill-percentage {
123
+ .progress-bar {
124
+ &__background,
125
+ &__fill {
126
+ height: auto;
127
+ line-height: $progress-bar-fill-percentage-height;;
128
+ min-height: $progress-bar-fill-percentage-height;;
129
+ }
130
+
131
+ &__fill {
132
+ position: relative;
133
+ }
134
+
135
+ &__percentage {
136
+ display: block;
137
+ }
138
+ }
139
+ }
140
+ }
141
+ }
142
+ }
@@ -0,0 +1,20 @@
1
+ <div class="progress-bar{{#if this.bar.classModifier}} {{this.bar.classModifier}}{{/if}}{{#xif "this.bar.includePercentage === 'fill'"}} progress-bar--includes-fill-percentage{{#if this.bar.showPercentageOnAllDevices}} progress-bar--includes-fill-percentage-on-all-devices{{/if}}{{/xif}}">
2
+ {{#if this.bar.title}}
3
+ <div class="progress-bar__title">
4
+ {{{this.bar.title}}}
5
+ {{#xif "this.bar.includePercentage === 'title'"}}
6
+ <span class="progress-bar__percentage"></span>
7
+ {{/xif}}
8
+ </div>
9
+ {{/if}}
10
+ {{#if this.bar.includeStepCount}}
11
+ <div class="progress-bar__title">Step <span class="progress-bar__current"></span> of <span class="progress-bar__total"></span></div>
12
+ {{/if}}
13
+ <div class="progress-bar__background">
14
+ <div class="progress-bar__fill">
15
+ {{#xif "this.bar.includePercentage === 'fill'"}}
16
+ <span class="progress-bar__percentage"></span>
17
+ {{/xif}}
18
+ </div>
19
+ </div>
20
+ </div>
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ /* global modForm */
4
+ function updateProgressBar(index) {
5
+ var showStepCountOnStep1 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
6
+ var stepCount = modForm.opts.steps.length,
7
+ fillElement = document.querySelector('.progress-bar__fill'),
8
+ percentageElement = document.querySelector('.progress-bar__percentage'),
9
+ totalStepsElement = document.querySelector('.progress-bar__total'),
10
+ currentStepElement = document.querySelector('.progress-bar__current'),
11
+ width = Math.min(100, 100 * index / stepCount - 1);
12
+ fillElement.style.width = width + '%';
13
+ if (percentageElement) {
14
+ percentageElement.textContent = Math.round(width) + '%';
15
+ }
16
+ if (currentStepElement) {
17
+ if (showStepCountOnStep1 === true) {
18
+ totalStepsElement.textContent = stepCount;
19
+ currentStepElement.textContent = index;
20
+ } else {
21
+ totalStepsElement.textContent = stepCount - 1;
22
+ currentStepElement.textContent = index - 1;
23
+ }
24
+ }
25
+ }
@@ -0,0 +1,2 @@
1
+ "use strict";function updateProgressBar(t){var e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=modForm.opts.steps.length,o=document.querySelector(".progress-bar__fill"),n=document.querySelector(".progress-bar__percentage"),s=document.querySelector(".progress-bar__total"),u=document.querySelector(".progress-bar__current"),c=Math.min(100,100*t/r-1);o.style.width=c+"%",n&&(n.textContent=Math.round(c)+"%"),u&&(!0===e?(s.textContent=r,u.textContent=t):(s.textContent=r-1,u.textContent=t-1))}
2
+ //# sourceMappingURL=progress-bar.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["shared-components/progress-bar/progress-bar.js"],"names":["updateProgressBar","index","showStepCountOnStep1","arguments","length","undefined","stepCount","modForm","opts","steps","fillElement","document","querySelector","percentageElement","totalStepsElement","currentStepElement","width","Math","min","style","textContent","round"],"mappings":"YACA,SAASA,mBAAmBC,GAAqC,GAA9BC,GAAoBC,UAAAC,OAAA,OAAAC,KAAAF,UAAA,IAAAA,UAAA,GAChDG,EAAaC,QAAQC,KAAKC,MAAML,OACrCM,EAAcC,SAASC,cAAc,uBACrCC,EAAoBF,SAASC,cAAc,6BAC3CE,EAAoBH,SAASC,cAAc,wBAC3CG,EAAqBJ,SAASC,cAAc,0BAC5CI,EAAQC,KAAKC,IAAI,IAAK,IAAOjB,EAASK,EAAY,EAEnDI,GAAYS,MAAMH,MAAQA,EAAQ,IAC9BH,IACHA,EAAkBO,YAAcH,KAAKI,MAAML,GAAS,KAEjDD,KAC0B,IAAzBb,GACHY,EAAkBM,YAAcd,EAChCS,EAAmBK,YAAcnB,IAEjCa,EAAkBM,YAAcd,EAAY,EAC5CS,EAAmBK,YAAcnB,EAAQ","file":"progress-bar.min.js","sourcesContent":["/* global modForm */\nfunction updateProgressBar (index, showStepCountOnStep1 = false) {\n\tconst stepCount = modForm.opts.steps.length,\n\t\tfillElement = document.querySelector('.progress-bar__fill'),\n\t\tpercentageElement = document.querySelector('.progress-bar__percentage'),\n\t\ttotalStepsElement = document.querySelector('.progress-bar__total'),\n\t\tcurrentStepElement = document.querySelector('.progress-bar__current'),\n\t\twidth = Math.min(100, 100 * (index) / stepCount - 1);\n\n\tfillElement.style.width = width + '%';\n\tif (percentageElement) {\n\t\tpercentageElement.textContent = Math.round(width) + '%';\n\t}\n\tif (currentStepElement) {\n\t\tif (showStepCountOnStep1 === true) {\n\t\t\ttotalStepsElement.textContent = stepCount;\n\t\t\tcurrentStepElement.textContent = index;\n\t\t} else {\n\t\t\ttotalStepsElement.textContent = stepCount - 1;\n\t\t\tcurrentStepElement.textContent = index - 1;\n\t\t}\n\t}\n}\n"]}