@shift72/core-template 0.4.2 → 0.5.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 (82) hide show
  1. package/CHANGELOG.md +49 -7
  2. package/kibble.json +107 -28
  3. package/package.json +25 -9
  4. package/scripts/core-template-version.js +30 -0
  5. package/scripts/css-local-get.js +34 -0
  6. package/scripts/css-local-put.js +110 -0
  7. package/scripts/language-file-to-csv/language-file-to-csv.js +2 -2
  8. package/scripts/language-file-validator.js +16 -2
  9. package/scripts/translate.mjs +43 -0
  10. package/site/ar_LB.all.json +1262 -593
  11. package/site/ca_ES.all.json +441 -440
  12. package/site/da_DK.all.json +308 -210
  13. package/site/de_DE.all.json +1122 -337
  14. package/site/ee_EE.all.json +1258 -532
  15. package/site/el_EL.all.json +1116 -394
  16. package/site/en_AU.all.json +1159 -466
  17. package/site/es_ES.all.json +1109 -333
  18. package/site/es_MX.all.json +1173 -332
  19. package/site/fi_FI.all.json +1127 -315
  20. package/site/fr_FR.all.json +1109 -332
  21. package/site/hr_HR.all.json +1173 -411
  22. package/site/hu_HU.all.json +1258 -531
  23. package/site/it_IT.all.json +1116 -340
  24. package/site/ja_JP.all.json +1127 -315
  25. package/site/lt_LT.all.json +1116 -425
  26. package/site/nl_BE.all.json +1116 -426
  27. package/site/no_NO.all.json +1249 -531
  28. package/site/pl_PL.all.json +1106 -306
  29. package/site/pt_BR.all.json +438 -446
  30. package/site/pt_PT.all.json +1249 -527
  31. package/site/ru_RU.all.json +1092 -386
  32. package/site/sr_SR.all.json +1254 -0
  33. package/site/styles/_awards.scss +11 -6
  34. package/site/styles/_bootstrap4.scss +90 -0
  35. package/site/styles/_buttons.scss +32 -8
  36. package/site/styles/_can-be-watched-button.scss +2 -0
  37. package/site/styles/_card.scss +2 -2
  38. package/site/styles/_carousel.scss +52 -29
  39. package/site/styles/_collections.scss +4 -4
  40. package/site/styles/_cookie-consent.scss +1 -1
  41. package/site/styles/_devices.scss +3 -3
  42. package/site/styles/_footer.scss +6 -6
  43. package/site/styles/_forms.scss +83 -16
  44. package/site/styles/_globals.scss +1 -1
  45. package/site/styles/_icons.scss +2 -2
  46. package/site/styles/_language-selector.scss +2 -2
  47. package/site/styles/_legacy.scss +3 -3
  48. package/site/styles/_meta-detail.scss +45 -25
  49. package/site/styles/_meta-item-tagline.scss +1 -1
  50. package/site/styles/_mixins.scss +2 -2
  51. package/site/styles/_nav.scss +40 -40
  52. package/site/styles/_pages.scss +12 -14
  53. package/site/styles/_pin-codes.scss +2 -2
  54. package/site/styles/_plans.scss +6 -1
  55. package/site/styles/_poster.scss +5 -4
  56. package/site/styles/_search.scss +1 -1
  57. package/site/styles/_shift72.scss +24 -24
  58. package/site/styles/_shopping.scss +9 -9
  59. package/site/styles/_skip-link.scss +19 -0
  60. package/site/styles/_slider.scss +4 -10
  61. package/site/styles/_social-media-buttons.scss +20 -20
  62. package/site/styles/_swiper.scss +2 -2
  63. package/site/styles/_variables.scss +112 -83
  64. package/site/styles/_wishlist.scss +20 -12
  65. package/site/styles/main.scss +2 -3
  66. package/site/templates/application/application.jet +24 -15
  67. package/site/templates/application/google.jet +26 -10
  68. package/site/templates/bundle/buttons.jet +2 -1
  69. package/site/templates/bundle/item.jet +1 -2
  70. package/site/templates/collection/carousel_item.jet +12 -13
  71. package/site/templates/common/awards/carousel.jet +7 -1
  72. package/site/templates/common/awards/item.jet +2 -2
  73. package/site/templates/film/item.jet +92 -61
  74. package/site/templates/page/curated.jet +1 -1
  75. package/site/templates/page/page-content.jet +1 -23
  76. package/site/templates/page/page-header.jet +25 -6
  77. package/site/templates/tv/detail.jet +7 -7
  78. package/site/tr_TR.all.json +1249 -535
  79. package/site/uk_UA.all.json +533 -443
  80. package/site/zh_TW.all.json +442 -443
  81. package/site/se_SE.all.json +0 -570
  82. package/site/styles/_functions.scss +0 -8
