mod-base 1.0.3 → 1.0.4-9.beta-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (33) hide show
  1. package/CHANGELOG.md +152 -0
  2. package/package.json +1 -1
  3. package/src/fonts/modstyle-icons/modicons-fill/fonts/modicons-fill.eot +0 -0
  4. package/src/fonts/modstyle-icons/modicons-fill/fonts/modicons-fill.svg +1 -0
  5. package/src/fonts/modstyle-icons/modicons-fill/fonts/modicons-fill.ttf +0 -0
  6. package/src/fonts/modstyle-icons/modicons-fill/fonts/modicons-fill.woff +0 -0
  7. package/src/fonts/modstyle-icons/modicons-fill/selection.json +1 -1
  8. package/src/fonts/modstyle-icons/modicons-fill/style.css +4 -0
  9. package/src/fonts/modstyle-icons/modicons-stroke/fonts/modicons-stroke.eot +0 -0
  10. package/src/fonts/modstyle-icons/modicons-stroke/fonts/modicons-stroke.svg +21 -2
  11. package/src/fonts/modstyle-icons/modicons-stroke/fonts/modicons-stroke.ttf +0 -0
  12. package/src/fonts/modstyle-icons/modicons-stroke/fonts/modicons-stroke.woff +0 -0
  13. package/src/fonts/modstyle-icons/modicons-stroke/selection.json +1 -1
  14. package/src/fonts/modstyle-icons/modicons-stroke/style.css +177 -175
  15. package/src/images/rating-icons/bbb.svg +1 -0
  16. package/src/images/rating-icons/google.svg +1 -0
  17. package/src/images/rating-icons/modernize.svg +1 -0
  18. package/src/images/rating-icons/trustpilot.svg +1 -0
  19. package/src/styles/base/_built-in-classes.scss +23 -8
  20. package/src/styles/base/_colors.scss +161 -20
  21. package/src/styles/base/_fonts.scss +22 -10
  22. package/src/styles/base/_grid.scss +1 -1
  23. package/src/styles/base/_radius.scss +6 -0
  24. package/src/styles/base/_ratings.scss +427 -0
  25. package/src/styles/base/_reset.scss +30 -17
  26. package/src/styles/base/_spacing.scss +9 -0
  27. package/src/styles/base/_variables.scss +23 -3
  28. package/src/styles/base/components/_duplicate-submission.scss +44 -0
  29. package/src/styles/base/components/_index.scss +1 -0
  30. package/src/styles/base/index.scss +6 -0
  31. package/src/styles/icons/_icon-classes-fill.scss +6 -0
  32. package/src/styles/icons/_icon-classes-stroke.scss +113 -0
  33. package/src/styles/templates/_dark-mode.scss +539 -90
