@projektemacher/storymapjs 0.10.8 → 0.11.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/CHANGELOG +81 -0
- package/README.md +129 -12
- package/dist/assets/{demo-DBpeF31K.js → demo-bWnOyfUw.js} +1 -1
- package/dist/assets/harness-C3JUv5Ii.js +1 -0
- package/dist/assets/{harness-multi-CYHgI0a9.js → harness-multi-XZNex3tb.js} +1 -1
- package/dist/assets/{harness-support-Do7sIp2j.js → harness-support-CjfZIVeb.js} +1 -1
- package/dist/assets/main-DQ32hWBM.js +17 -0
- package/dist/context.json +13 -2
- package/dist/css/storymap.css +1 -1
- package/dist/demo.html +3 -2
- package/dist/docs/api/assets/navigation.js +1 -1
- package/dist/docs/api/assets/search.js +1 -1
- package/dist/docs/api/classes/StoryMap.html +777 -269
- package/dist/docs/api/functions/MediaType.html +1 -1
- package/dist/docs/api/functions/isPresentation3Collection.html +1 -1
- package/dist/docs/api/functions/isPresentation3Manifest.html +1 -1
- package/dist/docs/api/functions/isSlideshowCollection.html +51 -0
- package/dist/docs/api/functions/loadCSS.html +1 -1
- package/dist/docs/api/functions/manifestToStorymapData.html +1 -1
- package/dist/docs/api/functions/setLanguage.html +1 -1
- package/dist/docs/api/functions/slideshowToStorymapData.html +51 -0
- package/dist/docs/api/functions/slideshowVersion.html +48 -0
- package/dist/docs/api/functions/storymapToManifest.html +1 -1
- package/dist/docs/api/functions/validateStorymap.html +1 -1
- package/dist/docs/api/functions/validateStorymapAndReport.html +1 -1
- package/dist/docs/api/index.html +115 -12
- package/dist/docs/api/interfaces/AnimationHandle.html +2 -2
- package/dist/docs/api/interfaces/ImagereadyPayload.html +4 -4
- package/dist/docs/api/interfaces/LanguageEntry.html +6 -6
- package/dist/docs/api/interfaces/LatLngLiteral.html +4 -4
- package/dist/docs/api/interfaces/LoadOptions.html +2 -2
- package/dist/docs/api/interfaces/MapEvents.html +116 -0
- package/dist/docs/api/interfaces/MapMarkerEvents.html +66 -0
- package/dist/docs/api/interfaces/MarkerEventPayload.html +57 -0
- package/dist/docs/api/interfaces/MediaEvents.html +78 -0
- package/dist/docs/api/interfaces/MenuBarEvents.html +114 -0
- package/dist/docs/api/interfaces/MessageEvents.html +72 -0
- package/dist/docs/api/interfaces/OlLayer.html +1 -1
- package/dist/docs/api/interfaces/OlMap.html +1 -1
- package/dist/docs/api/interfaces/OlSource.html +1 -1
- package/dist/docs/api/interfaces/OlTileLayer.html +1 -1
- package/dist/docs/api/interfaces/OlVectorLayer.html +1 -1
- package/dist/docs/api/interfaces/OlView.html +1 -1
- package/dist/docs/api/interfaces/SlideBackgroundState.html +66 -0
- package/dist/docs/api/interfaces/SlideEvents.html +78 -0
- package/dist/docs/api/interfaces/SlideNavEvents.html +72 -0
- package/dist/docs/api/interfaces/SlideshowPlayerSettings.html +182 -0
- package/dist/docs/api/interfaces/SlideshowToStorymapResult.html +60 -0
- package/dist/docs/api/interfaces/SlideshowTranslatorOptions.html +65 -0
- package/dist/docs/api/interfaces/SlideshowWarning.html +72 -0
- package/dist/docs/api/interfaces/StoryMapEvents.html +146 -0
- package/dist/docs/api/interfaces/StoryMapMarker.html +763 -0
- package/dist/docs/api/interfaces/StorySliderEvents.html +102 -0
- package/dist/docs/api/interfaces/StorymapBasemap.html +69 -0
- package/dist/docs/api/interfaces/StorymapData.html +12 -6
- package/dist/docs/api/interfaces/StorymapDataWrapper.html +2 -2
- package/dist/docs/api/interfaces/StorymapDocument.html +2 -2
- package/dist/docs/api/interfaces/StorymapError.html +3 -3
- package/dist/docs/api/interfaces/StorymapGeoreference.html +5 -5
- package/dist/docs/api/interfaces/StorymapGeoreferenceBody.html +4 -4
- package/dist/docs/api/interfaces/StorymapGroundControlPoint.html +4 -4
- package/dist/docs/api/interfaces/StorymapLanguageMap.html +2 -2
- package/dist/docs/api/interfaces/StorymapManifest.html +12 -12
- package/dist/docs/api/interfaces/StorymapManifestAnnotation.html +43 -11
- package/dist/docs/api/interfaces/StorymapManifestBackground.html +6 -6
- package/dist/docs/api/interfaces/StorymapManifestCanvas.html +65 -17
- package/dist/docs/api/interfaces/StorymapManifestContentResource.html +8 -8
- package/dist/docs/api/interfaces/StorymapManifestFeatureCollection.html +4 -4
- package/dist/docs/api/interfaces/StorymapManifestGeoreferencing.html +7 -7
- package/dist/docs/api/interfaces/StorymapManifestImageService.html +4 -4
- package/dist/docs/api/interfaces/StorymapManifestRange.html +5 -5
- package/dist/docs/api/interfaces/StorymapManifestService.html +4 -4
- package/dist/docs/api/interfaces/StorymapManifestSpecificResource.html +4 -4
- package/dist/docs/api/interfaces/StorymapManifestStatement.html +3 -3
- package/dist/docs/api/interfaces/StorymapMapOptions.html +5 -5
- package/dist/docs/api/interfaces/StorymapOptions.html +277 -75
- package/dist/docs/api/interfaces/StorymapOverlayLayer.html +42 -11
- package/dist/docs/api/interfaces/StorymapSlide.html +70 -16
- package/dist/docs/api/interfaces/StorymapSlideBackground.html +4 -4
- package/dist/docs/api/interfaces/StorymapSlideLocation.html +58 -14
- package/dist/docs/api/interfaces/StorymapSlideMarker.html +8 -9
- package/dist/docs/api/interfaces/StorymapSlideMedia.html +49 -10
- package/dist/docs/api/interfaces/StorymapSlideNarration.html +61 -9
- package/dist/docs/api/interfaces/StorymapSlideText.html +4 -4
- package/dist/docs/api/interfaces/StorymapTilejson.html +8 -8
- package/dist/docs/api/interfaces/SwipableEvents.html +102 -0
- package/dist/docs/api/interfaces/TextEvents.html +66 -0
- package/dist/docs/api/media/events.md +66 -0
- package/dist/docs/api/media/migration-from-knightlab.md +89 -49
- package/dist/docs/api/media/slideshow.md +109 -0
- package/dist/docs/api/media/storymap-as-iiif-manifest.md +1007 -0
- package/dist/docs/api/modules.html +6 -6
- package/dist/docs/api/types/ContentState.html +3 -3
- package/dist/docs/api/types/FiredEvent.html +43 -0
- package/dist/docs/api/types/ImagereadyKind.html +1 -1
- package/dist/docs/api/types/MediaTypeMatch.html +5 -5
- package/dist/docs/api/types/SwipeDirection.html +36 -0
- package/dist/docs/api/types/TileSourceFactory.html +1 -1
- package/dist/docs/authoring.html +20 -7
- package/dist/docs/events.html +263 -0
- package/dist/docs/iiif.html +136 -22
- package/dist/docs/migration.html +66 -19
- package/dist/docs/readme.html +113 -12
- package/dist/embed/index.html +7 -0
- package/dist/examples/font-css-false.json +33 -0
- package/dist/examples/issue-image-region.json +1 -1
- package/dist/examples/layers-control.json +60 -0
- package/dist/examples/map-template-provider.json +36 -0
- package/dist/examples/multi-media.json +71 -0
- package/dist/examples-iiif/annotated-image.json +16 -0
- package/dist/examples-iiif/font-css-false.json +114 -0
- package/dist/examples-iiif/issue-image-region.json +1 -1
- package/dist/examples-iiif/layers-control.json +226 -0
- package/dist/examples-iiif/map-template-provider.json +133 -0
- package/dist/examples-iiif/multi-media.json +237 -0
- package/dist/examples-slideshow/single.json +79 -0
- package/dist/examples-slideshow/static/pixel.png +0 -0
- package/dist/examples-slideshow/static.json +44 -0
- package/dist/harness-multi.html +3 -3
- package/dist/harness.html +4 -3
- package/dist/index.html +3 -2
- package/dist/js/storymap.d.ts +1326 -289
- package/dist/js/storymap.js +6690 -4784
- package/dist/js/storymap.js.map +1 -1
- package/dist/navplace-properties.json +14 -0
- package/dist/site.css +54 -36
- package/docs/migration-from-knightlab.md +89 -49
- package/docs/storymap-as-iiif-manifest.md +199 -126
- package/package.json +4 -2
- package/schema/storymap.schema.json +334 -34
- package/src/core/Util.ts +3 -1
- package/src/core/mixins.ts +42 -28
- package/src/language/Language.ts +7 -0
- package/src/language/locale/.expected-gaps.json +287 -27
- package/src/language/locale/de.json +11 -1
- package/src/language/locale/en.json +11 -1
- package/src/main.ts +51 -0
- package/src/map/Map.ts +44 -6
- package/src/map/MapMarker.ts +16 -3
- package/src/map/openlayers/Map.OpenLayers.ts +787 -62
- package/src/map/openlayers/MapMarker.OpenLayers.ts +113 -13
- package/src/map/slideView.ts +149 -0
- package/src/map/types.ts +2 -0
- package/src/media/EmbedUtil.ts +27 -2
- package/src/media/Media.ts +27 -4
- package/src/media/embedId.ts +6 -0
- package/src/media/types/Flickr.ts +14 -3
- package/src/media/types/HtmlMedia.ts +66 -0
- package/src/media/types/Image.ts +15 -3
- package/src/media/types/SoundCloud.ts +1 -1
- package/src/media/types/Text.ts +27 -8
- package/src/media/types/Twitter.ts +9 -7
- package/src/media/types/Vimeo.ts +1 -1
- package/src/media/types/YouTube.ts +2 -2
- package/src/scss/Typography.scss +15 -15
- package/src/scss/VCO.StoryMap.scss +173 -8
- package/src/scss/core/Reset.scss +5 -18
- package/src/scss/map/VCO.Map.scss +1 -1
- package/src/scss/map/VCO.MapMarker.scss +20 -9
- package/src/scss/map/openlayers/VCO.Map.OpenLayers.scss +7 -4
- package/src/scss/media/VCO.Media.scss +7 -7
- package/src/scss/media/types/VCO.Media.Blockquote.scss +1 -1
- package/src/scss/media/types/VCO.Media.Text.scss +5 -5
- package/src/scss/media/types/VCO.Media.Twitter.scss +4 -4
- package/src/scss/media/types/VCO.Media.Wikipedia.scss +2 -19
- package/src/scss/site/site.scss +55 -36
- package/src/scss/slider/VCO.Slide.scss +49 -11
- package/src/scss/slider/VCO.SlideNav.scss +23 -7
- package/src/scss/slider/VCO.StorySlider.scss +50 -0
- package/src/scss/snapmap/VCO.SnapMap.scss +3 -3
- package/src/scss/ui/VCO.Consent.scss +20 -14
- package/src/scss/ui/VCO.Layers.scss +119 -0
- package/src/scss/ui/VCO.MenuBar.Button.scss +140 -19
- package/src/scss/ui/VCO.MenuBar.scss +9 -2
- package/src/scss/ui/VCO.Message.scss +14 -0
- package/src/slider/Slide.ts +232 -74
- package/src/slider/SlideNav.ts +15 -4
- package/src/slider/StorySlider.ts +203 -22
- package/src/storymap/Consent.ts +22 -0
- package/src/storymap/StoryMap.ts +944 -131
- package/src/storymap/content-state.ts +3 -8
- package/src/storymap/font-css.ts +72 -0
- package/src/storymap/from-slideshow.ts +785 -0
- package/src/storymap/iiif-shared.ts +228 -0
- package/src/storymap/iiif.ts +289 -100
- package/src/storymap/to-iiif.ts +131 -44
- package/src/types.ts +382 -17
- package/src/ui/LayersControl.ts +302 -0
- package/src/ui/MenuBar.ts +232 -21
- package/src/ui/Message.ts +36 -3
- package/src/ui/Swipable.ts +25 -7
- package/dist/assets/harness-Cr0rYpvt.js +0 -1
- package/dist/assets/main-DXalctuR.js +0 -17
- package/src/scss/VCO.StoryMap.Dark.scss +0 -150
- package/src/scss/Variables.Dark.scss +0 -57
|
@@ -28,10 +28,10 @@
|
|
|
28
28
|
|
|
29
29
|
.vco-media-loaderror {
|
|
30
30
|
p {
|
|
31
|
-
color:
|
|
31
|
+
color: var(--vco-color-text, #{$color-text});
|
|
32
32
|
|
|
33
33
|
span {
|
|
34
|
-
color:
|
|
34
|
+
color: var(--vco-color-text, #{$color-text});
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
text-align: center;
|
|
@@ -105,14 +105,14 @@
|
|
|
105
105
|
}
|
|
106
106
|
|
|
107
107
|
a {
|
|
108
|
-
color: color.adjust($color-dark, $lightness: 20%);
|
|
108
|
+
color: var(--vco-color-link, #{color.adjust($color-dark, $lightness: 20%)});
|
|
109
109
|
text-decoration: none;
|
|
110
110
|
}
|
|
111
111
|
|
|
112
112
|
a:hover {
|
|
113
113
|
.fn,
|
|
114
114
|
.nickname {
|
|
115
|
-
color: $color-theme;
|
|
115
|
+
color: var(--vco-color-theme, #{$color-theme});
|
|
116
116
|
|
|
117
117
|
// text-decoration: underline;
|
|
118
118
|
}
|
|
@@ -130,7 +130,7 @@
|
|
|
130
130
|
|
|
131
131
|
.nickname {
|
|
132
132
|
margin-top: 1px;
|
|
133
|
-
color: color.adjust($color-dark, $lightness: 40%);
|
|
133
|
+
color: var(--vco-color-text-muted, #{color.adjust($color-dark, $lightness: 40%)});
|
|
134
134
|
}
|
|
135
135
|
|
|
136
136
|
.avatar {
|
|
@@ -150,14 +150,14 @@
|
|
|
150
150
|
.vcard a {
|
|
151
151
|
@include slide-text-shadow;
|
|
152
152
|
|
|
153
|
-
color: color.adjust($color-theme, $lightness: 90%);
|
|
153
|
+
color: var(--vco-color-theme-faint, #{color.adjust($color-theme, $lightness: 90%)});
|
|
154
154
|
}
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
/* Credit
|
|
158
158
|
================================================== */
|
|
159
159
|
.vco-credit {
|
|
160
|
-
color: #
|
|
160
|
+
color: var(--vco-color-text, #{$color-text});
|
|
161
161
|
text-align: right;
|
|
162
162
|
display: block;
|
|
163
163
|
margin: 0 auto;
|
|
@@ -35,13 +35,13 @@
|
|
|
35
35
|
line-height: $base-font-size;
|
|
36
36
|
font-weight: normal;
|
|
37
37
|
margin: 0 0 2px;
|
|
38
|
-
color:
|
|
38
|
+
color: var(--vco-color-text, #{$color-text});
|
|
39
39
|
|
|
40
40
|
small {
|
|
41
41
|
font-size: $base-font-size;
|
|
42
42
|
line-height: $base-font-size;
|
|
43
43
|
font-weight: normal;
|
|
44
|
-
color:
|
|
44
|
+
color: var(--vco-color-text, #{$color-text});
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
|
|
@@ -71,15 +71,15 @@
|
|
|
71
71
|
.vco-full-color-background {
|
|
72
72
|
.vco-text,
|
|
73
73
|
.vco-text p {
|
|
74
|
-
color: $color-text-inverted !important;
|
|
74
|
+
color: var(--vco-color-text-inverted, #{$color-text-inverted}) !important;
|
|
75
75
|
text-shadow: 1px 1px 2px #000;
|
|
76
76
|
|
|
77
77
|
.vco-headline-date,
|
|
78
78
|
h3.vco-headline-date {
|
|
79
|
-
color: $color-text-inverted !important;
|
|
79
|
+
color: var(--vco-color-text-inverted, #{$color-text-inverted}) !important;
|
|
80
80
|
|
|
81
81
|
small {
|
|
82
|
-
color: $color-text-inverted !important;
|
|
82
|
+
color: var(--vco-color-text-inverted, #{$color-text-inverted}) !important;
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
}
|
|
@@ -15,12 +15,12 @@
|
|
|
15
15
|
margin-right: $base-spacing;
|
|
16
16
|
font-size: $base-font-size;
|
|
17
17
|
line-height: math.floor($base-font-size * $base-line-height);
|
|
18
|
-
color: $color-foreground;
|
|
18
|
+
color: var(--vco-color-foreground, #{$color-foreground});
|
|
19
19
|
|
|
20
20
|
p {
|
|
21
21
|
font-size: $base-font-size-xlarge;
|
|
22
22
|
line-height: math.floor($base-font-size-xlarge * 1.1);
|
|
23
|
-
color: $color-dark;
|
|
23
|
+
color: var(--vco-color-dark, #{$color-dark});
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
|
|
@@ -36,11 +36,11 @@
|
|
|
36
36
|
a:hover,
|
|
37
37
|
a.vco-date:hover {
|
|
38
38
|
text-decoration: none;
|
|
39
|
-
color: #
|
|
39
|
+
color: #1a7ab5;
|
|
40
40
|
|
|
41
41
|
.fn,
|
|
42
42
|
.nickname {
|
|
43
|
-
color: #
|
|
43
|
+
color: #1a7ab5;
|
|
44
44
|
}
|
|
45
45
|
}
|
|
46
46
|
}
|
|
@@ -19,21 +19,8 @@
|
|
|
19
19
|
font-style: italic;
|
|
20
20
|
}
|
|
21
21
|
|
|
22
|
-
h4
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
// border-bottom: 1px solid @color-line;
|
|
26
|
-
margin-bottom: 0;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
h4 a {
|
|
30
|
-
color: $color-dark; // $color-theme;
|
|
31
|
-
text-decoration: none;
|
|
32
|
-
}
|
|
33
|
-
|
|
34
|
-
h4 a:hover {
|
|
35
|
-
text-decoration: underline;
|
|
36
|
-
}
|
|
22
|
+
// no h4 rules: the sanitizer strips the tag, so these were dead
|
|
23
|
+
// (issue #385 wave; see docs/plans/css-followups.md)
|
|
37
24
|
}
|
|
38
25
|
}
|
|
39
26
|
|
|
@@ -46,10 +33,6 @@
|
|
|
46
33
|
@include background-color-opacity(0, 0, 0, 60);
|
|
47
34
|
|
|
48
35
|
border-radius: 7px;
|
|
49
|
-
|
|
50
|
-
h4 a {
|
|
51
|
-
@include slide-text-shadow;
|
|
52
|
-
}
|
|
53
36
|
}
|
|
54
37
|
}
|
|
55
38
|
}
|
package/src/scss/site/site.scss
CHANGED
|
@@ -25,6 +25,8 @@ $sm-color-green: #24a549; // button-secondary
|
|
|
25
25
|
$sm-color-green-border: #1f9040;
|
|
26
26
|
$sm-color-border: #b8b8b8;
|
|
27
27
|
$sm-color-border-light: #d4d4d4;
|
|
28
|
+
$sm-color-page: #fff;
|
|
29
|
+
$sm-color-muted: #9c9c9c;
|
|
28
30
|
$sm-font-serif: georgia, "Times New Roman", times, serif;
|
|
29
31
|
$sm-font-sans: "Helvetica Neue", helvetica, arial, "Segoe UI", system-ui, sans-serif;
|
|
30
32
|
|
|
@@ -36,8 +38,8 @@ $sm-font-sans: "Helvetica Neue", helvetica, arial, "Segoe UI", system-ui, sans-s
|
|
|
36
38
|
font-family: $sm-font-serif;
|
|
37
39
|
font-size: 18px;
|
|
38
40
|
line-height: 1.618;
|
|
39
|
-
color: $sm-color-text;
|
|
40
|
-
background-color: #fff;
|
|
41
|
+
color: var(--sm-color-text, #{$sm-color-text});
|
|
42
|
+
background-color: var(--sm-color-page, #fff);
|
|
41
43
|
|
|
42
44
|
*,
|
|
43
45
|
*::before,
|
|
@@ -57,7 +59,7 @@ $sm-font-sans: "Helvetica Neue", helvetica, arial, "Segoe UI", system-ui, sans-s
|
|
|
57
59
|
pre {
|
|
58
60
|
font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
|
|
59
61
|
font-size: 0.85em;
|
|
60
|
-
background-color: $sm-color-light;
|
|
62
|
+
background-color: var(--sm-color-light, #{$sm-color-light});
|
|
61
63
|
border-radius: 3px;
|
|
62
64
|
}
|
|
63
65
|
|
|
@@ -105,7 +107,7 @@ $sm-font-sans: "Helvetica Neue", helvetica, arial, "Segoe UI", system-ui, sans-s
|
|
|
105
107
|
font-style: italic;
|
|
106
108
|
font-weight: normal;
|
|
107
109
|
font-size: 3.82rem;
|
|
108
|
-
color: $sm-color-text;
|
|
110
|
+
color: var(--sm-color-text, #{$sm-color-text});
|
|
109
111
|
margin: 0;
|
|
110
112
|
|
|
111
113
|
@media (width <= 767px) {
|
|
@@ -152,10 +154,10 @@ $sm-font-sans: "Helvetica Neue", helvetica, arial, "Segoe UI", system-ui, sans-s
|
|
|
152
154
|
position: relative;
|
|
153
155
|
overflow: hidden;
|
|
154
156
|
padding: 0.89rem 1.78rem 0.94rem;
|
|
155
|
-
border: 1px solid $sm-color-border-light;
|
|
157
|
+
border: 1px solid var(--sm-color-border-light, #{$sm-color-border-light});
|
|
156
158
|
border-radius: 4px;
|
|
157
159
|
background-color: transparent;
|
|
158
|
-
color: $sm-color-grey;
|
|
160
|
+
color: var(--sm-color-grey, #{$sm-color-grey});
|
|
159
161
|
font-family: $sm-font-sans;
|
|
160
162
|
font-size: 0.89rem;
|
|
161
163
|
text-align: center;
|
|
@@ -171,7 +173,7 @@ $sm-font-sans: "Helvetica Neue", helvetica, arial, "Segoe UI", system-ui, sans-s
|
|
|
171
173
|
&:hover {
|
|
172
174
|
background-color: #fdfdfd;
|
|
173
175
|
border-color: #d7d7d7;
|
|
174
|
-
color: $sm-color-grey;
|
|
176
|
+
color: var(--sm-color-grey, #{$sm-color-grey});
|
|
175
177
|
text-decoration: none;
|
|
176
178
|
}
|
|
177
179
|
|
|
@@ -287,11 +289,11 @@ $sm-font-sans: "Helvetica Neue", helvetica, arial, "Segoe UI", system-ui, sans-s
|
|
|
287
289
|
}
|
|
288
290
|
|
|
289
291
|
.button-active {
|
|
290
|
-
background-color: $sm-color-border-light;
|
|
291
|
-
color: $sm-color-text;
|
|
292
|
+
background-color: var(--sm-color-border-light, #{$sm-color-border-light});
|
|
293
|
+
color: var(--sm-color-text, #{$sm-color-text});
|
|
292
294
|
|
|
293
295
|
&:hover {
|
|
294
|
-
background-color: $sm-color-border-light;
|
|
296
|
+
background-color: var(--sm-color-border-light, #{$sm-color-border-light});
|
|
295
297
|
}
|
|
296
298
|
}
|
|
297
299
|
}
|
|
@@ -313,8 +315,8 @@ $sm-font-sans: "Helvetica Neue", helvetica, arial, "Segoe UI", system-ui, sans-s
|
|
|
313
315
|
.header-product {
|
|
314
316
|
padding: 2rem 2rem 0;
|
|
315
317
|
margin-bottom: 0;
|
|
316
|
-
border-bottom: 1px solid $sm-color-border;
|
|
317
|
-
background-color: $sm-color-light;
|
|
318
|
+
border-bottom: 1px solid var(--sm-color-border, #{$sm-color-border});
|
|
319
|
+
background-color: var(--sm-color-light, #{$sm-color-light});
|
|
318
320
|
text-align: center;
|
|
319
321
|
|
|
320
322
|
.product-tagline {
|
|
@@ -334,7 +336,7 @@ $sm-font-sans: "Helvetica Neue", helvetica, arial, "Segoe UI", system-ui, sans-s
|
|
|
334
336
|
|
|
335
337
|
.navbar-subnav {
|
|
336
338
|
margin-top: 1rem;
|
|
337
|
-
background-color: $sm-color-light;
|
|
339
|
+
background-color: var(--sm-color-light, #{$sm-color-light});
|
|
338
340
|
|
|
339
341
|
// the original hides the subnav on phones entirely
|
|
340
342
|
@media (width <= 767px) {
|
|
@@ -342,12 +344,12 @@ $sm-font-sans: "Helvetica Neue", helvetica, arial, "Segoe UI", system-ui, sans-s
|
|
|
342
344
|
}
|
|
343
345
|
|
|
344
346
|
.button {
|
|
345
|
-
border-color: $sm-color-border-light;
|
|
347
|
+
border-color: var(--sm-color-border-light, #{$sm-color-border-light});
|
|
346
348
|
box-shadow: none;
|
|
347
|
-
color: $sm-color-grey;
|
|
349
|
+
color: var(--sm-color-grey, #{$sm-color-grey});
|
|
348
350
|
|
|
349
351
|
&:hover {
|
|
350
|
-
color: $sm-color-text;
|
|
352
|
+
color: var(--sm-color-text, #{$sm-color-text});
|
|
351
353
|
background-color: rgb(255 255 255 / 60%);
|
|
352
354
|
}
|
|
353
355
|
}
|
|
@@ -402,13 +404,13 @@ $sm-font-sans: "Helvetica Neue", helvetica, arial, "Segoe UI", system-ui, sans-s
|
|
|
402
404
|
}
|
|
403
405
|
|
|
404
406
|
.fill-color-grey {
|
|
405
|
-
background-color: $sm-color-light;
|
|
407
|
+
background-color: var(--sm-color-light, #{$sm-color-light});
|
|
406
408
|
}
|
|
407
409
|
|
|
408
410
|
.note {
|
|
409
|
-
background-color: $sm-color-light;
|
|
411
|
+
background-color: var(--sm-color-light, #{$sm-color-light});
|
|
410
412
|
border-radius: 8px;
|
|
411
|
-
color: #
|
|
413
|
+
color: var(--sm-color-muted, #{$sm-color-muted});
|
|
412
414
|
font-family: $sm-font-sans;
|
|
413
415
|
font-size: 0.9em;
|
|
414
416
|
font-style: italic;
|
|
@@ -428,7 +430,7 @@ $sm-font-sans: "Helvetica Neue", helvetica, arial, "Segoe UI", system-ui, sans-s
|
|
|
428
430
|
display: block;
|
|
429
431
|
width: 100%;
|
|
430
432
|
border: 0;
|
|
431
|
-
background-color: $sm-color-light;
|
|
433
|
+
background-color: var(--sm-color-light, #{$sm-color-light});
|
|
432
434
|
}
|
|
433
435
|
|
|
434
436
|
// ---------------------------------------------------------------------
|
|
@@ -457,7 +459,7 @@ $sm-font-sans: "Helvetica Neue", helvetica, arial, "Segoe UI", system-ui, sans-s
|
|
|
457
459
|
|
|
458
460
|
.card {
|
|
459
461
|
padding: 0;
|
|
460
|
-
border: 1px solid $sm-color-border-light;
|
|
462
|
+
border: 1px solid var(--sm-color-border-light, #{$sm-color-border-light});
|
|
461
463
|
border-radius: 4px;
|
|
462
464
|
background-color: #fff;
|
|
463
465
|
overflow: hidden;
|
|
@@ -482,7 +484,7 @@ $sm-font-sans: "Helvetica Neue", helvetica, arial, "Segoe UI", system-ui, sans-s
|
|
|
482
484
|
height: 100%;
|
|
483
485
|
background-position: center;
|
|
484
486
|
background-size: cover;
|
|
485
|
-
background-color: $sm-color-grey;
|
|
487
|
+
background-color: var(--sm-color-grey, #{$sm-color-grey});
|
|
486
488
|
transition: filter 0.3s ease;
|
|
487
489
|
|
|
488
490
|
&.bw {
|
|
@@ -496,7 +498,7 @@ $sm-font-sans: "Helvetica Neue", helvetica, arial, "Segoe UI", system-ui, sans-s
|
|
|
496
498
|
h3 {
|
|
497
499
|
font-size: 1rem;
|
|
498
500
|
margin: 0;
|
|
499
|
-
color: $sm-color-text;
|
|
501
|
+
color: var(--sm-color-text, #{$sm-color-text});
|
|
500
502
|
}
|
|
501
503
|
}
|
|
502
504
|
|
|
@@ -505,11 +507,11 @@ $sm-font-sans: "Helvetica Neue", helvetica, arial, "Segoe UI", system-ui, sans-s
|
|
|
505
507
|
padding: 0.6rem 1rem 0.8rem;
|
|
506
508
|
font-family: $sm-font-sans;
|
|
507
509
|
font-size: 0.75em;
|
|
508
|
-
color: #
|
|
510
|
+
color: var(--sm-color-muted, #{$sm-color-muted});
|
|
509
511
|
}
|
|
510
512
|
|
|
511
513
|
&:hover {
|
|
512
|
-
border-color: $sm-color-text;
|
|
514
|
+
border-color: var(--sm-color-text, #{$sm-color-text});
|
|
513
515
|
|
|
514
516
|
.header-image-background.bw {
|
|
515
517
|
filter: grayscale(0%);
|
|
@@ -532,15 +534,15 @@ $sm-font-sans: "Helvetica Neue", helvetica, arial, "Segoe UI", system-ui, sans-s
|
|
|
532
534
|
position: relative;
|
|
533
535
|
padding: 0.5rem;
|
|
534
536
|
margin-bottom: 0.5rem;
|
|
535
|
-
background-color: $sm-color-lighter;
|
|
536
|
-
border: 1px solid $sm-color-border-light;
|
|
537
|
+
background-color: var(--sm-color-lighter, #{$sm-color-lighter});
|
|
538
|
+
border: 1px solid var(--sm-color-border-light, #{$sm-color-border-light});
|
|
537
539
|
border-radius: 8px;
|
|
538
540
|
|
|
539
541
|
&:hover {
|
|
540
542
|
border-color: $sm-color-navbar;
|
|
541
543
|
|
|
542
544
|
h3 {
|
|
543
|
-
color: $sm-color-text;
|
|
545
|
+
color: var(--sm-color-text, #{$sm-color-text});
|
|
544
546
|
}
|
|
545
547
|
}
|
|
546
548
|
|
|
@@ -584,7 +586,7 @@ $sm-font-sans: "Helvetica Neue", helvetica, arial, "Segoe UI", system-ui, sans-s
|
|
|
584
586
|
font-size: 1.2rem;
|
|
585
587
|
font-weight: 700;
|
|
586
588
|
margin: 0.4rem 1.5rem 0.4rem 0.6rem;
|
|
587
|
-
color: $sm-color-text;
|
|
589
|
+
color: var(--sm-color-text, #{$sm-color-text});
|
|
588
590
|
}
|
|
589
591
|
|
|
590
592
|
.accordion-content {
|
|
@@ -647,13 +649,13 @@ $sm-font-sans: "Helvetica Neue", helvetica, arial, "Segoe UI", system-ui, sans-s
|
|
|
647
649
|
th,
|
|
648
650
|
td {
|
|
649
651
|
padding: 0.5rem 0.75rem;
|
|
650
|
-
border: 1px solid $sm-color-border-light;
|
|
652
|
+
border: 1px solid var(--sm-color-border-light, #{$sm-color-border-light});
|
|
651
653
|
text-align: left;
|
|
652
654
|
vertical-align: top;
|
|
653
655
|
}
|
|
654
656
|
|
|
655
657
|
th {
|
|
656
|
-
background-color: $sm-color-light;
|
|
658
|
+
background-color: var(--sm-color-light, #{$sm-color-light});
|
|
657
659
|
}
|
|
658
660
|
|
|
659
661
|
code {
|
|
@@ -665,8 +667,8 @@ $sm-font-sans: "Helvetica Neue", helvetica, arial, "Segoe UI", system-ui, sans-s
|
|
|
665
667
|
blockquote {
|
|
666
668
|
margin: 1rem 0;
|
|
667
669
|
padding: 0.25rem 1rem;
|
|
668
|
-
border-left: 4px solid $sm-color-border-light;
|
|
669
|
-
color: $sm-color-grey;
|
|
670
|
+
border-left: 4px solid var(--sm-color-border-light, #{$sm-color-border-light});
|
|
671
|
+
color: var(--sm-color-grey, #{$sm-color-grey});
|
|
670
672
|
}
|
|
671
673
|
|
|
672
674
|
img {
|
|
@@ -686,8 +688,8 @@ $sm-font-sans: "Helvetica Neue", helvetica, arial, "Segoe UI", system-ui, sans-s
|
|
|
686
688
|
padding: 60px 80px 30px;
|
|
687
689
|
font-family: $sm-font-sans;
|
|
688
690
|
font-size: 0.85em;
|
|
689
|
-
background-color: $sm-color-light;
|
|
690
|
-
border-top: 1px solid $sm-color-border;
|
|
691
|
+
background-color: var(--sm-color-light, #{$sm-color-light});
|
|
692
|
+
border-top: 1px solid var(--sm-color-border, #{$sm-color-border});
|
|
691
693
|
|
|
692
694
|
.footer-grid {
|
|
693
695
|
display: flex;
|
|
@@ -735,7 +737,7 @@ $sm-font-sans: "Helvetica Neue", helvetica, arial, "Segoe UI", system-ui, sans-s
|
|
|
735
737
|
list-style: none;
|
|
736
738
|
|
|
737
739
|
a {
|
|
738
|
-
color: $sm-color-grey;
|
|
740
|
+
color: var(--sm-color-grey, #{$sm-color-grey});
|
|
739
741
|
font-size: 1.1em;
|
|
740
742
|
font-weight: 700;
|
|
741
743
|
|
|
@@ -746,3 +748,20 @@ $sm-font-sans: "Helvetica Neue", helvetica, arial, "Segoe UI", system-ui, sans-s
|
|
|
746
748
|
}
|
|
747
749
|
}
|
|
748
750
|
}
|
|
751
|
+
|
|
752
|
+
/* Dark landing (dark theme plan): the surfaces above redeclared. Brand
|
|
753
|
+
accents (badge, green, navbar, orange links) keep their light values —
|
|
754
|
+
they read on both. Follows the OS setting; the widget additionally
|
|
755
|
+
honours an explicit `theme` option. */
|
|
756
|
+
@media (prefers-color-scheme: dark) {
|
|
757
|
+
.sm-site {
|
|
758
|
+
--sm-color-page: #1a1a1a;
|
|
759
|
+
--sm-color-text: #e0e0e0;
|
|
760
|
+
--sm-color-grey: #a8a8a8;
|
|
761
|
+
--sm-color-light: #262626;
|
|
762
|
+
--sm-color-lighter: #2e2e2e;
|
|
763
|
+
--sm-color-border: #555;
|
|
764
|
+
--sm-color-border-light: #444;
|
|
765
|
+
--sm-color-muted: #b0b0b0;
|
|
766
|
+
}
|
|
767
|
+
}
|
|
@@ -11,6 +11,10 @@
|
|
|
11
11
|
padding: 0;
|
|
12
12
|
margin: 0;
|
|
13
13
|
|
|
14
|
+
// authored inline styles (trusted tour content) cannot reorder above
|
|
15
|
+
// viewer chrome: a stacking context without any layout effect
|
|
16
|
+
isolation: isolate;
|
|
17
|
+
|
|
14
18
|
// display:table;
|
|
15
19
|
// table-layout: fixed;
|
|
16
20
|
overflow: hidden auto;
|
|
@@ -18,7 +22,7 @@
|
|
|
18
22
|
// Visible, app-styled vertical scrollbar whenever the slide content
|
|
19
23
|
// overflows (desktop); touch devices get a wider one
|
|
20
24
|
scrollbar-width: thin;
|
|
21
|
-
scrollbar-color: $color-theme transparent;
|
|
25
|
+
scrollbar-color: var(--vco-color-theme, #{$color-theme}) transparent;
|
|
22
26
|
|
|
23
27
|
// overflow-y:auto;
|
|
24
28
|
// z-index:26;
|
|
@@ -30,10 +34,20 @@
|
|
|
30
34
|
margin-bottom: 10px;
|
|
31
35
|
padding-bottom: 10px;
|
|
32
36
|
|
|
37
|
+
// real <button>: strip the UA chrome, the classes carry the look
|
|
38
|
+
// (issue #385 wave). No `font` shorthand: it would reset the
|
|
39
|
+
// font-weight above.
|
|
40
|
+
appearance: none;
|
|
41
|
+
background: none;
|
|
42
|
+
border: 0;
|
|
43
|
+
font-family: inherit;
|
|
44
|
+
font-size: inherit;
|
|
45
|
+
text-align: inherit;
|
|
46
|
+
|
|
33
47
|
.vco-slide-calltoaction-button-text {
|
|
34
48
|
display: inline-block;
|
|
35
|
-
background-color: $color-theme;
|
|
36
|
-
color: $color-background;
|
|
49
|
+
background-color: var(--vco-color-theme, #{$color-theme});
|
|
50
|
+
color: var(--vco-color-background, #{$color-background});
|
|
37
51
|
|
|
38
52
|
// padding:10px;
|
|
39
53
|
padding: 10px 15px;
|
|
@@ -42,8 +56,8 @@
|
|
|
42
56
|
|
|
43
57
|
&:hover {
|
|
44
58
|
.vco-slide-calltoaction-button-text {
|
|
45
|
-
background-color: $color-theme-dark;
|
|
46
|
-
color: $color-background;
|
|
59
|
+
background-color: var(--vco-color-theme-dark, #{$color-theme-dark});
|
|
60
|
+
color: var(--vco-color-background, #{$color-background});
|
|
47
61
|
}
|
|
48
62
|
}
|
|
49
63
|
}
|
|
@@ -68,6 +82,7 @@
|
|
|
68
82
|
display: table;
|
|
69
83
|
table-layout: fixed;
|
|
70
84
|
height: 100%;
|
|
85
|
+
position: relative;
|
|
71
86
|
z-index: 1;
|
|
72
87
|
}
|
|
73
88
|
|
|
@@ -81,8 +96,8 @@
|
|
|
81
96
|
// width:100%;
|
|
82
97
|
// display:table;
|
|
83
98
|
vertical-align: middle;
|
|
84
|
-
padding-left: 100px;
|
|
85
|
-
padding-right: 100px;
|
|
99
|
+
padding-left: clamp(10px, 5vw, 100px);
|
|
100
|
+
padding-right: clamp(10px, 5vw, 100px);
|
|
86
101
|
position: relative;
|
|
87
102
|
max-width: 100%;
|
|
88
103
|
|
|
@@ -111,7 +126,7 @@
|
|
|
111
126
|
.vco-text {
|
|
112
127
|
width: 50%;
|
|
113
128
|
max-width: 50%;
|
|
114
|
-
min-width:
|
|
129
|
+
min-width: 0;
|
|
115
130
|
|
|
116
131
|
// height:100%;
|
|
117
132
|
// overflow-y:auto;
|
|
@@ -127,6 +142,23 @@
|
|
|
127
142
|
}
|
|
128
143
|
}
|
|
129
144
|
}
|
|
145
|
+
|
|
146
|
+
// Second visible media slot (#358): every rule below is gated behind
|
|
147
|
+
// .vco-slide-media-multiple, so single-media slides render unchanged.
|
|
148
|
+
// stack drops the float (items pile vertically, the panel scrolls);
|
|
149
|
+
// row seats exactly two items side by side (D4).
|
|
150
|
+
&.vco-slide-media-multiple[data-layout="stack"] {
|
|
151
|
+
.vco-slide-content .vco-media {
|
|
152
|
+
float: none;
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
&.vco-slide-media-multiple[data-layout="row"] {
|
|
157
|
+
.vco-slide-content .vco-media {
|
|
158
|
+
width: 50%;
|
|
159
|
+
min-width: 0;
|
|
160
|
+
}
|
|
161
|
+
}
|
|
130
162
|
}
|
|
131
163
|
|
|
132
164
|
// touch devices (the container carries .vco-mobile on Browser.touch):
|
|
@@ -135,7 +167,7 @@
|
|
|
135
167
|
// keep their system overlay scrollbars)
|
|
136
168
|
.vco-mobile .vco-slide {
|
|
137
169
|
scrollbar-width: auto;
|
|
138
|
-
scrollbar-color: $color-theme-dark rgb(0 0 0 / 12%);
|
|
170
|
+
scrollbar-color: var(--vco-color-theme-dark, #{$color-theme-dark}) rgb(0 0 0 / 12%);
|
|
139
171
|
}
|
|
140
172
|
|
|
141
173
|
/* Scroll hint: a bouncing downward arrow when the slide content overflows
|
|
@@ -171,6 +203,12 @@
|
|
|
171
203
|
cursor: pointer;
|
|
172
204
|
animation: vco-scroll-hint-bounce 1.2s ease-in-out infinite;
|
|
173
205
|
|
|
206
|
+
// real <button>: strip the UA chrome (issue #385 wave)
|
|
207
|
+
appearance: none;
|
|
208
|
+
border: 0;
|
|
209
|
+
padding: 0;
|
|
210
|
+
font: inherit;
|
|
211
|
+
|
|
174
212
|
@media (prefers-reduced-motion: reduce) {
|
|
175
213
|
animation: none;
|
|
176
214
|
transform: translate(-50%, 0);
|
|
@@ -267,7 +305,7 @@
|
|
|
267
305
|
blockquote p {
|
|
268
306
|
@include slide-text-shadow;
|
|
269
307
|
|
|
270
|
-
color: color.adjust($color-theme, $lightness: 90%);
|
|
308
|
+
color: var(--vco-color-theme-faint, #{color.adjust($color-theme, $lightness: 90%)});
|
|
271
309
|
}
|
|
272
310
|
|
|
273
311
|
.vco-caption,
|
|
@@ -352,7 +390,7 @@
|
|
|
352
390
|
.vco-text-content {
|
|
353
391
|
iframe {
|
|
354
392
|
width: 100%;
|
|
355
|
-
min-height: 280px;
|
|
393
|
+
min-height: min(280px, 50vh);
|
|
356
394
|
border: 0;
|
|
357
395
|
}
|
|
358
396
|
}
|
|
@@ -60,10 +60,10 @@
|
|
|
60
60
|
.vco-slidenav-icon,
|
|
61
61
|
.vco-slidenav-title,
|
|
62
62
|
.vco-slidenav-description {
|
|
63
|
-
text-shadow: 1px 1px 1px $color-background;
|
|
63
|
+
text-shadow: 1px 1px 1px var(--vco-color-background, #{$color-background});
|
|
64
64
|
|
|
65
65
|
// color: $color-foreground;
|
|
66
|
-
color: $color-background;
|
|
66
|
+
color: var(--vco-color-background, #{$color-background});
|
|
67
67
|
}
|
|
68
68
|
|
|
69
69
|
&.vco-slidenav-inverted {
|
|
@@ -71,8 +71,8 @@
|
|
|
71
71
|
.vco-slidenav-title,
|
|
72
72
|
.vco-slidenav-description {
|
|
73
73
|
// color:$color-background;
|
|
74
|
-
color: $color-foreground;
|
|
75
|
-
text-shadow: 1px 1px 1px $color-foreground;
|
|
74
|
+
color: var(--vco-color-foreground, #{$color-foreground});
|
|
75
|
+
text-shadow: 1px 1px 1px var(--vco-color-foreground, #{$color-foreground});
|
|
76
76
|
}
|
|
77
77
|
}
|
|
78
78
|
}
|
|
@@ -95,6 +95,18 @@
|
|
|
95
95
|
opacity: 1;
|
|
96
96
|
}
|
|
97
97
|
}
|
|
98
|
+
|
|
99
|
+
// keyboard parity with the hover reveal, plus a visible ring: the
|
|
100
|
+
// container is a focusable div acting as a button
|
|
101
|
+
&:focus-visible {
|
|
102
|
+
outline: 2px solid var(--vco-color-theme, #{$color-theme});
|
|
103
|
+
outline-offset: 2px;
|
|
104
|
+
|
|
105
|
+
.vco-slidenav-title,
|
|
106
|
+
.vco-slidenav-description {
|
|
107
|
+
opacity: 1;
|
|
108
|
+
}
|
|
109
|
+
}
|
|
98
110
|
}
|
|
99
111
|
|
|
100
112
|
.vco-slidenav-next {
|
|
@@ -178,7 +190,7 @@
|
|
|
178
190
|
.vco-slidenav-icon,
|
|
179
191
|
.vco-slidenav-title,
|
|
180
192
|
.vco-slidenav-description {
|
|
181
|
-
color: $color-background;
|
|
193
|
+
color: var(--vco-color-background, #{$color-background});
|
|
182
194
|
|
|
183
195
|
// color: $color-foreground;
|
|
184
196
|
}
|
|
@@ -274,12 +286,16 @@
|
|
|
274
286
|
.vco-slidenav-icon {
|
|
275
287
|
&::before {
|
|
276
288
|
// background-color:$color-background;
|
|
277
|
-
background-color: $color-foreground;
|
|
289
|
+
background-color: var(--vco-color-foreground, #{$color-foreground});
|
|
278
290
|
|
|
279
291
|
// .translucent-background($color-background, .85);
|
|
280
292
|
// .box-shadow(1px 1px 7px rgba(0,0,0,.30));
|
|
281
293
|
padding: 20px;
|
|
282
|
-
border: 1px solid
|
|
294
|
+
border: 1px solid
|
|
295
|
+
var(
|
|
296
|
+
--vco-color-nav-border,
|
|
297
|
+
#{color.adjust($color-background, $lightness: -30%)}
|
|
298
|
+
);
|
|
283
299
|
}
|
|
284
300
|
}
|
|
285
301
|
|