@@ -1,6 +1,8 @@
1
1
  .meta-awards {
2
2
  @extend .d-flex;
3
3
  @extend .align-items-center;
4
+ margin-left: -25px;
5
+ margin-right: -25px;
4
6
 
5
7
  &.meta-awards-all {
6
8
  @extend .align-items-start;
@@ -8,27 +10,30 @@
8
10
 
9
11
  .meta-award-nomination {
10
12
  @extend .d-flex;
13
+ max-width: 370px;
14
+ padding-right: 25px;
15
+ padding-left: 25px;
11
16
  }
12
17
 
13
18
  .meta-award-nomination-icon {
14
19
  @extend .fa;
15
20
  @extend .fa-star; // for now
21
+
16
22
  font-size: 1.25rem;
17
23
  line-height: 1.5rem;
18
- padding-right: .5rem;
24
+ padding-right: 0.5rem;
19
25
  }
20
26
  }
21
27
 
22
28
  .meta-awards-icon-overlay {
23
29
  @extend .text-center;
24
30
 
25
- border-radius: $meta-item-border-radius;
26
31
  background: rgba(0, 0, 0, 0.8);
27
-
28
- padding-right: 3px;
32
+ border-radius: $meta-item-border-radius;
33
+ height: 16px + (3px * 2);
29
34
  padding-left: 3px;
35
+ padding-right: 3px;
30
36
  width: 16px + (3px * 2);
31
- height: 16px + (3px * 2);
32
37
 
33
38
  .meta-award-nomination-icon {
34
39
  @extend .fa;
@@ -36,4 +41,4 @@
36
41
 
37
42
  font-size: 1rem;
38
43
  }
39
- }
44
+ }
@@ -34,3 +34,93 @@
34
34
  @import 'bootstrap/scss/tooltip';
35
35
  @import 'bootstrap/scss/popover';
36
36
  @import 'bootstrap/scss/utilities';