@@ -0,0 +1,427 @@
1
+ @import '../icons/mixin-fill';
2
+ @import '../icons/mixin-stroke';
3
+
4
+ $star-rating-height: 24px;
5
+ $star-rating-height-sm: 20px;
6
+ $star-rating-height-lg: 28px;
7
+
8
+ $rating-icons-folder: '../images/rating-icons' !default;
9
+
10
+ @mixin star-rating-sm {
11
+ .star-rating {
12
+ &__stars {
13
+ height: $star-rating-height-sm;
14
+ line-height: $star-rating-height-sm;
15
+
16
+ &::before,
17
+ &::after {
18
+ font-size: $star-rating-height-sm;
19
+ height: $star-rating-height-sm;
20
+ line-height: $star-rating-height-sm;
21
+ }
22
+ }
23
+ }
24
+ }
25
+
26
+ @mixin star-rating-lg {
27
+ height: $star-rating-height-lg;
28
+ line-height: $star-rating-height-lg;
29
+
30
+ .star-rating {
31
+ &__stars {
32
+ height: $star-rating-height-lg;
33
+ line-height: $star-rating-height-lg;
34
+
35
+ &::before,
36
+ &::after {
37
+ font-size: $star-rating-height-lg;
38
+ height: $star-rating-height-lg;
39
+ line-height: $star-rating-height-lg;
40
+ }
41
+ }
42
+ }
43
+ }
44
+
45
+ .star-rating {
46
+ display: inline-block;
47
+
48
+ > span {
49
+ vertical-align: middle;
50
+ }
51
+
52
+ &__stars {
53
+ display: inline-block;
54
+ height: $star-rating-height;
55
+ line-height: $star-rating-height;
56
+ margin-right: 5px;
57
+ position: relative;
58
+
59
+ &::before,
60
+ &::after {
61
+ @include icon-fill;
62
+ content: '\e907\e907\e907\e907\e907';
63
+ display: inline-block;
64
+ font-size: $star-rating-height;
65
+ height: $star-rating-height;
66
+ line-height: $star-rating-height;
67
+ overflow: hidden;
68
+ white-space: nowrap;
69
+ }
70
+
71
+ &::before {
72
+ color: $color-ivory5;
73
+ position: relative;
74
+ z-index: 1;
75
+ }
76
+
77
+ &::after {
78
+ color: $color-yellow5;
79
+ left: 0;
80
+ position: absolute;
81
+ top: 0;
82
+ z-index: 2;
83
+ width: 0;
84
+ }
85
+
86
+ &--00 {
87
+ &::before {
88
+ color: $color-ivory5;
89
+ font-size: $star-rating-height;
90
+ height: $star-rating-height;
91
+ line-height: $star-rating-height;
92
+ }
93
+
94
+ &::after {
95
+ display: none;
96
+ }
97
+ }
98
+
99
+ &--05 {
100
+ &::after {
101
+ width: 10%;
102
+ }
103
+ }
104
+
105
+ &--10 {
106
+ &::after {
107
+ width: 20%;
108
+ }
109
+ }
110
+
111
+ &--15 {
112
+ &::after {
113
+ width: 30%;
114
+ }
115
+ }
116
+
117
+ &--20 {
118
+ &::after {
119
+ width: 40%;
120
+ }
121
+ }
122
+
123
+ &--25 {
124
+ &::after {
125
+ width: 50%;
126
+ }
127
+ }
128
+
129
+ &--30 {
130
+ &::after {
131
+ width: 60%;
132
+ }
133
+ }
134
+
135
+ &--35 {
136
+ &::after {
137
+ width: 70%;
138
+ }
139
+ }
140
+
141
+ &--40 {
142
+ &::after {
143
+ width: 80%;
144
+ }
145
+ }
146
+
147
+ &--45 {
148
+ &::after {
149
+ width: 90%;
150
+ }
151
+ }
152
+
153
+ &--50 {
154
+ &::after {
155
+ width: 100%;
156
+ }
157
+ }
158
+ }
159
+
160
+ &__label {
161
+ color: $color-charcoal5;
162
+ display: inline-block;
163
+ font-size: .75rem;
164
+ font-weight: 700;
165
+ line-height: 1.3;
166
+ transition: color .15s ease;
167
+ white-space: nowrap;
168
+
169
+ &--verified {
170
+ color: $color-orange5;
171
+ font-size: .875rem;
172
+ line-height: 1.3;
173
+ }
174
+
175
+ &--text {
176
+ color: $color-charcoal4;
177
+ font-size: .875rem;
178
+ font-weight: 400;
179
+ line-height: 1.3;
180
+ }
181
+ }
182
+
183
+ &--lg {
184
+ @include star-rating-lg;
185
+ }
186
+
187
+ &--sm {
188
+ @include star-rating-sm;
189
+ }
190
+ }
191
+
192
+ a {
193
+ &.star-rating {
194
+ &:hover,
195
+ &:focus,
196
+ &:active {
197
+ .star-rating {
198
+ &__label {
199
+ color: $color-charcoal6;
200
+
201
+ &--verified {
202
+ color: $color-orange6;
203
+ }
204
+
205
+ &--text {
206
+ color: $color-charcoal5;
207
+ }
208
+ }
209
+ }
210
+ }
211
+ }
212
+ }
213
+
214
+ /**
215
+ * External ratings
216
+ */
217
+ .ext-rating-icon {
218
+ border: 1px solid $color-charcoal1;
219
+ border-radius: 16px;
220
+ color: $color-charcoal5;
221
+ display: inline-block;
222
+ font-size: 1.0625rem;
223
+ font-weight: bold;
224
+ line-height: 20px;
225
+ padding: 5px 10px;
226
+ transition: border-color .15s ease;
227
+
228
+ &--google,
229
+ &--bbb,
230
+ &--trustpilot {
231
+ background-position: 10px 50%;
232
+ background-repeat: no-repeat;
233
+ padding-left: 30px;
234
+ }
235
+
236
+ &--google {
237
+ background-image: url('#{$rating-icons-folder}/google.svg');
238
+ background-size: 14px 14px;
239
+ }
240
+
241
+ &--bbb {
242
+ background-image: url('#{$rating-icons-folder}/bbb.svg');
243
+ background-position: 8px 50%;
244
+ background-size: 22px 22px;
245
+ }
246
+
247
+ &--trustpilot {
248
+ background-image: url('#{$rating-icons-folder}/trustpilot.svg');
249
+ background-position: 8px 50%;
250
+ background-size: 20px 20px;
251
+ }
252
+ }
253
+
254
+ @include breakpoint-phone {
255
+ .ext-rating-icon {
256
+ &--trustpilot {
257
+ background-size: 14px 14px;
258
+ padding-left: 26px;
259
+ }
260
+ }
261
+ }
262
+
263
+ a {
264
+ &.ext-rating-icon {
265
+ &:focus,
266
+ &:hover,
267
+ &:active {
268
+ border-color: $color-charcoal2;
269
+ color: $color-charcoal5;
270
+ }
271
+ }
272
+ }
273
+
274
+ /**
275
+ * Ratings set
276
+ */
277
+ .ratings-set {
278
+ margin: 0 0 15px;
279
+
280
+ &__group {
281
+ font-size: 0;
282
+
283
+ & + & {
284
+ margin-top: 10px;
285
+ }
286
+
287
+ .ext-rating-icon {
288
+ + .ext-rating-icon {
289
+ margin-left: 9px;
290
+ }
291
+ }
292
+ }
293
+ }
294
+
295
+ /**
296
+ * Large rating icons
297
+ */
298
+ @mixin large-rating-icon-vertical-layout {
299
+ font-size: 1.25rem;
300
+ height: 65px;
301
+ line-height: 20px;
302
+ min-width: 40px;
303
+ padding: 45px 0 0;
304
+ text-align: center;
305
+ white-space: nowrap;
306
+
307
+ &::before {
308
+ left: 50%;
309
+ margin-left: -20px;
310
+ top: 0;
311
+ }
312
+ }
313
+
314
+ .large-rating-icon {
315
+ color: $color-charcoal5;
316
+ display: inline-block;
317
+ font-size: 1.75rem;
318
+ font-weight: bold;
319
+ height: 40px;
320
+ line-height: 40px;
321
+ padding-left: 45px;
322
+ position: relative;
323
+
324
+ &::before {
325
+ @include icon-fill;
326
+ color: $color-yellow5;
327
+ content: '\e907';
328
+ font-size: 2.5rem;
329
+ height: 40px;
330
+ left: 0;
331
+ line-height: 40px;
332
+ position: absolute;
333
+ top: 0;
334
+ width: 40px;
335
+ }
336
+
337
+ &::after {
338
+ color: $color-charcoal4;
339
+ content: '/ 5';
340
+ display: inline-block;
341
+ font-size: .9375rem;
342
+ font-weight: 400;
343
+ vertical-align: middle;
344
+ }
345
+
346
+ &--empty-star {
347
+ color: $color-charcoal1;
348
+
349
+ &::before {
350
+ @include icon-stroke;
351
+ color: $color-ivory5;
352
+ content: '\e908';
353
+ font-size: 2.5rem;
354
+ }
355
+ }
356
+
357
+ &--google {
358
+ &::before {
359
+ background-image: url('#{$rating-icons-folder}/google.svg');
360
+ background-position: center center;
361
+ background-repeat: no-repeat;
362
+ background-size: 28px 28px;
363
+ content: '';
364
+ }
365
+ }
366
+
367
+ &--trustpilot {
368
+ &::before {
369
+ background-image: url('#{$rating-icons-folder}/trustpilot.svg');
370
+ background-position: center center;
371
+ background-repeat: no-repeat;
372
+ background-size: 28px 28px;
373
+ content: '';
374
+ }
375
+ }
376
+
377
+ &--bbb {
378
+ &::before {
379
+ background-image: url('#{$rating-icons-folder}/bbb.svg');
380
+ background-position: center center;
381
+ background-repeat: no-repeat;
382
+ background-size: 38px 38px;
383
+ content: '';
384
+ }
385
+
386
+ &::after {
387
+ display: none;
388
+ }
389
+ }
390
+ }
391
+
392
+ @include breakpoint-phone {
393
+ .large-rating-icon {
394
+ @include large-rating-icon-vertical-layout;
395
+ }
396
+ }
397
+
398
+ /**
399
+ * Large rating icons set
400
+ */
401
+ .large-rating-icon-set {
402
+ display: flex;
403
+ flex-wrap: wrap;
404
+
405
+ &__item {
406
+ flex: 1;
407
+ max-width: 165px;
408
+ min-width: 130px;
409
+ padding: 20px 0;
410
+
411
+ &--large {
412
+ max-width: 100%;
413
+ min-width: 300px;
414
+ padding: 0;
415
+ }
416
+ }
417
+ }
418
+
419
+ @include breakpoint-phone {
420
+ .large-rating-icon-set {
421
+ &__item {
422
+ &:not(.large-rating-icon-set__item--large) {
423
+ min-width: 70px;
424
+ }
425
+ }
426
+ }
427
+ }
@@ -99,14 +99,6 @@ video {
99
99
  vertical-align: baseline;
100
100
  }
