@penskemediacorp/larva-css 0.6.3 → 0.6.4-develop.17

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 (32) hide show
  1. package/build/css/algorithms.common.async.css +2 -2
  2. package/build/css/algorithms.common.inline.css +11 -11
  3. package/build/css/js.common.async.css +1 -0
  4. package/build/css/js.common.inline.css +3 -0
  5. package/build/css/utilities.common.inline.css +12 -10
  6. package/package.json +4 -4
  7. package/src/02-algorithms/a-children-border/a-children-border.common.inline.scss +16 -0
  8. package/src/02-algorithms/a-crop/a-crop.common.inline.scss +15 -0
  9. package/src/02-algorithms/a-glue/a-glue.common.inline.scss +36 -0
  10. package/src/02-algorithms/a-grid/a-grid.common.inline.scss +9 -0
  11. package/src/02-algorithms/a-hidden/a-hidden.common.inline.scss +12 -0
  12. package/src/02-algorithms/a-icon/a-icon.common.async.scss +1 -1
  13. package/src/02-algorithms/a-icon/a-icon.common.inline.scss +17 -0
  14. package/src/02-algorithms/a-truncate-ellipsis/a-truncate-ellipsis.common.async.scss +6 -2
  15. package/src/03-utilities/u-border.common.inline.scss +65 -3
  16. package/src/03-utilities/u-box-alignment.common.inline.scss +4 -0
  17. package/src/03-utilities/u-display.common.inline.scss +20 -0
  18. package/src/03-utilities/u-flex.common.inline.scss +14 -1
  19. package/src/03-utilities/u-font-size.common.inline.scss +1 -0
  20. package/src/03-utilities/u-height.common.inline.scss +37 -11
  21. package/src/03-utilities/u-letter-spacing.common.inline.scss +1 -1
  22. package/src/03-utilities/u-max-width.common.inline.scss +8 -0
  23. package/src/03-utilities/u-padding.common.inline.scss +4 -0
  24. package/src/03-utilities/u-text-transform.common.inline.scss +4 -0
  25. package/src/03-utilities/u-transform.common.inline.scss +5 -0
  26. package/src/03-utilities/u-vertical-align.common.inline.scss +7 -0
  27. package/src/03-utilities/u-width.common.inline.scss +95 -2
  28. package/src/04-js/js-ExpandableSearch.common.async.scss +33 -0
  29. package/src/04-js/js-Header.common.inline.scss +73 -0
  30. package/src/04-js/js-MegaMenu.common.inline.scss +50 -0
  31. package/src/04-js/js-Tooltip.common.inline.scss +17 -0
  32. package/src/04-js/partials/expandable-search.scss +202 -0
@@ -22,6 +22,14 @@
22
22
  @include _a-glue-base;
23
23
  }
24
24
 
25
+ @include pmc-breakpoint( mobile-max ) {
26
+ .lrv-a-glue\@mobile-max {
27
+ top: 0;
28
+ left: 0;
29
+
30
+ @include _a-glue-base;
31
+ }
32
+ }
25
33
 
26
34
  .lrv-a-glue\@tablet {
27
35
  @include pmc-breakpoint( tablet ) {
@@ -49,6 +57,34 @@
49
57
  --a-glue-bottom: 0;
50
58
  }
51
59
 
60
+ .lrv-a-glue--t-50p {
61
+ --a-glue-top: 50%;
62
+ }
63
+
52
64
  .lrv-a-glue--t-100p {
53
65
  --a-glue-top: 100%;
54
66
  }
67
+
68
+ .lrv-a-glue--l-50p {
69
+ --a-glue-left: 50%;
70
+ }
71
+
72
+ .lrv-a-glue--r-50p {
73
+ --a-glue-right: 50%;
74
+ }
75
+
76
+ .lrv-a-glue--b-n1 {
77
+ --a-glue-bottom: -1rem;
78
+ }
79
+
80
+ .lrv-a-glue-parent\@mobile-max {
81
+ @include pmc-breakpoint( mobile-max ) {
82
+ position: relative;
83
+ }
84
+ }
85
+
86
+ .lrv-a-glue-parent\@tablet {
87
+ @include pmc-breakpoint( tablet ) {
88
+ position: relative;
89
+ }
90
+ }
@@ -54,11 +54,20 @@ $grids: (
54
54
  columns: 2,
55
55
  breakpoint: desktop,
56
56
  ),
57
+ (
58
+ columns: 2,
59
+ breakpoint: desktop-xl,
60
+ ),
57
61
  (
58
62
  columns: 4,
59
63
  spans: ( 2 ),
60
64
  breakpoint: desktop,
61
65
  ),
66
+ (
67
+ columns: 4,
68
+ spans: ( 3 ),
69
+ breakpoint: desktop,
70
+ ),
62
71
  (
63
72
  columns: 4,
64
73
  spans: ( 3 ),
@@ -29,3 +29,15 @@
29
29
  @include _a-hidden;
30
30
  }
31
31
  }
