@projektemacher/storymapjs 0.10.6 → 0.10.7

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 (148) hide show
  1. package/CHANGELOG +11 -0
  2. package/dist/assets/{demo-CVQ7kFek.js → demo-D6cTmzn6.js} +1 -1
  3. package/dist/assets/{harness-C-VZV-ou.js → harness-BPFlzutp.js} +1 -1
  4. package/dist/assets/main-Y-MYUSJ4.js +17 -0
  5. package/dist/css/fonts/font.oldstandard.css +18 -22
  6. package/dist/demo.html +2 -2
  7. package/dist/docs/migration.html +1 -1
  8. package/dist/embed/index.html +129 -4
  9. package/dist/harness.html +2 -2
  10. package/dist/index.html +17 -0
  11. package/dist/js/storymap.d.ts +126 -7
  12. package/dist/js/storymap.js +4518 -3613
  13. package/dist/js/storymap.js.map +1 -1
  14. package/docs/migration-from-knightlab.md +139 -0
  15. package/docs/storymap-as-iiif-manifest.md +510 -0
  16. package/package.json +6 -3
  17. package/src/animation/easings.ts +18 -0
  18. package/src/animation/morpheus.d.ts +41 -0
  19. package/src/core/Browser.ts +19 -0
  20. package/src/core/Load.ts +180 -0
  21. package/src/core/Util.ts +354 -0
  22. package/src/core/mixins.ts +171 -0
  23. package/src/dom/Dom.ts +31 -0
  24. package/src/dom/DomEvent.ts +61 -0
  25. package/src/globals.d.ts +16 -0
  26. package/src/language/Language.ts +107 -0
  27. package/src/language/locale/be.json +18 -0
  28. package/src/language/locale/bg.json +18 -0
  29. package/src/language/locale/cs.json +18 -0
  30. package/src/language/locale/de.json +20 -0
  31. package/src/language/locale/el.json +18 -0
  32. package/src/language/locale/en.json +28 -0
  33. package/src/language/locale/es.json +18 -0
  34. package/src/language/locale/et.json +18 -0
  35. package/src/language/locale/fr.json +18 -0
  36. package/src/language/locale/he.json +18 -0
  37. package/src/language/locale/hu.json +18 -0
  38. package/src/language/locale/is.json +18 -0
  39. package/src/language/locale/it.json +18 -0
  40. package/src/language/locale/jp.json +18 -0
  41. package/src/language/locale/ko.json +18 -0
  42. package/src/language/locale/nl.json +18 -0
  43. package/src/language/locale/nn.json +18 -0
  44. package/src/language/locale/no.json +18 -0
  45. package/src/language/locale/pl.json +18 -0
  46. package/src/language/locale/pt.json +18 -0
  47. package/src/language/locale/ru.json +18 -0
  48. package/src/language/locale/sk.json +18 -0
  49. package/src/language/locale/sr.json +17 -0
  50. package/src/language/locale/sv.json +18 -0
  51. package/src/language/locale/tr.json +18 -0
  52. package/src/language/locale/uk.json +18 -0
  53. package/src/language/locale/ur.json +18 -0
  54. package/src/language/locale/zh-cn.json +18 -0
  55. package/src/language/locale/zh-tw.json +18 -0
  56. package/src/main.ts +51 -0
  57. package/src/map/Map.ts +717 -0
  58. package/src/map/MapMarker.ts +149 -0
  59. package/src/map/openlayers/Map.OpenLayers.ts +1879 -0
  60. package/src/map/openlayers/MapMarker.OpenLayers.ts +176 -0
  61. package/src/map/openlayers/zoomifyTiles.ts +28 -0
  62. package/src/map/types.ts +17 -0
  63. package/src/media/EmbedUtil.ts +168 -0
  64. package/src/media/Media.ts +409 -0
  65. package/src/media/MediaType.ts +163 -0
  66. package/src/media/types/Audio.ts +87 -0
  67. package/src/media/types/Blockquote.ts +40 -0
  68. package/src/media/types/DailyMotion.ts +58 -0
  69. package/src/media/types/DocumentCloud.ts +41 -0
  70. package/src/media/types/Facebook.ts +41 -0
  71. package/src/media/types/Flickr.ts +115 -0
  72. package/src/media/types/GoogleDoc.ts +59 -0
  73. package/src/media/types/IFrame.ts +51 -0
  74. package/src/media/types/Image.ts +49 -0
  75. package/src/media/types/Juxtapose.ts +32 -0
  76. package/src/media/types/SoundCloud.ts +77 -0
  77. package/src/media/types/Text.ts +172 -0
  78. package/src/media/types/Twitter.ts +96 -0
  79. package/src/media/types/Video.ts +84 -0
  80. package/src/media/types/Vimeo.ts +65 -0
  81. package/src/media/types/Website.ts +36 -0
  82. package/src/media/types/Wikipedia.ts +124 -0
  83. package/src/media/types/YouTube.ts +192 -0
  84. package/src/scss/Typography.scss +237 -0
  85. package/src/scss/VCO.StoryMap.Dark.scss +138 -0
  86. package/src/scss/VCO.StoryMap.scss +164 -0
  87. package/src/scss/Variables.Dark.scss +56 -0
  88. package/src/scss/Variables.scss +47 -0
  89. package/src/scss/core/Mixins.scss +112 -0
  90. package/src/scss/core/Reset.scss +206 -0
  91. package/src/scss/fonts/_font.base.scss +113 -0
  92. package/src/scss/fonts/font.abril-droidsans.scss +75 -0
  93. package/src/scss/fonts/font.amatic-andika.scss +73 -0
  94. package/src/scss/fonts/font.bitter-raleway.scss +86 -0
  95. package/src/scss/fonts/font.clicker-garamond.scss +92 -0
  96. package/src/scss/fonts/font.dancing-ledger.scss +74 -0
  97. package/src/scss/fonts/font.default.scss +9 -0
  98. package/src/scss/fonts/font.fjalla-average.scss +80 -0
  99. package/src/scss/fonts/font.georgia-helvetica.scss +58 -0
  100. package/src/scss/fonts/font.knightlab.scss +97 -0
  101. package/src/scss/fonts/font.lustria-lato.scss +80 -0
  102. package/src/scss/fonts/font.medula-lato.scss +73 -0
  103. package/src/scss/fonts/font.oldstandard.scss +88 -0
  104. package/src/scss/fonts/font.opensans-gentiumbook.scss +80 -0
  105. package/src/scss/fonts/font.playfair-faunaone.scss +86 -0
  106. package/src/scss/fonts/font.playfair.scss +85 -0
  107. package/src/scss/fonts/font.pt.scss +90 -0
  108. package/src/scss/fonts/font.roboto-megrim.scss +73 -0
  109. package/src/scss/fonts/font.rufina-sintony.scss +73 -0
  110. package/src/scss/fonts/font.ubuntu.scss +78 -0
  111. package/src/scss/fonts/font.unicaone-vollkorn.scss +85 -0
  112. package/src/scss/icons/Icons.scss +239 -0
  113. package/src/scss/map/VCO.ImageMarker.scss +23 -0
  114. package/src/scss/map/VCO.Map.scss +21 -0
  115. package/src/scss/map/VCO.MapMarker.scss +147 -0
  116. package/src/scss/map/openlayers/VCO.Map.OpenLayers.scss +126 -0
  117. package/src/scss/media/VCO.Media.scss +222 -0
  118. package/src/scss/media/types/VCO.Media.Blockquote.scss +76 -0
  119. package/src/scss/media/types/VCO.Media.IFrame.scss +11 -0
  120. package/src/scss/media/types/VCO.Media.Image.scss +13 -0
  121. package/src/scss/media/types/VCO.Media.Instagram.scss +7 -0
  122. package/src/scss/media/types/VCO.Media.Profile.scss +5 -0
  123. package/src/scss/media/types/VCO.Media.Text.scss +90 -0
  124. package/src/scss/media/types/VCO.Media.Twitter.scss +87 -0
  125. package/src/scss/media/types/VCO.Media.Wikipedia.scss +64 -0
  126. package/src/scss/site/site.scss +748 -0
  127. package/src/scss/slider/VCO.Slide.scss +447 -0
  128. package/src/scss/slider/VCO.SlideNav.scss +338 -0
  129. package/src/scss/slider/VCO.StorySlider.scss +64 -0
  130. package/src/scss/snapmap/VCO.SnapMap.scss +103 -0
  131. package/src/scss/ui/VCO.Consent.scss +77 -0
  132. package/src/scss/ui/VCO.MenuBar.Button.scss +99 -0
  133. package/src/scss/ui/VCO.MenuBar.scss +20 -0
  134. package/src/scss/ui/VCO.Message.scss +104 -0
  135. package/src/site/site.ts +87 -0
  136. package/src/slider/Slide.ts +460 -0
  137. package/src/slider/SlideNav.ts +212 -0
  138. package/src/slider/StorySlider.ts +722 -0
  139. package/src/storymap/Consent.ts +146 -0
  140. package/src/storymap/StoryMap.ts +1108 -0
  141. package/src/storymap/iiif.ts +386 -0
  142. package/src/storymap/validate.ts +184 -0
  143. package/src/types.ts +297 -0
  144. package/src/ui/Draggable.ts +374 -0
  145. package/src/ui/MenuBar.ts +323 -0
  146. package/src/ui/Message.ts +118 -0
  147. package/src/ui/Swipable.ts +388 -0
  148. package/dist/assets/main-DwbXrrYn.js +0 -17