101
101
 
102
- a,
103
- button,
104
- input,
105
- select,
106
- textarea {
107
- appearance: none;
108
- }
109
-
110
102
  strong,
111
103
  b {
112
104
  font-weight: 700;
@@ -134,15 +126,6 @@ section {
134
126
  display: block;
135
127
  }
136
128
 
137
- a,
138
- button,
139
- input,
140
- select,
141
- textarea {
142
- appearance: none;
143
- outline: none !important;
144
- }
145
-
146
129
  button,
147
130
  select {
148
131
  cursor: pointer;
@@ -169,8 +152,38 @@ table {
169
152
  border-spacing: 0;
170
153
  }
171
154
 
155
+ a,
156
+ button,
157
+ input,
158
+ select,
159
+ textarea {
160
+ appearance: none;
161
+ outline: none;
162
+ }
163
+
164
+ img {
165
+ border: 0;
166
+ vertical-align: middle;
167
+ }
168
+
172
169
  *,
173
170
  :after,
174
171
  :before {
175
172
  box-sizing: border-box;
176
173
  }
174
+
175
+ sub,
176
+ sup {
177
+ font-size: 70%;
178
+ line-height: 0;
179
+ position: relative;
180
+ vertical-align: baseline;
181
+ }
182
+
183
+ sub {
184
+ bottom: -.25em;
185
+ }
186
+
187
+ sup {
188
+ top: -.5em;
189
+ }
@@ -0,0 +1,9 @@
1
+ $spacing-none: 0;
2
+ $spacing-xxs: .25rem;
3
+ $spacing-xs: .5rem;
4
+ $spacing-sm: 1rem;
5
+ $spacing-md: 1.5rem;
6
+ $spacing-lg: 2rem;
7
+ $spacing-xl: 2.5rem;
8
+ $spacing-xxl: 3rem;
9
+ $spacing-2xl: 4rem;
@@ -1,3 +1,23 @@
1
- $base-body-color: $color-charcoal8;
2
- $base-font-family: 'Roboto', sans-serif;
3
- $base-transition: all .15s ease-in-out;
1
+ $base-body-color: $color-black !default;
2
+ $base-font-family: 'Roboto', sans-serif !default;
3
+ $base-transition: all .15s ease-in-out !default;
4
+
5
+ // Typography
6
+ $h2-font-size: 1.375rem !default;
7
+ $h2-font-size-desktop: 1.5rem !default;
8
+ $h2-line-height: 1.25 !default;
9
+
10
+ $h3-font-size: 1.125rem !default;
11
+ $h3-font-size-desktop: 1.125rem !default;
12
+ $h3-line-height: 1.25 !default;
13
+
14
+ $body-font-size: 1rem !default;
15
+ $body-font-size-desktop: 1.125rem !default;
16
+ $body-line-height: 1.35 !default;
17
+
18
+ $disclaimer-font-size: .75rem !default;
19
+ $disclaimer-line-height: 1.35 !default;
20
+
21
+ // Best Company
22
+ $bc-base-font-family: 'Lato', sans-serif !default;
23
+ $bc-secondary-font-family: 'Work Sans', sans-serif !default;
@@ -0,0 +1,44 @@
1
+ .duplicate-submission {
2
+ align-items: center;
3
+ background-color: $color-white;
4
+ display: flex;
5
+ flex-direction: column;
6
+ justify-content: center;
7
+ min-height: 390px;
8
+ padding: 40px 10px;
9
+ text-align: center;
10
+
11
+ h3 {
12
+ color: $color-charcoal5;
13
+ font-size: 1.375rem;
14
+ font-weight: bold;
15
+ margin: 30px auto 0;
16
+ }
17
+
18
+ p {
19
+ color: $color-charcoal5;
20
+ display: block;
21
+ font-size: .9375rem;
22
+ font-weight: 400;
23
+ line-height: 1.5;
24
+ margin: 20px auto 30px;
25
+ }
26
+
27
+ a.btn {
28
+ align-items: center;
29
+ display: flex;
30
+ flex-direction: column;
31
+ justify-content: center;
32
+ line-height: normal;
33
+ margin: 0 auto 30px;
34
+ max-width: 280px;
35
+ min-width: unset;
36
+ padding: 14px 0 15px;
37
+ width: 100%;
38
+
39
+ .btn__text {
40
+ font-size: 1.125rem;
41
+ visibility: visible;
42
+ }
43
+ }
44
+ }
@@ -0,0 +1 @@
1
+ @import 'duplicate-submission';
@@ -6,4 +6,10 @@
6
6
  @import 'flex';
7
7
  @import 'fonts';
8
8
  @import 'grid';
9
+ @import 'radius';
10
+ @import 'ratings';
11
+ @import 'spacing';
9
12
  @import 'variables';
13
+
14
+ // components
15
+ @import 'components/index';
@@ -260,3 +260,9 @@
260
260
  content: '\e916';
261
261
  }
262
262
  }
