@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,7 +1,8 @@
1
1
  label {
2
- font-size: 14px;
3
- font-weight: $font-weight-normal;
2
+ font-size: 1rem;
3
+ margin-bottom: 0.25rem;
4
4
  }
5
+
5
6
  // Form Container Defaults
6
7
  s72-signin-form,
7
8
  s72-signup-form,
@@ -37,11 +38,11 @@ s72-activatedevice-form,
37
38
  }
38
39
 
39
40
  .s72-form-group-password {
40
- padding-right: $grid-gutter-width / 2;
41
+ padding-right: 2px;
41
42
  }
42
43
 
43
44
  .s72-form-group-password2 {
44
- padding-left: $grid-gutter-width / 2;
45
+ padding-left: 2px;
45
46
  }
46
47
  }
47
48
  }
@@ -61,10 +62,12 @@ s72-activatedevice-form,
61
62
  // Error Messaging
62
63
  .s72-error-message {
63
64
  background: $error-background;
65
+ border-radius: $border-radius;
64
66
  color: $error-color;
65
- font-weight: $font-weight-normal;
67
+ font-size: 0.875rem;
68
+ letter-spacing: 0.02em;
66
69
  margin-top: 10px;
67
- padding: 5px 8px;
70
+ padding: 4px 8px;
68
71
  position: relative;
69
72
 
70
73
  &::before {
@@ -88,20 +91,41 @@ s72-activatedevice-form,
88
91
  .s72-datepicker-year {
89
92
  flex-shrink: 0;
90
93
  }
94
+ .s72-datepicker-month {
95
+ margin: 0 4px;
96
+ width: 100%;
97
+ }
91
98
  }
92
99
  // Form Control Default
93
100
  .s72-form-control {
94
101
  font-weight: $font-weight-normal;
102
+ height: var(--input-height);
103
+
104
+ /* stylelint-disable-next-line */
105
+ &:not(.StripeElement) {
106
+ background-color: $body-bg-accent;
107
+ border-color: rgba(var(--body-color-rgb), 0.1);
108
+ color: var(--body-color);
109
+ &:focus {
110
+ border-color: $input-focus-border-color;
111
+ color: var(--body-color);
112
+ }
113
+ &::placeholder {
114
+ color: rgba(var(--body-color-rgb), 0.8);
115
+ }
116
+ }
95
117
  }
96
118
  // Account Page Change Password Field
97
119
  .s72-form-control-static {
98
- background: rgba($body-color, 0.1);
99
- border-radius: 6px 0 0 6px;
100
- color: $body-color;
120
+ background: $body-bg-accent;
121
+ color: var(--body-color);
122
+ cursor: not-allowed;
101
123
  display: inline-block;
102
- font-size: 30px;
103
- line-height: 34px;
104
- padding: 0.375rem 0.75rem 0 0.75em;
124
+ font-size: 1rem;
125
+ height: var(--input-height);
126
+ line-height: 1rem;
127
+ outline: none;
128
+ padding: 0.375rem 0.75rem;
105
129
  }
106
130
  .s72-modal-sm .s72-modal-dialog {
107
131
  max-width: 400px;
@@ -116,6 +140,9 @@ s72-activatedevice-form,
116
140
  }
117
141
  }
118
142
  }
143
+ .s72-form-control {
144
+ height: var(--input-height);
145
+ }
119
146
  }
120
147
 
121
148
  .s72-modal-closable {
@@ -149,9 +176,9 @@ s72-activatedevice-form,
149
176
  }
150
177
 
