mod-build 4.0.91 → 4.0.92

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 (137) hide show
  1. package/package.json +1 -2
  2. package/public/resources/scripts/abandonment/abandonment-a4bbb36fbc8ed64042b8.min.js +2 -0
  3. package/public/resources/scripts/abandonment/abandonment.min.js +2 -0
  4. package/public/resources/scripts/callrail/callrail-14011d73b50a928de4b4.min.js +2 -0
  5. package/public/resources/scripts/callrail/callrail.min.js +2 -0
  6. package/public/resources/scripts/footer/footer-component-46dc0d7ca6af4fc3b76b.min.js +2 -0
  7. package/public/resources/scripts/footer/footer-component.min.js +2 -0
  8. package/public/resources/scripts/geolocation/geolocation.min.js +2 -0
  9. package/public/resources/scripts/helpers/addVWOTestQueryParam.min.js +2 -0
  10. package/public/resources/scripts/helpers/addVWOTestQueryParam.min.js.map +1 -0
  11. package/public/resources/scripts/helpers/additionalOpts.min.js +2 -0
  12. package/public/resources/scripts/helpers/additionalOpts.min.js.map +1 -0
  13. package/public/resources/scripts/helpers/calls-only.min.js +2 -0
  14. package/public/resources/scripts/helpers/calls-only.min.js.map +1 -0
  15. package/public/resources/scripts/helpers/getPhoneAssignmentData.min.js +2 -0
  16. package/public/resources/scripts/helpers/getPhoneAssignmentData.min.js.map +1 -0
  17. package/public/resources/scripts/helpers/initNumericOnlyFields.min.js +2 -0
  18. package/public/resources/scripts/helpers/initNumericOnlyFields.min.js.map +1 -0
  19. package/public/resources/scripts/helpers/initQSForm.min.js +2 -0
  20. package/public/resources/scripts/helpers/initQSForm.min.js.map +1 -0
  21. package/public/resources/scripts/helpers/initQuadTransform.min.js +2 -0
  22. package/public/resources/scripts/helpers/initQuadTransform.min.js.map +1 -0
  23. package/public/resources/scripts/helpers/isZipCodeValid.min.js +2 -0
  24. package/public/resources/scripts/helpers/isZipCodeValid.min.js.map +1 -0
  25. package/public/resources/scripts/helpers/observeVWOVariation.min.js +2 -0
  26. package/public/resources/scripts/helpers/observeVWOVariation.min.js.map +1 -0
  27. package/public/resources/scripts/helpers/opts.min.js +2 -0
  28. package/public/resources/scripts/helpers/opts.min.js.map +1 -0
  29. package/public/resources/scripts/jornaya.hbs +35 -0
  30. package/public/resources/scripts/jornaya.html +35 -0
  31. package/public/resources/scripts/mod-alytics/modalytics-be44027508c0438f6709.min.js +2 -0
  32. package/public/resources/scripts/mod-alytics/modalytics.min.js +2 -0
  33. package/public/resources/scripts/mod-form/form/contractor-0918337caf3dfede1609.min.js +2 -0
  34. package/public/resources/scripts/mod-form/form/contractor.min.js +2 -0
  35. package/public/resources/scripts/mod-form/form/homeowner-19a121b0e596042326f4.min.js +2 -0
  36. package/public/resources/scripts/mod-form/form/homeowner.min.js +2 -0
  37. package/public/resources/scripts/mod-utils/modutils-bc275eb41af515f626ef.min.js +2 -0
  38. package/public/resources/scripts/mod-utils/modutils.min.js +2 -0
  39. package/public/resources/scripts/trusted-form.hbs +38 -0
  40. package/public/resources/scripts/trusted-form.html +38 -0
  41. package/public/resources/styles/components/abandonment/abandonment-8a673f060817db6cb7dc.min.css +1 -0
  42. package/public/resources/styles/components/abandonment/abandonment.min.css +1 -0
  43. package/public/resources/styles/components/footer/mod-footer-d233fa64b6c8297c70ec.min.css +1 -0
  44. package/public/resources/styles/components/footer/mod-footer.min.css +1 -0
  45. package/public/resources/styles/components/footer/qs-footer-926e67c28d10c729db46.min.css +1 -0
  46. package/public/resources/styles/components/footer/qs-footer.min.css +1 -0
  47. package/src/resources/data/tcpa.json +4 -0
  48. package/src/resources/templates/modals/about/index.hbs +9 -0
  49. package/src/resources/templates/modals/about/index.html +9 -0
  50. package/src/resources/templates/modals/contact-us/index.hbs +348 -0
  51. package/src/resources/templates/modals/contact-us/index.html +348 -0
  52. package/src/resources/templates/modals/e-sign-consent/index.hbs +35 -0
  53. package/src/resources/templates/modals/e-sign-consent/index.html +35 -0
  54. package/src/resources/templates/modals/faq/index.hbs +9 -0
  55. package/src/resources/templates/modals/faq/index.html +9 -0
  56. package/src/resources/templates/modals/privacy/index.hbs +237 -0
  57. package/src/resources/templates/modals/privacy/index.html +237 -0
  58. package/src/resources/templates/modals/terms/index.hbs +167 -0
  59. package/src/resources/templates/modals/terms/index.html +167 -0
  60. package/src/scripts/retry-fetch.js +39 -0
  61. package/src/shared-components/call-tracking/_call-tracking.scss +311 -0
  62. package/src/shared-components/call-tracking/call-tracking-icon.html +8 -0
  63. package/src/shared-components/call-tracking/call-tracking.html +81 -0
  64. package/src/shared-components/call-tracking/phone.svg +6 -0
  65. package/src/shared-components/card-button/_card-button.scss +49 -0
  66. package/src/shared-components/card-button/card-button.html +9 -0
  67. package/src/shared-components/carousel/_carousel.scss +106 -0
  68. package/src/shared-components/carousel/carousel.html +23 -0
  69. package/src/shared-components/carousel/carousel.js +3573 -0
  70. package/src/shared-components/carousel/carousel.js.map +1 -0
  71. package/src/shared-components/carousel/carousel.min.js +2 -0
  72. package/src/shared-components/carousel/carousel.min.js.map +1 -0
  73. package/src/shared-components/carousel/carousel.min.min.js +2 -0
  74. package/src/shared-components/carousel/carousel.min.min.js.map +1 -0
  75. package/src/shared-components/checkbox/_checkbox.scss +130 -0
  76. package/src/shared-components/checkbox/checkbox.html +10 -0
  77. package/src/shared-components/consent-capture/tcpa.html +12 -0
  78. package/src/shared-components/expand-collapse/_expand-collapse.scss +93 -0
  79. package/src/shared-components/expand-collapse/expand-collapse.html +8 -0
  80. package/src/shared-components/expand-collapse/expand-collapse.js +40 -0
  81. package/src/shared-components/expand-collapse/expand-collapse.min.js +2 -0
  82. package/src/shared-components/expand-collapse/expand-collapse.min.js.map +1 -0
  83. package/src/shared-components/featured-block/_featured-block.scss +191 -0
  84. package/src/shared-components/featured-block/featured-block.html +80 -0
  85. package/src/shared-components/foot-assets/foot-assets.html +107 -0
  86. package/src/shared-components/form-tcpa/form-tcpa-spanish.html +61 -0
  87. package/src/shared-components/form-tcpa/form-tcpa.html +55 -0
  88. package/src/shared-components/gtm-body/gtm-body.html +4 -0
  89. package/src/shared-components/head/head.html +195 -0
  90. package/src/shared-components/header/_header.scss +200 -0
  91. package/src/shared-components/header/header.html +79 -0
  92. package/src/shared-components/hero/_hero.scss +276 -0
  93. package/src/shared-components/hero/hero.html +136 -0
  94. package/src/shared-components/how-it-works/_how-it-works.scss +138 -0
  95. package/src/shared-components/how-it-works/how-it-works.html +19 -0
  96. package/src/shared-components/input/_input.scss +242 -0
  97. package/src/shared-components/input/input.html +30 -0
  98. package/src/shared-components/preloader/_preloader.scss +61 -0
  99. package/src/shared-components/preloader/preloader.html +49 -0
  100. package/src/shared-components/progress-bar/_progress-bar.scss +142 -0
  101. package/src/shared-components/progress-bar/progress-bar.html +20 -0
  102. package/src/shared-components/progress-bar/progress-bar.js +26 -0
  103. package/src/shared-components/progress-bar/progress-bar.min.js +2 -0
  104. package/src/shared-components/progress-bar/progress-bar.min.js.map +1 -0
  105. package/src/shared-components/radio-button/_radio-button.scss +577 -0
  106. package/src/shared-components/radio-button/radio-button.html +25 -0
  107. package/src/shared-components/reviews/_reviews.scss +79 -0
  108. package/src/shared-components/reviews/reviews.html +27 -0
  109. package/src/shared-components/section-deals/sitemap.xml +9 -0
  110. package/src/shared-components/select/_select.scss +61 -0
  111. package/src/shared-components/select/select.html +8 -0
  112. package/src/shared-components/steps/_steps.scss +431 -0
  113. package/src/shared-components/steps/defaultFormFieldConfig.json +64 -0
  114. package/src/shared-components/steps/step-fields.html +36 -0
  115. package/src/shared-components/steps/steps.html +136 -0
  116. package/src/shared-components/textarea/_textarea.scss +96 -0
  117. package/src/shared-components/textarea/textarea.html +13 -0
  118. package/src/shared-components/theme-toggle/_theme-toggle.scss +68 -0
  119. package/src/shared-components/theme-toggle/theme-toggle.html +34 -0
  120. package/src/shared-components/tile/_tile.scss +117 -0
  121. package/src/shared-components/tile/tile.html +27 -0
  122. package/src/shared-components/value-props/_value-props.scss +99 -0
  123. package/src/shared-components/value-props/value-props.html +17 -0
  124. package/src/shared-components/zip-control/_zip-control.scss +42 -0
  125. package/src/shared-components/zip-control/zip-control.html +21 -0
  126. package/tasks/add-editorconfig.js +3 -3
  127. package/tasks/get-default-trade-questions.js +8 -8
  128. package/tasks/grab-b2b-data.js +9 -30
  129. package/tasks/grab-cdn.js +4 -13
  130. package/tasks/grab-code-review-rules.js +4 -3
  131. package/tasks/grab-form-helpers.js +11 -27
  132. package/tasks/grab-global-fonts.js +7 -13
  133. package/tasks/grab-jsdoc.js +10 -30
  134. package/tasks/grab-shared-components.js +10 -19
  135. package/tasks/grab-shared-scripts.js +8 -21
  136. package/tasks/templates.js +28 -41
  137. package/src/scripts/retry-axios.js +0 -23