37
+
38
+ // The following override classes are to get around Bootstrap 4's use of Sass variables.
39
+ // CSS themes will not work without these hacks.
40
+
41
+ .btn-primary-override {
42
+ @extend .btn-primary;
43
+ border-color: $button-background;
44
+
45
+ color: $button-text-color;
46
+
47
+ @include hover() {
48
+ border-color: $button-background-hover;
49
+ color: $button-text-color-hover;
50
+ }
51
+
52
+ &:focus,
53
+ &.focus {
54
+ border-color: $button-background-hover;
55
+ color: $button-text-color-hover;
56
+ @if $enable-shadows {
57
+ @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(var(--primary-rgb), 0.5));
58
+ } @else {
59
+ box-shadow: 0 0 0 $btn-focus-width rgba(var(--primary-rgb), 0.5);
60
+ }
61
+ }
62
+
63
+ &.disabled,
64
+ &:disabled {
65
+ background-color: $button-background;
66
+ border-color: $button-background;
67
+ color: $button-text-color;
68
+ }
69
+
70
+ &:not(:disabled):not(.disabled):active,
71
+ &:not(:disabled):not(.disabled).active,
72
+ .show > &.dropdown-toggle {
73
+ background-color: $button-background-hover;
74
+ border-color: $button-background-hover;
75
+ color: $button-text-color-hover;
76
+
77
+ &:focus {
78
+ @if $enable-shadows and $btn-active-box-shadow != none {
79
+ @include box-shadow(
80
+ $btn-active-box-shadow,
81
+ 0 0 0 $btn-focus-width rgba(var(--primary-rgb), 0.5)
82
+ );
83
+ } @else {
84
+ box-shadow: 0 0 0 $btn-focus-width rgba(var(--primary-rgb), 0.5);
85
+ }
86
+ }
87
+ }
88
+ }
89
+
90
+ .btn-link-override {
91
+ @extend .btn-link;
92
+
93
+ color: var(--link-color);
94
+
95
+ @include hover() {
96
+ color: var(--link-color-hover);
97
+ }
98
+ }
99
+
100
+ a {
101
+ @extend a;
102
+
103
+ color: var(--link-color);
104
+
105
+ @include hover() {
106
+ color: var(--link-color-hover);
107
+ }
108
+ }
109
+
110
+ .dropdown-item-override {
111
+ @extend .dropdown-item;
112
+
113
+ &.active,
114
+ &:active {
115
+ background-color: transparent;
116
+ }
117
+ }
118
+
119
+ .list-group-item-override {
120
+ @extend .list-group-item;
121
+
122
+ &.active {
123
+ background-color: var(--primary);
124
+ border-color: var(--primary);
125
+ }
126
+ }
@@ -25,7 +25,7 @@
25
25
  @include hover-focus {
26
26
  background: $signin-background-hover;
27
27
  border: 3px solid $signin-border-color-hover;
28
- color: $body-color;
28
+ color: var(--body-color);
29
29
  }
30
30
  @include media-breakpoint-up(lg) {
31
31
  background-color: $signin-background-lg;
@@ -115,8 +115,8 @@
115
115
  background: transparent;
116
116
 
117
117
  .s72-icon-play circle {
118
- fill: $primary;
119
- stroke: $primary;
118
+ fill: var(--primary);
119
+ stroke: var(--primary);
120
120
  stroke-width: 3px;
121
121
  }
122
122
 
@@ -136,7 +136,7 @@
136
136
 
137
137
  .verb {
138
138
  background: transparent;
139
- color: $primary;
139
+ color:var(--primary);
140
140
  }
141
141
  }
142
142
 
@@ -152,13 +152,13 @@
152
152
 
153
153
  circle {
154
154
  fill: transparent;
155
- stroke: $primary;
155
+ stroke: var(--primary);
156
156
  stroke-width: 3px;
157
157
  }
158
158
 
159
159
  path {
160
- fill: $body-color;
161
- stroke: $body-color;
160
+ fill: var(--body-color);
161
+ stroke: var(--body-color);
162
162
  }
163
163
  }
164
164
 
@@ -168,6 +168,7 @@
168
168
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
169
169
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
170
170
  font-size: 12px;
171
+ font-weight: $font-weight-bold;
171
172
  margin-left: 0;
172
173
  padding-bottom: 0;
173
174
  padding-left: 8px;
@@ -215,7 +216,7 @@
215
216
  .s72-btn-wishlist {
216
217
  background: transparent;
217
218
  border: 0 none;
218
- color: $body-color;
219
+ color: var(--body-color);
219
220
  font-size: 14px;
220
221
 
221
222
  .s72-icon-loading,
@@ -243,3 +244,26 @@
243
244
  border-color: $gray-200;
244
245
  }
245
246
  }