32
+
33
+ .lrv-a-hidden\@tablet {
34
+ @include pmc-breakpoint( tablet ) {
35
+ @include _a-hidden;
36
+ }
37
+ }
38
+
39
+ .lrv-a-hidden\@desktop {
40
+ @include pmc-breakpoint( desktop ) {
41
+ @include _a-hidden;
42
+ }
43
+ }
@@ -33,4 +33,4 @@
33
33
 
34
34
  .lrv-a-icon-search {
35
35
  --a-icon-url: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18'%3E%3Cpath d='M5.228 11.335h.79l.28-.27a6.471 6.471 0 01-1.57-4.23 6.5 6.5 0 116.5 6.5c-1.61 0-3.09-.59-4.23-1.57l-.27.28v.79l-5 4.99-1.49-1.49 4.99-5zm6 0c2.49 0 4.5-2.01 4.5-4.5s-2.01-4.5-4.5-4.5-4.5 2.01-4.5 4.5 2.01 4.5 4.5 4.5z' fill-rule='evenodd'/%3E%3C/svg%3E" );
36
- }
36
+ }
@@ -102,3 +102,20 @@
102
102
  }
103
103
  }
104
104
 
105
+ .lrv-a-icon-after-arrow-top-right {
106
+ &::before {
107
+ position: absolute;
108
+ content: '';
109
+ display: block;
110
+ width: pmc-rem(24);
111
+ height: pmc-rem(24);
112
+ right: 13%;
113
+ border: 2px solid map-get( $TOKENS-MAP, color-black );
114
+ border-right-color: transparent;
115
+ border-bottom-color: transparent;
116
+ transform: rotate( 45deg );
117
+ top: pmc-rem(-12);
118
+ background-color: $color-white;
119
+ }
120
+ }
121
+
@@ -27,9 +27,13 @@
27
27
  }
28
28
 
29
29
  .lrv-a-truncate-ellipsis-5line {
30
- @include _a-truncate-ellipsis(3);
30
+ @include _a-truncate-ellipsis(5);
31
31
  }
