mod-build 4.0.6 → 4.0.7

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 (112) 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/siteconfig.js +1 -0
  30. package/src/accessible-components/button/_button.scss +319 -0
  31. package/src/accessible-components/button/back-button.html +8 -0
  32. package/src/accessible-components/button/button.html +17 -0
  33. package/src/accessible-components/carousel/_carousel.scss +112 -0
  34. package/src/accessible-components/carousel/carousel.html +25 -0
  35. package/src/accessible-components/carousel/carousel.js +3426 -0
  36. package/src/accessible-components/carousel/carousel.js.map +1 -0
  37. package/src/accessible-components/carousel/carousel.min.js +6 -0
  38. package/src/accessible-components/carousel/carousel.min.js.map +1 -0
  39. package/src/accessible-components/checkbox/_checkbox.scss +153 -0
  40. package/src/accessible-components/checkbox/checkbox-group.html +18 -0
  41. package/src/accessible-components/checkbox/checkbox.html +8 -0
  42. package/src/accessible-components/expand-collapse/_expand-collapse.scss +129 -0
  43. package/src/accessible-components/expand-collapse/expand-collapse.html +14 -0
  44. package/src/accessible-components/expand-collapse/expand-collapse.js +52 -0
  45. package/src/accessible-components/expand-collapse/expand-collapse.min.js +2 -0
  46. package/src/accessible-components/expand-collapse/expand-collapse.min.js.map +1 -0
  47. package/src/accessible-components/featured-block/_featured-block.scss +221 -0
  48. package/src/accessible-components/featured-block/featured-block.html +54 -0
  49. package/src/accessible-components/foot-assets/foot-assets.html +112 -0
  50. package/src/accessible-components/footer/footer.html +2 -0
  51. package/src/accessible-components/gtm-body/gtm-body.html +4 -0
  52. package/src/accessible-components/head/head.html +187 -0
  53. package/src/accessible-components/header/_header.scss +289 -0
  54. package/src/accessible-components/header/header.html +66 -0
  55. package/src/accessible-components/hero/_hero.scss +405 -0
  56. package/src/accessible-components/hero/hero.html +53 -0
  57. package/src/accessible-components/how-it-works/_how-it-works.scss +217 -0
  58. package/src/accessible-components/how-it-works/how-it-works-carousel.html +12 -0
  59. package/src/accessible-components/how-it-works/how-it-works-static.html +12 -0
  60. package/src/accessible-components/how-it-works/how-it-works.html +14 -0
  61. package/src/accessible-components/information/_information.scss +96 -0
  62. package/src/accessible-components/information/information.html +32 -0
  63. package/src/accessible-components/input/_input.scss +204 -0
  64. package/src/accessible-components/input/input.html +22 -0
  65. package/src/accessible-components/input/textarea.html +9 -0
  66. package/src/accessible-components/partners/_partners.scss +234 -0
  67. package/src/accessible-components/partners/partners.html +56 -0
  68. package/src/accessible-components/picture/picture.html +19 -0
  69. package/src/accessible-components/preloader/_preloader.scss +61 -0
  70. package/src/accessible-components/preloader/preloader.html +23 -0
  71. package/src/accessible-components/progress-bar/_progress-bar.scss +140 -0
  72. package/src/accessible-components/progress-bar/progress-bar.html +21 -0
  73. package/src/accessible-components/progress-bar/progress-bar.js +37 -0
  74. package/src/accessible-components/progress-bar/progress-bar.min.js +2 -0
  75. package/src/accessible-components/progress-bar/progress-bar.min.js.map +1 -0
  76. package/src/accessible-components/radio-button/_radio-button.scss +586 -0
  77. package/src/accessible-components/radio-button/radio-button.html +33 -0
  78. package/src/accessible-components/reviews/_reviews.scss +180 -0
  79. package/src/accessible-components/reviews/reviews-carousel.html +12 -0
  80. package/src/accessible-components/reviews/reviews-static.html +12 -0
  81. package/src/accessible-components/reviews/reviews.html +37 -0
  82. package/src/accessible-components/select/_select.scss +87 -0
  83. package/src/accessible-components/select/select.html +10 -0
  84. package/src/accessible-components/steps/_steps.scss +640 -0
  85. package/src/accessible-components/steps/defaultFormFieldConfig.json +109 -0
  86. package/src/accessible-components/steps/step-fields.html +38 -0
  87. package/src/accessible-components/steps/steps.html +168 -0
  88. package/src/accessible-components/tcpa/_tcpa.scss +49 -0
  89. package/src/accessible-components/tcpa/tcpa.html +9 -0
  90. package/src/accessible-components/tile/_tile.scss +117 -0
  91. package/src/accessible-components/tile/tile.html +14 -0
  92. package/src/accessible-components/value-props/_value-props.scss +102 -0
  93. package/src/accessible-components/value-props/value-props.html +17 -0
  94. package/src/accessible-components/zip-control/_zip-control.scss +79 -0
  95. package/src/accessible-components/zip-control/zip-control.html +10 -0
  96. package/src/resources/data/tcpa.json +4 -0
  97. package/src/resources/templates/modals/about/index.hbs +9 -0
  98. package/src/resources/templates/modals/about/index.html +9 -0
  99. package/src/resources/templates/modals/contact-us/index.hbs +348 -0
  100. package/src/resources/templates/modals/contact-us/index.html +348 -0
  101. package/src/resources/templates/modals/faq/index.hbs +9 -0
  102. package/src/resources/templates/modals/faq/index.html +9 -0
  103. package/src/resources/templates/modals/privacy/index.hbs +236 -0
  104. package/src/resources/templates/modals/privacy/index.html +236 -0
  105. package/src/resources/templates/modals/terms/index.hbs +166 -0
  106. package/src/resources/templates/modals/terms/index.html +166 -0
  107. package/src/scripts/retry-axios.js +21 -0
  108. package/tasks/grab-cdn.js +7 -1
  109. package/tasks/grab-form-helpers.js +11 -2
  110. package/tasks/grab-shared-components.js +10 -3
  111. package/tasks/grab-shared-scripts.js +8 -1
  112. package/tasks/templates.js +11 -2