@@ -0,0 +1,577 @@
1
+ $primary-color: #6EB7C2 !default;
2
+ $qs-primary-color: #FE8501 !default;
3
+
4
+ $radio-button-wrapper-margin: 0 0 10px !default;
5
+ $radio-button-bg-color: $color-white !default;
6
+ $radio-button-border-color: $color-charcoal1 !default;
7
+ $radio-button-border-radius: 4px !default;
8
+ $radio-button-border-width: 1px !default;
9
+ $radio-button-text-color: $color-charcoal5 !default;
10
+ $radio-button-checked-bg-color: $color-white !default;
11
+ $radio-button-checked-border-color: $color-charcoal1 !default;
12
+ $radio-button-checked-border-width: 1px !default;
13
+ $radio-button-checked-box-shadow: none !default;
14
+ $radio-button-checked-font-weight: normal !default;
15
+ $radio-button-checked-text-color: $radio-button-text-color !default;
16
+ $radio-button-hover-bg-color: $color-white !default;
17
+ $radio-button-hover-border-color: $color-charcoal1 !default;
18
+ $radio-button-hover-border-width: 1px !default;
19
+ $radio-button-hover-text-color: $radio-button-text-color !default;
20
+ $radio-button-font-size: 16px !default;
21
+ $radio-button-font-weight: 400 !default;
22
+ $radio-button-line-height: 1.19 !default;
23
+ $radio-button-margin: 0 0 10px !default;
24
+ $radio-button-min-height: 48px !default;
25
+ $radio-button-padding: 15px 16px 15px 40px !default;
26
+ $radio-button-error-color: $color-red5 !default;
27
+
28
+ $radio-label-text-align: left !default;
29
+ $radio-label-justify-content: start !default;
30
+ $radio-image-text-align: center !default;
31
+ $radio-image-justify-content: center !default;
32
+
33
+ $radio-button-select-background-color: $color-white !default;
34
+ $radio-button-select-border: 1px solid $color-charcoal1 !default;
35
+ $radio-button-select-box-shadow: inset 0 1px 3px 0 rgba($color-black, .1) !default;
36
+ $radio-button-select-checked-background-color: $primary-color !default;
37
+ $radio-button-select-checked-border-color: $radio-button-select-checked-background-color !default;
38
+ $radio-button-select-checked-box-shadow: inset 0 1px 3px 0 rgba($color-black, .1) !default;
39
+ $radio-button-select-size: 20px !default;
40
+ $radio-button-select-top-position: 16px !default;
41
+ $radio-button-select-left-position: 13px !default;
42
+ $radio-button-select-inner-color: $color-white !default;
43
+ $radio-button-select-inner-size: 10px !default;
44
+ $radio-button-select-inner-top-position: 4px !default;
45
+ $radio-button-select-inner-left-position: $radio-button-select-inner-top-position !default;
46
+
47
+ $radio-border-transition: border-color .15s ease-in-out !default;
48
+
49
+ $radio-checkmark-bg-color: $color-white !default;
50
+ $radio-checkmark-border-color: rgba($color-black, .1) !default;
51
+ $radio-checkmark-border-width: 2px !default;
52
+ $radio-checkmark-border-radius: 3px !default;
53
+ $radio-checkmark-checked-bg-color: $color-white !default;
54
+ $radio-checkmark-checked-border-color: $primary-color !default;
55
+ $radio-checkmark-checked-text-color: $radio-button-checked-text-color !default;
56
+ $radio-checkmark-content: '\e920' !default;
57
+ $radio-checkmark-font-family: modicons-fill !default;
58
+ $radio-checkmark-margin: 0 0 15px !default;
59
+ $radio-checkmark-padding: 15px 40px !default;
60
+ $radio-checkmark-icon-color: $radio-checkmark-checked-border-color !default;
61
+
62
+ $radio-group-border-color: $radio-button-border-color !default;
63
+ $radio-group-border-width: 1px !default;
64
+ $radio-group-border-radius: 3px !default;
65
+ $radio-group-box-shadow: 0 2px 4px 0 rgba($color-black, .1) !default;
66
+ $radio-group-tile-font-size: 14px !default;
67
+ $radio-group-tile-height: 70px !default;
68
+ $radio-group-tile-text-color: #8A8A8A !default;
69
+ $radio-group-tile-checked-bg: $primary-color !default;
70
+ $radio-group-tile-checked-border: 1px solid #58929B !default;
71
+ $radio-group-tile-checked-box-shadow: inset 0 0 5px 0 rgba($color-black, .25) !default;
72
+ $radio-group-tile-checked-font-weight: 700 !default;
73
+ $radio-group-tile-checked-text-color: $color-white !default;
74
+ $radio-group-tile-hover-bg: $color-ivory2 !default;
75
+ $radio-group-tile-hover-text-color: $color-charcoal5 !default;
76
+
77
+ $radio-icon-checked-border-color: $primary-color !default;
78
+ $radio-icon-border-radius: $radio-button-border-radius !default;
79
+ $radio-icon-checked-border-width: 3px !default;
80
+ $radio-icon-height: 135px !default;
81
+ $radio-icon-margin: 0 3px 10px 0 !default;
82
+ $radio-icon-margin-mobile: 0 3px 5px 0 !default;
83
+ $radio-icon-width: 32% !default;
84
+
85
+ $radio-bg-checked-border-color: $primary-color !default;
86
+ $radio-bg-border-radius: 5px !default;
87
+ $radio-bg-default-bg-color: $color-charcoal2 !default;
88
+ $radio-bg-height: 77px !default;
89
+ $radio-bg-margin: 5px 4px 13px !default;
90
+ $radio-bg-margin-mobile: 5px 4px !default;
91
+ $radio-bg-width: calc(31% - 5px) !default;
92
+
93
+ $radio-qs-bg-color: $color-white !default;
94
+ $radio-qs-border-color: $qs-primary-color !default;
95
+ $radio-qs-border-width: 1px !default;
96
+ $radio-qs-border-radius: 3px !default;
97
+ $radio-qs-text-color: $qs-primary-color !default;
98
+ $radio-qs-checked-bg-color: $qs-primary-color !default;
99
+ $radio-qs-checked-border-color: $qs-primary-color !default;
100
+ $radio-qs-checked-text-color: $color-white !default;
101
+ $radio-qs-hover-bg-color: $qs-primary-color !default;
102
+ $radio-qs-hover-border-color: $qs-primary-color !default;
103
+ $radio-qs-hover-text-color: $color-white !default;
104
+ $radio-qs-font-size: 18px !default;
105
+ $radio-qs-font-size-mobile: 14px !default;
106
+ $radio-qs-line-height: 1.3 !default;
107
+ $radio-qs-margin: 0 0 15px !default;
108
+ $radio-qs-min-height: 67px !default;
109
+ $radio-qs-min-height-mobile: 57px !default;
110
+ $radio-qs-padding: 5px 40px 5px 50px !default;
111
+
112
+ .radio {
113
+ margin: $radio-button-wrapper-margin;
114
+ overflow: hidden;
115
+
116
+ &__button {
117
+ font-size: $radio-button-font-size;
118
+ margin: $radio-button-margin;
119
+ min-height: $radio-button-min-height;
120
+
121
+ label {
122
+ font-weight: $radio-button-font-weight;
123
+ line-height: $radio-button-line-height;
124
+ padding: $radio-button-padding;
125
+ position: relative;
126
+
127
+ input[type=radio]{
128
+
129
+ + span {
130
+ background-color: $radio-button-select-background-color;
131
+ border: $radio-button-select-border;
132
+ border-radius: 50%;
133
+ box-shadow: $radio-button-select-box-shadow;
134
+ display: block;
135
+ height: $radio-button-select-size;
136
+ left: $radio-button-select-left-position;
137
+ position: absolute;
138
+ top: $radio-button-select-top-position;
139
+ width: $radio-button-select-size;
140
+ }
141
+
142
+ &:checked + span { // sass-lint:disable-line
143
+ background-color: $radio-button-select-checked-background-color;
144
+ border-color: $radio-button-select-checked-border-color;
145
+ box-shadow: $radio-button-select-checked-box-shadow;
146
+
147
+ &:empty {
148
+ transition: all .15s ease-in-out;
149
+ }
150
+
151
+ &:after {
152
+ background: $radio-button-select-inner-color;
153
+ height: $radio-button-select-inner-size;
154
+ left: $radio-button-select-inner-left-position;
155
+ top: $radio-button-select-inner-top-position;
156
+ width: $radio-button-select-inner-size;
157
+ }
158
+
159
+ + span {
160
+ color: $radio-button-checked-text-color;
161
+ font-weight: $radio-button-checked-font-weight;
162
+
163
+ &::before {
164
+ background-color: $radio-button-checked-bg-color;
165
+ border: $radio-button-checked-border-width solid $radio-button-checked-border-color;
166
+ box-shadow: $radio-button-checked-box-shadow;
167
+ }
168
+ }
169
+ }
170
+ }
171
+
172
+ &:hover {
173
+ input:not(:checked) + span + .radio__button-text { // sass-lint:disable-line
174
+ color: $radio-button-hover-text-color;
175
+ &::before {
176
+ background-color: $radio-button-hover-bg-color;
177
+ border: $radio-button-hover-border-width solid $radio-button-hover-border-color;
178
+ }
179
+ }
180
+ }
181
+ }
182
+
183
+ &:last-child {
184
+ margin-bottom: 0;
185
+ }
186
+ }
187
+
188
+ &__button-text {
189
+ color: $radio-button-text-color;
190
+ transition: all .15s ease;
191
+
192
+ &::before {
193
+ background-color: $radio-button-bg-color;
194
+ border: $radio-button-border-width solid $radio-button-border-color;
195
+ border-radius: $radio-button-border-radius;
196
+ content: '';
197
+ height: 100%;
198
+ left: 0;
199
+ position: absolute;
200
+ top: 0;
201
+ transition: all .15s ease;
202
+ width: 100%;
203
+ z-index: -1;
204
+ }
205
+ }
206
+
207
+ &__custom-select {
208
+ &:empty {
209
+ display: none;
210
+ }
211
+ }
212
+
213
+ &--checkmark,
214
+ &--group,
215
+ &--icon,
216
+ &--backgroundImage {
217
+ .radio__button label input[type=radio] {
218
+ + span {
219
+ text-align: $radio-image-text-align;
220
+ }
221
+ }
222
+ }
223
+
224
+ &--qsRadio {
225
+ .radio__button label input[type=radio] {
226
+ + span {
227
+ text-align: $radio-label-text-align;
228
+ }
229
+ }
230
+ }
231
+
232
+ &--checkmark,
233
+ &--group,
234
+ &--icon,
235
+ &--backgroundImage,
236
+ &--qsRadio {
237
+ .radio__button label input[type=radio] { // sass-lint:disable-line
238
+ + span {
239
+ background: none;
240
+ border: 0;
241
+ border-radius: 0;
242
+ box-shadow: none;
243
+ display: block;
244
+ height: auto;
245
+ left: 0;
246
+ position: unset;
247
+ top: unset;
248
+ width: auto;
249
+ }
250
+
251
+ &:checked {
252
+ + span {
253
+ background: none;
254
+ border: 0;
255
+ }
256
+ }
257
+ }
258
+ }
259
+
260
+ &--checkmark {
261
+ .radio__button {
262
+ border: 0;
263
+ margin: $radio-checkmark-margin;
264
+
265
+ label {
266
+ padding: $radio-checkmark-padding;
267
+ position: relative;
268
+
269
+ input[type=radio] {
270
+ + span {
271
+ &::before {
272
+ background-color: transparent;
273
+ border: 0;
274
+ border-radius: 0;
275
+ box-shadow: none;
276
+ color: $radio-checkmark-icon-color;
277
+ content: $radio-checkmark-content;
278
+ font-family: $radio-checkmark-font-family !important;
279
+ font-size: 16px;
280
+ font-style: normal;
281
+ font-variant: normal;
282
+ font-weight: 400;
283
+ height: auto;
284
+ left: auto;
285
+ line-height: 16px;
286
+ opacity: 0;
287
+ right: 15px;
288
+ text-transform: none;
289
+ top: 50%;
290
+ transform: translateY(-50%);
291
+ transition: opacity ease .15s;
292
+ width: auto;
293
+ z-index: 1;
294
+ }
295
+
296
+ &::after {
297
+ background-color: $radio-checkmark-bg-color;
298
+ border: $radio-checkmark-border-width solid $radio-checkmark-border-color;
299
+ border-radius: $radio-checkmark-border-radius;
300
+ height: 100%;
301
+ left: 0;
302
+ opacity: 1;
303
+ position: absolute;
304
+ top: 0;
305
+ transition: $radio-border-transition;
306
+ width: 100%;
307
+ z-index: -1;
308
+ }
309
+ }
310
+
311
+ &:checked {
312
+ + span {
313
+ color: $radio-checkmark-checked-text-color;
314
+
315
+ &::before {
316
+ opacity: 1;
317
+ }
318
+
319
+ &::after {
320
+ background-color: $radio-checkmark-checked-bg-color;
321
+ border-color: $radio-checkmark-checked-border-color;
322
+ }
323
+ }
324
+ }
325
+
326
+ &:hover {
327
+ + span {
328
+ color: $radio-button-hover-text-color;
329
+
330
+ &::after {
331
+ background-color: $radio-button-hover-bg-color;
332
+ border-color: $radio-button-hover-border-color;
333
+ }
334
+ }
335
+ }
336
+ }
337
+ }
338
+ }
339
+ }
340
+
341
+ &--backgroundImage,
342
+ &--group,
343
+ &--icon {
344
+ overflow: hidden;
345
+ user-select: none;
346
+
347
+ .radio__button {
348
+ border-radius: $radio-icon-border-radius;
349
+ display: inline-flex;
350
+ flex-direction: column;
351
+ justify-content: $radio-image-justify-content;
352
+ margin: $radio-icon-margin;
353
+ position: relative;
354
+ text-align: $radio-image-text-align;
355
+ vertical-align: top;
356
+ width: $radio-icon-width;
357
+
358
+ label {
359
+ cursor: pointer;
360
+ line-height: 1;
361
+ margin-bottom: 0;
362
+ padding: 0;
363
+ width: 100%;
364
+
365
+ input[type=radio] {
366
+
367
+ + span {
368
+ &::before,
369
+ &::after {
370
+ display: none;
371
+ }
372
+ }
373
+ }
374
+ }
375
+
376
+ &-text {
377
+ &::before {
378
+ display: none;
379
+ }
380
+ }
381
+ }
382
+ }
383
+
384
+ &--group {
385
+ border: $radio-group-border-width solid $radio-group-border-color;
386
+ border-radius: $radio-group-border-radius;
387
+ box-shadow: $radio-group-box-shadow;
388
+ display: flex;
389
+
390
+ .radio__button {
391
+ border: 0;
392
+ border-radius: 0;
393
+ height: $radio-group-tile-height;
394
+ margin: 0;
395
+ width: 100%;
396
+
397
+ label {
398
+ height: 100%;
399
+ min-height: 0;
400
+
401
+ input[type=radio] {
402
+ + span {
403
+ align-items: center;
404
+ color: $radio-group-tile-text-color;
405
+ display: flex;
406
+ font-size: $radio-group-tile-font-size;
407
+ font-weight: normal;
408
+ height: 100%;
409
+ justify-content: $radio-image-justify-content;
410
+ transition: all .15s linear;
411
+ }
412
+
413
+ &:checked {
414
+ + span {
415
+ background-color: $radio-group-tile-checked-bg;
416
+ border: $radio-group-tile-checked-border;
417
+ box-shadow: $radio-group-tile-checked-box-shadow;
418
+ color: $radio-group-tile-checked-text-color;
419
+ font-weight: $radio-group-tile-checked-font-weight;
420
+ }
421
+ }
422
+ }
423
+
424
+ &:hover {
425
+ input[type=radio]:not(:checked) + span { // sass-lint:disable-line
426
+ background-color: $radio-group-tile-hover-bg;
427
+ color: $radio-group-tile-hover-text-color;
428
+ }
429
+ }
430
+ }
431
+
432
+ ~ .radio__button {
433
+ border-left: $radio-group-border-width solid $radio-group-border-color;
434
+ }
435
+ }
436
+ }
437
+
438
+ &--icon {
439
+ display: flex;
440
+ flex-wrap: wrap;
441
+ justify-content: space-between;
442
+
443
+ .radio__button {
444
+ border: 0;
445
+ height: $radio-icon-height;
446
+ line-height: 12px;
447
+ position: relative;
448
+
449
+ label {
450
+ display: inline-flex;
451
+ flex-direction: column;
452
+ height: 100%;
453
+ justify-content: $radio-image-justify-content;
454
+
455
+ input[type=radio]:checked + .tile .tile__text::before { // sass-lint:disable-line
456
+ border: $radio-icon-checked-border-width solid $radio-icon-checked-border-color;
457
+ }
458
+ }
459
+ }
460
+ }
461
+
462
+ &--backgroundImage {
463
+ padding: 0 1px;
464
+
465
+ .radio__button {
466
+ background-color: $radio-bg-default-bg-color;
467
+ border-radius: $radio-bg-border-radius;
468
+ height: $radio-bg-height;
469
+ margin: $radio-bg-margin;
470
+ width: $radio-bg-width;
471
+
472
+ input:checked {
473
+ + .tile .tile__background-image {
474
+ &::before {
475
+ border-color: $radio-bg-checked-border-color;
476
+ }
477
+ }
478
+ }
479
+
480
+ label {
481
+ align-items: center;
482
+ display: flex;
483
+ height: 100%;
484
+ justify-content: $radio-image-justify-content;
485
+ }
486
+ }
487
+ }
488
+
489
+ &--qsRadio {
490
+ .radio__button {
491
+ border: 0;
492
+ font-size: $radio-qs-font-size;
493
+ margin: $radio-qs-margin;
494
+ min-height: $radio-qs-min-height;
495
+
496
+ label {
497
+ align-items: center;
498
+ display: flex;
499
+ justify-content: $radio-label-justify-content;
500
+ min-height: inherit;
501
+ padding: $radio-qs-padding;
502
+ position: relative;
503
+
504
+ input[type=radio] {
505
+ + span {
506
+ color: $radio-qs-text-color;
507
+ line-height: $radio-qs-line-height;
508
+
509
+ &::before {
510
+ background-color: $radio-qs-bg-color;
511
+ border: $radio-qs-border-width solid $radio-qs-border-color;
512
+ border-radius: $radio-qs-border-radius;
513
+ height: 100%;
514
+ left: 0;
515
+ opacity: 1;
516
+ position: absolute;
517
+ top: 0;
518
+ transition: all .15s ease-in-out;
519
+ width: 100%;
520
+ z-index: -1;
521
+ }
522
+
523
+ &::after {
524
+ display: none;
525
+ }
526
+ }
527
+
528
+ &:checked {
529
+ + span {
530
+ color: $radio-qs-checked-text-color;
531
+ &::before {
532
+ background-color: $radio-qs-checked-bg-color;
533
+ border-color: $radio-qs-checked-border-color;
534
+ }
535
+ }
536
+ }
537
+
538
+ &:hover {
539
+ + span {
540
+ color: $radio-qs-hover-text-color;
541
+ &::before {
542
+ background-color: $radio-qs-hover-bg-color;
543
+ border-color: $radio-qs-hover-border-color;
544
+ }
545
+ }
546
+ }
547
+ }
548
+ }
549
+ }
550
+ }
551
+ }
552
+
553
+ .has-error, .has-error label:hover { // sass-lint:disable-line
554
+ input:not(:checked) + span + .radio__button-text { // sass-lint:disable-line
555
+ color: $radio-button-error-color;
556
+
557
+ &::before {
558
+ border-color: $radio-button-error-color;
559
+ }
560
+ }
561
+ }
562
+
563
+ @include breakpoint-phone {
564
+ .radio {
565
+ &--backgroundImage {
566
+ .radio__button {
567
+ margin: $radio-bg-margin-mobile;
568
+ }
569
+ }
570
+ &--qsRadio {
571
+ .radio__button {
572
+ font-size: $radio-qs-font-size-mobile;
573
+ min-height: $radio-qs-min-height-mobile;
574
+ }
575
+ }
576
+ }
577
+ }
@@ -0,0 +1,25 @@
1
+ <div class="radio{{#if this.field.radioOptionType}} radio--{{this.field.radioOptionType}}{{/if}}">
2
+ {{#each this.field.options}}
3
+ <div class="radio__button{{#if this.class}} {{this.class}}{{/if}}"{{#if this.includeDataInputFor}} data-input-for="{{this.value}}"{{/if}}>
4
+ <label for="{{#if this.id}}{{this.id}}{{/if}}{{#unless this.id}}{{../this.field.name}}-{{x 'this.text.replace(/[^a-zA-Z ]/g, "").replace(/\s+/g, "-").toLowerCase();'}}{{/unless}}">
5
+ <input id="{{#if this.id}}{{this.id}}{{/if}}{{#unless this.id}}{{../this.field.name}}-{{x 'this.text.replace(/[^a-zA-Z ]/g, "").replace(/\s+/g, "-").toLowerCase();'}}{{/unless}}" type="radio" name="{{../this.field.name}}" value="{{this.value}}" {{#unless ../this.field.isOptional}}data-required="nonempty"{{/unless}} {{#if this.checked}}checked="checked"{{/if}}{{#if this.extraAttributes}}{{#each this.extraAttributes}} {{{this.attributeName}}}="{{{this.attributeValue}}}"{{/each}}{{/if}}{{#if this.localSvgSpriteIconUrl}} data-icon="{{this.localSvgSpriteIconUrl}}"{{/if}}{{#if this.includeDataName}} data-name="{{this.text}}"{{/if}}{{#if this.projectscope}} data-projectscope="{{this.projectscope}}"{{/if}} />
6
+ {{#unless ../this.field.radioOptionType}}
7
+ <span class="radio__button-select"></span>
8
+ {{/unless}}
9
+ {{#xif "this.backgroundImageUrl || this.imageIconUrl || this.svgSpriteIconUrl || this.localSVGPath || this.localSvgSpriteIconUrl || this.localImageIconUrl"}}
10
+ {{fileInclude 'src/shared-components/tile/tile.html'
11
+ field = this
12
+ }}
13
+ {{else}}
14
+ {{#if this.stylizedFontGraphic}}
15
+ <span class="radio__button-stylized-font">{{{this.stylizedFontGraphic}}}</span>
16
+ {{/if}}
17
+ <span class="radio__button-text">{{{this.text}}}</span>
18
+ {{#if ../this.field.radioOptionType}}
19
+ <span class="radio__custom-select"></span>
20
+ {{/if}}
21
+ {{/xif}}
22
+ </label>
23
+ </div>
24
+ {{/each}}
25
+ </div>
@@ -0,0 +1,79 @@
1
+ $reviews-card-background: #FFF !default;
2
+ $reviews-card-border: 1px solid $color-charcoal1 !default;
3
+ $reviews-card-border-radius: 6px !default;
4
+ $reviews-card-box-shadow: 0 8px 16px 0 rgba(#000, .1) !default;
5
+ $reviews-card-min-height: 270px !default;
6
+ $reviews-card-min-height-tablet: 335px !default;
7
+ $reviews-card-min-height-desktop: 290px !default;
8
+ $reviews-card-padding: 50px 25px 30px !default;
9
+ $reviews-card-text-align: center !default;
10
+
11
+ $reviews-avatar-border-radius: 100px !default;
12
+ $reviews-avatar-height: 73px !default;
13
+ $reviews-avatar-top-position: -40px !default;
14
+ $reviews-avatar-width: $reviews-avatar-height !default;
15
+
16
+ $reviews-review-font-size: 16px !default;
17
+ $reviews-review-font-style: italic !default;
18
+ $reviews-review-margin: 15px 0 !default;
19
+ $reviews-review-text-align: left !default;
20
+
21
+ $reviews-author-bottom-position: 25px !default;
22
+
23
+
24
+ .reviews-card {
25
+ background: $reviews-card-background;
26
+ border: $reviews-card-border;
27
+ border-radius: $reviews-card-border-radius;
28
+ box-shadow: $reviews-card-box-shadow;
29
+ min-height: $reviews-card-min-height;
30
+ padding: $reviews-card-padding;
31
+ position: relative;
32
+ text-align: $reviews-card-text-align;
33
+
34
+ &__avatar {
35
+ border-radius: $reviews-avatar-border-radius;
36
+ height: $reviews-avatar-height;
37
+ left: 50%;
38
+ position: absolute;
39
+ top: $reviews-avatar-top-position;
40
+ transform: translate(-50%);
41
+ width: $reviews-avatar-width;
42
+
43
+ img {
44
+ border-radius: $reviews-avatar-border-radius;
45
+ height: 100%;
46
+ width: 100%;
47
+ }
48
+ }
49
+
50
+ &__review {
51
+ font-size: $reviews-review-font-size;
52
+ font-style: $reviews-review-font-style;
53
+ margin: $reviews-review-margin;
54
+ text-align: $reviews-review-text-align;
55
+ }
56
+
57
+ &__author {
58
+ bottom: $reviews-author-bottom-position;
59
+ left: 50%;
60
+ position: absolute;
61
+ transform: translate(-50%);
62
+
63
+ b {
64
+ display: block;
65
+ }
66
+ }
67
+ }
68
+
69
+ @include breakpoint-sm {
70
+ .reviews-card {
71
+ min-height: $reviews-card-min-height-tablet;
72
+ }
73
+ }
74
+
75
+ @include breakpoint-md {
76
+ .reviews-card {
77
+ min-height: $reviews-card-min-height-desktop;
78
+ }
79
+ }
@@ -0,0 +1,27 @@
1
+ {{#each this.items}}
2
+ <li class="swiper-slide reviews-card {{#if ../this.classModifier}}{{../this.classModifier}}{{/if}}">
3
+ {{#if this.avatar}}
4
+ <picture class="reviews-card__avatar">
5
+ <source data-srcset="https://{{x 'process.env.NODE_ENV'}}/quote/resources/assets/images/avatars/people/{{this.avatar}}.webp" type="image/webp">
6
+ <img data-src="https://{{x 'process.env.NODE_ENV'}}/quote/resources/assets/images/avatars/people/{{this.avatar}}.jpg" class="swiper-lazy">
7
+ </picture>
8
+ {{/if}}
9
+ <div class="swiper-lazy-preloader"></div>
10
+ <span class="star-rating star-rating--sm">
11
+ <span class="star-rating__stars star-rating__stars--{{this.starRating}}"></span>
12
+ </span>
13
+ {{#if this.excludeQuotes}}
14
+ <div class="reviews-card__review">{{{this.reviewText}}}</div>
15
+ {{else}}
16
+ <div class="reviews-card__review">"{{{this.reviewText}}}"</div>
17
+ {{/if}}
18
+ <div class="reviews-card__author">
19
+ <b>{{this.authorName}}</b>
20
+ {{#if this.useGeoLocation}}
21
+ <span class="user-location">{{this.location}}</span>
22
+ {{else}}
23
+ {{this.location}}
24
+ {{/if}}
25
+ </div>
26
+ </li>
27
+ {{/each}}