151
178
  .s72-modal-content {
152
- background: $body-bg;
179
+ background: var(--body-bg);
153
180
  border: 1px solid rgba(255, 255, 255, 0.1);
154
- color: $body-color;
181
+ color: var(--body-color);
155
182
  padding: 20px 10px;
156
183
 
157
184
  .s72-modal-header {
@@ -159,7 +186,7 @@ s72-activatedevice-form,
159
186
  padding: 0 50px 20px 0;
160
187
 
161
188
  .s72-modal-title {
162
- color: $body-color;
189
+ color: var(--body-color);
163
190
  font-size: 20px;
164
191
  font-weight: $font-weight-bold;
165
192
  line-height: auto;
@@ -194,4 +221,44 @@ s72-signup-form {
194
221
  .s72-form-text {
195
222
  margin-bottom: 1rem;
196
223
  }
197
- }
224
+ }
225
+
226
+ // Error
227
+ .was-validated .form-control:invalid,
228
+ .was-validated .s72-form-control:invalid,
229
+ .was-validated .s72-pincode:invalid,
230
+ .form-control.is-invalid,
231
+ .s72-has-error .form-control,
232
+ .is-invalid.s72-form-control,
233
+ .is-invalid.s72-pincode,
234
+ .s72-has-error .s72-form-control,
235
+ .s72-has-error .s72-pincode {
236
+ border: 2px solid rgba(var(--body-color-rgb), 0.5) !important;
237
+ box-shadow: none !important;
238
+ }
239
+
240
+ // Stripe Inputs
241
+ .s72-payment-option-group {
242
+ .existing-card {
243
+ padding: 0.125rem 0 0.125rem 0.75rem;
244
+ }
245
+ // List of Saved Cards
246
+ .s72-form-control.existing-card.selectable {
247
+ background-color: transparent;
248
+ border-color: transparent;
249
+ margin-bottom: 12px;
250
+ padding-left: 0;
251
+ &:hover {
252
+ background-color: transparent;
253
+ }
254
+
255
+ /* stylelint-disable selector-no-qualifying-type */
256
+ i.fa.fa-trash {
257
+ color: $error-color;
258
+ &:hover {
259
+ opacity: 0.8;
260
+ }
261
+ }
262
+ /* stylelint-enable selector-no-qualifying-type */
263
+ }
264
+ }
@@ -4,4 +4,4 @@ small {
4
4
 
5
5
  a:not([class]) {
6
6
  text-decoration: underline;
7
- }
7
+ }
@@ -33,5 +33,5 @@
33
33
  }
34
34
 
35
35
  .alert svg {
36
- fill: $primary;
37
- }
36
+ fill: var(--primary);
37
+ }
@@ -30,11 +30,11 @@ s72-language-selector {
30
30
  }
31
31
 
32
32
  &:focus {
33
- color: $primary;
33
+ color: var(--primary);
34
34
  }
35
35
 
36
36
  &:focus-visible {
37
- outline: 1px dotted $body-color;
37
+ outline: 1px dotted var(--body-color);
38
38
  outline: 5px auto -webkit-focus-ring-color;
39
39
  }
40
40
  }
@@ -136,9 +136,9 @@ s72-classification-label {
136
136
  }
137
137
 
