@shift72/core-template 0.6.0 → 1.1.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (83) hide show
  1. package/.github/pull_request_template.md +47 -0
  2. package/.github/workflows/node.js.yml +1 -1
  3. package/CHANGELOG.md +46 -1
  4. package/kibble.json +2 -2
  5. package/package.json +1 -1
  6. package/site/ar_LB.all.json +59 -25
  7. package/site/ca_ES.all.json +51 -25
  8. package/site/da_DK.all.json +51 -25
  9. package/site/de_DE.all.json +51 -25
  10. package/site/el_EL.all.json +51 -25
  11. package/site/en_AU.all.json +35 -9
  12. package/site/es_ES.all.json +51 -25
  13. package/site/es_MX.all.json +48 -22
  14. package/site/et_ET.all.json +51 -25
  15. package/site/fi_FI.all.json +52 -26
  16. package/site/fr_FR.all.json +51 -25
  17. package/site/hr_HR.all.json +53 -25
  18. package/site/hu_HU.all.json +51 -25
  19. package/site/it_IT.all.json +51 -25
  20. package/site/ja_JP.all.json +49 -25
  21. package/site/lt_LT.all.json +55 -25
  22. package/site/manifest.json.jet +2 -2
  23. package/site/nl_BE.all.json +50 -24
  24. package/site/no_NO.all.json +51 -25
  25. package/site/pl_PL.all.json +55 -25
  26. package/site/pt_BR.all.json +51 -25
  27. package/site/pt_PT.all.json +51 -25
  28. package/site/ru_RU.all.json +61 -31
  29. package/site/sr_SR.all.json +53 -25
  30. package/site/static/fonts/fa-s72.woff +0 -0
  31. package/site/static/js/main.js +1 -1
  32. package/site/static/scripts/main.js.map +1 -1
  33. package/site/styles/_awards.scss +1 -1
  34. package/site/styles/_buttons.scss +32 -27
  35. package/site/styles/_can-be-watched-button.scss +1 -21
  36. package/site/styles/_carousel.scss +141 -303
  37. package/site/styles/_collections.scss +6 -11
  38. package/site/styles/_cta-buttons.scss +261 -0
  39. package/site/styles/_forms.scss +1 -2
  40. package/site/styles/_icons.scss +16 -10
  41. package/site/styles/_legacy.scss +1 -43
  42. package/site/styles/_meta-detail.scss +39 -200
  43. package/site/styles/_meta-item-tagline.scss +33 -0
  44. package/site/styles/_meta-item.scss +0 -4
  45. package/site/styles/_meta-sub-item.scss +116 -0
  46. package/site/styles/_mixins.scss +47 -0
  47. package/site/styles/_nav.scss +1 -1
  48. package/site/styles/_pages.scss +4 -13
  49. package/site/styles/_plans.scss +14 -0
  50. package/site/styles/_shift72.scss +4 -0
  51. package/site/styles/_variables.scss +9 -6
  52. package/site/styles/main.scss +2 -1
  53. package/site/templates/application/footer/brand.jet +4 -4
  54. package/site/templates/application/footer/copyright-statement.jet +1 -1
  55. package/site/templates/application/nav/nav.jet +2 -2
  56. package/site/templates/bundle/item.jet +2 -4
  57. package/site/templates/collection/carousel/carousel.jet +27 -0
  58. package/site/templates/collection/carousel/item/image.jet +5 -0
  59. package/site/templates/collection/carousel/item/synopsis.jet +5 -0
  60. package/site/templates/collection/carousel/item/tagline.jet +7 -0
  61. package/site/templates/collection/carousel/item/title.jet +3 -0
  62. package/site/templates/collection/carousel/item.jet +41 -0
  63. package/site/templates/collection/carousel/pagination.jet +9 -0
  64. package/site/templates/collection/page_collection.jet +2 -2
  65. package/site/templates/common/cta_buttons.jet +70 -0
  66. package/site/templates/common/social-media-buttons.jet +2 -2
  67. package/site/templates/film/item.jet +6 -16
  68. package/site/templates/items/meta_item.jet +20 -6
  69. package/site/templates/items/sub_item.jet +22 -0
  70. package/site/templates/items/tagline.jet +2 -2
  71. package/site/templates/page/homepage.jet +2 -3
  72. package/site/templates/tv/detail.jet +10 -18
  73. package/site/tr_TR.all.json +51 -25
  74. package/site/uk_UA.all.json +55 -25
  75. package/site/zh_TW.all.json +49 -25
  76. package/site/styles/_homepage.scss +0 -3
  77. package/site/templates/bundle/buttons.jet +0 -6
  78. package/site/templates/bundle/extras.jet +0 -13
  79. package/site/templates/collection/carousel.jet +0 -27
  80. package/site/templates/collection/carousel_item.jet +0 -68
  81. package/site/templates/items/bonus_item.jet +0 -23
  82. package/site/templates/items/featured_item.jet +0 -61
  83. package/site/templates/tv/episode.jet +0 -21
