@penskemediacorp/larva-css 1.8.0-alpha.0 → 1.8.0

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 (120) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +199 -22
  3. package/__tests__/fixtures/expected.js +29 -0
  4. package/__tests__/lib/generators.test.js +11 -0
  5. package/build/css/algorithms.common.async.css +4 -0
  6. package/build/css/algorithms.common.inline.css +21 -0
  7. package/build/css/generic.common.inline.css +4 -0
  8. package/build/css/js.common.async.css +3 -0
  9. package/build/css/js.common.inline.css +6 -0
  10. package/build/css/utilities.common.async.css +8 -0
  11. package/build/css/utilities.common.inline.css +29 -0
  12. package/gulpfile.js +110 -82
  13. package/lib/generators.js +93 -0
  14. package/package.json +14 -6
  15. package/src/01-generic/elements.common.inline.scss +33 -1
  16. package/src/01-generic/forms.common.inline.scss +10 -0
  17. package/src/01-generic/side-skins.common.inline.scss +10 -0
  18. package/src/01-generic/typography.common.inline.scss +23 -15
  19. package/src/02-algorithms/a-buy-now/a-buy-now.common.inline.scss +112 -0
  20. package/src/02-algorithms/a-carousel-grid/a-carousel-grid.common.inline.scss +66 -0
  21. package/src/02-algorithms/a-children-border/a-children-border.common.inline.scss +43 -0
  22. package/src/02-algorithms/a-children-link-color/a-children-link-color.common.inline.scss +15 -0
  23. package/src/02-algorithms/a-children-link-decoration/a-children-link-decoration.common.inline.scss +13 -0
  24. package/src/02-algorithms/a-counter/a-counter.common.inline.scss +26 -0
  25. package/src/02-algorithms/a-crop/README.md +17 -13
  26. package/src/02-algorithms/a-crop/a-crop.common.inline.scss +96 -12
  27. package/src/02-algorithms/a-crop/a-crop.html +2 -2
  28. package/src/02-algorithms/a-floated/a-floated.common.inline.scss +32 -0
  29. package/src/02-algorithms/a-font/a-font.common.inline.scss +3 -0
  30. package/src/02-algorithms/a-glue/a-glue.common.inline.scss +63 -6
  31. package/src/02-algorithms/a-glue/a-glue.html +2 -2
  32. package/src/02-algorithms/a-grid/README.md +141 -14
  33. package/src/02-algorithms/a-grid/a-grid.common.inline.scss +53 -5
  34. package/src/02-algorithms/a-grid/a-grid.html +4 -4
  35. package/src/02-algorithms/a-hidden/a-hidden.common.inline.scss +43 -0
  36. package/src/02-algorithms/a-hover-dropup/a-hover-dropup.common.async.scss +7 -7
  37. package/src/02-algorithms/a-hover-dropup/a-hover-dropup.html +3 -3
  38. package/src/02-algorithms/a-hover-effect/a-hover-effect.common.async.scss +25 -0
  39. package/src/02-algorithms/a-hover-effect/a-hover-effect.html +16 -0
  40. package/src/02-algorithms/a-icon/a-icon.common.async.scss +28 -3
  41. package/src/02-algorithms/a-icon/a-icon.common.inline.scss +51 -73
  42. package/src/02-algorithms/a-screen-reader-only/a-screen-reader-only.common.inline.scss +30 -0
  43. package/src/02-algorithms/a-scrollable-grid/a-scrollable-grid.common.inline.scss +52 -0
  44. package/src/02-algorithms/a-show-on-hover/a-show-on-hover.common.inline.scss +16 -0
  45. package/src/02-algorithms/a-space-children/a-space-children.common.inline.scss +88 -17
  46. package/src/02-algorithms/a-truncate-ellipsis/a-truncate-ellipsis.common.async.scss +71 -0
  47. package/src/02-algorithms/a-unstyle-button/a-unstyle-button.common.inline.scss +2 -3
  48. package/src/02-algorithms/a-unstyle-link/a-unstyle-link.common.inline.scss +7 -0
  49. package/src/02-algorithms/a-unstyle-list/a-unstyle-list.common.inline.scss +1 -1
  50. package/src/02-algorithms/a-wrapper/a-wrapper.common.inline.scss +14 -2
  51. package/src/03-utilities/u-background-color.common.async.scss +15 -0
  52. package/src/03-utilities/u-background-color.common.inline.scss +37 -0
  53. package/src/03-utilities/u-border-color.common.async.scss +36 -8
  54. package/src/03-utilities/u-border-radius.common.async.scss +26 -2
  55. package/src/03-utilities/u-border.common.inline.scss +215 -4
  56. package/src/03-utilities/u-box-alignment.common.inline.scss +64 -4
  57. package/src/03-utilities/u-box-shadow.common.async.scss +34 -3
  58. package/src/03-utilities/u-color.common.async.scss +19 -21
  59. package/src/03-utilities/u-color.common.inline.scss +39 -0
  60. package/src/03-utilities/u-cursor.common.async.scss +1 -1
  61. package/src/03-utilities/u-display.common.inline.scss +87 -4
  62. package/src/03-utilities/u-filter.common.async.scss +5 -0
  63. package/src/03-utilities/u-flex.common.inline.scss +151 -9
  64. package/src/03-utilities/u-font-family.common.inline.scss +41 -17
  65. package/src/03-utilities/u-font-size.common.inline.scss +58 -5
  66. package/src/03-utilities/u-font-style.common.inline.scss +9 -0
  67. package/src/03-utilities/u-font-weight.common.inline.scss +50 -12
  68. package/src/03-utilities/u-height.common.inline.scss +38 -8
  69. package/src/03-utilities/u-left.common.inline.scss +7 -0
  70. package/src/03-utilities/u-letter-spacing.common.inline.scss +11 -0
  71. package/src/03-utilities/u-line-height.common.inline.scss +49 -13
  72. package/src/03-utilities/u-list-style.common.async.scss +3 -0
  73. package/src/03-utilities/u-margin.common.inline.scss +182 -47
  74. package/src/03-utilities/u-max-width.common.inline.scss +25 -0
  75. package/src/03-utilities/u-opacity.common.inline.scss +3 -0
  76. package/src/03-utilities/u-order.common.inline.scss +29 -2
  77. package/src/03-utilities/u-overflow.common.inline.scss +14 -2
  78. package/src/03-utilities/u-padding.common.inline.scss +157 -52
  79. package/src/03-utilities/u-position.common.inline.scss +11 -0
  80. package/src/03-utilities/u-text-align.common.inline.scss +27 -4
  81. package/src/03-utilities/u-text-decoration.common.inline.scss +11 -0
  82. package/src/03-utilities/u-text-transform.common.inline.scss +14 -2
  83. package/src/03-utilities/u-top.common.inline.scss +7 -0
  84. package/src/03-utilities/u-transform.common.inline.scss +12 -0
  85. package/src/03-utilities/u-vertical-align.common.inline.scss +7 -0
  86. package/src/03-utilities/u-whitespace.common.inline.scss +1 -1
  87. package/src/03-utilities/u-width.common.inline.scss +198 -12
  88. package/src/04-js/README.md +5 -0
  89. package/src/04-js/js-Collapsible.common.inline.scss +15 -0
  90. package/src/04-js/js-ExpandableSearch.common.async.scss +33 -0
  91. package/src/04-js/js-Flickity.common.async.scss +91 -0
  92. package/src/04-js/js-Header.common.inline.scss +73 -0
  93. package/src/04-js/js-MegaMenu.common.inline.scss +50 -0
  94. package/src/04-js/js-MobileHeightToggle.common.inline.scss +7 -5
  95. package/src/04-js/js-PopOver.common.async.scss +13 -0
  96. package/src/04-js/js-Tooltip.common.inline.scss +17 -0
  97. package/src/04-js/js-VideoShowcase.common.inline.scss +33 -0
  98. package/src/04-js/partials/expandable-search.scss +202 -0
  99. package/src/04-js/partials/flickity.scss +149 -0
  100. package/src/_generated/_a-font.scss +1027 -0
  101. package/src/larva-ui/prism.scss +127 -0
  102. package/src/setup.scss +7 -0
  103. package/stylelint.config.js +10 -11
  104. package/build/css/algorithms.common.async.scss +0 -36
  105. package/build/css/algorithms.common.inline.scss +0 -274
  106. package/build/css/generic.common.inline.scss +0 -66
  107. package/build/css/js.common.inline.scss +0 -9
  108. package/build/css/utilities.common.async.scss +0 -57
  109. package/build/css/utilities.common.inline.scss +0 -473
  110. package/holding/a-truncate-children/README.md +0 -3
  111. package/holding/a-truncate-children/a-truncate-children.browser-test.js +0 -104
  112. package/holding/a-truncate-children/a-truncate-children.css +0 -4
  113. package/holding/a-truncate-children/a-truncate-children.html +0 -15
  114. package/holding/a-truncate-children/a-truncate-children.scss +0 -5
  115. package/src/01-generic/config.common.inline.scss +0 -18
  116. package/src/02-algorithms/.DS_Store +0 -0
  117. package/src/02-algorithms/a-glue/index.js +0 -1
  118. package/src/02-algorithms/a-icon/a-icon.html +0 -20
  119. package/src/02-algorithms/a-unstyle-link/a-unstyle-link.common.async.scss +0 -5
  120. package/src/03-utilities/u-background.common.async.scss +0 -28