@@ -0,0 +1,164 @@
1
+ /*!
2
+ StoryMap
3
+
4
+ Designed and built by Zach Wise for the Northwestern University Knight Lab
5
+
6
+ This Source Code Form is subject to the terms of the Mozilla Public
7
+ License, v. 2.0. If a copy of the MPL was not distributed with this
8
+ file, You can obtain one at http://mozilla.org/MPL/2.0/.
9
+
10
+ */
11
+
12
+ /* Includes
13
+ ================================================== */
14
+ @use "Variables" as *; // Variables (easy way to make style changes)
15
+ @use "core/Mixins" as *; // Less shortcuts and functions
16
+ @use "core/Reset" as *; // CSS Reset
17
+ @use "Typography" as *;
18
+
19
+ // Icons
20
+ @use "icons/Icons" as *;
21
+
22
+ // Components
23
+ @use "ui/VCO.MenuBar" as *;
24
+ @use "ui/VCO.MenuBar.Button" as *;
25
+ @use "ui/VCO.Message" as *;
26
+ @use "ui/VCO.Consent" as *;
27
+ @use "slider/VCO.Slide" as *;
28
+ @use "slider/VCO.SlideNav" as *;
29
+ @use "slider/VCO.StorySlider" as *;
30
+ @use "media/VCO.Media" as *;
31
+ @use "media/types/VCO.Media.Text" as *;
32
+ @use "media/types/VCO.Media.Image" as *;
33
+ @use "media/types/VCO.Media.Twitter" as *;
34
+ @use "media/types/VCO.Media.Blockquote" as *;
35
+ @use "media/types/VCO.Media.Instagram" as *;
36
+ @use "media/types/VCO.Media.Profile" as *;
37
+ @use "media/types/VCO.Media.IFrame" as *;
38
+ @use "media/types/VCO.Media.Wikipedia" as *;
39
+ @use "map/openlayers/VCO.Map.OpenLayers" as *;
40
+ @use "map/VCO.MapMarker" as *;
41
+ @use "map/VCO.ImageMarker" as *;
42
+ @use "map/VCO.Map" as *;
43
+ @use "snapmap/VCO.SnapMap" as *;
44
+
45
+ /* StoryMap
46
+ ================================================== */
47
+ .vco-storymap {
48
+ width: 100%;
49
+ height: 100%;
50
+ font-size: 16px;
51
+ line-height: normal;
52
+ overflow: hidden;
53
+ position: relative;
54
+
55
+ @include user-select(none);
56
+
57
+ /* fullscreen: fill the screen and sit above everything else */
58
+ &:fullscreen {
59
+ width: 100%;
60
+ height: 100%;
61
+ background-color: $color-background;
62
+ }
63
+
64
+ *,
65
+ *::before,
66
+ *::after {
67
+ box-sizing: content-box;
68
+ }
69
+ }
70
+
71
+ /* Portrait
72
+ ================================================== */
73
+ .vco-layout-portrait {
74
+ .vco-storyslider {
75
+ padding-top: 10px;
76
+
77
+ @include box-shadow(0 -3px 6px rgba(0, 0, 0, 0.2));
78
+ }
79
+ }
80
+
81
+ /* Landscape
82
+ ================================================== */
83
+ .vco-layout-landscape {
84
+ .vco-storyslider {
85
+ padding-top: 0;
86
+ position: absolute;
87
+ width: 50%;
88
+ left: 50%;
89
+ overflow: visible;
90
+
91
+ .vco-slider-background {
92
+ margin-left: -20%;
93
+ width: 120%;
94
+ overflow: hidden;
95
+
96
+ @include gradient-horizontal(
97
+ rgba(255, 255, 255, 0.0001),
98
+ rgba(255, 255, 255, 0.85),
99
+ 0%,
100
+ 15%
101
+ );
102
+ }
103
+
104
+ .vco-slider-container-mask {
105
+ overflow: visible;
106
+ }
107
+ }
108
+ }
109
+
110
+ /* Map area "left" (options.map_area): the map is limited to the left,
111
+ visible half and the slide panel is opaque — no gradient fades over the
112
+ map, so the view center is the visible center (no offset needed)
113
+ ================================================== */
114
+ .vco-map-area-left {
115
+ .vco-storyslider {
116
+ background-color: $color-background;
117
+ }
118
+
119
+ .vco-slider-background {
120
+ display: none;
121
+ }
122
+ }
123
+
124
+ /* Right to Left
125
+ ================================================== */
126
+ .vco-rtl {
127
+ direction: rtl;
128
+
129
+ .vco-text-content,
130
+ .vco-text,
131
+ .vco-caption,
132
+ .vco-media-wikipedia,
133
+ .vco-headline,
134
+ .vco-media-blockquote {
135
+ text-align: right;
136
+ }
137
+
138
+ // mirror the slider navigation
139
+ .vco-slidenav-next {
140
+ right: auto;
141
+ left: 100px;
142
+ text-align: left;
143
+
144
+ .vco-slidenav-icon {
145
+ margin-left: 0;
146
+ margin-right: 100 - 24px;
147
+ }
148
+ }
149
+
150
+ .vco-slidenav-previous {
151
+ left: auto;
152
+ right: 100px;
153
+ text-align: right;
154
+
155
+ .vco-slidenav-icon {
156
+ margin-right: 0;
157
+ margin-left: 0;
158
+ }
159
+ }
160
+
161
+ .vco-marker-label {
162
+ transform: translateX(50%);
163
+ }
164
+ }
@@ -0,0 +1,56 @@
1
+ @use "sass:color";
2
+
3
+ /* VARIABLES
4
+ ----------------------------------------------------- */
5
+
6
+ /* UI
7
+ ================================================== */
8
+ $axis-height: 35px;
9
+
10
+ /* TYPEFACE
11
+ ================================================== */
12
+ $font-serif:
13
+ "Georgia",
14
+ times new roman,
15
+ times,
16
+ serif;
17
+ $font-sanserif: "Helvetica Neue", helvetica, arial, sans-serif;
18
+ $font-main: $font-sanserif;
19
+ $font-secondary: $font-serif;
20
+ $base-font-size: 15px;
21
+ $base-font-size-small: 11px;
22
+ $base-font-size-large: 24px;
23
+ $base-font-size-xlarge: 36px;
24
+ $base-line-height: 1.4286;
25
+
26
+ /* COLOR SCHEME
27
+ ================================================== */
28
+ $color-background: #222;
29
+ $color-foreground: #ccc;
30
+ $color-dark: #fff;
31
+ $color-theme: #c34528; // #DA0000;
32
+
33
+ $color-theme-dark: color.adjust($color-theme, $lightness: -15%);
34
+ $color-text: color.adjust($color-dark, $lightness: -50%);
35
+ $color-header-text: $color-dark;
36
+ $color-text-inverted: color.adjust($color-dark, $lightness: -25%);
37
+ $color-header-text-inverted: $color-dark;
38
+
39
+ /* UI COLOR
40
+ ================================================== */
41
+ $ui-background-color: color.adjust($color-foreground, $lightness: -50%);
42
+ $marker-color: color.adjust($ui-background-color, $lightness: -15%);
43
+ $marker-selected-text-color: $color-dark;
44
+ $minor-ticks-color: color.adjust($color-dark, $lightness: -66%);
45
+ $major-ticks-color: color.adjust($color-dark, $lightness: -33%);
46
+
47
+ /* UI
48
+ ================================================== */
49
+ $base-spacing: 15px;
50
+ $arrow-size: 20px;
51
+ $time-marker-border-radius: 10px;
52
+
53
+ /* Animation
54
+ ================================================== */
55
+ $animation-ease: cubic-bezier(0.77, 0, 0.175, 1);
56
+ $animation-duration: 1000ms;
@@ -0,0 +1,47 @@
1
+ @use "sass:color";
2
+
3
+ /* VARIABLES
4
+ ----------------------------------------------------- */
5
+
6
+ /* TYPEFACE
7
+ ================================================== */
8
+ $font-serif:
9
+ "Georgia",
10
+ times new roman,
11
+ times,
12
+ serif;
13
+ $font-sanserif: "Helvetica Neue", helvetica, arial, sans-serif;
14
+ $font-main: $font-sanserif;
15
+ $font-secondary: $font-serif;
16
+ $base-font-size: 15px;
17
+ $base-font-size-small: 11px;
18
+ $base-font-size-large: 24px;
19
+ $base-font-size-xlarge: 36px;
20
+ $base-line-height: 1.4286;
21
+
22
+ /* COLOR SCHEME
23
+ ================================================== */
24
+ $color-background: #fff;
25
+ $color-foreground: #333;
26
+ $color-dark: #000;
27
+ $color-theme: #c34528; // #DA0000;
28
+
29
+ $color-theme-dark: color.adjust($color-theme, $lightness: -15%);
30
+ $color-text: color.adjust($color-foreground, $lightness: 25%);
31
+ $color-header-text: $color-dark;
32
+ $color-text-inverted: color.adjust($color-background, $lightness: -33%);
33
+ $color-header-text-inverted: $color-background;
34
+
35
+ /* UI COLOR
36
+ ================================================== */
37
+ $ui-background-color: color.adjust($color-background, $lightness: -15%);
38
+
39
+ /* UI
40
+ ================================================== */
41
+ $base-spacing: 15px;
42
+ $arrow-size: 20px;
43
+
44
+ /* Animation
45
+ ================================================== */
46
+ $animation-ease: cubic-bezier(0.77, 0, 0.175, 1);
47
+ $animation-duration: 1000ms;
@@ -0,0 +1,112 @@
1
+ @use "sass:color";
2
+ @use "sass:math";
3
+
4
+ /* Mixins.scss
5
+ Snippets of reusable CSS to develop faster and keep code readable
6
+ * ----------------------------------------------------------------- */
7
+
8
+ // Cubic Bezier
9
+ @mixin animation-timing-cubic-bezier {
10
+ transition-timing-function: cubic-bezier(0.77, 0, 0.175, 1);
11
+ }
12
+
13
+ // Property Animation
14
+ @mixin property-animation($prop: height, $time: 1000ms, $ease: cubic-bezier(0.77, 0, 0.175, 1)) {
15
+ transition: $prop $time $ease;
16
+ }
17
+
18
+ // Opacity
19
+ @mixin opacity($opacity: 100) {
20
+ opacity: math.div($opacity, 100);
21
+ }
22
+
23
+ // Background Color Opacity
24
+ @mixin background-color-opacity($cr: 0, $cg: 0, $cb: 0, $opacity: 100) {
25
+ background: rgba($cr, $cg, $cb, math.div($opacity, 100));
26
+ }
27
+
28
+ // Slide Text Shadow
29
+ @mixin slide-text-shadow($shadow: 1px 1px 1px #000) {
30
+ color: #fff !important;
31
+ text-shadow: $shadow !important;
32
+ }
33
+
34
+ // Border Radius
35
+ @mixin border-radius($radius: 5px) {
36
+ border-radius: $radius;
37
+ }
38
+
39
+ // Single side border-radius
40
+ @mixin border-right-radius($radius) {
41
+ border-bottom-right-radius: $radius;
42
+ border-top-right-radius: $radius;
43
+ }
44
+
45
+ @mixin border-left-radius($radius) {
46
+ border-bottom-left-radius: $radius;
47
+ border-top-left-radius: $radius;
48
+ }
49
+
50
+ // Box Shadow
51
+ @mixin box-shadow($shadow: 1px 1px 7px rgba(0, 0, 0, 0.3)) {
52
+ box-shadow: $shadow;
53
+ }
54
+
55
+ // Transform
56
+ @mixin transform($transform) {
57
+ transform: $transform;
58
+ }
59
+
60
+ // User select
61
+ // For selecting text on the page
62
+ @mixin user-select($select) {
63
+ user-select: $select;
64
+ }
65
+
66
+ // Clear Fix
67
+ @mixin clearfix {
68
+ &::before,
69
+ &::after {
70
+ display: table;
71
+ content: "";
72
+ }
73
+
74
+ &::after {
75
+ clear: both;
76
+ }
77
+ }
78
+
79
+ @mixin translucent-background($color: #fff, $alpha: 1) {
80
+ background-color: rgba($color, $alpha);
81
+ }
82
+
83
+ // GRADIENTS
84
+ // --------------------------------------------------
85
+
86
+ // Horizontal gradient, from left to right
87
+ @mixin gradient-horizontal(
88
+ $start-color: #555,
89
+ $end-color: #333,
90
+ $start-percent: 0%,
91
+ $end-percent: 100%
92
+ ) {
93
+ background-image: linear-gradient(
94
+ to right,
95
+ $start-color $start-percent,
96
+ $end-color $end-percent
97
+ );
98
+ }
99
+
100
+ @mixin gradient-horizontal-three-colors(
101
+ $start-color: #00b3ee,
102
+ $mid-color: #7a43b6,
103
+ $color-stop: 50%,
104
+ $end-color: #c3325f
105
+ ) {
106
+ background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
107
+ background-repeat: no-repeat;
108
+ }
109
+
110
+ @mixin gradient-radial($inner-color: #555, $outer-color: #333) {
111
+ background-image: radial-gradient(circle, $inner-color, $outer-color);
112
+ }
@@ -0,0 +1,206 @@
1
+ /* Reset
2
+ ------------------------------------------------------------------------------------------- */
3
+
4
+ .vco-storyjs {
5
+ /* Reset tags and common classes
6
+ Display in IE6-9 and FF3
7
+ Based on: http://github.com/necolas/normalize.css
8
+ ------------------------------------------------------------------------------------------- */
9
+
10
+ div * {
11
+ box-sizing: content-box;
12
+ }
13
+
14
+ h1,
15
+ h2,
16
+ h3,
17
+ h4,
18
+ h5,
19
+ h6,
20
+ p,
21
+ blockquote,
22
+ pre,
23
+ a,
24
+ abbr,
25
+ acronym,
26
+ address,
27
+ cite,
28
+ code,
29
+ del,
30
+ dfn,
31
+ em,
32
+ img,
33
+ q,
34
+ s,
35
+ samp,
36
+ small,
37
+ strike,
38
+ strong,
39
+ sub,
40
+ sup,
41
+ tt,
42
+ var,
43
+ dd,
44
+ dl,
45
+ dt,
46
+ li,
47
+ ol,
48
+ ul,
49
+ fieldset,
50
+ form,
51
+ label,
52
+ legend,
53
+ button,
54
+ table,
55
+ caption,
56
+ tbody,
57
+ tfoot,
58
+ thead,
59
+ tr,
60
+ th,
61
+ td,
62
+ .vco-container,
63
+ .content-container,
64
+ .media,
65
+ .text,
66
+ .vco-slider,
67
+ .slider,
68
+ .date,
69
+ .title,
70
+ .message,
71
+ .map,
72
+ .credit,
73
+ .caption,
74
+ .vco-feedback,
75
+ .vco-feature,
76
+ .toolbar,
77
+ .marker,
78
+ .dot,
79
+ .line,
80
+ .flag,
81
+ .time,
82
+ .era,
83
+ .major,
84
+ .minor,
85
+ .vco-navigation,
86
+ .start,
87
+ .active {
88
+ margin: 0;
89
+ padding: 0;
90
+ border: 0;
91
+ font-weight: normal;
92
+ font-style: normal;
93
+ font-size: 100%;
94
+ line-height: 1;
95
+ font-family: inherit;
96
+ width: auto;
97
+ float: none;
98
+ }
99
+
100
+ h1,
101
+ h2,
102
+ h3,
103
+ h4,
104
+ h5,
105
+ h6 {
106
+ clear: none;
107
+ }
108
+
109
+ table {
110
+ border-collapse: collapse;
111
+ border-spacing: 0;
112
+ }
113
+
114
+ ol,
115
+ ul {
116
+ list-style: none;
117
+ }
118
+
119
+ q::before,
120
+ q::after,
121
+ blockquote::before,
122
+ blockquote::after {
123
+ content: "";
124
+ }
125
+
126
+ a:focus {
127
+ outline: thin dotted;
128
+ }
129
+
130
+ a:hover,
131
+ a:active {
132
+ outline: 0;
133
+ }
134
+
135
+ article,
136
+ aside,
137
+ details,
138
+ figcaption,
139
+ figure,
140
+ footer,
141
+ header,
142
+ hgroup,
143
+ nav,
144
+ section {
145
+ display: block;
146
+ }
147
+
148
+ audio,
149
+ canvas,
150
+ video {
151
+ display: inline-block;
152
+ }
153
+
154
+ /* Prevents modern browsers from displaying 'audio' without controls
155
+ Based on: http://github.com/necolas/normalize.css
156
+ ------------------------------------------------------------------------------------------- */
157
+ audio:not([controls]) {
158
+ display: none;
159
+ }
160
+
161
+ div {
162
+ max-width: none;
163
+ }
164
+
165
+ /* Prevents sub and sup affecting line-height in all browsers
166
+ Based on: http://github.com/necolas/normalize.css
167
+ ------------------------------------------------------------------------------------------- */
168
+ sub,
169
+ sup {
170
+ font-size: 75%;
171
+ line-height: 0;
172
+ position: relative;
173
+ vertical-align: baseline;
174
+ }
175
+
176
+ sup {
177
+ top: -0.5em;
178
+ }
179
+
180
+ sub {
181
+ bottom: -0.25em;
182
+ }
183
+
184
+ button,
185
+ input {
186
+ line-height: normal; // FF3/4 have !important on line-height in UA stylesheet
187
+ }
188
+
189
+ button,
190
+ input[type="button"],
191
+ input[type="reset"],
192
+ input[type="submit"] {
193
+ cursor: pointer; // Cursors on all buttons applied consistently
194
+ appearance: auto; // Style clicable inputs in iOS
195
+ }
196
+
197
+ input[type="search"] {
198
+ // Appearance in Safari/Chrome
199
+ appearance: textfield;
200
+ }
201
+
202
+ textarea {
203
+ overflow: auto;
204
+ vertical-align: top; // Readability and alignment cross-browser
205
+ }
206
+ }
@@ -0,0 +1,113 @@
1
+ @use "sass:map";
2
+ @use "../Variables" as *;
3
+
4
+ /* Font Base
5
+ ----------------------------------------------------- */
6
+
7
+ @mixin font-base($theme: ()) {
8
+ $theme: map.merge(
9
+ (
10
+ font-main: $font-main,
11
+ font-secondary: $font-secondary,
12
+ font-navigation: $font-main,
13
+ font-marker: $font-secondary,
14
+ font-headline-date: $font-main,
15
+ base-font-size: $base-font-size,
16
+ base-font-weight: normal,
17
+ font-blockquote: $font-main,
18
+ font-blockquote-weight: normal,
19
+ font-blockquote-style: italic,
20
+ font-size-headings: 46px,
21
+ font-headings-lineheight: 1.3em,
22
+ font-headings-text-transform: none,
23
+ font-headings-weight: bold,
24
+ font-size-headings-small: 24px,
25
+ font-size-headline-title: 58px,
26
+ font-navigation-text-transform: none,
27
+ font-marker-text-transform: none,
28
+ ),
29
+ $theme
30
+ );
31
+
32
+ .vco-storymap {
33
+ font-family: map.get($theme, font-main);
34
+ font-weight: map.get($theme, base-font-weight);
35
+ font-size: map.get($theme, base-font-size);
36
+ line-height: 1.3em;
37
+
38
+ h1,
39
+ h2,
40
+ h3,
41
+ h4,
42
+ h5,
43
+ h6 {
44
+ font-family: map.get($theme, font-secondary);
45
+ text-transform: map.get($theme, font-headings-text-transform);
46
+ font-weight: map.get($theme, font-headings-weight);
47
+ font-size: map.get($theme, font-size-headings);
48
+ line-height: map.get($theme, font-headings-lineheight);
49
+
50
+ // margin-bottom:0;
51
+ }
52
+
53
+ h2.vco-headline-title {
54
+ font-size: map.get($theme, font-size-headline-title);
55
+ line-height: map.get($theme, font-size-headline-title);
56
+ }
57
+
58
+ p {
59
+ font-family: map.get($theme, font-main);
60
+ font-size: map.get($theme, base-font-size);
61
+ line-height: 1.3em;
62
+
63
+ // margin-top:0;
64
+ }
65
+
66
+ .vco-media .vco-media-wikipedia h4 a {
67
+ font-size: map.get($theme, font-size-headings-small);
68
+ line-height: map.get($theme, font-size-headings-small);
69
+ }
70
+
71
+ .vcard {
72
+ font-family: map.get($theme, font-navigation) !important;
73
+ font-weight: normal !important;
74
+ }
75
+
76
+ .vco-slidenav-next,
77
+ .vco-slidenav-previous,
78
+ .vco-message,
79
+ .vco-slide-calltoaction-button-text {
80
+ font-family: map.get($theme, font-navigation);
81
+ text-transform: map.get($theme, font-navigation-text-transform);
82
+
83
+ .vco-slidenav-title {
84
+ line-height: 1.3em !important;
85
+ }
86
+ }
87
+
88
+ .vco-headline-date,
89
+ h3.vco-headline-date {
90
+ font-family: map.get($theme, font-headline-date) !important;
91
+ text-transform: map.get($theme, font-headings-text-transform) !important;
92
+
93
+ small {
94
+ font-weight: normal !important;
95
+ }
96
+ }
97
+
98
+ blockquote,
99
+ blockquote p {
100
+ font-style: map.get($theme, font-blockquote-style);
101
+ font-weight: map.get($theme, font-blockquote-weight);
102
+ line-height: 1.3;
103
+ }
104
+ }
105
+
106
+ input[type="text"].editor-headline {
107
+ font-family: map.get($theme, font-secondary);
108
+ text-transform: map.get($theme, font-headings-text-transform);
109
+ font-weight: map.get($theme, font-headings-weight);
110
+ font-size: map.get($theme, font-size-headings);
111
+ line-height: map.get($theme, font-size-headings);
112
+ }
113
+ }