@@ -1,73 +1,56 @@
1
- .carousel,
2
1
  s72-carousel {
3
- display: block;
4
- margin: 0 auto;
5
- position: relative;
2
+ display: flex;
3
+ height: var(--carousel-height);
4
+ margin-bottom: 30px;
5
+ max-height: 800px;
6
+ min-height: 530px;
7
+ width: 100%;
8
+
9
+ @include media-breakpoint-up(sm) {
10
+ height: var(--carousel-height-sm);
11
+ }
12
+
13
+ @include media-breakpoint-up(lg) {
14
+ height: var(--carousel-height-lg);
15
+ }
16
+ }
17
+
18
+ .page-collection-carousel {
19
+ display: flex;
20
+ flex-direction: column;
21
+ width: 100%;
6
22
  }
7
23
 
8
24
  .s72-carousel-slides {
9
25
  background: $carousel-bg-color;
10
- height: var(--carousel-height) !important;
11
- position: relative;
26
+ height: 100% !important;
27
+ margin-bottom: 10px;
28
+ overflow: hidden;
12
29
  width: 100%;
30
+
13
31
  @include media-breakpoint-up(sm) {
14
- height: var(--carousel-height-sm) !important;
15
- }
16
- @include media-breakpoint-up(md) {
17
- height: var(--carousel-height-md) !important;
32
+ margin-bottom: 40px;
18
33
  }
34
+ }
19
35
 