@@ -1,62 +1,167 @@
1
- @import '@penskemediacorp/larva-scss/dist/tokens';
2
- @import '@penskemediacorp/larva-scss/dist/generators';
3
-
4
- $paddings_without_breakpoints: (
5
-
6
- // Top
7
- ('t', $spacer-050),
8
- ('t', $spacer-1),
9
- ('t', $spacer-2),
10
-
11
- // Right
12
- ('r', $spacer-025),
13
- ('r', $spacer-050),
14
- ('r', $spacer-1),
15
- ('r', $spacer-0),
16
-
17
- // Bottom
18
- ('b', $spacer-0),
19
- ('b', $spacer-025),
20
- ('b', $spacer-050),
21
- ('b', $spacer-1),
22
- ('b', $spacer-2),
23
-
24
- // Left
25
- ('t', $spacer-025),
26
- ('l', $spacer-1),
27
- ('l', $spacer-2),
28
-
29
- // Left/Right
30
- ('lr', $spacer-025),
31
- ('lr', $spacer-050),
32
- ('lr', $spacer-1),
33
- ('lr', $spacer-2),
34
-
35
- // Top/Bottom
36
- ('tb', $spacer-025),
37
- ('tb', $spacer-050),
38
- ('tb', $spacer-075),
39
- ('tb', $spacer-1),
40
- ('tb', $spacer-2),
41
-
42
- // All
43
- ('a', $spacer-0),
44
- ('a', $spacer-025),
45
- ('a', $spacer-050),
46
- ('a', $spacer-1),
47
- ('a', $spacer-2),
1
+ @import 'setup';
48
2
 
3
+ $breakpoints: (
4
+ '',
5
+ 'mobile-max',
6
+ 'desktop',
7
+ 'desktop-xl'
49
8
  );
50
9
 
51
- @include pmc-u-padding( $paddings_without_breakpoints );
10
+ .lrv-u-padding-t-150\@tablet {
11
+ @include pmc-breakpoint( tablet ) {
12
+ padding-top: $spacer-150;
13
+ }
14
+ }
52
15
 
53
- // Ordered by breakpoint.
16
+ @mixin _u-padding( $token-name, $token-selector, $value, $breakpoint-suffix: '' ) {
17
+
18
+ .lrv-u-padding-r-#{$token-selector}#{$breakpoint-suffix} {
19
+ padding-right: $value;
20
+ padding-right: var( --#{$token-name}, #{$value} );
21
+ }
22
+
23
+ .lrv-u-padding-l-#{$token-selector}#{$breakpoint-suffix} {
24
+ padding-left: $value;
25
+ padding-left: var( --#{$token-name}, #{$value} );
26
+ }
27
+
28
+ .lrv-u-padding-b-#{$token-selector}#{$breakpoint-suffix} {
29
+ padding-bottom: $value;
30
+ padding-bottom: var( --#{$token-name}, #{$value} );
31
+ }
32
+
33
+ .lrv-u-padding-t-#{$token-selector}#{$breakpoint-suffix} {
34
+ padding-top: $value;
35
+ padding-top: var( --#{$token-name}, #{$value} );
36
+ }
37
+
38
+ .lrv-u-padding-tb-#{$token-selector}#{$breakpoint-suffix} {
39
+ padding-top: $value;
40
+ padding-top: var( --#{$token-name}, #{$value} );
41
+ padding-bottom: $value;
42
+ padding-bottom: var( --#{$token-name}, #{$value} );
43
+ }
44
+
45
+ .lrv-u-padding-lr-#{$token-selector}#{$breakpoint-suffix} {
46
+ padding-left: $value;
47
+ padding-left: var( --#{$token-name}, #{$value} );
48
+ padding-right: $value;
49
+ padding-right: var( --#{$token-name}, #{$value} );
50
+ }
51
+
52
+ .lrv-u-padding-a-#{$token-selector}#{$breakpoint-suffix} {
53
+ padding: $value;
54
+ padding: var( --#{$token-name}, #{$value} );
55
+ }
56
+ }
57
+
58
+ @each $breakpoint in $breakpoints {
59
+
60
+ @each $token, $value in $TOKENS-MAP {
61
+
62
+ $token-str: quote( $token );
63
+
64
+ // No negative spacing for padding
65
+ @if str-index( $token-str, 'spacing' ) and not str-index( $token-str, 'spacing-n' ) and not str-index( $token-str, 'letter-spacing' ) {
66
+
67
+ $token-name: $token;
68
+ $token-selector: str-replace( $token-str, 'spacing-', '' );
69
+
70
+ @if '' == $breakpoint {
71
+ @include _u-padding( $token-name, $token-selector, $value );
72
+ } @else {
73
+
74
+ $breakpoint-suffix: '\\@#{$breakpoint}';
75
+
76
+ @include pmc-breakpoint( $breakpoint ) {
77
+ @include _u-padding( $token-name, $token-selector, $value, $breakpoint-suffix );
78
+ }
79
+ }
80
+
81
+ }
82
+ }
83
+ }
84
+
85
+
86
+ // Legacy - should not have tablet and mobile-max
54
87
  $paddings_with_breakpoints: (
88
+ ('l', $spacer-3 ),
89
+
55
90
  ('tb', $spacer-025, mobile-max ),
91
+ ('tb', $spacer-1, mobile-max),
56
92
 
93
+ ('t', $spacer-075, tablet ),
94
+ ('b', $spacer-075, tablet ),
95
+ ('r', $spacer-1, tablet ),
96
+ ('r', $spacer-2, tablet ),
97
+ ('l', $spacer-2, tablet ),
98
+ ('b', $spacer-3, tablet ),
57
99
  ('t', $spacer-050, tablet ),
58
-
59
- ('tb', $spacer-050, desktop ),
100
+ ('lr', $spacer-1, tablet ),
101
+
102
+ ('tb', $spacer-050, desktop-max),
60
103
  );
61
104
 
62
- @include pmc-u-padding( $paddings_with_breakpoints );
105
+ @include u-padding( $paddings_with_breakpoints, $NAMESPACE: 'lrv-' );
106
+
107
+ .lrv-u-padding-b-150\@desktop-xl-max {
108
+ @include pmc-breakpoint( desktop-xl-max ) {
109
+ padding-bottom: $spacer-150;
110
+ }
111
+ }
112
+
113
+ .lrv-u-padding-b-150\@tablet {
114
+ @include pmc-breakpoint( tablet ) {
115
+ padding-bottom: $spacer-150;
116
+ }
117
+ }
118
+
119
+ .lrv-u-padding-t-175\@tablet {
120
+ @include pmc-breakpoint( tablet ) {
121
+ padding-top: $spacer-175;
122
+ }
123
+ }
124
+
125
+ .lrv-u-padding-tb-175\@desktop {
126
+ @include pmc-breakpoint( desktop ) {
127
+ padding-top: $spacer-175;
128
+ padding-bottom: $spacer-175;
129
+ }
130
+ }
131
+
132
+ .lrv-u-padding-t-175\@desktop-xl-max {
133
+ @include pmc-breakpoint( desktop-xl-max ) {
134
+ padding-top: $spacer-175;
135
+ }
136
+ }
137
+
138
+ .lrv-u-padding-t-150\@desktop-xl-max {
139
+ @include pmc-breakpoint( desktop-xl-max ) {
140
+ padding-top: $spacer-150;
141
+ }
142
+ }
143
+
144
+ .lrv-u-padding-b-3\@desktop-xl {
145
+ @include pmc-breakpoint( desktop-xl ) {
146
+ padding-bottom: $spacer-3;
147
+ }
148
+ }
149
+
150
+ .lrv-u-padding-t-175\@desktop-xl {
151
+ @include pmc-breakpoint( desktop-xl ) {
152
+ padding-top: $spacer-175;
153
+ }
154
+ }
155
+
156
+ .lrv-u-padding-tb-250\@desktop-xl {
157
+ @include pmc-breakpoint( desktop-xl ) {
158
+ padding-top: $spacer-250;
159
+ padding-bottom: $spacer-250;
160
+ }
161
+ }
162
+
163
+ .lrv-u-padding-t-250\@desktop-xl {
164
+ @include pmc-breakpoint( desktop-xl ) {
165
+ padding-top: $spacer-250;
166
+ }
167
+ }
@@ -0,0 +1,11 @@
1
+ @import 'setup';
2
+
3
+ .lrv-u-position-relative {
4
+ position: relative;
5
+ }
6
+
7
+ @include pmc-breakpoint( desktop ) {
8
+ .lrv-u-position-absolute\@desktop {
9
+ position: absolute;
10
+ }
11
+ }
@@ -1,17 +1,40 @@
1
1
  @import '@penskemediacorp/larva-scss/dist/tools';
2
2
 
3
- .pmc-u-text-align-center {
3
+ .lrv-u-text-align-right {
4
+ text-align: right;
5
+ }
6
+
7
+ .lrv-u-text-align-left {
8
+ text-align: left;
9
+ }
10
+
11
+ .lrv-u-text-align-center {
4
12
  text-align: center;
5
13
  }
6
14
 
7
- .pmc-u-text-align-center\@mobile-max {
15
+ @include pmc-breakpoint( desktop ) {
16
+ .lrv-u-text-align-right\@desktop {
17
+ text-align: right;
18
+ }
19
+
20
+ .lrv-u-text-align-left\@desktop {
21
+ text-align: left;
22
+ }
23
+
24
+ .lrv-u-text-align-center\@desktop {
25
+ text-align: center;
26
+ }
27
+ }
28
+
29
+ // Legacy
30
+ .lrv-u-text-align-center\@mobile-max {
8
31
  @include pmc-breakpoint( mobile-max ) {
9
32
  text-align: center;
10
33
  }
11
34
  }
12
35
 
13
- .pmc-u-text-align-center\@tablet {
36
+ .lrv-u-text-align-center\@tablet {
14
37
  @include pmc-breakpoint( tablet ) {
15
38
  text-align: center;
16
39
  }
17
- }
40
+ }
@@ -0,0 +1,11 @@
1
+ @import '@penskemediacorp/larva-scss/dist/tools';
2
+
3
+ .lrv-u-text-decoration-underline {
4
+ text-decoration: underline;
5
+ text-decoration-color: currentColor;
6
+ }
7
+
8
+ .lrv-u-text-decoration-underline\:hover:hover {
9
+ text-decoration: underline;
10
+ text-decoration-color: currentColor;
11
+ }
@@ -1,3 +1,15 @@
1
- .pmc-u-text-transform-uppercase {
1
+ .lrv-u-text-transform-uppercase {
2
2
  text-transform: uppercase;
3
- }
3
+ }
4
+
5
+ .lrv-u-text-transform-initial {
6
+ text-transform: initial;
7
+ }
8
+
9
+ .lrv-u-text-transform-lowercase {
10
+ text-transform: lowercase;
11
+ }
12
+
13
+ .lrv-u-text-transform-capitalize {
14
+ text-transform: capitalize;
15
+ }
@@ -0,0 +1,7 @@
1
+ @import 'setup';
2
+
3
+ @include pmc-breakpoint(desktop) {
4
+ .lrv-u-top-n33\@desktop {
5
+ top: pmc-rem(-33);
6
+ }
7
+ }
@@ -0,0 +1,12 @@
1
+ @import 'setup';
2
+
3
+ .lrv-u-transform-translateY-n50p {
4
+ transform: translateY(-50%);
5
+ }
6
+
7
+ @include pmc-breakpoint( desktop ) {
8
+ .lrv-u-transform-translateX-n50p\@desktop {
9
+ transform: translateX(-50%);
10
+
11
+ }
12
+ }
@@ -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
+ }
@@ -1,3 +1,3 @@
1
- .pmc-u-whitespace-nowrap {
1
+ .lrv-u-whitespace-nowrap {
2
2
  white-space: nowrap;
3
3
  }
@@ -1,24 +1,210 @@
1
- @import '@penskemediacorp/larva-scss/dist/tools';
1
+ @import 'setup';
2
2
 
3
- .pmc-u-width-16 {
4
- width: pmc-rem(16);
3
+ $widths_map: (
4
+ 'width-auto': auto,
5
+ 'width-16': pmc-rem(16),
6
+ 'width-24': pmc-rem(24),
7
+ 'width-30': pmc-rem(30),
8
+ 'width-50': pmc-rem(50),
9
+ 'width-100': pmc-rem(100),
10
+ 'width-150': pmc-rem(150),
11
+ 'width-185': pmc-rem(185),
12
+ 'width-165': pmc-rem(165),
13
+ 'width-200': pmc-rem(200),
14
+ 'width-215': pmc-rem(215),
15
+ 'width-245': pmc-rem(245),
16
+ 'width-300': pmc-rem(300),
17
+ 'width-20p': 20%,
18
+ 'width-22p': 22%,
19
+ 'width-30p': 30%,
20
+ 'width-50p': 50%,
21
+ 'width-70p': 70%,
22
+ 'width-75p': 75%,
23
+ 'width-100p': 100%,
24
+ );
25
+
26
+ @include basic-utility-generator( 'width', (
27
+ width-auto,
28
+ width-16,
29
+ width-24,
30
+ width-30,
31
+ width-50,
32
+ width-100,
33
+ width-150,
34
+ width-185,
35
+ width-165,
36
+ width-200,
37
+ width-215,
38
+ width-245,
39
+ width-300,
40
+ width-20p,
41
+ width-22p,
42
+ width-30p,
43
+ width-50p,
44
+ width-70p,
45
+ width-75p,
46
+ width-100p,
47
+ ), $widths_map, $NAMESPACE: 'lrv-' );
48
+
49
+ .lrv-u-width-35\@mobile-max {
50
+ @include pmc-breakpoint( mobile-max ) {
51
+ width: pmc-rem(35);
52
+ }
5
53
  }
6
54
 
7
- .pmc-u-width-100p {
8
- width: 100%;
55
+ .lrv-u-width-100\@mobile-max {
56
+ @include pmc-breakpoint( mobile-max ) {
57
+ width: pmc-rem(100);
58
+ }
9
59
  }
10
60
 
11
- .pmc-u-max-width-100p {
12
- max-width: 100%;
61
+ .lrv-u-width-100p\@mobile-max {
62
+ @include pmc-breakpoint( mobile-max ) {
63
+ width: 100%;
64
+ }
13
65
  }
14
66
 
15
- .pmc-u-width-100p\@mobile-max {
67
+ .lrv-u-width-150\@desktop {
68
+ @include pmc-breakpoint( desktop ) {
69
+ width: pmc-rem(150);
70
+ }
71
+ }
16
72
 
17
- @include pmc-breakpoint( mobile-max ) {
73
+ .lrv-u-width-38p\@desktop {
74
+ @include pmc-breakpoint( desktop ) {
75
+ width: 38%;
76
+ }
77
+ }
78
+
79
+ .lrv-u-width-50p\@desktop {
80
+ @include pmc-breakpoint( desktop ) {
81
+ width: 50%;
82
+ }
83
+ }
84
+
85
+ .lrv-u-width-75p\@desktop {
86
+ @include pmc-breakpoint( desktop ) {
87
+ width: 75%;
88
+ }
89
+ }
90
+
91
+ .lrv-u-width-100\@desktop-xl {
92
+ @include pmc-breakpoint( desktop-xl ) {
93
+ width: pmc-rem(100);
94
+ }
95
+ }
96
+
97
+ .lrv-u-width-154\@desktop-xl {
98
+
99
+ @include pmc-breakpoint(desktop-xl) {
100
+ width: pmc-rem(154);
101
+ }
102
+ }
103
+
104
+ .lrv-u-width-177\@tablet-and-desktop-only {
105
+
106
+ @media only screen and (max-width: $screen-desktop-xl) and (min-width: $screen-tablet) {
107
+ width: pmc-rem(177);
108
+ }
109
+ }
110
+
111
+ .lrv-u-width-36p\@desktop-xl {
112
+
113
+ @include pmc-breakpoint(desktop-xl) {
114
+ width: 36%;
115
+ }
116
+ }
117
+
118
+ .lrv-u-width-64p\@desktop-xl {
119
+
120
+ @include pmc-breakpoint(desktop-xl) {
121
+ width: 64%;
122
+ }
123
+ }
124
+
125
+ .lrv-u-width-27p\@tablet {
126
+
127
+ @include pmc-breakpoint(tablet) {
128
+ width: 27%;
129
+ }
130
+ }
131
+
132
+ .lrv-u-width-23p\@tablet {
133
+
134
+ @include pmc-breakpoint(tablet) {
135
+ width: 23%;
136
+ }
137
+ }
138
+
139
+ .lrv-u-width-52p\@tablet {
140
+
141
+ @include pmc-breakpoint(tablet) {
142
+ width: 52%;
143
+ }
144
+ }
145
+
146
+ .lrv-u-width-50p\@mobile-max {
147
+ @include pmc-breakpoint(mobile-max) {
148
+ width: 50%;
149
+ }
150
+ }
151
+
152
+ .lrv-u-width-33p\@mobile-max {
153
+
154
+ @include pmc-breakpoint(mobile-max) {
155
+ width: 33.33%;
156
+ }
157
+ }
158
+
159
+ .lrv-u-width-55p\@tablet {
160
+ @include pmc-breakpoint(tablet) {
161
+ width: 55%;
162
+ }
163
+ }
164
+
165
+ .lrv-u-width-35p\@tablet {
166
+
167
+ @include pmc-breakpoint(tablet) {
168
+ width: 35%;
169
+ }
170
+ }
171
+
172
+ .lrv-u-max-width-30p\@mobile-max {
173
+ @include pmc-breakpoint(mobile-max) {
174
+ max-width: 30%;
175
+ }
176
+ }
177
+
178
+ .lrv-u-width-28\@mobile-max {
179
+ @include pmc-breakpoint(mobile-max) {
180
+ width: pmc-rem(28);
181
+ }
182
+ }
183
+
184
+ .lrv-u-width-22p\@mobile-max {
185
+ @include pmc-breakpoint(mobile-max) {
186
+ width: 22%;
187
+ }
188
+ }
189
+
190
+ .lrv-u-width-56p\@mobile-max {
191
+ @include pmc-breakpoint(mobile-max) {
192
+ width: 56%;
193
+ }
194
+ }
195
+
196
+ .lrv-u-width-135\@mobile-max {
197
+ @include pmc-breakpoint(mobile-max) {
198
+ width: pmc-rem(135);
199
+ }
200
+ }
201
+
202
+ .lrv-u-width-100p\@tablet {
203
+ @include pmc-breakpoint(tablet) {
18
204
  width: 100%;
19
205
  }
20
206
  }
21
207
 
22
- .pmc-u-max-width-150 {
23
- max-width: 9.375rem;
24
- }
208
+ .lrv-u-max-width-830 {
209
+ max-width: pmc-rem(830);
210
+ }
@@ -0,0 +1,5 @@
1
+ ## CSS related to JS functionality
2
+
3
+ If a file here includes a .chunk.inline|async.scss extension, then it is built and distributed as CSS from larva-css. If it does not include that extension, it must be included and built in the consuming project.
4
+
5
+ In the future, consider moving this CSS to the larva-js package.
@@ -0,0 +1,15 @@
1
+ @import 'setup';
2
+
3
+ [data-collapsible].is-expanded [data-collapsible-toggle]:not([data-collapsible-toggle='always-show']) { // stylelint-disable-line selector-max-specificity
4
+ display: none;
5
+ }
6
+
7
+ [data-collapsible]:not(.is-expanded) [data-collapsible-panel] {
8
+ display: none;
9
+ }
10
+
11
+ [data-collapsible]:not(.is-expanded) [data-collapsible-panel][data-collapsible-breakpoint='mobile-only'] { // stylelint-disable-line selector-max-specificity
12
+ @include pmc-breakpoint( desktop ) {
13
+ display: block;
14
+ }
15
+ }
@@ -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,91 @@
1
+ @import 'setup';
2
+ @import 'partials/flickity';
3
+
4
+ .js-Flickity--100p .js-Flickity-cell {
5
+ width: 100%;
6
+ }
7
+
8
+ // TODO: Update class name, enable js-Flickity on profile page as well.
9
+ .js-Flickity--profile .js-Flickity-cell {
10
+ width: 75%;
11
+
12
+ @include pmc-breakpoint( desktop ) {
13
+ width: 50%;
14
+ }
15
+
16
+ @include pmc-breakpoint( desktop-xl ) {
17
+ width: 33.3%;
18
+ }
19
+ }
20
+
21
+ // Flickity sizing in descending order.
22
+ // Flickity-thirds is actually 2/3.
23
+ .js-Flickity--thirds .js-Flickity-cell {
24
+ width: 66%;
25
+ overflow: visible;
26
+ }
27
+
28
+ .js-Flickity--fifths .js-Flickity-cell {
29
+ width: 35%;
30
+
31
+ @include pmc-breakpoint( desktop ) {
32
+ width: 20%;
33
+ }
34
+ }
35
+
36
+ .js-Flickity--one-thirds .js-Flickity-cell {
37
+ width: 33%;
38
+ overflow: visible;
39
+ }
40
+
41
+ .js-Flickity--fourths .js-Flickity-cell {
42
+ width: 25%;
43
+ overflow: visible;
44
+ }
45
+
46
+ .js-Flickity--enlarge-selected .js-Flickity-cell {
47
+ transform: scale(0.8);
48
+ transition: $transition-transform transform;
49
+ transform-origin: center center;
50
+ }
51
+
52
+ .js-Flickity--enlarge-selected .js-Flickity-cell.is-selected { // stylelint-disable-line selector-max-class
53
+ transform: scale(1);
54
+ z-index: 9;
55
+ transform-origin: center center;
56
+ }
57
+
58
+
59
+ .js-Flickity--nav-top-right {
60
+ --button-size: 0; // Hide arrows for mobile screen.
61
+
62
+ margin-top: var( --button-size );
63
+
64
+ @include pmc-breakpoint( tablet ) {
65
+ --button-size: #{pmc-rem(44)};
66
+ }
67
+ }
68
+
69
+ .js-Flickity--nav-top-right .flickity-prev-next-button {
70
+ top: calc( var( --button-size ) * -1 );
71
+ height: var( --button-size );
72
+ width: var( --button-size );
73
+ }
74
+
75
+ .js-Flickity--nav-top-right .flickity-prev-next-button.previous { // stylelint-disable-line selector-max-class
76
+ left: calc( 100% - ( var( --button-size ) * 2.5 ) );
77
+ }
78
+
79
+ .js-Flickity--bordered-buttons .flickity-button {
80
+ border: 1px solid map-get( $TOKENS-MAP, color-black );
81
+ }
82
+
83
+ .js-Flickity--bordered-buttons .flickity-icon {
84
+ fill: map-get( $TOKENS-MAP, color-black );
85
+ }
86
+
87
+ .js-Flickity--hide-nav\@mobile-max .flickity-button {
88
+ @include pmc-breakpoint( mobile-max ) {
89
+ display: none;
90
+ }
91
+ }