@@ -0,0 +1,586 @@
1
+ $radio-overflow: visible !default;
2
+ $radio-margin: 0 0 10px !default;
3
+
4
+ $radio-button-label-cursor: pointer !default;
5
+ $radio-button-label-display: block !default;
6
+ $radio-button-input-position: absolute !default;
7
+ $radio-button-input-opacity: 0 !default;
8
+
9
+ // Default Styling (radioOptionType = none)
10
+ $radio-button-background-color: $color-white !default;
11
+ $radio-button-border-color: darken($color-charcoal3, 5%)!default;
12
+ $radio-button-border-radius: 4px !default;
13
+ $radio-button-border-width: 1px !default;
14
+ $radio-button-color: $color-charcoal8 !default;
15
+ $radio-button-font-size: 1rem !default;
16
+ $radio-button-font-size-desktop: 1.125rem !default;
17
+ $radio-button-font-weight: 400 !default;
18
+ $radio-button-line-height: 1.25 !default;
19
+ $radio-button-margin: 0 0 15px !default;
20
+ $radio-button-min-height: 48px !default;
21
+ $radio-button-padding: 17px 16px 17px 40px !default;
22
+ $radio-button-text-align: left !default;
23
+ // Checked
24
+ $radio-button-checked-background-color: rgba($color-charcoal1, .4) !default;
25
+ $radio-button-checked-border-color: $color-charcoal5 !default;
26
+ $radio-button-checked-border-width: 2px !default;
27
+ $radio-button-checked-box-shadow: none !default;
28
+ $radio-button-checked-color: $radio-button-color !default;
29
+ $radio-button-checked-font-weight: $radio-button-font-weight !default;
30
+ // Focus
31
+ $radio-button-focus-box-shadow: 0 0 10px 0 rgba(darken($radio-button-checked-background-color, 10%), .5) !default;
32
+ // Hover
33
+ $radio-button-hover-background-color: $radio-button-checked-background-color !default;
34
+ $radio-button-hover-border-color: $radio-button-border-color !default;
35
+ $radio-button-hover-border-width: $radio-button-border-width !default;
36
+ $radio-button-hover-color: $radio-button-checked-color !default;
37
+ // Error
38
+ $radio-button-error-color: $color-a11y-red !default;
39
+
40
+ // Radio Select (Circle)
41
+ $radio-button-select-background-color: $color-white !default;
42
+ $radio-button-select-border: 1px solid darken($color-charcoal3, 5%) !default;
43
+ $radio-button-select-box-shadow: none !default;
44
+ $radio-button-select-size: 20px !default;
45
+ $radio-button-select-position-top: 17px !default;
46
+ $radio-button-select-position-left: 13px !default;
47
+ $radio-button-select-inner-circle-background-color: $color-charcoal5 !default;
48
+ $radio-button-select-inner-circle-border-radius: 50% !default;
49
+ $radio-button-select-inner-circle-color: transparent !default;
50
+ $radio-button-select-inner-circle-content: '' !default;
51
+ $radio-button-select-inner-circle-display: block !default;
52
+ $radio-button-select-inner-circle-font-family: inherit !default;
53
+ $radio-button-select-inner-circle-font-size: 0 !default;
54
+ $radio-button-select-inner-circle-position: absolute !default;
55
+ $radio-button-select-inner-circle-position-left: 3px !default;
56
+ $radio-button-select-inner-circle-position-top: $radio-button-select-inner-circle-position-left !default;
57
+ $radio-button-select-inner-circle-size: 10px !default;
58
+ // Checked Radio Select (Circle)
59
+ $radio-button-select-checked-background-color: $color-white !default;
60
+ $radio-button-select-checked-border: 2px solid $color-charcoal5 !default;
61
+ $radio-button-select-checked-box-shadow: none !default;
62
+
63
+ $radio-border-transition: border-color .15s ease-in-out !default;
64
+
65
+ // Radio Button (Text Spanning Multiple Lines)
66
+ $radio-button-multiple-lines-text-max-width: 200px !default;
67
+ $radio-button-multiple-lines-font-size: $radio-button-font-size !default;
68
+ $radio-button-multiple-lines-font-size-desktop: $radio-button-font-size-desktop !default;
69
+
70
+ // Radio Button (radioOptionType = 'group')
71
+ $radio-group-border-color: $radio-button-border-color !default;
72
+ $radio-group-border-width: 1px !default;
73
+ $radio-group-border-radius: $radio-button-border-radius !default;
74
+ $radio-group-box-shadow: none !default;
75
+ $radio-group-gap: 0 !default;
76
+ $radio-group-button-background-color: transparent !default;
77
+ $radio-group-button-border-radius: 0 !default;
78
+ $radio-group-button-font-size: 1rem !default;
79
+ $radio-group-button-font-weight: normal !default;
80
+ $radio-group-button-height: 70px !default;
81
+ $radio-group-button-color: $radio-button-color !default;
82
+ // Checked
83
+ $radio-group-button-checked-background-color: $radio-button-checked-background-color !default;
84
+ $radio-group-button-checked-border: 2px solid $radio-button-checked-border-color !default;
85
+ $radio-group-button-checked-box-shadow: none !default;
86
+ $radio-group-button-checked-font-weight: 700 !default;
87
+ $radio-group-button-checked-color: $radio-group-button-color !default;
88
+ // Hover
89
+ $radio-group-button-hover-background-color: $radio-button-hover-background-color !default;
90
+ $radio-group-button-hover-color: $radio-group-button-color !default;
91
+
92
+ // Radio Button (radioOptionType = 'icon')
93
+ $radio-icon-checked-border-color: $radio-button-checked-border-color !default;
94
+ $radio-icon-border-radius: $radio-button-border-radius !default;
95
+ $radio-icon-checked-border-width: $radio-button-checked-border-width !default;
96
+ $radio-icon-height: 135px !default;
97
+ $radio-icon-margin: 0 3px 10px 0 !default;
98
+ $radio-icon-width: 32% !default;
99
+
100
+ // Radio Button (radioOptionType = 'backgroundImage')
101
+ $radio-background-color-checked-border-color: $radio-button-checked-border-color !default;
102
+ $radio-background-color-border-radius: 5px !default;
103
+ $radio-background-color-default-background-color: $color-charcoal4 !default;
104
+ $radio-background-color-height: 77px !default;
105
+ $radio-background-color-margin: 5px 4px !default;
106
+ $radio-background-color-margin-desktop: 5px 4px 13px !default;
107
+ $radio-background-color-width: calc(31% - 5px) !default;
108
+
109
+ // Radio Button (radioOptionType = 'custom')
110
+ $radio-custom-icon-background-color: $radio-button-checked-border-color !default;
111
+ $radio-custom-icon-border-radius: 50% !default;
112
+ $radio-custom-icon-color: $color-white !default;
113
+ $radio-custom-icon-content: '\e920' !default;
114
+ $radio-custom-icon-font-size: .875rem !default;
115
+ $radio-custom-icon-initial-opacity: 0 !default;
116
+ $radio-custom-icon-checked-opacity: 1 !default;
117
+ $radio-custom-icon-position: absolute !default;
118
+ $radio-custom-icon-position-left: 24px !default;
119
+ $radio-custom-icon-size: 30px !default;
120
+ $radio-custom-icon-text-align: center !default;
121
+ $radio-custom-icon-text-shadow: none !default;
122
+ $radio-custom-icon-checked-text-shadow: $radio-custom-icon-text-shadow !default;
123
+ $radio-custom-margin: 0 0 15px !default;
124
+ $radio-custom-min-height: 57px !default;
125
+ $radio-custom-min-height-desktop: 67px !default;
126
+ $radio-custom-padding: 5px 30px !default;
127
+ $radio-custom-text-align: center !default;
128
+ $radio-custom-label-justify-content: center !default;
129
+
130
+ .radio {
131
+ margin: $radio-margin;
132
+ overflow: $radio-overflow;
133
+
134
+ &__button {
135
+ font-size: $radio-button-font-size;
136
+ margin: $radio-button-margin;
137
+ min-height: $radio-button-min-height;
138
+
139
+ label {
140
+ cursor: $radio-button-label-cursor;
141
+ display: $radio-button-label-display;
142
+ font-weight: $radio-button-font-weight;
143
+ line-height: $radio-button-line-height;
144
+ padding: $radio-button-padding;
145
+ position: relative;
146
+ text-align: $radio-button-text-align;
147
+
148
+ input[type=radio] {
149
+ position: $radio-button-input-position;
150
+ opacity: $radio-button-input-opacity;
151
+
152
+ + span {
153
+ background-color: $radio-button-select-background-color;
154
+ border: $radio-button-select-border;
155
+ border-radius: 50%;
156
+ box-shadow: $radio-button-select-box-shadow;
157
+ display: block;
158
+ height: $radio-button-select-size;
159
+ left: $radio-button-select-position-left;
160
+ position: absolute;
161
+ top: $radio-button-select-position-top;
162
+ width: $radio-button-select-size;
163
+ }
164
+
165
+ &:checked + span { // sass-lint:disable-line
166
+ background-color: $radio-button-select-checked-background-color;
167
+ border: $radio-button-select-checked-border;
168
+ box-shadow: $radio-button-select-checked-box-shadow;
169
+
170
+ &:empty {
171
+ transition: $base-transition;
172
+ }
173
+
174
+ &:after {
175
+ background: $radio-button-select-inner-circle-background-color;
176
+ border-radius: $radio-button-select-inner-circle-border-radius;
177
+ color: $radio-button-select-inner-circle-color;
178
+ content: $radio-button-select-inner-circle-content;
179
+ display: $radio-button-select-inner-circle-display;
180
+ font-family: $radio-button-select-inner-circle-font-family;
181
+ font-size: $radio-button-select-inner-circle-font-size;
182
+ position: $radio-button-select-inner-circle-position;
183
+ height: $radio-button-select-inner-circle-size;
184
+ left: $radio-button-select-inner-circle-position-left;
185
+ top: $radio-button-select-inner-circle-position-top;
186
+ width: $radio-button-select-inner-circle-size;
187
+ }
188
+
189
+ + span {
190
+ color: $radio-button-checked-color;
191
+ font-weight: $radio-button-checked-font-weight;
192
+
193
+ &::before {
194
+ background-color: $radio-button-checked-background-color;
195
+ border: $radio-button-checked-border-width solid $radio-button-checked-border-color;
196
+ box-shadow: $radio-button-checked-box-shadow;
197
+ }
198
+ }
199
+ }
200
+
201
+ &:focus {
202
+ + span + span {
203
+ &::before {
204
+ box-shadow: $radio-button-focus-box-shadow;
205
+ }
206
+ }
207
+ }
208
+
209
+ &.multiple-lines {
210
+ + .radio__button-text {
211
+ font-size: $radio-button-multiple-lines-font-size;
212
+ max-width: $radio-button-multiple-lines-text-max-width;
213
+ }
214
+ }
215
+ }
216
+
217
+ &:hover {
218
+ input:not(:checked) + span + .radio__button-text { // sass-lint:disable-line
219
+ color: $radio-button-hover-color;
220
+
221
+ &::before {
222
+ background-color: $radio-button-hover-background-color;
223
+ border: $radio-button-hover-border-width solid $radio-button-hover-border-color;
224
+ }
225
+ }
226
+ }
227
+ }
228
+
229
+ &:last-child {
230
+ margin-bottom: 0;
231
+ }
232
+ }
233
+
234
+ &__button-text {
235
+ color: $radio-button-color;
236
+ transition: $base-transition;
237
+
238
+ &::before {
239
+ background-color: $radio-button-background-color;
240
+ border: $radio-button-border-width solid $radio-button-border-color;
241
+ border-radius: $radio-button-border-radius;
242
+ content: '';
243
+ height: 100%;
244
+ left: 0;
245
+ position: absolute;
246
+ top: 0;
247
+ transition: $base-transition;
248
+ width: 100%;
249
+ z-index: -1;
250
+ }
251
+ }
252
+
253
+ &__group,
254
+ &--icon,
255
+ &--backgroundImage,
256
+ &--custom {
257
+ .radio__button {
258
+ label {
259
+ padding: 0;
260
+ text-align: $radio-custom-text-align;
261
+
262
+ input[type=radio] {
263
+ + span {
264
+ background: none;
265
+ border: 0;
266
+ border-radius: 0;
267
+ box-shadow: none;
268
+ display: block;
269
+ height: auto;
270
+ left: 0;
271
+ position: unset;
272
+ text-align: $radio-custom-text-align;
273
+ top: unset;
274
+ width: auto;
275
+ }
276
+
277
+ &:checked {
278
+ + span {
279
+ background: none;
280
+ border: 0;
281
+ }
282
+ }
283
+ }
284
+ }
285
+ }
286
+ }
287
+
288
+ &__group,
289
+ &--backgroundImage,
290
+ &--icon {
291
+ overflow: hidden;
292
+ user-select: none;
293
+
294
+ .radio__button {
295
+ border-radius: $radio-icon-border-radius;
296
+ display: inline-flex;
297
+ flex-direction: column;
298
+ justify-content: center;
299
+ margin: $radio-icon-margin;
300
+ position: relative;
301
+ text-align: center;
302
+ vertical-align: top;
303
+ width: $radio-icon-width;
304
+
305
+ label {
306
+ input[type=radio] {
307
+ + span {
308
+ &::before,
309
+ &::after {
310
+ display: none;
311
+ }
312
+ }
313
+ }
314
+ }
315
+
316
+ .radio__buton-text {
317
+ &::before {
318
+ display: none;
319
+ }
320
+ }
321
+ }
322
+ }
323
+
324
+ &__group {
325
+ border: $radio-group-border-width solid $radio-group-border-color;
326
+ border-radius: $radio-group-border-radius;
327
+ box-shadow: $radio-group-box-shadow;
328
+ display: flex;
329
+ gap: $radio-group-gap;
330
+
331
+ .radio__button {
332
+ border: 0;
333
+ border-radius: 0;
334
+ height: $radio-group-button-height;
335
+ margin: 0;
336
+ width: 100%;
337
+
338
+ label {
339
+ height: 100%;
340
+ min-height: 0;
341
+
342
+ input[type=radio] {
343
+ + span {
344
+ align-items: center;
345
+ background-color: $radio-group-button-background-color;
346
+ border-radius: $radio-group-button-border-radius;
347
+ color: $radio-group-button-color;
348
+ display: flex;
349
+ font-size: $radio-group-button-font-size;
350
+ font-weight: $radio-group-button-font-weight;
351
+ height: 100%;
352
+ justify-content: center;
353
+ transition: all .15s linear;
354
+ }
355
+
356
+ &:checked {
357
+ + span {
358
+ background-color: $radio-group-button-checked-background-color;
359
+ border: $radio-group-button-checked-border;
360
+ box-shadow: $radio-group-button-checked-box-shadow;
361
+ color: $radio-group-button-checked-color;
362
+ font-weight: $radio-group-button-checked-font-weight;
363
+ }
364
+ }
365
+ }
366
+
367
+ &:hover {
368
+ input[type=radio]:not(:checked) + span { // sass-lint:disable-line
369
+ background-color: $radio-group-button-hover-background-color;
370
+ color: $radio-group-button-hover-color;
371
+ }
372
+ }
373
+ }
374
+
375
+ ~ .radio__button {
376
+ border-left: $radio-group-border-width solid $radio-group-border-color;
377
+ }
378
+ }
379
+ }
380
+
381
+ &--icon {
382
+ display: flex;
383
+ flex-wrap: wrap;
384
+ justify-content: space-between;
385
+
386
+ .radio__button {
387
+ border: 0;
388
+ height: $radio-icon-height;
389
+ line-height: 12px;
390
+ position: relative;
391
+
392
+ label {
393
+ display: inline-flex;
394
+ flex-direction: column;
395
+ height: 100%;
396
+ justify-content: center;
397
+
398
+ input[type=radio]:checked + .tile .tile__text::before { // sass-lint:disable-line
399
+ border: $radio-icon-checked-border-width solid $radio-icon-checked-border-color;
400
+ }
401
+ }
402
+ }
403
+ }
404
+
405
+ &--backgroundImage {
406
+ padding: 0 1px;
407
+
408
+ .radio__button {
409
+ background-color: $radio-background-color-default-background-color;
410
+ border-radius: $radio-background-color-border-radius;
411
+ height: $radio-background-color-height;
412
+ margin: $radio-background-color-margin;
413
+ width: $radio-background-color-width;
414
+
415
+ input:checked {
416
+ + .tile .tile__background-image {
417
+ &::before {
418
+ border-color: $radio-background-color-checked-border-color;
419
+ }
420
+ }
421
+ }
422
+
423
+ label {
424
+ align-items: center;
425
+ display: flex;
426
+ height: 100%;
427
+ justify-content: center;
428
+ }
429
+ }
430
+ }
431
+
432
+ &--custom {
433
+ .radio__button {
434
+ min-height: $radio-custom-min-height;
435
+
436
+ label {
437
+ align-items: center;
438
+ display: flex;
439
+ justify-content: $radio-custom-label-justify-content;
440
+ min-height: inherit;
441
+ padding: $radio-custom-padding;
442
+ position: relative;
443
+
444
+ input[type=radio] {
445
+ + span {
446
+ color: $radio-button-color;
447
+ line-height: $radio-button-line-height;
448
+
449
+ &::before {
450
+ background-color: $radio-button-background-color;
451
+ border: $radio-button-border-width solid $radio-button-border-color;
452
+ border-radius: $radio-button-border-radius;
453
+ height: 100%;
454
+ left: 0;
455
+ opacity: 1;
456
+ position: absolute;
457
+ top: 0;
458
+ transition: $base-transition;
459
+ width: 100%;
460
+ z-index: -1;
461
+ }
462
+
463
+ &::after {
464
+ display: none;
465
+ }
466
+
467
+ + span {
468
+ background-color: $radio-custom-icon-background-color;
469
+ border-radius: $radio-custom-icon-border-radius;
470
+ height: $radio-custom-icon-size;
471
+ left: $radio-custom-icon-position-left;
472
+ opacity: $radio-custom-icon-initial-opacity;
473
+ position: $radio-custom-icon-position;
474
+ text-align: $radio-custom-icon-text-align;
475
+ transition: $base-transition;
476
+ width: $radio-custom-icon-size;
477
+
478
+ &::before {
479
+ @include icon-fill;
480
+ background: transparent;
481
+ border: 0;
482
+ color: $radio-custom-icon-color;
483
+ content: $radio-custom-icon-content;
484
+ display: block;
485
+ font-size: $radio-custom-icon-font-size;
486
+ line-height: $radio-custom-icon-size;
487
+ text-shadow: $radio-custom-icon-text-shadow;
488
+ z-index: 2;
489
+ }
490
+ }
491
+ }
492
+
493
+ &:checked {
494
+ + span {
495
+ color: $radio-button-checked-color;
496
+ font-weight: $radio-button-checked-font-weight;
497
+
498
+ &::before {
499
+ background-color: $radio-button-checked-background-color;
500
+ border: $radio-button-checked-border-width solid $radio-button-checked-border-color;
501
+ }
502
+
503
+ + span {
504
+ opacity: $radio-custom-icon-checked-opacity;
505
+
506
+ &::before {
507
+ text-shadow: $radio-custom-icon-checked-text-shadow;
508
+ }
509
+ }
510
+ }
511
+ }
512
+
513
+ &:focus {
514
+ + span {
515
+ &::before {
516
+ box-shadow: $radio-button-focus-box-shadow;
517
+ }
518
+
519
+ + span {
520
+ &:before {
521
+ box-shadow: none;
522
+ }
523
+ }
524
+ }
525
+ }
526
+ }
527
+
528
+ &:hover {
529
+ input:not(:checked) + span {
530
+ color: $radio-button-hover-color;
531
+
532
+ &::before {
533
+ background-color: $radio-button-hover-background-color;
534
+ border: $radio-button-hover-border-width solid $radio-button-hover-border-color;
535
+ }
536
+
537
+ + span {
538
+ opacity: 1;
539
+ }
540
+ }
541
+ }
542
+ }
543
+ }
544
+ }
545
+ }
546
+
547
+ .has-error, .has-error label:hover { // sass-lint:disable-line
548
+ input:not(:checked) + span + .radio__button-text { // sass-lint:disable-line
549
+ color: $radio-button-error-color;
550
+
551
+ &::before {
552
+ border-color: $radio-button-error-color;
553
+ }
554
+ }
555
+ }
556
+
557
+ @include breakpoint-md {
558
+ .radio {
559
+ &--custom {
560
+ .radio__button {
561
+ min-height: $radio-custom-min-height-desktop;
562
+ }
563
+ }
564
+
565
+ &--backgroundImage {
566
+ .radio__button {
567
+ margin: $radio-background-color-margin-desktop;
568
+ }
569
+ }
570
+
571
+ &__button {
572
+ font-size: $radio-button-font-size-desktop;
573
+
574
+ label {
575
+ input[type=radio] {
576
+ &.multiple-lines {
577
+ + .radio__button-text {
578
+ font-size: $radio-button-multiple-lines-font-size-desktop;
579
+ }
580
+ }
581
+ }
582
+ }
583
+ }
584
+ }
585
+ }
586
+
@@ -0,0 +1,33 @@
1
+ {{#if this.field}}
2
+ <fieldset class="radio{{#if this.field.radioOptionType}} radio--{{this.field.radioOptionType}}{{/if}}{{#if this.field.attributes.class}} {{this.field.attributes.class}}{{/if}}" {{{addAttributes this.field 'class'}}}>
3
+ {{#if this.field.legend}}
4
+ <legend {{{addAttributes this.field.legend}}}>{{{this.field.legend.text}}}</legend>
5
+ {{/if}}
6
+ {{#xif "this.field.radioOptionType === 'group'"}}
7
+ <div class="radio__group">
8
+ {{/xif}}
9
+ {{#each this.field.options}}
10
+ <div class="radio__button{{#xif "this.wrapper && this.wrapper.attributes && this.wrapper.attributes.class"}} {{this.wrapper.attributes.class}}{{/xif}}" {{#if this.wrapper}}{{{addAttributes this.wrapper 'class'}}}{{/if}}>
11
+ <label class="radio__button-label">
12
+ <input type="radio" {{{addAttributes this 'id' 'type'}}} />
13
+ {{#unless ../this.field.radioOptionType}}
14
+ <span class="radio__button-select"></span>
15
+ {{/unless}}
16
+ {{#xif "this.backgroundImage || this.picture"}}
17
+ {{fileInclude 'src/accessible-components/tile/tile.html'
18
+ field = this
19
+ }}
20
+ {{else}}
21
+ <span class="radio__button-text">{{{this.text}}}</span>
22
+ {{#if ../this.field.radioOptionType}}
23
+ <span class="radio__custom-select"></span>
24
+ {{/if}}
25
+ {{/xif}}
26
+ </label>
27
+ </div>
28
+ {{/each}}
29
+ {{#xif "this.field.radioOptionType === 'group'"}}
30
+ </div>
31
+ {{/xif}}
32
+ </fieldset>
33
+ {{/if}}