@shift72/core-template 0.6.0 → 1.1.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 (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 {