263
+
264
+ .icon-fill-phone-ringing {
265
+ &::before {
266
+ content: '\e917';
267
+ }
268
+ }
@@ -422,3 +422,116 @@
422
422
  content: '\e942';
423
423
  }
424
424
  }
425
+
426
+ .icon-stroke-vanity {
427
+ &::before {
428
+ content: '\e943';
429
+ }
430
+ }
431
+
432
+ .icon-stroke-basement-waterproofing {
433
+ &::before {
434
+ content: '\e944';
435
+ }
436
+ }
437
+
438
+ .icon-stroke-foundation-repair {
439
+ &::before {
440
+ content: '\e945';
441
+ }
442
+ }
443
+
444
+ .icon-stroke-tree-services {
445
+ &::before {
446
+ content: '\e946';
447
+ }
448
+ }
449
+
450
+ .icon-stroke-dollar-circle {
451
+ &::before {
452
+ content: '\e947';
453
+ }
454
+ }
455
+
456
+ .icon-stroke-best {
457
+ &::before {
458
+ content: '\e948';
459
+ }
460
+ }
461
+
462
+ .icon-stroke-heart {
463
+ &::before {
464
+ content: '\e949';
465
+ }
466
+ }
467
+
468
+ .icon-stroke-insulation {
469
+ &::before {
470
+ content: '\e94a';
471
+ }
472
+ }
473
+
474
+ .icon-stroke-water-treatment {
475
+ &::before {
476
+ content: '\e94b';
477
+ }
478
+ }
479
+
480
+ .icon-stroke-garage {
481
+ &::before {
482
+ content: '\e94c';
483
+ }
484
+ }
485
+
486
+ .icon-stroke-restoration {
487
+ &::before {
488
+ content: '\e94d';
489
+ }
490
+ }
491
+
492
+ .icon-stroke-fire-damage {
493
+ &::before {
494
+ content: '\e94e';
495
+ }
496
+ }
497
+
498
+ .icon-stroke-mold-damage {
499
+ &::before {
500
+ content: '\e94f';
501
+ }
502
+ }
503
+
504
+ .icon-stroke-sewage-damage {
505
+ &::before {
506
+ content: '\e950';
507
+ }
508
+ }
509
+
510
+ .icon-stroke-water-damage {
511
+ &::before {
512
+ content: '\e951';
513
+ }
514
+ }
515
+
516
+ .icon-stroke-compass {
517
+ &::before {
518
+ content: '\e952';
519
+ }
520
+ }
521
+
522
+ .icon-stroke-crawlspace {
523
+ &::before {
524
+ content: "\e953";
525
+ }
526
+ }
527
+
528
+ .icon-stroke-fencing {
529
+ &::before {
530
+ content: "\e954";
531
+ }
532
+ }
533
+ .icon-stroke-deck {
534
+ &::before {
535
+ content: "\e955";
536
+ }
537
+ }