20
- .carousel-item-link > s72-image {
21
- float: right;
22
- height: var(--carousel-height);
23
- max-width: 1600px;
24
- overflow: hidden;
25
- position: relative;
36
+ .carousel-item-link > s72-image {
37
+ height: 90%;
38
+ position: absolute;
39
+ top: 0;
40
+ width: 100%;
41
+
42
+ img {
43
+ height: 100%;
44
+ object-fit: cover;
45
+ object-position: var(--carousel-image-object-position);
26
46
  width: 100%;
47
+ z-index: -1;
27
48
  @include media-breakpoint-up(sm) {
28
- height: var(--carousel-height-sm);
49
+ object-position: var(--carousel-image-object-position-sm);
29
50
  }
30
- @include media-breakpoint-up(md) {
31
- height: var(--carousel-height-md);
51
+ @include media-breakpoint-up(lg) {
52
+ object-position: var(--carousel-image-object-position-lg);
32
53
  }
33
-
34
- &::before {
35
- @extend .left-gradient-bg;
36
- bottom: 0;
37
- content: '';
38
- height: 100%;
39
- left: 0;
40
- position: absolute;
41
- top: 0;
42
- width: 60%;
43
- z-index: 8;
44
- @include media-breakpoint-up(lg) {
45
- width: 100%;
46
- }
47
- @include media-breakpoint-up(xl) {
48
- display: block;
49
- }
50
- }
51
-
52
- /* stylelint-disable selector-max-compound-selectors */
53
- img {
54
- height: var(--carousel-height);
55
- margin-left: 50%;
56
- transform: translateX(-50%);
57
-
58
- @include media-breakpoint-up(sm) {
59
- height: var(--carousel-height-sm);
60
- }
61
- @include media-breakpoint-up(md) {
62
- height: var(--carousel-height-md);
63
- width: auto;
64
- }
65
- }
66
- /* stylelint-enable selector-max-compound-selectors */
67
- }
68
-
69
- .s72-pricing-button-container {
70
- white-space: nowrap;
71
54
  }
72
55
  }
73
56
 
@@ -79,9 +62,6 @@ s72-carousel {
79
62
  transition: opacity 0.7s linear;
80
63
  width: 100%;
81
64
  z-index: 1;
82
- @include media-breakpoint-up(lg) {
83
- position: absolute;
84
- }
85
65
 
86
66
  &.in {
87
67
  display: block;
@@ -99,296 +79,154 @@ s72-carousel {
99
79
 
100
80
  .carousel-item-link {
101
81
  display: block;
102
- height: 500px;
82
+ height: 100%;
83
+
84
+ &:focus-visible {
85
+ outline: none;
86
+
87
+ .meta-item-content {
88
+ border-radius: 4px;
89
+ outline: 1px solid var(--body-color);
90
+ }
91
+ }
103
92
  }
104
93
  }
105
94
 
106
95
  .carousel-item-caption {
96
+ @extend .carousel-bottom-gradient;
107
97
  bottom: 0;
98
+ display: flex;
99
+ flex-direction: column;
108
100
  left: 0;
109
- padding: 0 20px;
101
+ padding: var(--carousel-bottom-gradient-height) 20px 1px;
110
102
  position: absolute;
111
- right: 0;
112
- top: var(--carousel-caption-top);
103
+ width: 100%;
113
104
  z-index: 999;
114
- @include media-breakpoint-up(xs) {
115
- left: 60px;
116
- top: var(--carousel-caption-top-xs);
117
- }
118
- @include media-breakpoint-up(md) {
119
- left: 60px;
120
- top: var(--carousel-caption-top-md);
105
+
106
+ @include media-breakpoint-up(sm) {
107
+ padding: var(--carousel-bottom-gradient-height-sm) 20px 1px;
121
108
  }
109
+
122
110
  @include media-breakpoint-up(lg) {
123
- left: 70px;
124
- top: var(--carousel-caption-top-md);
125
- }
126
- @include media-breakpoint-up(xl) {
127
- left: 120px;
128
- top: var(--carousel-caption-top-md);
129
- }
130
- @include media-breakpoint-up(xxxl) {
131
- top: var(--carousel-caption-top-md);
111
+ flex-direction: row;
112
+ padding: var(--carousel-bottom-gradient-height-lg) 50px 1px;
132
113
  }
133
114
 
134
- .meta-item-content {
135
- color: var(--body-color);
136
- @include media-breakpoint-up(xs) {
137
- width: 70%;
138
- }
139
- @include media-breakpoint-up(xl) {
140
- width: 50%;
141
- }
142
-
143
- h3 {
144
- color: var(--body-color);
145
- font-size: 28px;
146
- font-weight: $font-weight-bold;
147
- margin-bottom: 0;
148
- padding-bottom: 0;
149
- @include media-breakpoint-up(md) {
150
- font-size: 38px;
151
- }
152
- @include media-breakpoint-up(lg) {
153
- font-size: 48px;
154
- }
155
- @include media-breakpoint-up(xxxl) {
156
- font-size: 54px;
157
- }
158
- }
159
-
160
- h4 {
161
- background: var(--primary);
162
- color: #000;
163
- display: inline-block;
164
- font-size: 6px;
165
- font-weight: $font-weight-bold;
166
- padding: 2px 4px;
167
- text-transform: uppercase;
168
- @include media-breakpoint-up(md) {
169
- font-size: 12px;
170
- }
171
- }
172
-
173
- .meta-item-tagline-and-classification {
174
- @extend .d-flex;
175
- align-items: center;
176
- padding-bottom: 14px;
177
- padding-top: 8px;
178
- }
179
-
180
- .s72-classification {
181
- margin-right: 5px;
182
- }
183
-
184
- .meta-item-tagline {
185
- color: rgba(var(--body-color-rgb), 0.8);
186
- font-size: 14px;
187
- font-weight: $font-weight-normal;
188
- @include media-breakpoint-up(xxxl) {
189
- font-size: 18px;
190
- }
191
- }
192
-
193
- .meta-item-synopsis {
194
- display: block;
195
- font-size: 12px;
196
- font-weight: $font-weight-normal;
197
- padding-top: 10px;
198
- @include media-breakpoint-up(md) {
199
- font-size: 16px;
200
- }
201
- @include media-breakpoint-up(xxxl) {
202
- font-size: 16px;
203
- }
204
- @include media-breakpoint-up(xxxl) {
205
- font-size: 18px;
206
- }
207
- }
208
-
209
- .meta-item-extras {
210
- @extend .d-flex;
211
- }
212
-
213
- .btn-wishlist {
214
- position: relative;
115
+ .sponsor {
116
+ margin-bottom: 8px;
117
+ @include media-breakpoint-up(lg) {
118
+ align-self: flex-end;
119
+ margin-left: auto;
120
+ order: 1;
215
121
  }
216
122
  }
217
123
 
218
- // Purchase, play, trailer, wishlist and share are all in one group now
219
- // Need similar bootstrap approach of handling/wrapping rows and columns via negative margin
220
- .meta-item-buttons {
221
- margin-left: -0.5rem;
222
- margin-right: -0.5rem;
223
-
224
- /* stylelint-disable selector-max-compound-selectors */
225
- s72-pricing-buttons .s72-btn,
226
- .meta-detail-extras,
227
- .meta-item-extras,
228
- s72-play-button,
229
- can-be-watched-button:not(:empty) {
230
- margin-bottom: 10px;
231
- margin-left: 0.5rem;
232
- margin-right: 0.5rem;
233
- }
234
-
235
- // Handles spacing when there is only rent, only buy, or only play button
236
- s72-pricing-buttons .s72-btn,
237
- s72-play-button {
238
- &:nth-child(1) {
239
- margin-right: 0;
240
- }
241
- &:only-child {
242
- margin-right: 0.5rem;
243
- }
244
- }
245
- /* stylelint-enable selector-max-compound-selectors */
124
+ .availability-bg {
125
+ margin-bottom: 10px;
246
126
  }
247
127
 
248
- .s72-btn-play {
249
- circle {
250
- fill: transparent;
251
- }
128
+ .availability-state {
129
+ color: var(--body-color);
130
+ font-size: 12px;
131
+ margin-bottom: 0 !important; // >:(
132
+ text-transform: none;
252
133
  }
253
134
 
254
- .sponsor {
255
- @include media-breakpoint-up(xl) {
256
- bottom: 140px;
257
- position: absolute;
258
- right: 140px;
259
- text-align: right;
260
- }
135
+ .meta-item-content {
136
+ color: var(--body-color);
261
137
  }
262
- }
263
138
 
264
- .s72-carousel-pagination {
265
- @extend .d-flex;
266
- bottom: 2px;
267
- height: 60px;
268
- left: 50%;
269
- line-height: 60px;
270
- position: absolute;
271
- transform: translateX(-50%);
139
+ h3 {
140
+ color: var(--body-color);
141
+ font-size: 28px;
142
+ font-weight: $font-weight-normal;
143
+ margin-bottom: 8px;
144
+ max-width: 930px;
145
+ padding-bottom: 0;
146
+
147
+ /* stylelint-disable */
148
+ display: -webkit-box;
149
+ overflow: hidden;
150
+ -webkit-line-clamp: 3;
151
+ -webkit-box-orient: vertical;
152
+ /* stylelint-enable */
272
153
 
273
- .s72-carousel-page {
274
- color: rgba(var(--body-color-rgb), 0.2);
275
154
  @include media-breakpoint-up(md) {
276
- margin: 0 5px;
155
+ font-size: 38px;
277
156
  }
278
157
 
279
- &.current {
280
- color: var(--primary);
158
+ @include media-breakpoint-up(lg) {
159
+ font-size: 46px;
281
160
  }
282
161
 
283
- .fa {
284
- @extend .fa-circle;
285
- font-size: 12px;
286
- padding: 0 3px;
287
- @include media-breakpoint-up(md) {
288
- font-size: 14px;
289
- }
162
+ @include media-breakpoint-up(xxxl) {
163
+ font-size: 46px;
290
164
  }
291
165
  }
292
- }
293
166
 
294
- .s72-carousel-control {
295
- @extend .d-flex;
296
- bottom: 0;
297
- flex-direction: column;
298
- height: 60px;
299
- justify-content: center;
300
- line-height: 60px;
301
- position: absolute;
302
- text-align: center;
303
- top: auto;
304
- width: 50px;
305
- z-index: 6;
306
- @include media-breakpoint-down(sm) {
307
- :hover {
308
- color: var(--primary);
309
- }
167
+ h4 {
168
+ background: var(--primary);
169
+ color: #000;
170
+ display: inline-block;
171
+ font-size: 6px;
172
+ font-weight: $font-weight-bold;
173
+ padding: 2px 4px;
174
+ text-transform: uppercase;
310
175
 
311
- :active {
312
- opacity: 0.8;
176
+ @include media-breakpoint-up(md) {
177
+ font-size: 12px;
313
178
  }
314
179
  }
315
- @include media-breakpoint-up(md) {
316
- background: none;
317
- top: 53%;
318
- }
319
180
 
320
- &.left {
321
- left: 0;
322
- right: auto;
181
+ .meta-item-tagline-and-classification {
182
+ display: flex;
183
+ margin-bottom: 8px;
323
184
  }
324
185
 
325
- &.right {
326
- left: auto;
327
- right: 0;
186
+ .meta-item-tagline {
187
+ color: rgba(var(--body-color-rgb), 0.8);
188
+ font-size: 14px;
189
+ font-weight: $font-weight-normal;
328
190
  }
329
191
 
330
- &:hover,
331
- &:active {
332
- text-decoration: none;
333
- }
192
+ .meta-item-synopsis {
193
+ display: none;
194
+ font-size: 16px;
195
+ font-weight: $font-weight-normal;
196
+ margin-bottom: 8px;
197
+ max-width: 600px;
198
+ padding-top: 0;
334
199
 
335
- span {
336
- font-size: 32px;
337
- text-align: center;
338
- width: 100%;
339
- @include media-breakpoint-up(md) {
340
- font-size: inherit;
200
+ @include media-breakpoint-up(xs) {
201
+ display: block;
341
202
  }
342
203
  }
343
- }
344
204
 
345
- .right-gradient {
346
- @extend .right-gradient-bg;
347
- bottom: 0;
348
- display: none;
349
- height: 100%;
350
- position: absolute;
351
- right: 0;
352
- width: 500px;
353
- z-index: 9;
354
- @include media-breakpoint-up(lg) {
355
- display: none;
205
+ .meta-item-synopsis p {
206
+ margin-bottom: 0;
356
207
  }
357
208
  }
358
209
 
359
- .bottom-gradient {
360
- @extend .bottom-gradient-bg;
361
- bottom: 0;
362
- height: 350px;
363
- left: 0;
364
- position: absolute;
365
- width: 100%;
366
- z-index: 8;
367
- @include media-breakpoint-up(lg) {
368
- display: block;
369
- height: 500px;
370
- width: 100%;
371
- }
210
+ .s72-carousel-pagination {
211
+ display: flex;
212
+ justify-content: center;
213
+ padding: 0 16px;
372
214
  }
373
215
 
374
- .left-gradient {
375
- @extend .left-gradient-bg;
376
- bottom: 0;
377
- display: none;
378
- height: 100%;
379
- left: 0;
380
- position: absolute;
381
- top: 0;
382
- width: 60%;
383
- z-index: 8;
384
- @include media-breakpoint-up(md) {
385
- display: block;
386
- }
387
- @include media-breakpoint-up(lg) {
388
- width: 100%;
216
+ .s72-carousel-page {
217
+ background: none;
218
+ border: 0;
219
+ max-width: 60px;
220
+ padding: 10px 4px;
221
+ width: 100%;
222
+
223
+ .s72-carousel-line {
224
+ background-color: rgba(var(--body-color-rgb), 0.2);
225
+ border-radius: 6px;
226
+ height: 6px;
389
227
  }
390
- @include media-breakpoint-up(xl) {
391
- display: none;
392
- width: 100%;
228
+
229
+ &.current .s72-carousel-line {
230
+ background-color: var(--primary);
393
231
  }
394
232
  }
@@ -1,7 +1,3 @@
1
- .page-collection-carousel {
2
- position: relative;
3
- }
4
-
5
1
  .page-collection {
6
2
  @extend .clearfix;
7
3
  }
@@ -176,13 +172,8 @@
176
172
  flex-wrap: wrap;
177
173
  justify-content: center;
178
174
  padding-top: 10px;
179
-
180
- .s72-classification {
181
- margin-right: 5px;
182
-
183
- .s72-classification-label {
184
- font-size: 12px;
185
- }
175
+ .s72-classification-label {
176
+ font-size: 12px;
186
177
  }
187
178
  }
188
179
 
@@ -242,6 +233,10 @@
242
233
  }
243
234
  }
244
235
  }
236
+
237
+ .s72-subscribe-trial-label {
238
+ display: none;
239
+ }
245
240
  }
246
241
 
247
242
  &:hover {