138
138
  .s72-classification-label {
139
- border: 1px solid rgba($body-color, 0.8);
139
+ border: 1px solid rgba(var(--body-color-rgb), 0.8);
140
140
  border-radius: 0;
141
- color: rgba($body-color, 0.8);
141
+ color: rgba(var(--body-color-rgb), 0.8);
142
142
  font-size: 12px;
143
143
  font-weight: $font-weight-bold;
144
144
  padding: 1px 5px;
@@ -161,7 +161,7 @@ s72-classification-label {
161
161
 
162
162
  .meta-detail-content .meta-detail-tagline-and-classification .meta-item-tagline {
163
163
  align-self: center;
164
- color: rgba($body-color, 0.8);
164
+ color: rgba(var(--body-color-rgb), 0.8);
165
165
  font-weight: $font-weight-normal;
166
166
  margin-bottom: 0;
167
167
  }
@@ -105,7 +105,7 @@
105
105
  }
106
106
 
107
107
  .meta-detail-bg-gradient {
108
- @include gradient-y(rgba($body-bg, 0.4), $body-bg, 0%, 100%);
108
+ @include gradient-y(rgba(var(--body-bg-rgb), 0.4), var(--body-bg), 0%, 100%);
109
109
  bottom: 0;
110
110
  position: absolute;
111
111
  top: 0;
@@ -120,16 +120,16 @@
120
120
  .meta-detail-main {
121
121
  @extend .d-flex;
122
122
  flex-direction: column;
123
- padding: $page-detail-padding-top 20px 0 20px;
123
+ padding: var(--page-detail-padding-top) 20px 0 20px;
124
124
  @include media-breakpoint-up(md) {
125
125
  flex-direction: row;
126
126
  padding-bottom: 0;
127
- padding-top: $page-detail-padding-top-md;
127
+ padding-top: var(--page-detail-padding-top-md);
128
128
  }
129
129
  @include media-breakpoint-up(lg) {
130
130
  padding-left: 50px;
131
131
  padding-right: 50px;
132
- padding-top: $page-detail-padding-top-lg;
132
+ padding-top: var(--page-detail-padding-top-lg);
133
133
  }
134
134
 
135
135
  .poster {
@@ -175,7 +175,7 @@
175
175
  }
176
176
 
177
177
  .meta-item-tagline {
178
- color: $body-color;
178
+ color: var(--body-color);
179
179
  font-size: 14px;
180
180
  font-weight: $font-weight-normal;
181
181
  @include media-breakpoint-up(xxxl) {
@@ -189,21 +189,43 @@
189
189
  }
190
190
 
191
191
  .meta-detail-buttons {
192
+ margin-left: -0.5rem;
193
+
194
+ // Purchase, play, trailer, wishlist are all in one group now
195
+ // Need similar bootstrap approach of handling/wrapping rows and columns via negative margin
196
+ margin-right: -0.5rem;
192
197
  min-height: 45px;
193
198
 
194
- .s72-btn {
199
+ /* stylelint-disable selector-max-compound-selectors */
200
+ s72-pricing-buttons .s72-btn,
201
+ .meta-detail-extras,
202
+ s72-play-button,
203
+ can-be-watched-button:not(:empty) {
195
204
  animation: fadein 2s;
205
+ margin-left: 0.5rem;
206
+ margin-right: 0.5rem;
207
+ }
196
208
 
209
+ s72-modal-player,
210
+ s72-userwishlist-button,
211
+ s72-pricing-buttons .s72-btn,
212
+ s72-play-button,
213
+ .social-media-buttons,
214
+ can-be-watched-button:not(:empty) {
197
215
  margin-bottom: 10px;
216
+ }
198
217
 
218
+ // Handles spacing when there is only rent, only buy, or only play button
219
+ s72-pricing-buttons .s72-btn,
220
+ s72-play-button {
199
221
  &:nth-child(1) {
200
- margin-right: 0.5rem;
222
+ margin-right: 0;
201
223
  }
202
-
203
- &:nth-child(2) {
204
- margin-left: 0;
224
+ &:only-child {
225
+ margin-right: 0.5rem;
205
226
  }
206
227
  }
228
+ /* stylelint-enable selector-max-compound-selectors */
207
229
  }
208
230
 
209
231
  s72-availability-label {
@@ -216,13 +238,14 @@
216
238
  }
217
239
 
218
240
  .availability-state {
219
- color: $body-color;
241
+ color: var(--body-color);
220
242
  font-size: 12px;
221
243
  text-transform: none;
222
244
  }
223
245
  }
224
246
 
225
- .meta-detail-synopsis {
247
+ .meta-detail-synopsis,
248
+ .meta-detail-switcher-tagline {
226
249
  padding-top: 10px;
227
250
 
228
251
  p {
@@ -246,8 +269,6 @@
246
269
  @extend .d-flex;
247
270
  flex-direction: row;
248
271
  flex-wrap: wrap;
249
- min-height: 48px;
250
- padding-bottom: 15px;
251
272
  @include media-breakpoint-up(md) {
252
273
  flex-direction: row;
253
274
  }
@@ -271,7 +292,7 @@
271
292
  h3,
272
293
  h4 {
273
294
  animation: fadein 2s;
274
- color: $body-color;
295
+ color: var(--body-color);
275
296
  font-size: 8px;
276
297
  font-weight: $font-weight-bold;
277
298
  margin-bottom: 0;
@@ -283,7 +304,7 @@
283
304
 
284
305
  p {
285
306
  animation: fadein 2s;
286
- color: $body-color;
307
+ color: var(--body-color);
287
308
  font-size: 12px;
288
309
  font-weight: $font-weight-light;
289
310
  margin-bottom: 0;
@@ -386,7 +407,7 @@
386
407
  }
387
408
 
388
409
  .runtime {
389
- color: $body-color;
410
+ color: var(--body-color);
390
411
  font-size: 8px;
391
412
  margin-left: auto;
392
413
  padding-left: 5px;
@@ -400,7 +421,7 @@
400
421
 
401
422
  .synopsis {
402
423
  p {
403
- color: $body-color;
424
+ color: var(--body-color);
404
425
  font-size: 12px;
405
426
  line-height: 12px;
406
427
  @include media-breakpoint-up(lg) {
@@ -437,7 +458,7 @@
437
458
  }
438
459
 
439
460
  &::after {
440
- @include gradient-y(rgba($body-bg, 0), $body-bg, 0%, 100%);
461
+ @include gradient-y(rgba(var(--body-bg-rgb), 0), var(--body-bg), 0%, 100%);
441
462
 
442
463
  bottom: 0;
443
464
  left: 0;
@@ -447,7 +468,7 @@
447
468
 
448
469
  s72-image {
449
470
  &::before {
450
- @include gradient-x(rgba($body-bg, 1), transparent, 0%, 100%);
471
+ @include gradient-x(rgba(var(--body-bg-rgb), 1), transparent, 0%, 100%);
451
472
 
452
473
  bottom: 0;
453
474
  content: '';
@@ -460,7 +481,7 @@
460
481
  }
461
482
 
462
483
  &::after {
463
- @include gradient-x(transparent, rgba($body-bg, 1), 0%, 100%);
484
+ @include gradient-x(transparent, rgba(var(--body-bg-rgb), 1), 0%, 100%);
464
485
 
465
486
  bottom: 0;
466
487
  content: '';
@@ -476,18 +497,18 @@
476
497
 
477
498
  .meta-detail-main {
478
499
  flex-direction: column;
479
- padding-top: $page-detail-padding-top;
500
+ padding-top: var(--page-detail-padding-top);
480
501
 
481
502
  @include media-breakpoint-up(md) {
482
503
  padding-left: 20px;
483
504
  padding-right: 20px;
484
- padding-top: $page-detail-padding-top-md;
505
+ padding-top: var(--page-detail-padding-top-md);
485
506
  }
486
507
 
487
508
  @include media-breakpoint-up(lg) {
488
509
  padding-left: 50px;
489
510
  padding-right: 50px;
490
- padding-top: $page-detail-padding-top-lg;
511
+ padding-top: var(--page-detail-padding-top-lg);
491
512
  }
492
513
  }
493
514
 
@@ -540,7 +561,6 @@
540
561
  .meta-detail-extras {
541
562
  @extend .d-flex;
542
563
 
543
- margin-bottom: 64px;
544
564
  min-height: min-content;
545
565
  padding: 0;
546
566
  }
@@ -7,7 +7,7 @@
7
7
 
8
8
  .meta-item-tagline-item,
9
9
  .meta-item-tagline-divider {
10
- @extend .list-inline-item;
10
+ @extend .d-inline;
11
11
 
12
12
  &:not(:last-child) {
13
13
  margin-right: map-get($spacers, 1); // Currently 0.25rem
@@ -26,12 +26,12 @@
26
26
 
27
27
  @mixin a {
28
28
  background-color: transparent;
29
- color: $link-color;
29
+ color: var(--link-color);
30
30
  text-decoration: underline;
31
31
 
32
32
  &:hover,
33
33
  &:focus {
34
- color: $link-color;
34
+ color: var(--link-color);
35
35
  text-decoration: none;
36
36
  }
37
37
  }