mod-build 4.0.0 → 4.0.1-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.
- package/CHANGELOG.md +5 -0
- package/package.json +1 -1
- package/src/scripts/default/index.js +9 -0
- package/src/scripts/default/update-link-paths.js +7 -13
- package/src/scripts/default/use-dynamic-gtm.js +4 -5
- package/src/scripts/plugins.js +109 -0
- package/src/scripts/utils.js +12 -52
- package/tasks/serve.js +1 -1
- package/vite.config.js +3 -51
- package/src/accessible-components/button/_button.scss +0 -308
- package/src/accessible-components/button/back-button.html +0 -8
- package/src/accessible-components/button/button.html +0 -17
- package/src/accessible-components/carousel/_carousel.scss +0 -112
- package/src/accessible-components/carousel/carousel.html +0 -25
- package/src/accessible-components/carousel/carousel.js +0 -3426
- package/src/accessible-components/carousel/carousel.js.map +0 -1
- package/src/accessible-components/carousel/carousel.min.js +0 -6
- package/src/accessible-components/carousel/carousel.min.js.map +0 -1
- package/src/accessible-components/checkbox/_checkbox.scss +0 -153
- package/src/accessible-components/checkbox/checkbox-group.html +0 -18
- package/src/accessible-components/checkbox/checkbox.html +0 -8
- package/src/accessible-components/expand-collapse/_expand-collapse.scss +0 -129
- package/src/accessible-components/expand-collapse/expand-collapse.html +0 -14
- package/src/accessible-components/expand-collapse/expand-collapse.js +0 -52
- package/src/accessible-components/expand-collapse/expand-collapse.min.js +0 -2
- package/src/accessible-components/expand-collapse/expand-collapse.min.js.map +0 -1
- package/src/accessible-components/featured-block/_featured-block.scss +0 -221
- package/src/accessible-components/featured-block/featured-block.html +0 -54
- package/src/accessible-components/foot-assets/foot-assets.html +0 -112
- package/src/accessible-components/footer/footer.html +0 -2
- package/src/accessible-components/gtm-body/gtm-body.html +0 -4
- package/src/accessible-components/head/head.html +0 -187
- package/src/accessible-components/header/_header.scss +0 -287
- package/src/accessible-components/header/header.html +0 -66
- package/src/accessible-components/hero/_hero.scss +0 -405
- package/src/accessible-components/hero/hero.html +0 -53
- package/src/accessible-components/how-it-works/_how-it-works.scss +0 -217
- package/src/accessible-components/how-it-works/how-it-works-carousel.html +0 -12
- package/src/accessible-components/how-it-works/how-it-works-static.html +0 -12
- package/src/accessible-components/how-it-works/how-it-works.html +0 -14
- package/src/accessible-components/information/_information.scss +0 -96
- package/src/accessible-components/information/information.html +0 -32
- package/src/accessible-components/input/_input.scss +0 -204
- package/src/accessible-components/input/input.html +0 -22
- package/src/accessible-components/input/textarea.html +0 -9
- package/src/accessible-components/partners/_partners.scss +0 -234
- package/src/accessible-components/partners/partners.html +0 -56
- package/src/accessible-components/picture/picture.html +0 -19
- package/src/accessible-components/preloader/_preloader.scss +0 -61
- package/src/accessible-components/preloader/preloader.html +0 -23
- package/src/accessible-components/progress-bar/_progress-bar.scss +0 -140
- package/src/accessible-components/progress-bar/progress-bar.html +0 -21
- package/src/accessible-components/progress-bar/progress-bar.js +0 -37
- package/src/accessible-components/progress-bar/progress-bar.min.js +0 -2
- package/src/accessible-components/progress-bar/progress-bar.min.js.map +0 -1
- package/src/accessible-components/radio-button/_radio-button.scss +0 -586
- package/src/accessible-components/radio-button/radio-button.html +0 -33
- package/src/accessible-components/reviews/_reviews.scss +0 -175
- package/src/accessible-components/reviews/reviews-carousel.html +0 -12
- package/src/accessible-components/reviews/reviews-static.html +0 -12
- package/src/accessible-components/reviews/reviews.html +0 -37
- package/src/accessible-components/select/_select.scss +0 -69
- package/src/accessible-components/select/select.html +0 -10
- package/src/accessible-components/steps/_steps.scss +0 -636
- package/src/accessible-components/steps/defaultFormFieldConfig.json +0 -109
- package/src/accessible-components/steps/step-fields.html +0 -38
- package/src/accessible-components/steps/steps.html +0 -160
- package/src/accessible-components/tcpa/_tcpa.scss +0 -49
- package/src/accessible-components/tcpa/tcpa.html +0 -9
- package/src/accessible-components/tile/_tile.scss +0 -117
- package/src/accessible-components/tile/tile.html +0 -14
- package/src/accessible-components/value-props/_value-props.scss +0 -102
- package/src/accessible-components/value-props/value-props.html +0 -17
- package/src/accessible-components/zip-control/_zip-control.scss +0 -79
- package/src/accessible-components/zip-control/zip-control.html +0 -10
- package/src/resources/data/tcpa.json +0 -3
- package/src/resources/scripts/abandonment/abandonment-e099a424bf17408f1db2.min.js +0 -2
- package/src/resources/scripts/abandonment/abandonment.min.js +0 -2
- package/src/resources/scripts/footer/footer-component-7b5e263f64568573ecc0.min.js +0 -2
- package/src/resources/scripts/footer/footer-component.min.js +0 -2
- package/src/resources/scripts/helpers/initNumericOnlyFields.min.js +0 -2
- package/src/resources/scripts/helpers/initNumericOnlyFields.min.js.map +0 -1
- package/src/resources/scripts/helpers/isZipCodeValid.min.js +0 -2
- package/src/resources/scripts/helpers/isZipCodeValid.min.js.map +0 -1
- package/src/resources/scripts/mod-alytics/modalytics-0ac7d7a5a72ea67a0f47.min.js +0 -2
- package/src/resources/scripts/mod-alytics/modalytics.min.js +0 -2
- package/src/resources/scripts/mod-form/form/homeowner-f395431201f7a6e56690.min.js +0 -2
- package/src/resources/scripts/mod-form/form/homeowner.min.js +0 -2
- package/src/resources/scripts/mod-utils/modutils-a08fecfbb83afad1a9f8.min.js +0 -2
- package/src/resources/scripts/mod-utils/modutils.min.js +0 -2
- package/src/resources/styles/components/abandonment/abandonment-a8571a9e32ed6ef9acb4.min.css +0 -1
- package/src/resources/styles/components/abandonment/abandonment.min.css +0 -1
- package/src/resources/styles/components/footer/mod-footer-1fb2cec3278f29df57d0.min.css +0 -1
- package/src/resources/styles/components/footer/mod-footer.min.css +0 -1
- package/src/resources/styles/components/footer/qs-footer-9a3b0ab00428b03e6e9e.min.css +0 -1
- package/src/resources/styles/components/footer/qs-footer.min.css +0 -1
- package/src/resources/templates/modals/about/index.hbs +0 -9
- package/src/resources/templates/modals/about/index.html +0 -9
- package/src/resources/templates/modals/contact-us/index.hbs +0 -348
- package/src/resources/templates/modals/contact-us/index.html +0 -348
- package/src/resources/templates/modals/faq/index.hbs +0 -9
- package/src/resources/templates/modals/faq/index.html +0 -9
- package/src/resources/templates/modals/privacy/index.hbs +0 -236
- package/src/resources/templates/modals/privacy/index.html +0 -236
- package/src/resources/templates/modals/terms/index.hbs +0 -166
- package/src/resources/templates/modals/terms/index.html +0 -166
- package/src/shared-components/card-button/_card-button.scss +0 -49
- package/src/shared-components/card-button/card-button.html +0 -9
- package/src/shared-components/carousel/_carousel.scss +0 -106
- package/src/shared-components/carousel/carousel.html +0 -22
- package/src/shared-components/carousel/carousel.js +0 -3427
- package/src/shared-components/carousel/carousel.js.map +0 -1
- package/src/shared-components/carousel/carousel.min.js +0 -6
- package/src/shared-components/carousel/carousel.min.js.map +0 -1
- package/src/shared-components/carousel/carousel.min.min.js +0 -6
- package/src/shared-components/carousel/carousel.min.min.js.map +0 -1
- package/src/shared-components/checkbox/_checkbox.scss +0 -104
- package/src/shared-components/checkbox/checkbox.html +0 -6
- package/src/shared-components/expand-collapse/_expand-collapse.scss +0 -93
- package/src/shared-components/expand-collapse/expand-collapse.html +0 -8
- package/src/shared-components/expand-collapse/expand-collapse.js +0 -40
- package/src/shared-components/expand-collapse/expand-collapse.min.js +0 -2
- package/src/shared-components/expand-collapse/expand-collapse.min.js.map +0 -1
- package/src/shared-components/featured-block/_featured-block.scss +0 -185
- package/src/shared-components/featured-block/featured-block.html +0 -62
- package/src/shared-components/foot-assets/foot-assets.html +0 -107
- package/src/shared-components/form-tcpa/form-tcpa.html +0 -12
- package/src/shared-components/gtm-body/gtm-body.html +0 -4
- package/src/shared-components/head/head.html +0 -192
- package/src/shared-components/header/_header.scss +0 -200
- package/src/shared-components/header/header.html +0 -71
- package/src/shared-components/hero/_hero.scss +0 -253
- package/src/shared-components/hero/hero.html +0 -126
- package/src/shared-components/how-it-works/_how-it-works.scss +0 -138
- package/src/shared-components/how-it-works/how-it-works.html +0 -19
- package/src/shared-components/input/_input.scss +0 -229
- package/src/shared-components/input/input.html +0 -30
- package/src/shared-components/preloader/_preloader.scss +0 -61
- package/src/shared-components/preloader/preloader.html +0 -49
- package/src/shared-components/progress-bar/_progress-bar.scss +0 -105
- package/src/shared-components/progress-bar/progress-bar.html +0 -20
- package/src/shared-components/progress-bar/progress-bar.js +0 -25
- package/src/shared-components/progress-bar/progress-bar.min.js +0 -2
- package/src/shared-components/progress-bar/progress-bar.min.js.map +0 -1
- package/src/shared-components/radio-button/_radio-button.scss +0 -554
- package/src/shared-components/radio-button/radio-button.html +0 -25
- package/src/shared-components/reviews/_reviews.scss +0 -79
- package/src/shared-components/reviews/reviews.html +0 -27
- package/src/shared-components/select/_select.scss +0 -61
- package/src/shared-components/select/select.html +0 -8
- package/src/shared-components/steps/_steps.scss +0 -334
- package/src/shared-components/steps/defaultFormFieldConfig.json +0 -64
- package/src/shared-components/steps/step-fields.html +0 -36
- package/src/shared-components/steps/steps.html +0 -131
- package/src/shared-components/textarea/_textarea.scss +0 -96
- package/src/shared-components/textarea/textarea.html +0 -13
- package/src/shared-components/theme-toggle/_theme-toggle.scss +0 -68
- package/src/shared-components/theme-toggle/theme-toggle.html +0 -34
- package/src/shared-components/tile/_tile.scss +0 -117
- package/src/shared-components/tile/tile.html +0 -27
- package/src/shared-components/value-props/_value-props.scss +0 -98
- package/src/shared-components/value-props/value-props.html +0 -17
- package/src/shared-components/zip-control/_zip-control.scss +0 -42
- package/src/shared-components/zip-control/zip-control.html +0 -21
- package/src/temp/scripts/maxmind-geoip2.js +0 -104
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
$form-textarea-bg-color: $color-white !default;
|
|
2
|
-
$form-textarea-border: 1px solid $color-charcoal1 !default;
|
|
3
|
-
$form-textarea-border-radius: 4px !default;
|
|
4
|
-
$form-textarea-box-shadow: inset 2px 1px 2px 0 rgba($color-black, .08), inset -2px 0px 2px 0 rgba($color-black, .08) !default;
|
|
5
|
-
$form-textarea-color: $color-charcoal5 !default;
|
|
6
|
-
$form-textarea-font-size: 16px !default;
|
|
7
|
-
$form-textarea-font-weight: 400 !default;
|
|
8
|
-
$form-textarea-height: 120px !default;
|
|
9
|
-
$form-textarea-line-height: 1.1875 !default;
|
|
10
|
-
$form-textarea-margin: 0 0 15px !default;
|
|
11
|
-
$form-textarea-padding: 15px !default;
|
|
12
|
-
$form-textarea-placeholder-color: $color-charcoal2 !default;
|
|
13
|
-
$form-textarea-placeholder-color-desktop: $form-textarea-placeholder-color !default;
|
|
14
|
-
$form-textarea-resize: none !default;
|
|
15
|
-
$form-textarea-transition-time: .15s !default;
|
|
16
|
-
$form-textarea-zip-width: 200px !default;
|
|
17
|
-
|
|
18
|
-
$form-textarea-focus-bg-color: $form-textarea-bg-color !default;
|
|
19
|
-
$form-textarea-focus-border: 1px solid $color-charcoal2 !default;
|
|
20
|
-
|
|
21
|
-
$form-textarea-error-color: $color-red5 !default;
|
|
22
|
-
$form-textarea-error-border: 1px solid $form-textarea-error-color !default;
|
|
23
|
-
$form-textarea-error-box-shadow: inset 0 1px 1px rgba($color-black, .08) !default;
|
|
24
|
-
$form-textarea-error-focus-border-color: #E34B2B !default;
|
|
25
|
-
$form-textarea-error-focus-box-shadow: inset 0 1px 1px rgba($color-black, .08), 0 0 6px #F5BEB2 !default;
|
|
26
|
-
$form-textarea-icon-error-bg-color: $color-red2 !default;
|
|
27
|
-
$form-textarea-icon-error-color: $color-red5 !default;
|
|
28
|
-
$form-textarea-group-error-border-width: 0 !default;
|
|
29
|
-
$form-textarea-group-input-error-border: $form-textarea-error-border !default;
|
|
30
|
-
|
|
31
|
-
.form-textarea {
|
|
32
|
-
background-color: $form-textarea-bg-color;
|
|
33
|
-
border: $form-textarea-border;
|
|
34
|
-
border-radius: $form-textarea-border-radius;
|
|
35
|
-
box-shadow: $form-textarea-box-shadow;
|
|
36
|
-
color: $form-textarea-color;
|
|
37
|
-
font-size: $form-textarea-font-size;
|
|
38
|
-
font-weight: $form-textarea-font-weight;
|
|
39
|
-
height: $form-textarea-height;
|
|
40
|
-
line-height: $form-textarea-line-height;
|
|
41
|
-
margin: $form-textarea-margin;
|
|
42
|
-
padding: $form-textarea-padding;
|
|
43
|
-
position: relative;
|
|
44
|
-
resize: $form-textarea-resize;
|
|
45
|
-
transition: background-color $form-textarea-transition-time ease-in-out, border-color $form-textarea-transition-time ease-in-out, box-shadow $form-textarea-transition-time ease-in-out;
|
|
46
|
-
width: 100%;
|
|
47
|
-
|
|
48
|
-
&::-webkit-input-placeholder {
|
|
49
|
-
color: $form-textarea-placeholder-color;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
&::-ms-input-placeholder {
|
|
53
|
-
color: $form-textarea-placeholder-color;
|
|
54
|
-
}
|
|
55
|
-
|
|
56
|
-
&::placeholder {
|
|
57
|
-
color: $form-textarea-placeholder-color;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
&:focus {
|
|
61
|
-
background-color: $form-textarea-focus-bg-color;
|
|
62
|
-
border: $form-textarea-focus-border;
|
|
63
|
-
box-shadow: none;
|
|
64
|
-
}
|
|
65
|
-
|
|
66
|
-
&.zip {
|
|
67
|
-
width: $form-textarea-zip-width;
|
|
68
|
-
}
|
|
69
|
-
}
|
|
70
|
-
|
|
71
|
-
.has-error .form-textarea {
|
|
72
|
-
border: $form-textarea-error-border;
|
|
73
|
-
box-shadow: $form-textarea-error-box-shadow;
|
|
74
|
-
color: $form-textarea-error-color;
|
|
75
|
-
|
|
76
|
-
&:focus {
|
|
77
|
-
border-color: $form-textarea-error-focus-border-color;
|
|
78
|
-
box-shadow: $form-textarea-error-focus-box-shadow;
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
@include breakpoint-sm {
|
|
83
|
-
.form-textarea {
|
|
84
|
-
&::-webkit-input-placeholder {
|
|
85
|
-
color: $form-textarea-placeholder-color-desktop;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
&::-ms-input-placeholder {
|
|
89
|
-
color: $form-textarea-placeholder-color-desktop;
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
&::placeholder {
|
|
93
|
-
color: $form-textarea-placeholder-color-desktop;
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
}
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
<textarea
|
|
2
|
-
id="{{#if this.field.id}}{{this.field.id}}{{else}}{{this.field.name}}{{/if}}"
|
|
3
|
-
class="form-textarea {{this.field.class}}"
|
|
4
|
-
name="{{this.field.name}}"
|
|
5
|
-
{{#if this.field.placeholder}}placeholder="{{this.field.placeholder}}"{{/if}}
|
|
6
|
-
{{#if this.field.maxLength}}maxlength="{{this.field.maxLength}}"{{/if}}
|
|
7
|
-
{{#if this.field.required}}data-required="{{this.field.required}}"{{/if}}
|
|
8
|
-
{{#if this.field.value}}value="{{this.field.value}}"{{/if}}
|
|
9
|
-
{{#if this.field.min}}data-{{this.field.required}}-min="{{this.field.min}}"{{/if}}
|
|
10
|
-
{{#if this.field.saveField}}data-save{{/if}}
|
|
11
|
-
{{#if this.field.readonly}}readonly{{/if}}
|
|
12
|
-
{{#if this.field.extraAttributes}}{{#each this.field.extraAttributes}}{{{this.attributeName}}}="{{{this.attributeValue}}}"{{/each}}{{/if}}
|
|
13
|
-
></textarea>
|
|
@@ -1,68 +0,0 @@
|
|
|
1
|
-
.toggle-wrapper {
|
|
2
|
-
align-items: center;
|
|
3
|
-
color: $color-charcoal1;
|
|
4
|
-
display: flex;
|
|
5
|
-
font-size: 12px;
|
|
6
|
-
font-weight: bold;
|
|
7
|
-
float: right;
|
|
8
|
-
justify-content: space-evenly;
|
|
9
|
-
max-width: 160px;
|
|
10
|
-
text-transform: uppercase;
|
|
11
|
-
width: 100%;
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
input[type="checkbox"] {
|
|
15
|
-
&.theme-toggle {
|
|
16
|
-
opacity: 0;
|
|
17
|
-
position: absolute;
|
|
18
|
-
|
|
19
|
-
& + label {
|
|
20
|
-
background-color: $color-charcoal1;
|
|
21
|
-
border: 1px solid $color-white;
|
|
22
|
-
border-radius: 100px;
|
|
23
|
-
cursor: pointer;
|
|
24
|
-
display: inline-block;
|
|
25
|
-
height: 26px;
|
|
26
|
-
position: relative;
|
|
27
|
-
transition: all .4s ease;
|
|
28
|
-
user-select: none;
|
|
29
|
-
width: 56px;
|
|
30
|
-
|
|
31
|
-
&::before {
|
|
32
|
-
content: "";
|
|
33
|
-
border-radius: 30px;
|
|
34
|
-
display: block;
|
|
35
|
-
height: 100%;
|
|
36
|
-
left: 0;
|
|
37
|
-
position: absolute;
|
|
38
|
-
top: 0;
|
|
39
|
-
transition: .2s cubic-bezier(.24, 0, .5, 1);
|
|
40
|
-
width: 100%;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
&::after {
|
|
44
|
-
background: $color-orange5;
|
|
45
|
-
border-radius: 100px;
|
|
46
|
-
content: "";
|
|
47
|
-
display: block;
|
|
48
|
-
left: 3px;
|
|
49
|
-
height: 18px;
|
|
50
|
-
position: absolute;
|
|
51
|
-
top: 3px;
|
|
52
|
-
transition: .35s cubic-bezier(.54, 1.60, .5, 1);
|
|
53
|
-
width: 18px;
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
&:checked {
|
|
58
|
-
& + label::before {
|
|
59
|
-
background-color: $color-charcoal7;
|
|
60
|
-
}
|
|
61
|
-
& + label::after {
|
|
62
|
-
background: $color-blue5;
|
|
63
|
-
left: 33px
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
}
|
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
<div class="toggle-wrapper hidden-xs hidden-sm hidden-md">
|
|
2
|
-
<span>Light</span>
|
|
3
|
-
<input type="checkbox" id="theme-toggle" name="theme-toggle" class="theme-toggle" />
|
|
4
|
-
<label for="theme-toggle"></label>
|
|
5
|
-
<span>Dark</span>
|
|
6
|
-
</div>
|
|
7
|
-
<script>
|
|
8
|
-
(function () {
|
|
9
|
-
const themeToggle = document.getElementById('theme-toggle');
|
|
10
|
-
const body = document.body;
|
|
11
|
-
if (themeToggle) {
|
|
12
|
-
const toggleDarkClass = function (event) {
|
|
13
|
-
event ? body.classList.add('dark') : body.classList.remove('dark');
|
|
14
|
-
};
|
|
15
|
-
|
|
16
|
-
themeToggle.addEventListener('click', function(){
|
|
17
|
-
toggleDarkClass(this.checked)
|
|
18
|
-
});
|
|
19
|
-
|
|
20
|
-
if ('matchMedia' in window) {
|
|
21
|
-
const colorScheme = window.matchMedia('(prefers-color-scheme: dark)');
|
|
22
|
-
const isDarkColorScheme = colorScheme.matches;
|
|
23
|
-
|
|
24
|
-
toggleDarkClass(isDarkColorScheme)
|
|
25
|
-
themeToggle.checked = isDarkColorScheme
|
|
26
|
-
|
|
27
|
-
colorScheme.addEventListener('change',function(e){
|
|
28
|
-
toggleDarkClass(e.matches)
|
|
29
|
-
themeToggle.checked = e.matches
|
|
30
|
-
})
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
})();
|
|
34
|
-
</script>
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
$tile-height: 100% !default;
|
|
2
|
-
$tile-width: 100% !default;
|
|
3
|
-
$tile-display: inline-flex !default;
|
|
4
|
-
$tile-flex-direction: column !default;
|
|
5
|
-
$tile-justify-content: center !default;
|
|
6
|
-
|
|
7
|
-
$tile-border-transition: border-color .15s ease-in-out !default;
|
|
8
|
-
|
|
9
|
-
$tile-bg-background-position: center 1px !default;
|
|
10
|
-
$tile-bg-border-radius: 5px !default;
|
|
11
|
-
$tile-bg-box-shadow: 0 3px 4px 0 rgba(#000, .2) !default;
|
|
12
|
-
$tile-bg-border-color: transparent !default;
|
|
13
|
-
$tile-bg-border-width: 3px !default;
|
|
14
|
-
$tile-bg-border-border-radius: 8px !default;
|
|
15
|
-
$tile-bg-hover-border-color: $color-blue5 !default;
|
|
16
|
-
$tile-bg-font-size: 18px !default;
|
|
17
|
-
$tile-bg-font-weight: 700 !default;
|
|
18
|
-
$tile-bg-text-color: #FFF !default;
|
|
19
|
-
$tile-bg-text-transform: uppercase !default;
|
|
20
|
-
|
|
21
|
-
$tile-icon-border-color: $color-charcoal1 !default;
|
|
22
|
-
$tile-icon-hover-border-color: $color-charcoal2 !default;
|
|
23
|
-
$tile-icon-border-radius: 4px !default;
|
|
24
|
-
$tile-icon-border-width: 1px !default;
|
|
25
|
-
$tile-icon-box-shadow: 0 2px 4px 0 rgba(#000, .1) !default;
|
|
26
|
-
$tile-icon-font-size: 12px !default;
|
|
27
|
-
$tile-icon-font-weight: 700 !default;
|
|
28
|
-
$tile-icon-text-color: $color-charcoal4 !default;
|
|
29
|
-
$tile-icon-img-width: 100% !default;
|
|
30
|
-
$tile-icon-img-height: 90px !default;
|
|
31
|
-
|
|
32
|
-
.tile {
|
|
33
|
-
display: $tile-display;
|
|
34
|
-
flex-direction: $tile-flex-direction;
|
|
35
|
-
height: $tile-height;
|
|
36
|
-
justify-content: $tile-justify-content;
|
|
37
|
-
width: $tile-width;
|
|
38
|
-
|
|
39
|
-
&--background-image {
|
|
40
|
-
.tile__background-image {
|
|
41
|
-
background-position: $tile-bg-background-position;
|
|
42
|
-
background-size: cover;
|
|
43
|
-
border-radius: $tile-bg-border-radius;
|
|
44
|
-
box-shadow: $tile-bg-box-shadow;
|
|
45
|
-
height: 100%;
|
|
46
|
-
left: 0;
|
|
47
|
-
position: absolute;
|
|
48
|
-
top: 0;
|
|
49
|
-
width: 100%;
|
|
50
|
-
|
|
51
|
-
&::before {
|
|
52
|
-
border: $tile-bg-border-width solid $tile-bg-border-color;
|
|
53
|
-
border-radius: $tile-bg-border-border-radius;
|
|
54
|
-
content: '';
|
|
55
|
-
height: calc(100% + 10px);
|
|
56
|
-
left: -5px;
|
|
57
|
-
position: absolute;
|
|
58
|
-
top: -5px;
|
|
59
|
-
transition: $tile-border-transition;
|
|
60
|
-
width: calc(100% + 10px);
|
|
61
|
-
z-index: -1;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.tile__text {
|
|
66
|
-
color: $tile-bg-text-color;
|
|
67
|
-
font-size: $tile-bg-font-size;
|
|
68
|
-
font-weight: $tile-bg-font-weight;
|
|
69
|
-
position: relative;
|
|
70
|
-
text-transform: $tile-bg-text-transform;
|
|
71
|
-
z-index: 2;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
&:hover {
|
|
75
|
-
.tile__background-image {
|
|
76
|
-
&::before {
|
|
77
|
-
border-color: $tile-bg-hover-border-color;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
|
|
83
|
-
&--icon {
|
|
84
|
-
.tile__icon {
|
|
85
|
-
height: $tile-icon-img-height;
|
|
86
|
-
width: $tile-icon-img-width;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
.tile__text {
|
|
90
|
-
color: $tile-icon-text-color;
|
|
91
|
-
display: inline-block;
|
|
92
|
-
font-size: $tile-icon-font-size;
|
|
93
|
-
font-weight: $tile-icon-font-weight;
|
|
94
|
-
|
|
95
|
-
&::before {
|
|
96
|
-
border: $tile-icon-border-width solid $tile-icon-border-color;
|
|
97
|
-
border-radius: $tile-icon-border-radius;
|
|
98
|
-
box-shadow: $tile-icon-box-shadow;
|
|
99
|
-
content: '';
|
|
100
|
-
display: block;
|
|
101
|
-
height: 100%;
|
|
102
|
-
left: 0;
|
|
103
|
-
position: absolute;
|
|
104
|
-
top: 0;
|
|
105
|
-
transition: $tile-border-transition;
|
|
106
|
-
width: 100%;
|
|
107
|
-
}
|
|
108
|
-
}
|
|
109
|
-
&:hover {
|
|
110
|
-
.tile__text {
|
|
111
|
-
&::before {
|
|
112
|
-
border-color: $tile-icon-hover-border-color;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
<div class="tile {{#if this.field.backgroundImageUrl}}tile--background-image{{/if}}{{#xif "this.field.svgSpriteIconUrl || this.field.imageIconUrl || this.field.localSVGPath || this.field.localSvgSpriteIconUrl || this.field.localImageIconUrl"}}tile--icon{{/xif}}">
|
|
2
|
-
{{#if this.field.backgroundImageUrl}}
|
|
3
|
-
<div class="tile__background-image {{#if this.field.backgroundImageClass}}{{this.field.backgroundImageClass}}{{/if}}" {{#xif "this.field.backgroundImageUrl != 'none'"}}style="background-image: url('https://{{x 'process.env.NODE_ENV'}}{{this.field.backgroundImageUrl}}')"{{/xif}}></div>
|
|
4
|
-
{{/if}}
|
|
5
|
-
{{#if this.field.imageIconUrl}}
|
|
6
|
-
<img class="tile__icon" src="https://{{x 'process.env.NODE_ENV'}}{{this.field.imageIconUrl}}" alt="{{this.field.text}}">
|
|
7
|
-
{{/if}}
|
|
8
|
-
{{#if this.field.localImageIconUrl}}
|
|
9
|
-
<img class="tile__icon" src="{{this.field.localImageIconUrl}}" alt="{{this.field.text}}">
|
|
10
|
-
{{/if}}
|
|
11
|
-
{{#if this.field.svgSpriteIconUrl}}
|
|
12
|
-
<svg class="tile__icon" role="img">
|
|
13
|
-
<use href="{{#xif 'isLocal === "true"'}}/temp/assets{{else}}https://{{x 'process.env.NODE_ENV'}}/quote/resources/assets{{/xif}}{{this.field.svgSpriteIconUrl}}"></use>
|
|
14
|
-
</svg>
|
|
15
|
-
{{/if}}
|
|
16
|
-
{{#if this.field.localSvgSpriteIconUrl}}
|
|
17
|
-
<svg class="tile__icon" role="img">
|
|
18
|
-
<use href="{{this.field.localSvgSpriteIconUrl}}"></use>
|
|
19
|
-
</svg>
|
|
20
|
-
{{/if}}
|
|
21
|
-
{{#if this.field.localSVGPath}}
|
|
22
|
-
<div class="tile__icon">
|
|
23
|
-
{{ fileInclude this.field.localSVGPath }}
|
|
24
|
-
</div>
|
|
25
|
-
{{/if}}
|
|
26
|
-
<span class="tile__text">{{{this.field.text}}}</span>
|
|
27
|
-
</div>
|
|
@@ -1,98 +0,0 @@
|
|
|
1
|
-
$value-props-display-mobile: none !default;
|
|
2
|
-
$value-props-display: block !default;
|
|
3
|
-
$value-props-backdrop-filter: blur(4px) !default;
|
|
4
|
-
$value-props-background-color: rgba($color-blue5,.85) !default;
|
|
5
|
-
$value-props-color: $color-white !default;
|
|
6
|
-
$value-props-margin: 0 !default;
|
|
7
|
-
$value-props-margin-mobile: $value-props-margin !default;
|
|
8
|
-
$value-props-max-width: 100% !default;
|
|
9
|
-
$value-props-padding: 30px 0 !default;
|
|
10
|
-
$value-props-padding-mobile: $value-props-padding !default;
|
|
11
|
-
|
|
12
|
-
$value-props-wrapper-display: flex !default;
|
|
13
|
-
$value-props-wrapper-flex-direction: row !default;
|
|
14
|
-
$value-props-wrapper-justify-content: space-evenly !default;
|
|
15
|
-
|
|
16
|
-
$value-props-icon-height: 40px !default;
|
|
17
|
-
$value-props-icon-width: $value-props-icon-height !default;
|
|
18
|
-
$value-props-icon-height-mobile: $value-props-icon-height !default;
|
|
19
|
-
$value-props-icon-width-mobile: $value-props-icon-width !default;
|
|
20
|
-
|
|
21
|
-
$value-props-item-border-left: 0 !default;
|
|
22
|
-
$value-props-item-flex: 0 0 25% !default;
|
|
23
|
-
$value-props-item-padding: 0 15px !default;
|
|
24
|
-
$value-props-item-text-align: center !default;
|
|
25
|
-
|
|
26
|
-
$value-props-description-font-size: 16px !default;
|
|
27
|
-
$value-props-description-font-size-tablet: $value-props-description-font-size !default;
|
|
28
|
-
$value-props-description-font-size-mobile: $value-props-description-font-size !default;
|
|
29
|
-
$value-props-description-font-weight: normal !default;
|
|
30
|
-
$value-props-description-line-height: 1.2 !default;
|
|
31
|
-
$value-props-description-line-height-mobile: $value-props-description-line-height !default;
|
|
32
|
-
$value-props-description-margin: 10px auto 0 !default;
|
|
33
|
-
$value-props-description-width: 80% !default;
|
|
34
|
-
|
|
35
|
-
.value-props {
|
|
36
|
-
backdrop-filter: $value-props-backdrop-filter;
|
|
37
|
-
background-color: $value-props-background-color;
|
|
38
|
-
color: $value-props-color;
|
|
39
|
-
display: $value-props-display-mobile;
|
|
40
|
-
margin: $value-props-margin-mobile;
|
|
41
|
-
max-width: $value-props-max-width;
|
|
42
|
-
padding: $value-props-padding-mobile;
|
|
43
|
-
|
|
44
|
-
&__wrapper {
|
|
45
|
-
display: $value-props-wrapper-display;
|
|
46
|
-
flex-direction: $value-props-wrapper-flex-direction;
|
|
47
|
-
justify-content: $value-props-wrapper-justify-content;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
&__item {
|
|
51
|
-
flex: $value-props-item-flex;
|
|
52
|
-
padding: $value-props-item-padding;
|
|
53
|
-
text-align: $value-props-item-text-align;
|
|
54
|
-
|
|
55
|
-
~ .value-props__item {
|
|
56
|
-
border-left: $value-props-item-border-left;
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
&__icon {
|
|
61
|
-
height: $value-props-icon-height-mobile;
|
|
62
|
-
width: $value-props-icon-width-mobile;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
&__description {
|
|
66
|
-
font-size: $value-props-description-font-size-mobile;
|
|
67
|
-
font-weight: $value-props-description-font-weight;
|
|
68
|
-
line-height: $value-props-description-line-height-mobile;
|
|
69
|
-
margin: $value-props-description-margin;
|
|
70
|
-
width: $value-props-description-width;
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
@include breakpoint-sm {
|
|
75
|
-
.value-props {
|
|
76
|
-
display: $value-props-display;
|
|
77
|
-
margin: $value-props-margin;
|
|
78
|
-
padding: $value-props-padding;
|
|
79
|
-
|
|
80
|
-
&__icon {
|
|
81
|
-
height: $value-props-icon-height;
|
|
82
|
-
width: $value-props-icon-width;
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
&__description {
|
|
86
|
-
font-size: $value-props-description-font-size-tablet;
|
|
87
|
-
line-height: $value-props-description-line-height;
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
}
|
|
91
|
-
|
|
92
|
-
@include breakpoint-md {
|
|
93
|
-
.value-props {
|
|
94
|
-
&__description {
|
|
95
|
-
font-size: $value-props-description-font-size;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
<div class="value-props{{#if this.props.class}} {{this.props.class}}{{/if}}">
|
|
2
|
-
<ul class="value-props__wrapper">
|
|
3
|
-
{{#each this.props.items}}
|
|
4
|
-
<li class="value-props__item">
|
|
5
|
-
{{#if this.icon}}
|
|
6
|
-
<svg class="value-props__icon" role="img">
|
|
7
|
-
<use href="{{this.icon}}"></use>
|
|
8
|
-
</svg>
|
|
9
|
-
{{/if}}
|
|
10
|
-
{{#if this.imageIcon}}
|
|
11
|
-
<img class="value-props__icon" src="{{this.imageIcon}}">
|
|
12
|
-
{{/if}}
|
|
13
|
-
{{#if this.description}}<p class="value-props__description" data-theme-template="vp">{{{this.description}}}</p>{{/if}}
|
|
14
|
-
</li>
|
|
15
|
-
{{/each}}
|
|
16
|
-
</ul>
|
|
17
|
-
</div>
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
$zip-control-color: $color-blue5 !default;
|
|
2
|
-
$zip-control-hover-color: $zip-control-color !default;
|
|
3
|
-
$zip-control-font-size: 12px !default;
|
|
4
|
-
$zip-control-font-weight: 700 !default;
|
|
5
|
-
$zip-control-line-height: 1.25 !default;
|
|
6
|
-
$zip-control-margin: 0 !default;
|
|
7
|
-
$zip-control-text-align: right !default;
|
|
8
|
-
|
|
9
|
-
$zip-control-edit-color: $zip-control-color !default;
|
|
10
|
-
$zip-control-edit-hover-color: $zip-control-edit-color !default;
|
|
11
|
-
$zip-control-edit-margin-left: 0 !default;
|
|
12
|
-
$zip-control-edit-text-decoration: none !default;
|
|
13
|
-
|
|
14
|
-
.zip-control {
|
|
15
|
-
font-size: $zip-control-font-size;
|
|
16
|
-
font-weight: $zip-control-font-weight;
|
|
17
|
-
line-height: $zip-control-line-height;
|
|
18
|
-
margin: $zip-control-margin;
|
|
19
|
-
text-align: $zip-control-text-align;
|
|
20
|
-
|
|
21
|
-
&__location,
|
|
22
|
-
&__zipcode {
|
|
23
|
-
color: $zip-control-color;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
&__location {
|
|
27
|
-
&:hover {
|
|
28
|
-
color: $zip-control-hover-color;
|
|
29
|
-
}
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
&__edit,
|
|
33
|
-
&__icon {
|
|
34
|
-
color: $zip-control-edit-color;
|
|
35
|
-
margin-left: $zip-control-edit-margin-left;
|
|
36
|
-
text-decoration: $zip-control-edit-text-decoration;
|
|
37
|
-
|
|
38
|
-
&:hover {
|
|
39
|
-
color: $zip-control-edit-hover-color;
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
{{#if this.field.notEditableOnMobile}}
|
|
2
|
-
<div class="zip-control visible-xs" id="zip-control">
|
|
3
|
-
<span class="zip-control__location user-location">City, State</span>
|
|
4
|
-
{{#if this.field.includeInitialZipCode}}
|
|
5
|
-
<span class="zip-control__zipcode user-zipcode"></span>
|
|
6
|
-
{{/if}}
|
|
7
|
-
</div>
|
|
8
|
-
{{/if}}
|
|
9
|
-
<div class="zip-control{{#if this.field.notEditableOnMobile}} hidden-xs{{/if}}" id="zip-control">
|
|
10
|
-
<a class="zip-control__button" id="zip-control__button" role="button">
|
|
11
|
-
<span class="zip-control__location user-location">City, State</span>
|
|
12
|
-
{{#if this.field.includeInitialZipCode}}
|
|
13
|
-
<span class="zip-control__zipcode user-zipcode"></span>
|
|
14
|
-
{{/if}}
|
|
15
|
-
{{#if this.field.editText}}
|
|
16
|
-
<span class="zip-control__edit">{{this.field.editText}}</span>
|
|
17
|
-
{{else}}
|
|
18
|
-
<i class="zip-control__icon icon-fill-edit"></i>
|
|
19
|
-
{{/if}}
|
|
20
|
-
</a>
|
|
21
|
-
</div>
|
|
@@ -1,104 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var geoip2 = function () {
|
|
4
|
-
function e(e, t, r, n) {
|
|
5
|
-
this.successCallback = e, this.errorCallback = t, this.type = n;
|
|
6
|
-
}
|
|
7
|
-
var t = {};
|
|
8
|
-
e.prototype.returnSuccess = function (e) {
|
|
9
|
-
this.successCallback && "function" == typeof this.successCallback && this.successCallback(this.fillInObject(JSON.parse(e)));
|
|
10
|
-
}, e.prototype.returnError = function (e) {
|
|
11
|
-
this.errorCallback && "function" == typeof this.errorCallback && (e || (e = {
|
|
12
|
-
error: "Unknown error"
|
|
13
|
-
}), this.errorCallback(e));
|
|
14
|
-
};
|
|
15
|
-
var r = {
|
|
16
|
-
country: [["continent", "Object", "names", "Object"], ["country", "Object", "names", "Object"], ["registered_country", "Object", "names", "Object"], ["represented_country", "Object", "names", "Object"], ["traits", "Object"]],
|
|
17
|
-
city: [["city", "Object", "names", "Object"], ["continent", "Object", "names", "Object"], ["country", "Object", "names", "Object"], ["location", "Object"], ["postal", "Object"], ["registered_country", "Object", "names", "Object"], ["represented_country", "Object", "names", "Object"], ["subdivisions", "Array", 0, "Object", "names", "Object"], ["traits", "Object"]]
|
|
18
|
-
};
|
|
19
|
-
return e.prototype.fillInObject = function (e) {
|
|
20
|
-
for (var t = "country" === this.type ? r.country : r.city, n = 0; n < t.length; n++) for (var o = t[n], s = e, i = 0; i < o.length; i += 2) {
|
|
21
|
-
var c = o[i];
|
|
22
|
-
s[c] || (s[c] = "Object" === o[i + 1] ? {} : []), s = s[c];
|
|
23
|
-
}
|
|
24
|
-
try {
|
|
25
|
-
Object.defineProperty(e.continent, "continent_code", {
|
|
26
|
-
enumerable: !1,
|
|
27
|
-
get: function get() {
|
|
28
|
-
return this.code;
|
|
29
|
-
},
|
|
30
|
-
set: function set(e) {
|
|
31
|
-
this.code = e;
|
|
32
|
-
}
|
|
33
|
-
});
|
|
34
|
-
} catch (u) {
|
|
35
|
-
e.continent.code && (e.continent.continent_code = e.continent.code);
|
|
36
|
-
}
|
|
37
|
-
if ("country" !== this.type) try {
|
|
38
|
-
Object.defineProperty(e, "most_specific_subdivision", {
|
|
39
|
-
enumerable: !1,
|
|
40
|
-
get: function get() {
|
|
41
|
-
return this.subdivisions[this.subdivisions.length - 1];
|
|
42
|
-
},
|
|
43
|
-
set: function set(e) {
|
|
44
|
-
this.subdivisions[this.subdivisions.length - 1] = e;
|
|
45
|
-
}
|
|
46
|
-
});
|
|
47
|
-
} catch (u) {
|
|
48
|
-
e.most_specific_subdivision = e.subdivisions[e.subdivisions.length - 1];
|
|
49
|
-
}
|
|
50
|
-
return e;
|
|
51
|
-
}, e.prototype.getGeoIPResult = function () {
|
|
52
|
-
var e,
|
|
53
|
-
t = this,
|
|
54
|
-
r = new window.XMLHttpRequest(),
|
|
55
|
-
n = "https://geoip-js.com/geoip/v2.1/" + this.type + "/me?",
|
|
56
|
-
o = {
|
|
57
|
-
referrer: location.protocol + "//" + location.hostname
|
|
58
|
-
};
|
|
59
|
-
if (!this.alreadyRan) {
|
|
60
|
-
this.alreadyRan = 1;
|
|
61
|
-
for (e in o) o.hasOwnProperty(e) && o[e] && (n += e + "=" + encodeURIComponent(o[e]) + "&");
|
|
62
|
-
n = n.substring(0, n.length - 1), r.open("GET", n, !0), r.onload = function () {
|
|
63
|
-
if ("undefined" == typeof r.status || 200 === r.status) t.returnSuccess(r.responseText);else {
|
|
64
|
-
var e,
|
|
65
|
-
n = r.hasOwnProperty("contentType") ? r.contentType : r.getResponseHeader("Content-Type");
|
|
66
|
-
if (/json/.test(n) && r.responseText.length) try {
|
|
67
|
-
e = JSON.parse(r.responseText);
|
|
68
|
-
} catch (o) {
|
|
69
|
-
e = {
|
|
70
|
-
code: "HTTP_ERROR",
|
|
71
|
-
error: "The server returned a " + r.status + " status with an invalid JSON body."
|
|
72
|
-
};
|
|
73
|
-
} else e = r.responseText.length ? {
|
|
74
|
-
code: "HTTP_ERROR",
|
|
75
|
-
error: "The server returned a " + r.status + " status with the following body: " + r.responseText
|
|
76
|
-
} : {
|
|
77
|
-
code: "HTTP_ERROR",
|
|
78
|
-
error: "The server returned a " + r.status + " status but either the server did not return a body or this browser is a version of Internet Explorer that hides error bodies."
|
|
79
|
-
};
|
|
80
|
-
t.returnError(e);
|
|
81
|
-
}
|
|
82
|
-
}, r.ontimeout = function () {
|
|
83
|
-
t.returnError({
|
|
84
|
-
code: "HTTP_TIMEOUT",
|
|
85
|
-
error: "The request to the GeoIP2 web service timed out."
|
|
86
|
-
});
|
|
87
|
-
}, r.onerror = function () {
|
|
88
|
-
t.returnError({
|
|
89
|
-
code: "HTTP_ERROR",
|
|
90
|
-
error: "There was a network error receiving the response from the GeoIP2 web service."
|
|
91
|
-
});
|
|
92
|
-
}, r.send(null);
|
|
93
|
-
}
|
|
94
|
-
}, t.country = function (t, r, n) {
|
|
95
|
-
var o = new e(t, r, n, "country");
|
|
96
|
-
o.getGeoIPResult();
|
|
97
|
-
}, t.city = function (t, r, n) {
|
|
98
|
-
var o = new e(t, r, n, "city");
|
|
99
|
-
o.getGeoIPResult();
|
|
100
|
-
}, t.insights = function (t, r, n) {
|
|
101
|
-
var o = new e(t, r, n, "insights");
|
|
102
|
-
o.getGeoIPResult();
|
|
103
|
-
}, t;
|
|
104
|
-
}();
|