@shift72/core-template 0.4.2 → 0.5.0

Sign up to get free protection for your applications and to get access to all the features.
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
  }