247
+
248
+ s72-donate-button:not(:empty) {
249
+ &:hover a {
250
+ background-color: $button-background-hover;
251
+ color: $button-text-color-hover;
252
+ /* stylelint-disable selector-max-compound-selectors */
253
+ svg {
254
+ g {
255
+ fill: $button-text-color-hover;
256
+ }
257
+ }
258
+ /* stylelint-enable selector-max-compound-selectors */
259
+ }
260
+ a {
261
+ color: $button-text-color;
262
+ background-color: $button-background;
263
+ }
264
+ svg {
265
+ g {
266
+ fill: $button-text-color;
267
+ }
268
+ }
269
+ }
@@ -24,8 +24,10 @@
24
24
 
25
25
  .meta-detail-content .meta-detail-buttons,
26
26
  .meta-item-buttons {
27
+ align-items: center;
27
28
  display: flex;
28
29
  flex-direction: row;
30
+ flex-wrap: wrap;
29
31
 
30
32
  .owned-custom-container {
31
33
  display: none;
@@ -1,3 +1,3 @@
1
1
  .card {
2
- @extend .text-dark;
3
- }
2
+ @extend .text-dark;
3
+ }
@@ -7,29 +7,28 @@ s72-carousel {
7
7
 
8
8
  .s72-carousel-slides {
9
9
  background: $carousel-bg-color;
10
- height: $carousel-height !important;
11
- overflow: hidden;
10
+ height: var(--carousel-height) !important;
12
11
  position: relative;
13
12
  width: 100%;
14
13
  @include media-breakpoint-up(sm) {
15
- height: $carousel-height-sm !important;
14
+ height: var(--carousel-height-sm) !important;
16
15
  }
17
16
  @include media-breakpoint-up(md) {
18
- height: $carousel-height-md !important;
17
+ height: var(--carousel-height-md) !important;
19
18
  }
20
19
 
21
20
  s72-image {
22
21
  float: right;
23
- height: $carousel-height;
22
+ height: var(--carousel-height);
24
23
  max-width: 1600px;
25
24
  overflow: hidden;
26
25
  position: relative;
27
26
  width: 100%;
28
27
  @include media-breakpoint-up(sm) {
29
- height: $carousel-height-sm;
28
+ height: var(--carousel-height-sm);
30
29
  }
31
30
  @include media-breakpoint-up(md) {
32
- height: $carousel-height-md;
31
+ height: var(--carousel-height-md);
33
32
  }
34
33
 
35
34
  &::before {
@@ -51,19 +50,23 @@ s72-carousel {
51
50
  }
52
51
 
53
52
  img {
54
- height: $carousel-height;
53
+ height: var(--carousel-height);
55
54
  margin-left: 50%;
56
55
  transform: translateX(-50%);
57
56
 
58
57
  @include media-breakpoint-up(sm) {
59
- height: $carousel-height-sm;
58
+ height: var(--carousel-height-sm);
60
59
  }
61
60
  @include media-breakpoint-up(md) {
62
- height: $carousel-height-md;
61
+ height: var(--carousel-height-md);
63
62
  width: auto;
64
63
  }
65
64
  }
66
65
  }
66
+
67
+ .s72-pricing-button-container {
68
+ white-space: nowrap;
69
+ }
67
70
  }
68
71
 
69
72
  .s72-carousel-item {
@@ -102,25 +105,30 @@ s72-carousel {
102
105
  left: 0;
103
106
  padding: 0 20px;
104
107
  position: absolute;
105
- top: $carousel-caption-top;
108
+ top: var(--carousel-caption-top);
106
109
  z-index: 999;
110
+ @include media-breakpoint-up(xs) {
111
+ left: 60px;
112
+ top: var(--carousel-caption-top-xs);
113
+ width: 70%;
114
+ }
107
115
  @include media-breakpoint-up(md) {
108
116
  left: 60px;
109
- top: $carousel-caption-top-md;
117
+ top: var(--carousel-caption-top-md);
110
118
  width: 70%;
111
119
  }
112
120
  @include media-breakpoint-up(lg) {
113
121
  left: 70px;
114
- top: $carousel-caption-top-md;
122
+ top: var(--carousel-caption-top-md);
115
123
  width: 70%;
116
124
  }
117
125
  @include media-breakpoint-up(xl) {
118
126
  left: 120px;
119
- top: $carousel-caption-top-md;
127
+ top: var(--carousel-caption-top-md);
120
128
  width: 50%;
121
129
  }
122
130
  @include media-breakpoint-up(xxxl) {
123
- top: $carousel-caption-top-md;
131
+ top: var(--carousel-caption-top-md);
124
132
  width: 50%;
125
133
  }
126
134
 
@@ -135,7 +143,7 @@ s72-carousel {
135
143
  }
136
144
 
137
145
  .availability-state {
138
- color: $body-color;
146
+ color: var(--body-color);
139
147
  font-size: 12px;
140
148
  text-transform: none;
141
149
  }
@@ -145,7 +153,7 @@ s72-carousel {
145
153
  color: #fff;
146
154
 
147
155
  h3 {
148
- color: $body-color;
156
+ color: var(--body-color);
149
157
  font-size: 28px;
150
158
  font-weight: $font-weight-bold;
151
159
  margin-bottom: 0;
@@ -162,7 +170,7 @@ s72-carousel {
162
170
  }
163
171
 
164
172
  h4 {
165
- background: $primary;
173
+ background: var(--primary);
166
174
  color: #000;
167
175
  display: inline-block;
168
176
  font-size: 6px;
@@ -186,7 +194,7 @@ s72-carousel {
186
194
  }
187
195
 
188
196
  .meta-item-tagline {
189
- color: rgba($body-color, 0.8);
197
+ color: rgba(var(--body-color-rgb), 0.8);
190
198
  font-size: 14px;
191
199
  font-weight: $font-weight-normal;
192
200
  @include media-breakpoint-up(xxxl) {
@@ -212,7 +220,6 @@ s72-carousel {
212
220
 
213
221
  .meta-item-extras {
214
222
  @extend .d-flex;
215
- padding: 0 0 20px;
216
223
  }
217
224
 
218
225
  .btn-wishlist {
@@ -220,18 +227,34 @@ s72-carousel {
220
227
  }
221
228
  }
222
229
 
223
- .s72-pricing-button-container {
224
- .s72-btn {
230
+ // Purchase, play, trailer, wishlist and share are all in one group now
231
+ // Need similar bootstrap approach of handling/wrapping rows and columns via negative margin
232
+ .meta-item-buttons {
233
+ margin-left: -0.5rem;
234
+ margin-right: -0.5rem;
235
+
236
+ /* stylelint-disable selector-max-compound-selectors */
237
+ s72-pricing-buttons .s72-btn,
238
+ .meta-detail-extras,
239
+ .meta-item-extras,
240
+ s72-play-button,
241
+ can-be-watched-button:not(:empty) {
225
242
  margin-bottom: 10px;
243
+ margin-left: 0.5rem;
244
+ margin-right: 0.5rem;
245
+ }
226
246
 
247
+ // Handles spacing when there is only rent, only buy, or only play button
248
+ s72-pricing-buttons .s72-btn,
249
+ s72-play-button {
227
250
  &:nth-child(1) {
228
- margin-right: 0.5rem;
251
+ margin-right: 0;
229
252
  }
230
-
231
- &:nth-child(2) {
232
- margin-left: 0;
253
+ &:only-child {
254
+ margin-right: 0.5rem;
233
255
  }
234
256
  }
257
+ /* stylelint-enable selector-max-compound-selectors */
235
258
  }
236
259
 
237
260
  .s72-btn-play {
@@ -251,13 +274,13 @@ s72-carousel {
251
274
  transform: translateX(-50%);
252
275
 
253
276
  .s72-carousel-page {
254
- color: rgba($body-color, 0.2);
277
+ color: rgba(var(--body-color-rgb), 0.2);
255
278
  @include media-breakpoint-up(md) {
256
279
  margin: 0 5px;
257
280
  }
258
281
 
259
282
  &.current {
260
- color: $primary;
283
+ color: var(--primary);
261
284
  }
262
285
 
263
286
  .fa {
@@ -285,7 +308,7 @@ s72-carousel {
285
308
  z-index: 6;
286
309
  @include media-breakpoint-down(sm) {
287
310
  :hover {
288
- color: $primary;
311
+ color: var(--primary);
289
312
  }
290
313
 
291
314
  :active {
@@ -64,7 +64,7 @@
64
64
  .poster {
65
65
  .hover {
66
66
  @extend .d-flex;
67
- background: rgba($body-bg, 0.8);
67
+ background: rgba(var(--body-bg-rgb), 0.8);
68
68
  bottom: 0;
69
69
  flex-direction: column;
70
70
  justify-content: space-between;
@@ -137,7 +137,7 @@
137
137
 
138
138
  .titles {
139
139
  h4 {
140
- color: $body-color;
140
+ color: var(--body-color);
141
141
  font-size: 18px;
142
142
  font-weight: $font-weight-normal;
143
143
  margin: 0;
@@ -149,7 +149,7 @@
149
149
  }
150
150
 
151
151
  .meta-item-tagline {
152
- color: $body-color;
152
+ color: var(--body-color);
153
153
  display: inline-block;
154
154
  font-weight: $font-weight-normal;
155
155
  margin: 0;
@@ -192,7 +192,7 @@
192
192
 
193
193
  .synopsis {
194
194
  p {
195
- color: $body-color;
195
+ color: var(--body-color);
196
196
  font-size: 12px;
197
197
  line-height: 14px;
198
198
  margin-bottom: 0;
@@ -14,5 +14,5 @@
14
14
  }
15
15
 
16
16
  .s72-btn-cookie-consent {
17
- @extend .btn-primary;
17
+ @extend .btn-primary-override;
18
18
  }
@@ -7,7 +7,7 @@
7
7
  }
8
8
 
9
9
  .s72-userdevices-device {
10
- @extend .list-group-item;
10
+ @extend .list-group-item-override;
11
11
  }
12
12
 
13
13
  .s72-userdevices-device-type {
@@ -42,7 +42,7 @@
42
42
 
43
43
  .s72-btn-userdevices-confirm,
44
44
  .s72-btn-userdevices-delete {
45
- @extend .btn-primary;
45
+ @extend .btn-primary-override;
46
46
  @extend .btn-sm;
47
47
  }
48
48
 
@@ -56,6 +56,6 @@
56
56
  }
57
57
 
58
58
  .s72-btn-userdevices-cancel {
59
- @extend .btn-link;
59
+ @extend .btn-link-override;
60
60
  @extend .btn-sm;
61
61
  }
@@ -44,7 +44,7 @@ footer {
44
44
  }
45
45
 
46
46
  &:hover {
47
- color: $primary;
47
+ color: var(--primary);
48
48
  }
49
49
  }
50
50
  }
@@ -73,7 +73,7 @@ footer {
73
73
  }
74
74
 
75
75
  .powered-by {
76
- color: rgba($body-color, 0.8);
76
+ color: rgba(var(--body-color-rgb), 0.8);
77
77
  font-size: 12px;
78
78
  font-weight: $font-weight-normal;
79
79
  margin: 0;
@@ -115,15 +115,15 @@ footer {
115
115
  .sponsor-banner {
116
116
  display: flex;
117
117
  justify-content: center;
118
- padding: 60px 20px 0 20px;
118
+ padding: 60px 20px 0;
119
119
  @include media-breakpoint-up(lg) {
120
- padding: 60px 50px 0 50px;
120
+ padding: 60px 50px 0;
121
121
  }
122
122
 
123
123
  img {
124
124
  max-width: max-content;
125
125
  }
126
-
126
+
127
127
  .sponsors-xxxs {
128
128
  width: 100%;
129
129
 
@@ -153,4 +153,4 @@ footer {
153
153
  display: block;
154
154
  }
155
155
  }
156
- }
156
+ }