32
-
32
+
33
+ .lrv-a-truncate-ellipsis-6line {
34
+ @include _a-truncate-ellipsis(6);
35
+ }
36
+
33
37
  .lrv-a-truncate-ellipsis-3line\@desktop-xl {
34
38
  @include pmc-breakpoint( desktop-xl ) {
35
39
  @include _a-truncate-ellipsis(3);
@@ -47,6 +47,46 @@
47
47
  border-width: pmc-rem(5);
48
48
  }
49
49
 
50
+ .lrv-u-border-t-6 {
51
+ border-top-width: pmc-rem(6);
52
+ }
53
+
54
+ .lrv-u-border-b-6 {
55
+ border-bottom-width: pmc-rem(6);
56
+ }
57
+
58
+ .lrv-u-border-r-1 {
59
+ border-right-width: pmc-rem(1);
60
+ }
61
+
62
+ .lrv-u-border-r-6 {
63
+ border-right-width: pmc-rem(6);
64
+ }
65
+
66
+ .lrv-u-border-r-2 {
67
+ border-right-width: pmc-rem(2);
68
+ }
69
+
70
+ .lrv-u-border-b-2 {
71
+ border-bottom-width: pmc-rem(2);
72
+ }
73
+
74
+ .lrv-u-border-l-2 {
75
+ border-left-width: pmc-rem(2);
76
+ }
77
+
78
+ .lrv-u-border-l-00\@mobile-max {
79
+ @include pmc-breakpoint(mobile-max) {
80
+ border-left-width: 0;
81
+ }
82
+ }
83
+
84
+ .lrv-u-border-a-1\@mobile-max {
85
+ @include pmc-breakpoint( mobile-max ) {
86
+ border-width: 1px;
87
+ }
88
+ }
89
+
50
90
  @include pmc-breakpoint( mobile-max ) {
51
91
  .lrv-u-border-a-1\@mobile-max {
52
92
  border-width: 1px;
@@ -67,6 +107,10 @@
67
107
  .lrv-u-border-b-00\@mobile-max {
68
108
  border-bottom-width: 0px;
69
109
  }
110
+
111
+ .lrv-u-border-b-1\@mobile-max {
112
+ border-bottom-width: 1px;
113
+ }
70
114
  }
71
115
 
72
116
  .lrv-u-border-t-1\@mobile-max {
@@ -97,12 +141,24 @@
97
141
  }
98
142
  }
99
143
 
144
+ .lrv-u-border-r-1\@tablet {
145
+ @include pmc-breakpoint( tablet ) {
146
+ border-right-width: 1px;
147
+ }
148
+ }
149
+
100
150
  .lrv-u-border-r-1\@desktop {
101
151
  @include pmc-breakpoint( desktop ) {
102
152
  border-right-width: 1px;
103
153
  }
104
154
  }
105
155
 
156
+ .lrv-u-border-b-1\@desktop {
157
+ @include pmc-breakpoint( desktop ) {
158
+ border-bottom-width: 1px;
159
+ }
160
+ }
161
+
106
162
  .lrv-u-border-l-1\@desktop-xl {
107
163
  @include pmc-breakpoint( desktop-xl ) {
108
164
  border-left-width: 1px;
@@ -116,7 +172,13 @@
116
172
  }
117
173
 
118
174
  .lrv-u-border-t-050\@desktop-xl-max {
119
- @include pmc-breakpoint( desktop-xl-max ) {
120
- border-top-width: pmc-rem(1);
121
- }
175
+ @include pmc-breakpoint( desktop-xl-max ) {
176
+ border-top-width: pmc-rem(1);
177
+ }
122
178
  }
179
+
180
+ .lrv-u-border-b-2\@mobile-max {
181
+ @include pmc-breakpoint( mobile-max ) {
182
+ border-bottom-width: pmc-rem(2);
183
+ }
184
+ }
@@ -32,6 +32,10 @@
32
32
  align-items: flex-start;
33
33
  }
34
34
 
35
+ .lrv-u-align-items-stretch {
36
+ align-items: stretch;
37
+ }
38
+
35
39
  @include pmc-breakpoint( desktop ) {
36
40
  .lrv-u-align-items-center\@desktop {
37
41
  align-items: center;
@@ -71,4 +71,24 @@
71
71
  @include pmc-breakpoint( mobile-max ) {
72
72
  display: none;
73
73
  }
74
+ }
75
+
76
+ .lrv-u-display-none\:first-child\@desktop-max {
77
+ @include pmc-breakpoint( desktop-max ) {
78
+ &> *:first-child {
79
+ display: none;
80
+ }
81
+ }
82
+ }
83
+
84
+ .lrv-u-display-inline-block\@mobile-max {
85
+ @include pmc-breakpoint( mobile-max ) {
86
+ display: inline-block;
87
+ }
88
+ }
89
+
90
+ .lrv-u-display-block\@mobile-max {
91
+ @include pmc-breakpoint( mobile-max ) {
92
+ display: block;
93
+ }
74
94
  }
@@ -81,6 +81,19 @@ $breakpoints: (
81
81
  }
82
82
  }
83
83
 
84
+ .lrv-u-flex-wrap-wrap\@mobile-max {
85
+ @include pmc-breakpoint(mobile-max) {
86
+ flex-wrap: wrap;
87
+ }
88
+ }
89
+
90
+ .lrv-u-flex-direction-column-reverse\@mobile-max {
91
+ @include pmc-breakpoint(mobile-max) {
92
+ flex-direction: column-reverse;
93
+ }
94
+
95
+ }
96
+
84
97
  @each $breakpoint in $breakpoints {
85
98
 
86
99
  @each $size in $flex_basis {
@@ -101,4 +114,4 @@ $breakpoints: (
101
114
 
102
115
  } // end flex loop
103
116
 
104
- } // end breakpoints loop
117
+ } // end breakpoints loop
@@ -27,6 +27,7 @@
27
27
  ($font-size-40,)
28
28
  ($font-size-50,)
29
29
  ($font-size-86,)
30
+ ($font-size-8, mobile-max)
30
31
  ($font-size-12, mobile-max)
31
32
  ($font-size-14, mobile-max)
32
33
  ($font-size-16, mobile-max)
@@ -1,17 +1,43 @@
1
1
  @import '@penskemediacorp/larva-scss/dist/tools';
2
2
 
3
- .lrv-u-height-100p {
4
- height: 100%;
5
- }
3
+ $heights_map: (
4
+ 'height-auto': auto,
5
+ 'height-16': pmc-rem(16),
6
+ 'height-20': pmc-rem(20),
7
+ 'height-24': pmc-rem(24),
8
+ 'height-30': pmc-rem(30),
9
+ 'height-40': pmc-rem(40),
10
+ 'height-50': pmc-rem(50),
11
+ 'height-100': pmc-rem(100),
12
+ 'height-150': pmc-rem(150),
13
+ 'height-200': pmc-rem(200),
14
+ 'height-300': pmc-rem(300),
15
+ 'height-20p': 20%,
16
+ 'height-30p': 30%,
17
+ 'height-50p': 50%,
18
+ 'height-75p': 75%,
19
+ 'height-100p': 100%,
20
+ );
6
21
 
7
- .lrv-u-height-auto {
8
- height: auto;
9
- }
22
+ @include basic-utility-generator( 'height', (
23
+ height-auto,
24
+ height-16,
25
+ height-20,
26
+ height-24,
27
+ height-30,
28
+ height-40,
29
+ height-50,
30
+ height-100,
31
+ height-150,
32
+ height-200,
33
+ height-300,
34
+ height-20p,
35
+ height-30p,
36
+ height-50p,
37
+ height-75p,
38
+ height-100p,
39
+ ), $heights_map, $NAMESPACE: 'lrv-' );
10
40
 
11
41
  .lrv-u-max-height-50 {
12
42
  max-height: pmc-rem(50);
13
- }
14
-
15
- .lrv-u-height-16 {
16
- height: pmc-rem(16);
17
- }
43
+ }
@@ -8,4 +8,4 @@
8
8
  @include pmc-breakpoint( mobile-max ) {
9
9
  letter-spacing: pmc-rem(1.95);
10
10
  }
