ghost 4.27.1 → 4.30.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.
- package/content/themes/casper/assets/built/screen.css +1 -1
- package/content/themes/casper/assets/built/screen.css.map +1 -1
- package/content/themes/casper/assets/css/screen.css +1 -17
- package/content/themes/casper/package.json +1 -1
- package/content/themes/casper/partials/post-card.hbs +1 -1
- package/core/boot.js +3 -5
- package/core/built/assets/{ghost-dark-ae67fe157509b6e82c607ba560fc52e9.css → ghost-dark-1594d07a0716e0253a78234c8e42d765.css} +1 -1
- package/core/built/assets/{ghost.min-2d534cce15c43c646814b26f4beefb78.js → ghost.min-884660873d56fcc3d2a3b9fe94c9f022.js} +79 -79
- package/core/built/assets/{ghost.min-b1e58e098721e467388682a85a7c187d.css → ghost.min-c21fea11c3f431994a8ee7c47a8ed145.css} +1 -1
- package/core/built/assets/icons/audio-file.svg +5 -0
- package/core/built/assets/icons/file-download.svg +1 -0
- package/core/built/assets/icons/file-upload.svg +1 -0
- package/core/built/assets/icons/film-camera.svg +4 -0
- package/core/built/assets/icons/mute.svg +3 -0
- package/core/built/assets/icons/pause.svg +4 -0
- package/core/built/assets/icons/play.svg +3 -0
- package/core/built/assets/icons/unmute.svg +3 -0
- package/core/built/assets/{vendor.min-e433aa7d5620e7837f30e170cd43f84e.js → vendor.min-a2fd1e62ce6da8911fee8e812d8c6ceb.js} +240 -128
- package/core/frontend/apps/amp/lib/views/amp.hbs +94 -2
- package/core/frontend/services/theme-engine/i18n/i18n.js +11 -12
- package/core/frontend/services/theme-engine/i18n/index.js +1 -2
- package/core/frontend/services/theme-engine/i18n/theme-i18n.js +5 -4
- package/core/frontend/src/cards/css/audio.css +95 -30
- package/core/frontend/src/cards/css/before-after.css +47 -0
- package/core/frontend/src/cards/css/bookmark.css +6 -5
- package/core/frontend/src/cards/css/button.css +8 -7
- package/core/frontend/src/cards/css/callout.css +4 -4
- package/core/frontend/src/cards/css/file.css +126 -0
- package/core/frontend/src/cards/css/nft.css +9 -13
- package/core/frontend/src/cards/css/product.css +81 -52
- package/core/frontend/src/cards/css/toggle.css +31 -22
- package/core/frontend/src/cards/css/video.css +340 -0
- package/core/frontend/src/cards/js/audio.js +127 -128
- package/core/frontend/src/cards/js/before-after.js +41 -0
- package/core/frontend/src/cards/js/gallery.js +10 -8
- package/core/frontend/src/cards/js/toggle.js +16 -14
- package/core/frontend/src/cards/js/video.js +232 -0
- package/core/frontend/web/middleware/error-handler.js +2 -2
- package/core/frontend/web/site.js +2 -1
- package/core/server/api/canary/oembed.js +1 -2
- package/core/server/data/db/state-manager.js +5 -8
- package/core/server/lib/image/cached-image-size-from-url.js +3 -4
- package/core/server/lib/image/image-utils.js +2 -2
- package/core/server/lib/image/index.js +1 -2
- package/core/server/run-update-check.js +1 -13
- package/core/server/services/email-analytics/index.js +2 -4
- package/core/server/services/email-analytics/jobs/fetch-latest.js +2 -21
- package/core/server/services/integrations/integrations-service.js +2 -2
- package/core/server/services/invites/index.js +0 -2
- package/core/server/services/invites/invites.js +3 -3
- package/core/server/services/jobs/job-service.js +1 -1
- package/core/server/services/mega/post-email-serializer.js +3 -1
- package/core/server/services/mega/template.js +15 -11
- package/core/server/services/members/api.js +0 -1
- package/core/server/services/members/config.js +4 -7
- package/core/server/services/members/service.js +1 -4
- package/core/server/services/notifications/index.js +0 -2
- package/core/server/services/notifications/notifications.js +4 -5
- package/core/server/services/stripe/index.js +0 -2
- package/core/server/services/twitter-embed.js +2 -1
- package/core/server/web/admin/app.js +4 -2
- package/core/server/web/admin/views/default-prod.html +4 -4
- package/core/server/web/admin/views/default.html +4 -4
- package/core/server/web/api/app.js +3 -2
- package/core/server/web/api/canary/admin/app.js +4 -2
- package/core/server/web/api/canary/content/app.js +4 -2
- package/core/server/web/api/v2/admin/app.js +4 -2
- package/core/server/web/api/v2/content/app.js +4 -2
- package/core/server/web/api/v3/admin/app.js +4 -2
- package/core/server/web/api/v3/content/app.js +4 -2
- package/core/server/web/members/app.js +6 -4
- package/core/server/web/shared/middleware/index.js +0 -4
- package/core/shared/labs.js +9 -8
- package/package.json +28 -23
- package/yarn.lock +2589 -1988
- package/core/server/web/shared/middleware/error-handler.js +0 -224
|
@@ -388,7 +388,7 @@
|
|
|
388
388
|
background: rgba(255,255,255,0.6);
|
|
389
389
|
font-family: -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;
|
|
390
390
|
text-decoration: none;
|
|
391
|
-
border-radius:
|
|
391
|
+
border-radius: 3px;
|
|
392
392
|
box-shadow: 0 2px 6px -2px rgba(0, 0, 0, 0.1), 0 0 1px rgba(0, 0, 0, 0.4);
|
|
393
393
|
overflow: hidden;
|
|
394
394
|
}
|
|
@@ -478,6 +478,44 @@
|
|
|
478
478
|
margin-top: 0.8rem;
|
|
479
479
|
}
|
|
480
480
|
|
|
481
|
+
.kg-product-card-container {
|
|
482
|
+
background: transparent;
|
|
483
|
+
padding: 20px;
|
|
484
|
+
width: 100%;
|
|
485
|
+
border-radius: 5px;
|
|
486
|
+
box-shadow: inset 0 0 0 1px rgb(124 139 154 / 25%);
|
|
487
|
+
}
|
|
488
|
+
|
|
489
|
+
.kg-product-card-description p {
|
|
490
|
+
margin-top: 1.5em;
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
.kg-product-card-description ul {
|
|
494
|
+
margin-left: 24px;
|
|
495
|
+
}
|
|
496
|
+
|
|
497
|
+
.kg-product-card-title {
|
|
498
|
+
font-size: 1.9rem;
|
|
499
|
+
font-weight: 700;
|
|
500
|
+
}
|
|
501
|
+
|
|
502
|
+
.kg-product-card-rating-star {
|
|
503
|
+
height: 28px;
|
|
504
|
+
width: 20px;
|
|
505
|
+
margin-right: 2px;
|
|
506
|
+
}
|
|
507
|
+
|
|
508
|
+
.kg-product-card-rating-star svg {
|
|
509
|
+
width: 16px;
|
|
510
|
+
height: 16px;
|
|
511
|
+
fill: currentColor;
|
|
512
|
+
opacity: 0.15;
|
|
513
|
+
}
|
|
514
|
+
|
|
515
|
+
.kg-product-card-rating-active.kg-product-card-rating-star svg {
|
|
516
|
+
opacity: 1;
|
|
517
|
+
}
|
|
518
|
+
|
|
481
519
|
.kg-nft-card-container {
|
|
482
520
|
position: relative;
|
|
483
521
|
display: flex;
|
|
@@ -494,7 +532,7 @@
|
|
|
494
532
|
background: #fff;
|
|
495
533
|
border-radius: 5px;
|
|
496
534
|
transition: none;
|
|
497
|
-
margin: 0 auto;
|
|
535
|
+
margin: 0 auto;
|
|
498
536
|
}
|
|
499
537
|
|
|
500
538
|
.kg-nft-metadata {
|
|
@@ -636,6 +674,60 @@
|
|
|
636
674
|
font-size: 1.25em;
|
|
637
675
|
}
|
|
638
676
|
|
|
677
|
+
.kg-audio-card {
|
|
678
|
+
display: flex;
|
|
679
|
+
width: 100%;
|
|
680
|
+
box-shadow: inset 0 0 0 1px rgba(124, 139, 154, 0.25);
|
|
681
|
+
}
|
|
682
|
+
|
|
683
|
+
.kg-audio-thumbnail {
|
|
684
|
+
display: flex;
|
|
685
|
+
justify-content: center;
|
|
686
|
+
align-items: center;
|
|
687
|
+
width: 80px;
|
|
688
|
+
min-width: 80px;
|
|
689
|
+
height: 80px;
|
|
690
|
+
background: transparent;
|
|
691
|
+
object-fit: cover;
|
|
692
|
+
aspect-ratio: 1/1;
|
|
693
|
+
border-radius: 3px 0 0 3px;
|
|
694
|
+
}
|
|
695
|
+
|
|
696
|
+
.kg-audio-thumbnail.placeholder {
|
|
697
|
+
background: var(--ghost-accent-color);
|
|
698
|
+
}
|
|
699
|
+
|
|
700
|
+
.kg-audio-thumbnail.placeholder svg {
|
|
701
|
+
width: 24px;
|
|
702
|
+
height: 24px;
|
|
703
|
+
fill: white;
|
|
704
|
+
}
|
|
705
|
+
|
|
706
|
+
.kg-audio-player-container {
|
|
707
|
+
position: relative;
|
|
708
|
+
display: flex;
|
|
709
|
+
flex-direction: column;
|
|
710
|
+
justify-content: space-between;
|
|
711
|
+
width: 100%;
|
|
712
|
+
--seek-before-width: 0%;
|
|
713
|
+
--volume-before-width: 100%;
|
|
714
|
+
--buffered-width: 0%;
|
|
715
|
+
}
|
|
716
|
+
|
|
717
|
+
.kg-audio-title {
|
|
718
|
+
width: 100%;
|
|
719
|
+
padding: 8px 12px 0;
|
|
720
|
+
border: none;
|
|
721
|
+
font-family: inherit;
|
|
722
|
+
font-size: 1.1em;
|
|
723
|
+
font-weight: 700;
|
|
724
|
+
background: transparent;
|
|
725
|
+
}
|
|
726
|
+
|
|
727
|
+
.kg-audio-player {
|
|
728
|
+
display: none;
|
|
729
|
+
}
|
|
730
|
+
|
|
639
731
|
.kg-width-full.kg-card-hascaption {
|
|
640
732
|
display: grid;
|
|
641
733
|
grid-template-columns: inherit;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
const errors = require('@tryghost/errors');
|
|
2
|
+
const logging = require('@tryghost/logging');
|
|
2
3
|
const fs = require('fs-extra');
|
|
3
4
|
const path = require('path');
|
|
4
5
|
const MessageFormat = require('intl-messageformat');
|
|
@@ -12,17 +13,15 @@ const get = require('lodash/get');
|
|
|
12
13
|
|
|
13
14
|
class I18n {
|
|
14
15
|
/**
|
|
15
|
-
* @param {
|
|
16
|
+
* @param {object} [options]
|
|
16
17
|
* @param {string} basePath - the base path to the translations directory
|
|
17
18
|
* @param {string} [locale] - a locale string
|
|
18
19
|
* @param {{dot|fulltext}} [stringMode] - which mode our translation keys use
|
|
19
|
-
* @param {{object}} [logging] - logging method
|
|
20
20
|
*/
|
|
21
21
|
constructor(options = {}) {
|
|
22
22
|
this._basePath = options.basePath || __dirname;
|
|
23
23
|
this._locale = options.locale || this.defaultLocale();
|
|
24
24
|
this._stringMode = options.stringMode || 'dot';
|
|
25
|
-
this._logging = options.logging || console;
|
|
26
25
|
|
|
27
26
|
this._strings = null;
|
|
28
27
|
}
|
|
@@ -35,8 +34,8 @@ class I18n {
|
|
|
35
34
|
}
|
|
36
35
|
|
|
37
36
|
/**
|
|
38
|
-
|
|
39
|
-
|
|
37
|
+
* Need to call init after this
|
|
38
|
+
*/
|
|
40
39
|
get basePath() {
|
|
41
40
|
return this._basePath;
|
|
42
41
|
}
|
|
@@ -262,34 +261,34 @@ class I18n {
|
|
|
262
261
|
}
|
|
263
262
|
|
|
264
263
|
_handleUninitialisedError(key) {
|
|
265
|
-
|
|
264
|
+
logging.warn(`i18n was used before it was initialised with key ${key}`);
|
|
266
265
|
this.init();
|
|
267
266
|
}
|
|
268
267
|
|
|
269
268
|
_handleFormatError(err) {
|
|
270
|
-
|
|
269
|
+
logging.error(err.message);
|
|
271
270
|
}
|
|
272
271
|
|
|
273
272
|
_handleFallbackToDefault() {
|
|
274
|
-
|
|
273
|
+
logging.warn(`i18n is falling back to ${this.defaultLocale()}.json.`);
|
|
275
274
|
}
|
|
276
275
|
|
|
277
276
|
_handleMissingFileError(locale) {
|
|
278
|
-
|
|
277
|
+
logging.warn(`i18n was unable to find ${locale}.json.`);
|
|
279
278
|
}
|
|
280
279
|
_handleInvalidFileError(locale, err) {
|
|
281
|
-
|
|
280
|
+
logging.error(new errors.IncorrectUsageError({
|
|
282
281
|
err,
|
|
283
282
|
message: `i18n was unable to parse ${locale}.json. Please check that it is valid JSON.`
|
|
284
283
|
}));
|
|
285
284
|
}
|
|
286
285
|
|
|
287
286
|
_handleEmptyKeyError() {
|
|
288
|
-
|
|
287
|
+
logging.warn('i18n.t() was called without a key');
|
|
289
288
|
}
|
|
290
289
|
|
|
291
290
|
_handleMissingKeyError(key) {
|
|
292
|
-
|
|
291
|
+
logging.error(new errors.IncorrectUsageError({
|
|
293
292
|
message: `i18n.t() was called with a key that could not be found: ${key}`
|
|
294
293
|
}));
|
|
295
294
|
}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
const config = require('../../../../shared/config');
|
|
2
|
-
const logging = require('@tryghost/logging');
|
|
3
2
|
|
|
4
3
|
const ThemeI18n = require('./theme-i18n');
|
|
5
4
|
|
|
6
|
-
module.exports = new ThemeI18n({
|
|
5
|
+
module.exports = new ThemeI18n({basePath: config.getContentPath('themes')});
|
|
7
6
|
module.exports.ThemeI18n = ThemeI18n;
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
const errors = require('@tryghost/errors');
|
|
2
|
+
const logging = require('@tryghost/logging');
|
|
2
3
|
const I18n = require('./i18n');
|
|
3
4
|
|
|
4
5
|
class ThemeI18n extends I18n {
|
|
@@ -39,23 +40,23 @@ class ThemeI18n extends I18n {
|
|
|
39
40
|
}
|
|
40
41
|
|
|
41
42
|
_handleFallbackToDefault() {
|
|
42
|
-
|
|
43
|
+
logging.warn(`Theme translations falling back to locales/${this.defaultLocale()}.json.`);
|
|
43
44
|
}
|
|
44
45
|
|
|
45
46
|
_handleMissingFileError(locale) {
|
|
46
47
|
if (locale !== this.defaultLocale()) {
|
|
47
|
-
|
|
48
|
+
logging.warn(`Theme translations file locales/${locale}.json not found.`);
|
|
48
49
|
}
|
|
49
50
|
}
|
|
50
51
|
_handleInvalidFileError(locale, err) {
|
|
51
|
-
|
|
52
|
+
logging.error(new errors.IncorrectUsageError({
|
|
52
53
|
err,
|
|
53
54
|
message: `Theme translations unable to parse locales/${locale}.json. Please check that it is valid JSON.`
|
|
54
55
|
}));
|
|
55
56
|
}
|
|
56
57
|
|
|
57
58
|
_handleEmptyKeyError() {
|
|
58
|
-
|
|
59
|
+
logging.warn('Theme translations {{t}} helper called without a translation key.');
|
|
59
60
|
}
|
|
60
61
|
|
|
61
62
|
_handleMissingKeyError() {
|
|
@@ -2,18 +2,38 @@
|
|
|
2
2
|
display: flex;
|
|
3
3
|
width: 100%;
|
|
4
4
|
min-height: 96px;
|
|
5
|
+
border-radius: 3px;
|
|
5
6
|
box-shadow: inset 0 0 0 1px rgba(124, 139, 154, 0.25);
|
|
6
7
|
}
|
|
7
8
|
|
|
9
|
+
.kg-audio-card+.kg-audio-card {
|
|
10
|
+
margin-top: 1em;
|
|
11
|
+
}
|
|
12
|
+
|
|
8
13
|
.kg-audio-thumbnail {
|
|
14
|
+
display: flex;
|
|
15
|
+
justify-content: center;
|
|
16
|
+
align-items: center;
|
|
9
17
|
width: 80px;
|
|
18
|
+
min-width: 80px;
|
|
10
19
|
margin: 8px;
|
|
20
|
+
background: transparent;
|
|
11
21
|
object-fit: cover;
|
|
12
22
|
aspect-ratio: 1/1;
|
|
13
|
-
border-radius:
|
|
23
|
+
border-radius: 2px;
|
|
14
24
|
}
|
|
15
25
|
|
|
16
|
-
.kg-
|
|
26
|
+
.kg-audio-thumbnail.placeholder {
|
|
27
|
+
background: var(--ghost-accent-color);
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
.kg-audio-thumbnail.placeholder svg {
|
|
31
|
+
width: 24px;
|
|
32
|
+
height: 24px;
|
|
33
|
+
fill: white;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
.kg-audio-player-container {
|
|
17
37
|
position: relative;
|
|
18
38
|
display: flex;
|
|
19
39
|
flex-direction: column;
|
|
@@ -27,15 +47,16 @@
|
|
|
27
47
|
.kg-audio-title {
|
|
28
48
|
width: 100%;
|
|
29
49
|
margin: 8px 0 0 0;
|
|
30
|
-
padding: 8px 12px
|
|
50
|
+
padding: 8px 12px;
|
|
31
51
|
border: none;
|
|
32
52
|
font-family: inherit;
|
|
33
|
-
font-size:
|
|
53
|
+
font-size: 1.15em;
|
|
34
54
|
font-weight: 700;
|
|
55
|
+
line-height: 1.15em;
|
|
35
56
|
background: transparent;
|
|
36
57
|
}
|
|
37
58
|
|
|
38
|
-
.kg-player {
|
|
59
|
+
.kg-audio-player {
|
|
39
60
|
display: flex;
|
|
40
61
|
flex-grow: 1;
|
|
41
62
|
align-items: center;
|
|
@@ -49,14 +70,17 @@
|
|
|
49
70
|
font-size: .85em;
|
|
50
71
|
font-weight: 500;
|
|
51
72
|
line-height: 1.4em;
|
|
73
|
+
white-space: nowrap;
|
|
52
74
|
}
|
|
53
75
|
|
|
54
76
|
.kg-audio-time {
|
|
77
|
+
width: 56px;
|
|
55
78
|
color: #ababab;
|
|
56
79
|
font-family: inherit;
|
|
57
80
|
font-size: .85em;
|
|
58
81
|
font-weight: 500;
|
|
59
82
|
line-height: 1.4em;
|
|
83
|
+
white-space: nowrap;
|
|
60
84
|
}
|
|
61
85
|
|
|
62
86
|
.kg-audio-duration {
|
|
@@ -68,11 +92,12 @@
|
|
|
68
92
|
position: relative;
|
|
69
93
|
bottom: 1px;
|
|
70
94
|
padding: 0px 4px 0 0;
|
|
95
|
+
font-size: 0;
|
|
71
96
|
background: transparent;
|
|
72
97
|
}
|
|
73
98
|
|
|
74
99
|
.kg-audio-hide {
|
|
75
|
-
display: none;
|
|
100
|
+
display: none !important;
|
|
76
101
|
}
|
|
77
102
|
|
|
78
103
|
.kg-audio-play-icon svg,
|
|
@@ -87,8 +112,14 @@
|
|
|
87
112
|
margin: 0 4px;
|
|
88
113
|
}
|
|
89
114
|
|
|
115
|
+
@media (max-width: 640px) {
|
|
116
|
+
.kg-audio-seek-slider {
|
|
117
|
+
display: none;
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
|
|
90
121
|
.kg-audio-playback-rate {
|
|
91
|
-
width: 37px;
|
|
122
|
+
min-width: 37px;
|
|
92
123
|
padding: 0 4px;
|
|
93
124
|
font-family: inherit;
|
|
94
125
|
font-size: .85em;
|
|
@@ -96,16 +127,31 @@
|
|
|
96
127
|
line-height: 1.4em;
|
|
97
128
|
text-align: left;
|
|
98
129
|
background: transparent;
|
|
130
|
+
white-space: nowrap;
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
@media (max-width: 640px) {
|
|
134
|
+
.kg-audio-playback-rate {
|
|
135
|
+
padding-left: 8px;
|
|
136
|
+
}
|
|
99
137
|
}
|
|
100
138
|
|
|
101
139
|
.kg-audio-mute-icon,
|
|
102
140
|
.kg-audio-unmute-icon {
|
|
103
141
|
position: relative;
|
|
104
|
-
bottom: 1px;
|
|
142
|
+
bottom: -1px;
|
|
105
143
|
padding: 0 4px;
|
|
144
|
+
font-size: 0;
|
|
106
145
|
background: transparent;
|
|
107
146
|
}
|
|
108
147
|
|
|
148
|
+
@media (max-width: 640px) {
|
|
149
|
+
.kg-audio-mute-icon,
|
|
150
|
+
.kg-audio-unmute-icon {
|
|
151
|
+
margin-left: auto;
|
|
152
|
+
}
|
|
153
|
+
}
|
|
154
|
+
|
|
109
155
|
.kg-audio-mute-icon svg,
|
|
110
156
|
.kg-audio-unmute-icon svg {
|
|
111
157
|
width: 16px;
|
|
@@ -117,6 +163,12 @@
|
|
|
117
163
|
width: 80px;
|
|
118
164
|
}
|
|
119
165
|
|
|
166
|
+
@media (max-width: 400px) {
|
|
167
|
+
.kg-audio-volume-slider {
|
|
168
|
+
display: none;
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
|
|
120
172
|
.kg-audio-seek-slider::before {
|
|
121
173
|
content: "";
|
|
122
174
|
position: absolute;
|
|
@@ -142,31 +194,44 @@
|
|
|
142
194
|
/* Resetting browser styles
|
|
143
195
|
/* --------------------------------------------------------------- */
|
|
144
196
|
|
|
145
|
-
.kg-player-container input[type=range] {
|
|
197
|
+
.kg-audio-player-container input[type=range] {
|
|
146
198
|
position: relative;
|
|
147
199
|
-webkit-appearance: none;
|
|
148
200
|
background: transparent;
|
|
149
201
|
}
|
|
150
202
|
|
|
151
|
-
.kg-player-container input[type=range]:focus {
|
|
203
|
+
.kg-audio-player-container input[type=range]:focus {
|
|
152
204
|
outline: none;
|
|
153
205
|
}
|
|
154
206
|
|
|
155
|
-
.kg-player-container input[type=range]::-webkit-slider-thumb {
|
|
207
|
+
.kg-audio-player-container input[type=range]::-webkit-slider-thumb {
|
|
156
208
|
-webkit-appearance: none;
|
|
157
209
|
}
|
|
158
210
|
|
|
159
|
-
.kg-player-container input[type=range]::-ms-track {
|
|
211
|
+
.kg-audio-player-container input[type=range]::-ms-track {
|
|
160
212
|
cursor: pointer;
|
|
161
213
|
border-color: transparent;
|
|
162
214
|
color: transparent;
|
|
163
215
|
background: transparent;
|
|
164
216
|
}
|
|
165
217
|
|
|
218
|
+
.kg-audio-player-container button {
|
|
219
|
+
display: flex;
|
|
220
|
+
align-items: center;
|
|
221
|
+
border: 0;
|
|
222
|
+
cursor: pointer;
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
.kg-audio-player-container input[type="range"] {
|
|
226
|
+
height: auto;
|
|
227
|
+
padding: 0;
|
|
228
|
+
border: 0;
|
|
229
|
+
}
|
|
230
|
+
|
|
166
231
|
/* Chrome & Safari styles
|
|
167
232
|
/* --------------------------------------------------------------- */
|
|
168
233
|
|
|
169
|
-
.kg-player-container input[type="range"]::-webkit-slider-runnable-track {
|
|
234
|
+
.kg-audio-player-container input[type="range"]::-webkit-slider-runnable-track {
|
|
170
235
|
width: 100%;
|
|
171
236
|
height: 4px;
|
|
172
237
|
cursor: pointer;
|
|
@@ -174,11 +239,11 @@
|
|
|
174
239
|
border-radius: 2px;
|
|
175
240
|
}
|
|
176
241
|
|
|
177
|
-
.kg-player-container input[type="range"]::-webkit-slider-thumb {
|
|
242
|
+
.kg-audio-player-container input[type="range"]::-webkit-slider-thumb {
|
|
178
243
|
position: relative;
|
|
179
244
|
box-sizing: content-box;
|
|
180
|
-
width:
|
|
181
|
-
height:
|
|
245
|
+
width: 13px;
|
|
246
|
+
height: 13px;
|
|
182
247
|
margin: -5px 0 0 0;
|
|
183
248
|
border: 0;
|
|
184
249
|
cursor: pointer;
|
|
@@ -187,14 +252,14 @@
|
|
|
187
252
|
box-shadow: 0 0 0 1px rgba(0,0,0,.08), 0 1px 4px rgba(0,0,0,0.24);
|
|
188
253
|
}
|
|
189
254
|
|
|
190
|
-
.kg-player-container input[type="range"]:active::-webkit-slider-thumb {
|
|
255
|
+
.kg-audio-player-container input[type="range"]:active::-webkit-slider-thumb {
|
|
191
256
|
transform: scale(1.2);
|
|
192
257
|
}
|
|
193
258
|
|
|
194
259
|
/* Firefox styles
|
|
195
260
|
/* --------------------------------------------------------------- */
|
|
196
261
|
|
|
197
|
-
.kg-player-container input[type="range"]::-moz-range-track {
|
|
262
|
+
.kg-audio-player-container input[type="range"]::-moz-range-track {
|
|
198
263
|
width: 100%;
|
|
199
264
|
height: 4px;
|
|
200
265
|
cursor: pointer;
|
|
@@ -202,15 +267,15 @@
|
|
|
202
267
|
border-radius: 2px;
|
|
203
268
|
}
|
|
204
269
|
|
|
205
|
-
.kg-player-container input[type="range"]::-moz-range-progress {
|
|
270
|
+
.kg-audio-player-container input[type="range"]::-moz-range-progress {
|
|
206
271
|
background: currentColor;
|
|
207
272
|
border-radius: 2px;
|
|
208
273
|
}
|
|
209
274
|
|
|
210
|
-
.kg-player-container input[type="range"]::-moz-range-thumb {
|
|
275
|
+
.kg-audio-player-container input[type="range"]::-moz-range-thumb {
|
|
211
276
|
box-sizing: content-box;
|
|
212
|
-
width:
|
|
213
|
-
height:
|
|
277
|
+
width: 13px;
|
|
278
|
+
height: 13px;
|
|
214
279
|
border: 0;
|
|
215
280
|
cursor: pointer;
|
|
216
281
|
background: #fff;
|
|
@@ -218,14 +283,14 @@
|
|
|
218
283
|
box-shadow: 0 0 0 1px rgba(0,0,0,.08), 0 1px 4px rgba(0,0,0,0.24);
|
|
219
284
|
}
|
|
220
285
|
|
|
221
|
-
.kg-player-container input[type="range"]:active::-moz-range-thumb {
|
|
286
|
+
.kg-audio-player-container input[type="range"]:active::-moz-range-thumb {
|
|
222
287
|
transform: scale(1.2);
|
|
223
288
|
}
|
|
224
289
|
|
|
225
290
|
/* Edge & IE styles
|
|
226
291
|
/* --------------------------------------------------------------- */
|
|
227
292
|
|
|
228
|
-
.kg-player-container input[type="range"]::-ms-track {
|
|
293
|
+
.kg-audio-player-container input[type="range"]::-ms-track {
|
|
229
294
|
width: 100%;
|
|
230
295
|
height: 3px;
|
|
231
296
|
border: solid transparent;
|
|
@@ -234,18 +299,18 @@
|
|
|
234
299
|
background: transparent;
|
|
235
300
|
}
|
|
236
301
|
|
|
237
|
-
.kg-player-container input[type="range"]::-ms-fill-lower {
|
|
302
|
+
.kg-audio-player-container input[type="range"]::-ms-fill-lower {
|
|
238
303
|
background: #fff;
|
|
239
304
|
}
|
|
240
305
|
|
|
241
|
-
.kg-player-container input[type="range"]::-ms-fill-upper {
|
|
306
|
+
.kg-audio-player-container input[type="range"]::-ms-fill-upper {
|
|
242
307
|
background: currentColor;
|
|
243
308
|
}
|
|
244
309
|
|
|
245
|
-
.kg-player-container input[type="range"]::-ms-thumb {
|
|
310
|
+
.kg-audio-player-container input[type="range"]::-ms-thumb {
|
|
246
311
|
box-sizing: content-box;
|
|
247
|
-
width:
|
|
248
|
-
height:
|
|
312
|
+
width: 13px;
|
|
313
|
+
height: 13px;
|
|
249
314
|
border: 0;
|
|
250
315
|
cursor: pointer;
|
|
251
316
|
background: #fff;
|
|
@@ -253,6 +318,6 @@
|
|
|
253
318
|
box-shadow: 0 0 0 1px rgba(0,0,0,.08), 0 1px 4px rgba(0,0,0,0.24);
|
|
254
319
|
}
|
|
255
320
|
|
|
256
|
-
.kg-player-container input[type="range"]:active::-ms-thumb {
|
|
321
|
+
.kg-audio-player-container input[type="range"]:active::-ms-thumb {
|
|
257
322
|
transform: scale(1.2);
|
|
258
323
|
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
.kg-before-after-card > div {
|
|
2
|
+
position: relative;
|
|
3
|
+
margin: 0 auto;
|
|
4
|
+
}
|
|
5
|
+
|
|
6
|
+
.kg-before-after-card-image-before {
|
|
7
|
+
position: absolute;
|
|
8
|
+
overflow: hidden;
|
|
9
|
+
top: 0;
|
|
10
|
+
left: 0;
|
|
11
|
+
}
|
|
12
|
+
|
|
13
|
+
.kg-before-after-card img {
|
|
14
|
+
max-width: none;
|
|
15
|
+
width: unset;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
.kg-before-after-card input {
|
|
19
|
+
top:0;
|
|
20
|
+
left: -25px;
|
|
21
|
+
position: absolute;
|
|
22
|
+
-webkit-appearance: none;
|
|
23
|
+
appearance: none;
|
|
24
|
+
width: calc(100% + 50px);
|
|
25
|
+
height: 100%;
|
|
26
|
+
background: rgba(0, 0, 0, 0);
|
|
27
|
+
outline: none;
|
|
28
|
+
margin: 0;
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
.kg-before-after-card input::-webkit-slider-thumb {
|
|
32
|
+
-webkit-appearance: none;
|
|
33
|
+
appearance: none;
|
|
34
|
+
width: 50px;
|
|
35
|
+
height: 50px;
|
|
36
|
+
background: white;
|
|
37
|
+
cursor: pointer;
|
|
38
|
+
border-radius: 25px;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
.kg-before-after-card input::-moz-range-thumb {
|
|
42
|
+
width: 50px;
|
|
43
|
+
height: 50px;
|
|
44
|
+
background: white;
|
|
45
|
+
cursor: pointer;
|
|
46
|
+
border-radius: 25px;
|
|
47
|
+
}
|
|
@@ -4,13 +4,14 @@
|
|
|
4
4
|
width: 100%;
|
|
5
5
|
}
|
|
6
6
|
|
|
7
|
-
.kg-bookmark-container,
|
|
8
|
-
.kg-bookmark-container:hover {
|
|
7
|
+
.kg-bookmark-card a.kg-bookmark-container,
|
|
8
|
+
.kg-bookmark-card a.kg-bookmark-container:hover {
|
|
9
9
|
display: flex;
|
|
10
10
|
text-decoration: none;
|
|
11
|
-
border-radius:
|
|
12
|
-
|
|
11
|
+
border-radius: 3px;
|
|
12
|
+
border: 1px solid rgb(124 139 154 / 25%);
|
|
13
13
|
overflow: hidden;
|
|
14
|
+
color: inherit;
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
.kg-bookmark-content {
|
|
@@ -104,5 +105,5 @@
|
|
|
104
105
|
position: absolute;
|
|
105
106
|
top: 0;
|
|
106
107
|
left: 0;
|
|
107
|
-
border-radius: 0
|
|
108
|
+
border-radius: 0 2px 2px 0;
|
|
108
109
|
}
|
|
@@ -10,25 +10,26 @@
|
|
|
10
10
|
justify-content: flex-start;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
|
-
a.kg-btn {
|
|
13
|
+
.kg-button-card a.kg-btn {
|
|
14
14
|
display: flex;
|
|
15
15
|
position: static;
|
|
16
16
|
align-items: center;
|
|
17
|
-
padding: 0
|
|
18
|
-
height:
|
|
19
|
-
line-height:
|
|
20
|
-
font-
|
|
17
|
+
padding: 0 1.2em;
|
|
18
|
+
height: 2.4em;
|
|
19
|
+
line-height: 1em;
|
|
20
|
+
font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", "Droid Sans", "Helvetica Neue", sans-serif;
|
|
21
|
+
font-size: 0.95em;
|
|
21
22
|
font-weight: 600;
|
|
22
23
|
text-decoration: none;
|
|
23
24
|
border-radius: 5px;
|
|
24
25
|
transition: opacity 0.2s ease-in-out;
|
|
25
26
|
}
|
|
26
27
|
|
|
27
|
-
a.kg-btn:hover {
|
|
28
|
+
.kg-button-card a.kg-btn:hover {
|
|
28
29
|
opacity: 0.85;
|
|
29
30
|
}
|
|
30
31
|
|
|
31
|
-
a.kg-btn-accent {
|
|
32
|
+
.kg-button-card a.kg-btn-accent {
|
|
32
33
|
background-color: var(--ghost-accent-color);
|
|
33
34
|
color: #fff;
|
|
34
35
|
}
|
|
@@ -46,13 +46,13 @@
|
|
|
46
46
|
color: #fff;
|
|
47
47
|
}
|
|
48
48
|
|
|
49
|
-
.kg-callout-emoji {
|
|
49
|
+
.kg-callout-card div.kg-callout-emoji {
|
|
50
50
|
padding-right: .8em;
|
|
51
|
-
line-height: 1.
|
|
52
|
-
font-size: 1.
|
|
51
|
+
line-height: 1.25em;
|
|
52
|
+
font-size: 1.15em;
|
|
53
53
|
}
|
|
54
54
|
|
|
55
|
-
.kg-callout-text {
|
|
55
|
+
.kg-callout-card div.kg-callout-text {
|
|
56
56
|
font-size: .95em;
|
|
57
57
|
line-height: 1.5em;
|
|
58
58
|
}
|