11
- }
11
+ }
@@ -12,6 +12,14 @@
12
12
  max-width: pmc-rem(150);
13
13
  }
14
14
 
15
+ .lrv-u-max-width-250 {
16
+ max-width: pmc-rem(250);
17
+ }
18
+
19
+ .lrv-u-max-width-500 {
20
+ max-width: pmc-rem(500);
21
+ }
22
+
15
23
  .lrv-u-max-width-1000 {
16
24
  max-width: pmc-rem(1000);
17
25
  }
@@ -79,12 +79,16 @@ $breakpoints: (
79
79
 
80
80
  // Legacy - should not have tablet and mobile-max
81
81
  $paddings_with_breakpoints: (
82
+ ('l', $spacer-3 ),
83
+
82
84
  ('tb', $spacer-025, mobile-max ),
83
85
  ('tb', $spacer-1, mobile-max),
84
86
 
85
87
  ('r', $spacer-1, tablet ),
86
88
  ('t', $spacer-050, tablet ),
87
89
  ('lr', $spacer-1, tablet ),
90
+
91
+ ('tb', $spacer-050, desktop-max),
88
92
  );
89
93
 
90
94
  @include u-padding( $paddings_with_breakpoints, $NAMESPACE: 'lrv-' );
@@ -9,3 +9,7 @@
9
9
  .lrv-u-text-transform-lowercase {
10
10
  text-transform: lowercase;
11
11
  }
12
+
13
+ .lrv-u-text-transform-capitalize {
14
+ text-transform: capitalize;
15
+ }
@@ -0,0 +1,5 @@
1
+ @import 'setup';
2
+
3
+ .lrv-u-transform-translateY-n50p {
4
+ transform: translateY(-50%);
5
+ }
@@ -0,0 +1,7 @@
1
+ @import 'setup';
2
+
3
+ .lrv-u-vertical-align-middle\@mobile-max {
4
+ @include pmc-breakpoint(mobile-max) {
5
+ vertical-align: middle;
6
+ }
7
+ }
@@ -3,15 +3,20 @@
3
3
  $widths_map: (
4
4
  'width-auto': auto,
5
5
  'width-16': pmc-rem(16),
6
+ 'width-24': pmc-rem(24),
6
7
  'width-30': pmc-rem(30),
7
8
  'width-50': pmc-rem(50),
8
9
  'width-100': pmc-rem(100),
9
10
  'width-150': pmc-rem(150),
11
+ 'width-165': pmc-rem(165),
10
12
  'width-200': pmc-rem(200),
11
13
  'width-215': pmc-rem(215),
12
14
  'width-300': pmc-rem(300),
15
+ 'width-20p': 20%,
16
+ 'width-22p': 22%,
13
17
  'width-30p': 30%,
14
18
  'width-50p': 50%,
19
+ 'width-70p': 70%,
15
20
  'width-75p': 75%,
16
21
  'width-100p': 100%,
17
22
  );
@@ -19,15 +24,20 @@ $widths_map: (
19
24
  @include basic-utility-generator( 'width', (
20
25
  width-auto,
21
26
  width-16,
27
+ width-24,
22
28
  width-30,
23
29
  width-50,
24
30
  width-100,
25
31
  width-150,
32
+ width-165,
26
33
  width-200,
27
34
  width-215,
28
35
  width-300,
36
+ width-20p,
37
+ width-22p,
29
38
  width-30p,
30
39
  width-50p,
40
+ width-70p,
31
41
  width-75p,
32
42
  width-100p,
33
43
  ), $widths_map, $NAMESPACE: 'lrv-' );
@@ -97,7 +107,90 @@ $widths_map: (
97
107
 
98
108
  .lrv-u-width-64p\@desktop-xl {
99
109
 
100
- @include pmc-breakpoint(desktop-xl) {
101
- width: 64%;
110
+ @include pmc-breakpoint(desktop-xl) {
111
+ width: 64%;
112
+ }
113
+ }
114
+
115
+ .lrv-u-width-27p\@tablet {
116
+
117
+ @include pmc-breakpoint(tablet) {
118
+ width: 27%;
119
+ }
120
+ }
121
+
122
+ .lrv-u-width-23p\@tablet {
123
+
124
+ @include pmc-breakpoint(tablet) {
125
+ width: 23%;
126
+ }
127
+ }
128
+
129
+ .lrv-u-width-52p\@tablet {
130
+
131
+ @include pmc-breakpoint(tablet) {
132
+ width: 52%;
133
+ }
134
+ }
135
+
136
+ .lrv-u-width-50p\@mobile-max {
137
+ @include pmc-breakpoint(mobile-max) {
138
+ width: 50%;
139
+ }
140
+ }
141
+
142
+ .lrv-u-width-33p\@mobile-max {
143
+
144
+ @include pmc-breakpoint(mobile-max) {
145
+ width: 33.33%;
146
+ }
147
+ }
148
+
149
+ .lrv-u-width-55p\@tablet {
150
+ @include pmc-breakpoint(tablet) {
151
+ width: 55%;
152
+ }
153
+ }
154
+
155
+ .lrv-u-width-35p\@tablet {
156
+
157
+ @include pmc-breakpoint(tablet) {
158
+ width: 35%;
159
+ }
160
+ }
161
+
162
+ .lrv-u-max-width-30p\@mobile-max {
163
+ @include pmc-breakpoint(mobile-max) {
164
+ max-width: 30%;
165
+ }
166
+ }
167
+
168
+ .lrv-u-width-28\@mobile-max {
169
+ @include pmc-breakpoint(mobile-max) {
170
+ width: pmc-rem(28);
171
+ }
172
+ }
173
+
174
+ .lrv-u-width-22p\@mobile-max {
175
+ @include pmc-breakpoint(mobile-max) {
176
+ width: 22%;
177
+ }
178
+ }
179
+
180
+ .lrv-u-width-56p\@mobile-max {
181
+ @include pmc-breakpoint(mobile-max) {
182
+ width: 56%;
183
+ }
184
+ }
185
+
186
+ .lrv-u-width-135\@mobile-max {
187
+ @include pmc-breakpoint(mobile-max) {
188
+ width: pmc-rem(135);
189
+ }
190
+ }
191
+
192
+ .lrv-u-width-100p\@tablet {
193
+ @include pmc-breakpoint(tablet) {
194
+ width: 100%;
102
195
  }
103
196
  }
@@ -0,0 +1,33 @@
1
+ @import 'setup';
2
+ @import 'partials/expandable-search';
3
+
4
+ .is-ExpandableSearch-open {
5
+ background-color: var( --color-brand-primary );
6
+ color: var( --color-white );
7
+ position: relative;
8
+
9
+ svg {
10
+ opacity: 0;
11
+ }
12
+
13
+ &::before,
14
+ &::after {
15
+ content: '';
16
+ position: absolute;
17
+ top: calc( 50% - #{pmc-rem(1)} );
18
+ left: calc( 50% - #{pmc-rem(10)} );
19
+ width: pmc-rem(20);
20
+ height: pmc-rem(2);
21
+ background-color: white;
22
+ transition: transform 600ms ease;
23
+ transform: rotateZ( 45deg );
24
+ }
25
+
26
+ &::after {
27
+ transform: rotateZ( -45deg );
28
+ }
29
+
30
+ &:hover {
31
+ color: var( --color-white );
32
+ }
33
+ }
@@ -0,0 +1,73 @@
1
+ @import 'setup';
2
+
3
+ // Functional styles for the sticky header. Visual styles are added with utilities
4
+ $sticky-transform-y: 3.125rem;
5
+ $mobile-header-height: #{var( --sticky-nav-height )};
6
+
7
+ // Package the base sticky positioning styles for use in mulitple places.
8
+ @mixin _sticky-header-positioning {
9
+ position: fixed;
10
+ width: 100%;
11
+ z-index: $z-index-sticky-header;
12
+ transform: translateY(0);
13
+ top: var(--login-bar-height, 0);
14
+ }
15
+
16
+ @keyframes slideDown {
17
+ 0% {
18
+ transform: translateY(-100%);
19
+ }
20
+
21
+ 100% {
22
+ transform: translateY(0);
23
+ }
24
+ }
25
+
26
+ // Needs to slide up still - problem is that it is display: none'd and that would have to have a delay before being applied
27
+ .js-sticky-header-slidedown {
28
+ @include pmc-breakpoint( desktop ) {
29
+ transform: translateY(-100%);
30
+ }
31
+ }
32
+
33
+ .is-sticky .js-sticky-header-slidedown {
34
+ @include pmc-breakpoint( desktop ) {
35
+ animation-name: slideDown;
36
+ animation-duration: 250ms;
37
+ animation-fill-mode: forwards;
38
+ transform: translateY(0);
39
+ }
40
+ }
41
+
42
+ // The data-header-sticky wrapper is not hooked up to JS, but provides the CSS transform for
43
+ // hiding/showing the sticky header.
44
+ .js-Header-contents {
45
+ position: relative;
46
+ transition: transform $transition-transform;
47
+ will-change: transform;
48
+
49
+ }
50
+
51
+ .has-side-skins .js-Header-contents {
52
+ max-width: $screen-desktop;
53
+ }
54
+
55
+ .is-sticky .js-Header-contents {
56
+ @include _sticky-header-positioning;
57
+ }
58
+
59
+ .js-hide-when-sticky {
60
+
61
+ .is-sticky & {
62
+ display: none;
63
+ }
64
+ }
65
+
66
+ .js-show-when-sticky {
67
+
68
+ display: none;
69
+
70
+ .is-sticky & {
71
+ display: block;
72
+ }
73
+ }