pageflow 15.1.0 → 15.2.2
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.
Potentially problematic release.
This version of pageflow might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/CHANGELOG.md +92 -161
- data/README.md +1 -2
- data/admins/pageflow/accounts.rb +94 -19
- data/app/assets/javascripts/pageflow/admin/accounts.js +3 -3
- data/app/assets/javascripts/pageflow/dist/frontend.js +2 -0
- data/app/assets/javascripts/pageflow/dist/ui.js +9 -0
- data/app/assets/stylesheets/pageflow/themes/default/logo/variant/background_image.scss +4 -0
- data/app/assets/stylesheets/pageflow/themes/default/logo/variant/watermark.scss +5 -0
- data/app/controllers/pageflow/editor/widgets_controller.rb +1 -1
- data/app/helpers/pageflow/pages_helper.rb +1 -0
- data/app/models/pageflow/account.rb +6 -0
- data/app/models/pageflow/draft_entry.rb +13 -3
- data/app/models/pageflow/entry.rb +8 -1
- data/app/models/pageflow/entry_template.rb +55 -0
- data/app/models/pageflow/published_entry.rb +13 -3
- data/app/models/pageflow/revision.rb +1 -1
- data/app/models/pageflow/theming.rb +8 -47
- data/app/policies/pageflow/entry_template_policy.rb +18 -0
- data/app/policies/pageflow/theming_policy.rb +0 -4
- data/app/views/admin/accounts/_configuration_label.html.erb +5 -0
- data/app/views/admin/accounts/_entry_template_details.html.arb +17 -0
- data/app/views/admin/accounts/_form.html.erb +43 -23
- data/app/views/admin/accounts/_share_providers_label.html.erb +5 -0
- data/app/views/admin/accounts/_theming_details.html.arb +0 -12
- data/app/views/pageflow/themes/_theme.json.jbuilder +1 -0
- data/config/locales/de.yml +12 -7
- data/config/locales/en.yml +12 -7
- data/db/migrate/20200122115400_create_pageflow_entry_templates.rb +75 -0
- data/db/migrate/20200206134400_convert_legacy_scrolled_content_element_types.rb +48 -0
- data/entry_types/paged/app/assets/javascripts/pageflow_paged/dist/editor.js +42 -4
- data/entry_types/scrolled/app/controllers/pageflow_scrolled/editor/content_elements_controller.rb +1 -0
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/editor/seed_html_helper.rb +4 -1
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/entry_json_seed_helper.rb +2 -1
- data/entry_types/scrolled/app/helpers/pageflow_scrolled/i18n_helper.rb +35 -0
- data/entry_types/scrolled/app/views/pageflow_scrolled/editor/entries/_seed.json.jbuilder +1 -1
- data/entry_types/scrolled/app/views/pageflow_scrolled/entries/show.html.erb +14 -2
- data/entry_types/scrolled/app/views/pageflow_scrolled/entry_json_seed/_entry.json.jbuilder +10 -1
- data/entry_types/scrolled/config/locales/new/de.yml +231 -8
- data/entry_types/scrolled/config/locales/new/en.yml +228 -10
- data/entry_types/scrolled/lib/generators/pageflow_scrolled/install/install_generator.rb +3 -0
- data/entry_types/scrolled/lib/pageflow_scrolled/seeds.rb +9 -4
- data/entry_types/scrolled/lib/tasks/pageflow_scrolled_tasks.rake +96 -0
- data/entry_types/scrolled/package/contentElements-editor.js +410 -0
- data/entry_types/scrolled/package/contentElements-frontend.js +533 -0
- data/entry_types/scrolled/package/editor.js +498 -2561
- data/entry_types/scrolled/package/frontend.js +713 -1238
- data/entry_types/scrolled/package/package.json +12 -2
- data/lib/pageflow/ability_mixin.rb +3 -2
- data/lib/pageflow/seeds.rb +0 -2
- data/lib/pageflow/theme.rb +4 -0
- data/lib/pageflow/themes.rb +5 -1
- data/lib/pageflow/version.rb +1 -1
- data/packages/pageflow/config/jest/index.js +0 -1
- data/packages/pageflow/config/jest/transformers/jst.js +1 -1
- data/packages/pageflow/config/webpack.js +0 -1
- data/packages/pageflow/editor.js +33 -4
- data/packages/pageflow/package.json +2 -1
- data/packages/pageflow/testHelpers.js +367 -4
- data/packages/pageflow/ui.js +9 -0
- data/spec/factories/accounts.rb +6 -0
- data/spec/factories/entry_templates.rb +8 -0
- data/spec/factories/published_entries.rb +3 -1
- data/spec/factories/themings.rb +0 -1
- metadata +14 -4
- data/app/assets/javascripts/pageflow/dist/editor.js +0 -11881
- data/app/assets/javascripts/pageflow/dist/index.js +0 -3
@@ -1,6 +1,8 @@
|
|
1
1
|
import React, { useRef, useLayoutEffect, useEffect, useReducer, useMemo, useContext, useState, useCallback } from 'react';
|
2
2
|
import ReactDOM from 'react-dom';
|
3
|
+
import classNames from 'classnames';
|
3
4
|
import ReactTooltip from 'react-tooltip';
|
5
|
+
import I18n from 'i18n-js';
|
4
6
|
|
5
7
|
function _defineProperty(obj, key, value) {
|
6
8
|
if (key in obj) {
|
@@ -59,61 +61,6 @@ function _slicedToArray(arr, i) {
|
|
59
61
|
return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _nonIterableRest();
|
60
62
|
}
|
61
63
|
|
62
|
-
var commonjsGlobal = typeof globalThis !== 'undefined' ? globalThis : typeof window !== 'undefined' ? window : typeof global !== 'undefined' ? global : typeof self !== 'undefined' ? self : {};
|
63
|
-
|
64
|
-
function createCommonjsModule(fn, module) {
|
65
|
-
return module = { exports: {} }, fn(module, module.exports), module.exports;
|
66
|
-
}
|
67
|
-
|
68
|
-
var classnames = createCommonjsModule(function (module) {
|
69
|
-
/*!
|
70
|
-
Copyright (c) 2017 Jed Watson.
|
71
|
-
Licensed under the MIT License (MIT), see
|
72
|
-
http://jedwatson.github.io/classnames
|
73
|
-
*/
|
74
|
-
/* global define */
|
75
|
-
|
76
|
-
(function () {
|
77
|
-
|
78
|
-
var hasOwn = {}.hasOwnProperty;
|
79
|
-
|
80
|
-
function classNames () {
|
81
|
-
var classes = [];
|
82
|
-
|
83
|
-
for (var i = 0; i < arguments.length; i++) {
|
84
|
-
var arg = arguments[i];
|
85
|
-
if (!arg) continue;
|
86
|
-
|
87
|
-
var argType = typeof arg;
|
88
|
-
|
89
|
-
if (argType === 'string' || argType === 'number') {
|
90
|
-
classes.push(arg);
|
91
|
-
} else if (Array.isArray(arg) && arg.length) {
|
92
|
-
var inner = classNames.apply(null, arg);
|
93
|
-
if (inner) {
|
94
|
-
classes.push(inner);
|
95
|
-
}
|
96
|
-
} else if (argType === 'object') {
|
97
|
-
for (var key in arg) {
|
98
|
-
if (hasOwn.call(arg, key) && arg[key]) {
|
99
|
-
classes.push(key);
|
100
|
-
}
|
101
|
-
}
|
102
|
-
}
|
103
|
-
}
|
104
|
-
|
105
|
-
return classes.join(' ');
|
106
|
-
}
|
107
|
-
|
108
|
-
if ( module.exports) {
|
109
|
-
classNames.default = classNames;
|
110
|
-
module.exports = classNames;
|
111
|
-
} else {
|
112
|
-
window.classNames = classNames;
|
113
|
-
}
|
114
|
-
}());
|
115
|
-
});
|
116
|
-
|
117
64
|
// from https://github.com/n8tb1t/use-scroll-position
|
118
65
|
var isBrowser = typeof window !== "undefined";
|
119
66
|
|
@@ -268,6 +215,9 @@ function reducer(state, action) {
|
|
268
215
|
|
269
216
|
function init(items) {
|
270
217
|
var keyAttribute = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'id';
|
218
|
+
items = items.filter(function (item) {
|
219
|
+
return item[keyAttribute];
|
220
|
+
});
|
271
221
|
return {
|
272
222
|
order: items.map(function (item) {
|
273
223
|
return item[keyAttribute];
|
@@ -338,6 +288,7 @@ function useEntryStateDispatch() {
|
|
338
288
|
* metaData // =>
|
339
289
|
* {
|
340
290
|
* id: 5,
|
291
|
+
* locale: 'en',
|
341
292
|
* shareProviders: {email: false, facebook: true},
|
342
293
|
* share_url: 'http://test.host/test',
|
343
294
|
* credits: 'Credits: Pageflow'
|
@@ -727,6 +678,43 @@ function useEntryStructure() {
|
|
727
678
|
return chapters;
|
728
679
|
}, [entryState]);
|
729
680
|
}
|
681
|
+
/**
|
682
|
+
* Returns a nested data structure representing the content elements
|
683
|
+
* of section.
|
684
|
+
*
|
685
|
+
* @param {Object} options
|
686
|
+
* @param {number} options.sectionPermaId
|
687
|
+
*
|
688
|
+
* @example
|
689
|
+
*
|
690
|
+
* const section = useSectionStructure({sectionPermaId: 4});
|
691
|
+
* section // =>
|
692
|
+
* {
|
693
|
+
* permaId: 4,
|
694
|
+
* transition: 'scroll',
|
695
|
+
* foreground: [
|
696
|
+
* {
|
697
|
+
* type: 'heading',
|
698
|
+
* props: {
|
699
|
+
* children: 'Heading'
|
700
|
+
* }
|
701
|
+
* },
|
702
|
+
* {
|
703
|
+
* type: 'textBlock',
|
704
|
+
* props: {
|
705
|
+
* children: 'Some text'
|
706
|
+
* }
|
707
|
+
* }
|
708
|
+
* ]
|
709
|
+
* }
|
710
|
+
*/
|
711
|
+
|
712
|
+
function useSectionStructure(_ref) {
|
713
|
+
var sectionPermaId = _ref.sectionPermaId;
|
714
|
+
var entryState = useEntryState();
|
715
|
+
var section = getItem(entryState.collections, 'sections', sectionPermaId);
|
716
|
+
return sectionStructure(entryState.collections, section);
|
717
|
+
}
|
730
718
|
|
731
719
|
function sectionStructure(collections, section) {
|
732
720
|
return section && _objectSpread$1({
|
@@ -736,6 +724,7 @@ function sectionStructure(collections, section) {
|
|
736
724
|
return item.sectionId === section.id;
|
737
725
|
}).map(function (item) {
|
738
726
|
return {
|
727
|
+
id: item.id,
|
739
728
|
type: item.typeName,
|
740
729
|
position: item.configuration.position,
|
741
730
|
props: item.configuration
|
@@ -813,6 +802,9 @@ function pad(string, size) {
|
|
813
802
|
* urls: {
|
814
803
|
* large: 'https://...'
|
815
804
|
* },
|
805
|
+
* configuration: {
|
806
|
+
* alt: '...'
|
807
|
+
* }
|
816
808
|
* }
|
817
809
|
*/
|
818
810
|
|
@@ -840,9 +832,13 @@ function useFileRights() {
|
|
840
832
|
var entryState = useEntryState();
|
841
833
|
var defaultFileRights = entryState.config.defaultFileRights;
|
842
834
|
var imageFiles = getItems(entryState.collections, 'imageFiles');
|
843
|
-
var imageFileRights = imageFiles.
|
844
|
-
|
845
|
-
|
835
|
+
var imageFileRights = imageFiles.reduce(function (result, imageConfig) {
|
836
|
+
if (imageConfig && imageConfig.rights) {
|
837
|
+
result.push(imageConfig.rights.trim());
|
838
|
+
}
|
839
|
+
|
840
|
+
return result;
|
841
|
+
}, []).filter(Boolean).join(', ');
|
846
842
|
var fileRights = !!imageFileRights ? imageFileRights : defaultFileRights.trim();
|
847
843
|
var fileRightsString = !!fileRights ? 'Bildrechte: ' + fileRights : '';
|
848
844
|
return fileRightsString;
|
@@ -923,8 +919,8 @@ function styleInject(css, ref) {
|
|
923
919
|
}
|
924
920
|
}
|
925
921
|
|
926
|
-
var css = "header svg {\n fill: #c2c2c2;\n cursor: pointer;\n}\n\nheader svg:hover {\n fill: rgb(0, 55, 90);;\n}\n\n.AppHeader-module_navigationBar__2EFHw {\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\",\n \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n position: sticky;\n top: -50px;\n transition: top .15s;\n z-index: 10000;\n width: 100%;\n text-align: center;\n}\n\n.AppHeader-module_navigationBarExpanded__18nbf {\n top: 0;\n}\n\n.AppHeader-module_navigationBarContentWrapper__2Sf8y {\n position: relative;\n z-index: 2;\n background-color: #fff;\n height: 50px;\n}\n\n.AppHeader-module_menuIcon__5JKuj {\n position: absolute;\n}\n\n.AppHeader-module_wdrLogo__3XGNI {\n top: 12px;\n left: 15px;\n width: 80px;\n}\n\n.AppHeader-module_chapterList__2lMMD {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n\n.AppHeader-module_chapterListItem__28zrc {\n position: relative;\n display: inline-block;\n padding: 0 15px;\n border-right: 1px solid #e9e9e9;\n}\n\n.AppHeader-module_chapterListItem__28zrc:last-of-type {\n border-right: none;\n}\n\n.AppHeader-module_navigationTooltip__1EvCy {\n opacity: 1 !important;\n box-shadow: 0 0 0.3125rem rgba(0,0,0,.2);\n}\n\n.AppHeader-module_progressBar__17IVu {\n background-color: rgba(194,194,194,0.8);\n height: 8px;\n width: 100%;\n}\n\n.AppHeader-module_progressIndicator__3SlYz {\n position: absolute;\n top: 0;\n left: 0;\n width: 0vw;\n height: 100%;\n background-color: #e10028;\n}\n\n/* mobile view */\n@media (max-width: 780px) {\n .AppHeader-module_wdrLogo__3XGNI {\n position: inherit;\n }\n\n .AppHeader-module_navigationChapters__1dzyV {\n touch-action: none;\n display: block;\n position: fixed;\n top: 60px;\n left: 0px;\n background: rgba(255, 255, 255, 0.95);\n width: 100vw;\n height: 100vh;\n }\n\n .AppHeader-module_navigationChaptersHidden__8AEPA {\n display: none;\n }\n\n .AppHeader-module_chapterList__2lMMD {\n margin-top: 50px;\n }\n\n .AppHeader-module_chapterListItem__28zrc {\n display: list-item;\n width: 80vw;\n padding: 25px 10vw;\n border-right: none;\n }\n\n .AppHeader-module_chapterListItem__28zrc::before,\n .AppHeader-module_chapterListItem__28zrc::after {\n display: table;\n content: \" \";\n border-top: 1px solid rgb(100, 100, 100);\n width:
|
927
|
-
var styles = {"navigationBar":"AppHeader-module_navigationBar__2EFHw","navigationBarExpanded":"AppHeader-module_navigationBarExpanded__18nbf","navigationBarContentWrapper":"AppHeader-module_navigationBarContentWrapper__2Sf8y","menuIcon":"AppHeader-module_menuIcon__5JKuj","wdrLogo":"AppHeader-module_wdrLogo__3XGNI","chapterList":"AppHeader-module_chapterList__2lMMD","chapterListItem":"AppHeader-module_chapterListItem__28zrc","navigationTooltip":"AppHeader-module_navigationTooltip__1EvCy","progressBar":"AppHeader-module_progressBar__17IVu","progressIndicator":"AppHeader-module_progressIndicator__3SlYz","navigationChapters":"AppHeader-module_navigationChapters__1dzyV","navigationChaptersHidden":"AppHeader-module_navigationChaptersHidden__8AEPA"
|
922
|
+
var css = "header svg {\n fill: #c2c2c2;\n cursor: pointer;\n}\n\nheader svg:hover {\n fill: rgb(0, 55, 90);;\n}\n\n.AppHeader-module_navigationBar__2EFHw {\n font-family: -apple-system, BlinkMacSystemFont, \"Segoe UI\", \"Roboto\", \"Oxygen\",\n \"Ubuntu\", \"Cantarell\", \"Fira Sans\", \"Droid Sans\", \"Helvetica Neue\",\n sans-serif;\n position: sticky;\n top: -50px;\n transition: top .15s;\n z-index: 10000;\n width: 100%;\n text-align: center;\n}\n\n.AppHeader-module_navigationBarExpanded__18nbf {\n top: 0;\n}\n\n.AppHeader-module_navigationBarContentWrapper__2Sf8y {\n position: relative;\n z-index: 2;\n background-color: #fff;\n height: 50px;\n}\n\n.AppHeader-module_menuIcon__5JKuj {\n position: absolute;\n}\n\n.AppHeader-module_contextIcons__23I_3 {\n position: absolute;\n top: 0px;\n right: 0px;\n width: 80px;\n height: 50px;\n padding: 0px 12px;\n}\n\n.AppHeader-module_contextIcon__157kW {\n float: right;\n width: 40px;\n height: 50px;\n}\n\n.AppHeader-module_wdrLogo__3XGNI {\n top: 12px;\n left: 15px;\n width: 80px;\n}\n\n.AppHeader-module_chapterList__2lMMD {\n padding: 0;\n margin: 0;\n list-style: none;\n}\n\n.AppHeader-module_chapterListItem__28zrc {\n position: relative;\n display: inline-block;\n padding: 0 15px;\n border-right: 1px solid #e9e9e9;\n}\n\n.AppHeader-module_chapterListItem__28zrc:last-of-type {\n border-right: none;\n}\n\n.AppHeader-module_navigationTooltip__1EvCy {\n opacity: 1 !important;\n box-shadow: 0 0 0.3125rem rgba(0,0,0,.2);\n}\n\n.AppHeader-module_progressBar__17IVu {\n background-color: rgba(194,194,194,0.8);\n height: 8px;\n width: 100%;\n}\n\n.AppHeader-module_progressIndicator__3SlYz {\n position: absolute;\n top: 0;\n left: 0;\n width: 0vw;\n height: 100%;\n background-color: #e10028;\n}\n\n/* mobile view */\n@media (max-width: 780px) {\n .AppHeader-module_wdrLogo__3XGNI {\n position: inherit;\n }\n\n .AppHeader-module_navigationChapters__1dzyV {\n touch-action: none;\n display: block;\n position: fixed;\n top: 60px;\n left: 0px;\n background: rgba(255, 255, 255, 0.95);\n width: 100vw;\n height: 100vh;\n }\n\n .AppHeader-module_navigationChaptersHidden__8AEPA {\n display: none;\n }\n\n .AppHeader-module_chapterList__2lMMD {\n margin-top: 50px;\n }\n\n .AppHeader-module_chapterListItem__28zrc {\n display: list-item;\n width: 80vw;\n padding: 25px 10vw;\n border-right: none;\n }\n\n .AppHeader-module_chapterListItem__28zrc::before,\n .AppHeader-module_chapterListItem__28zrc::after {\n display: table;\n content: \" \";\n border-top: 1px solid rgb(100, 100, 100);\n width: 14%;\n margin: 0 43%;\n transition: width .15s, margin .15s;\n }\n\n .AppHeader-module_chapterListItem__28zrc:hover::before,\n .AppHeader-module_chapterListItem__28zrc:hover::after {\n border-top: 1px solid rgb(0, 55, 90);\n width: 80%;\n margin: 0 10%;\n }\n\n .AppHeader-module_chapterListItem__28zrc p {\n margin-top: 0;\n }\n\n .AppHeader-module_progressBar__17IVu {\n height: 10px;\n }\n}\n";
|
923
|
+
var styles = {"navigationBar":"AppHeader-module_navigationBar__2EFHw","navigationBarExpanded":"AppHeader-module_navigationBarExpanded__18nbf","navigationBarContentWrapper":"AppHeader-module_navigationBarContentWrapper__2Sf8y","menuIcon":"AppHeader-module_menuIcon__5JKuj","contextIcons":"AppHeader-module_contextIcons__23I_3","contextIcon":"AppHeader-module_contextIcon__157kW","wdrLogo":"AppHeader-module_wdrLogo__3XGNI","chapterList":"AppHeader-module_chapterList__2lMMD","chapterListItem":"AppHeader-module_chapterListItem__28zrc","navigationTooltip":"AppHeader-module_navigationTooltip__1EvCy","progressBar":"AppHeader-module_progressBar__17IVu","progressIndicator":"AppHeader-module_progressIndicator__3SlYz","navigationChapters":"AppHeader-module_navigationChapters__1dzyV","navigationChaptersHidden":"AppHeader-module_navigationChaptersHidden__8AEPA"};
|
928
924
|
styleInject(css);
|
929
925
|
|
930
926
|
var css$1 = ".HamburgerIcon-module_burgerMenuIconContainer__26RY4 {\n display: none;\n}\n\n.HamburgerIcon-module_burgerMenuIcon__24t-5 {\n top: 12px;\n left: 12px;\n outline: none;\n}\n\n/* mobile view */\n@media (max-width: 780px) {\n .HamburgerIcon-module_burgerMenuIconContainer__26RY4 {\n display: block;\n }\n}\n";
|
@@ -939,7 +935,7 @@ function HamburgerIcon(props) {
|
|
939
935
|
return React.createElement("div", {
|
940
936
|
className: styles$1.burgerMenuIconContainer
|
941
937
|
}, React.createElement("button", {
|
942
|
-
className:
|
938
|
+
className: classNames(styles.menuIcon, styles$1.burgerMenuIcon, hamburgerIconStyles.hamburger, hamburgerIconStyles['hamburger--collapse'], _defineProperty({}, hamburgerIconStyles['is-active'], !props.mobileNavHidden)),
|
943
939
|
type: "button",
|
944
940
|
onClick: props.onClick
|
945
941
|
}, React.createElement("span", {
|
@@ -949,24 +945,76 @@ function HamburgerIcon(props) {
|
|
949
945
|
}))));
|
950
946
|
}
|
951
947
|
|
952
|
-
var css$3 = ".ChapterLink-module_chapterLink__v5VRl {\n line-height: 3rem;\n color: rgb(0, 55, 90);\n text-decoration: none;\n position: relative;\n display: block;\n font-family: inherit;\n font-weight: 700;\n font-size: 1rem;\n height:
|
953
|
-
var styles$2 = {"chapterLink":"ChapterLink-module_chapterLink__v5VRl","chapterLinkActive":"ChapterLink-module_chapterLinkActive__jl4h5"};
|
948
|
+
var css$3 = ".ChapterLink-module_chapterLink__v5VRl {\n line-height: 3rem;\n color: rgb(0, 55, 90);\n text-decoration: none;\n position: relative;\n display: block;\n font-family: inherit;\n font-weight: 700;\n font-size: 1rem;\n height: 50px;\n}\n\n.ChapterLink-module_chapterLink__v5VRl:hover,\n.ChapterLink-module_chapterLinkActive__jl4h5 {\n color: #e10028;\n}\n\n.ChapterLink-module_summary__17aoW {\n display: none;\n}\n\n/* mobile view */\n@media (max-width: 780px) {\n .ChapterLink-module_summary__17aoW {\n display: block;\n }\n}";
|
949
|
+
var styles$2 = {"chapterLink":"ChapterLink-module_chapterLink__v5VRl","chapterLinkActive":"ChapterLink-module_chapterLinkActive__jl4h5","summary":"ChapterLink-module_summary__17aoW"};
|
954
950
|
styleInject(css$3);
|
955
951
|
|
956
952
|
var css$4 = ".ChapterLinkTooltip-module_chapterLinkTooltip__cCfsw {\n border-bottom: 3px solid #e10028;\n width: 200px;\n}\n\n.ChapterLinkTooltip-module_tooltipHeadline__reew_ {\n margin: 5px 0 0px;\n color: #e10028;\n}\n\n@media (max-width: 780px) {\n .ChapterLinkTooltip-module_chapterLinkTooltip__cCfsw {\n display: none !important;\n }\n}\n";
|
957
953
|
var styles$3 = {"chapterLinkTooltip":"ChapterLinkTooltip-module_chapterLinkTooltip__cCfsw","tooltipHeadline":"ChapterLinkTooltip-module_tooltipHeadline__reew_"};
|
958
954
|
styleInject(css$4);
|
959
955
|
|
956
|
+
function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
957
|
+
|
958
|
+
function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
959
|
+
function setupI18n(_ref) {
|
960
|
+
var defaultLocale = _ref.defaultLocale,
|
961
|
+
locale = _ref.locale,
|
962
|
+
translations = _ref.translations;
|
963
|
+
I18n.defaultLocale = defaultLocale;
|
964
|
+
I18n.locale = locale;
|
965
|
+
I18n.translations = translations;
|
966
|
+
}
|
967
|
+
/**
|
968
|
+
* Use translations in frontend elements. Uses the configured locale
|
969
|
+
* of the current entry by default. Note that only translation keys
|
970
|
+
* from the `pageflow_scrolled.public` scope are universally
|
971
|
+
* available.
|
972
|
+
*
|
973
|
+
* to render translations for inline editing controls in the editor
|
974
|
+
* preview, you can pass `"ui"` as `locale` option and use
|
975
|
+
* translations from the `pageflow_scrolled.inline_editing` scope.
|
976
|
+
*
|
977
|
+
* @param {Object} [options]
|
978
|
+
* @param {string} [locale="entry"] -
|
979
|
+
* Pass `"ui"` to use the locale of the editor interface instead.
|
980
|
+
*
|
981
|
+
* @example
|
982
|
+
* const {t} = useI18n();
|
983
|
+
* t('pageflow_scrolled.public.some.key')
|
984
|
+
*
|
985
|
+
* const {t} = useI18n({locale: 'ui'});
|
986
|
+
* t('pageflow_scrolled.inline_editing.some.key')
|
987
|
+
*/
|
988
|
+
|
989
|
+
function useI18n() {
|
990
|
+
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
991
|
+
scope = _ref2.locale;
|
992
|
+
|
993
|
+
var _useEntryMetadata = useEntryMetadata(),
|
994
|
+
locale = _useEntryMetadata.locale;
|
995
|
+
|
996
|
+
return {
|
997
|
+
t: function t(key, options) {
|
998
|
+
return I18n.t(key, _objectSpread$3({}, options, {
|
999
|
+
locale: scope !== 'ui' && locale
|
1000
|
+
}));
|
1001
|
+
}
|
1002
|
+
};
|
1003
|
+
}
|
1004
|
+
|
960
1005
|
function ChapterLinkTooltip(props) {
|
1006
|
+
var _useI18n = useI18n(),
|
1007
|
+
t = _useI18n.t;
|
1008
|
+
|
961
1009
|
return React.createElement(ReactTooltip, {
|
962
1010
|
id: props.chapterLinkId,
|
963
1011
|
type: "light",
|
964
1012
|
place: "bottom",
|
965
1013
|
effect: "solid",
|
966
|
-
className:
|
1014
|
+
className: classNames(styles.navigationTooltip, styles$3.chapterLinkTooltip)
|
967
1015
|
}, React.createElement("div", null, React.createElement("h3", {
|
968
1016
|
className: styles$3.tooltipHeadline
|
969
|
-
}, "
|
1017
|
+
}, t('pageflow_scrolled.public.navigation.chapter'), " ", props.chapterIndex), React.createElement("p", {
|
970
1018
|
dangerouslySetInnerHTML: {
|
971
1019
|
__html: props.summary
|
972
1020
|
}
|
@@ -975,20 +1023,25 @@ function ChapterLinkTooltip(props) {
|
|
975
1023
|
|
976
1024
|
function ChapterLink(props) {
|
977
1025
|
return React.createElement("div", null, React.createElement("a", {
|
978
|
-
className:
|
1026
|
+
className: classNames(styles$2.chapterLink, _defineProperty({}, styles$2.chapterLinkActive, props.active)),
|
979
1027
|
href: "#chapter-".concat(props.permaId),
|
980
1028
|
onClick: function onClick() {
|
981
1029
|
return props.handleMenuClick(props.chapterLinkId);
|
982
1030
|
},
|
983
1031
|
"data-tip": true,
|
984
1032
|
"data-for": props.chapterLinkId
|
985
|
-
}, props.title), React.createElement(
|
1033
|
+
}, props.title), React.createElement("p", {
|
1034
|
+
className: styles$2.summary,
|
1035
|
+
dangerouslySetInnerHTML: {
|
1036
|
+
__html: props.summary
|
1037
|
+
}
|
1038
|
+
}), React.createElement(ChapterLinkTooltip, Object.assign({
|
986
1039
|
chapterIndex: props.chapterIndex,
|
987
1040
|
chapterLinkId: props.chapterLinkId
|
988
1041
|
}, props)));
|
989
1042
|
}
|
990
1043
|
|
991
|
-
var css$5 = ".LegalInfoMenu-module_infoIcon__1kTnt {\n
|
1044
|
+
var css$5 = ".LegalInfoMenu-module_infoIcon__1kTnt svg {\n width: 26px;\n height: 26px;\n margin: 12px 0px;\n}\n\n";
|
992
1045
|
var styles$4 = {"infoIcon":"LegalInfoMenu-module_infoIcon__1kTnt"};
|
993
1046
|
styleInject(css$5);
|
994
1047
|
|
@@ -1023,7 +1076,7 @@ var InfoIcon = (function (_ref) {
|
|
1023
1076
|
}));
|
1024
1077
|
});
|
1025
1078
|
|
1026
|
-
var css$6 = ".LegalInfoTooltip-module_legalInfoTooltip__ChzOS {\n width: 200px;\n max-width: 200px;\n text-align: left;\n
|
1079
|
+
var css$6 = ".LegalInfoTooltip-module_legalInfoTooltip__ChzOS {\n width: 200px;\n max-width: 200px;\n text-align: left;\n}\n\n.LegalInfoTooltip-module_legalInfoTooltip__ChzOS:after {\n left: 90% !important;\n}\n\n.LegalInfoTooltip-module_legalInfoTooltip__ChzOS p {\n margin: 0 0 0.5em;\n}\n\n.LegalInfoTooltip-module_legalInfoTooltip__ChzOS a {\n color: #e10028;\n}\n";
|
1027
1080
|
var styles$5 = {"legalInfoTooltip":"LegalInfoTooltip-module_legalInfoTooltip__ChzOS"};
|
1028
1081
|
styleInject(css$6);
|
1029
1082
|
|
@@ -1050,10 +1103,9 @@ function LegalInfoTooltip() {
|
|
1050
1103
|
globalEventOff: 'click',
|
1051
1104
|
clickable: true,
|
1052
1105
|
offset: {
|
1053
|
-
bottom: 5,
|
1054
1106
|
right: -97
|
1055
1107
|
},
|
1056
|
-
className:
|
1108
|
+
className: classNames(styles.navigationTooltip, styles$5.legalInfoTooltip)
|
1057
1109
|
}, React.createElement("div", {
|
1058
1110
|
onMouseLeave: function onMouseLeave() {
|
1059
1111
|
ReactTooltip.hide();
|
@@ -1067,7 +1119,7 @@ function LegalInfoTooltip() {
|
|
1067
1119
|
|
1068
1120
|
function LegalInfoMenu(props) {
|
1069
1121
|
return React.createElement("div", null, React.createElement("a", {
|
1070
|
-
className:
|
1122
|
+
className: classNames(styles.contextIcon, styles$4.infoIcon),
|
1071
1123
|
"data-tip": true,
|
1072
1124
|
"data-for": 'legalInfoTooltip',
|
1073
1125
|
onMouseEnter: function onMouseEnter() {
|
@@ -1076,7 +1128,7 @@ function LegalInfoMenu(props) {
|
|
1076
1128
|
}, React.createElement(InfoIcon, null)), React.createElement(LegalInfoTooltip, null));
|
1077
1129
|
}
|
1078
1130
|
|
1079
|
-
var css$7 = ".SharingMenu-module_shareIcon__1AlDL {\n
|
1131
|
+
var css$7 = ".SharingMenu-module_shareIcon__1AlDL svg {\n width: 40px;\n height: 40px;\n margin: 5px 0px;\n}";
|
1080
1132
|
var styles$6 = {"shareIcon":"SharingMenu-module_shareIcon__1AlDL"};
|
1081
1133
|
styleInject(css$7);
|
1082
1134
|
|
@@ -1109,7 +1161,7 @@ var ShareIcon = (function (_ref) {
|
|
1109
1161
|
}));
|
1110
1162
|
});
|
1111
1163
|
|
1112
|
-
var css$8 = "header .share svg {\n fill: rgb(0, 55, 90);\n}\n\nheader .share:hover svg {\n fill: #e10028;\n}\n\n.SharingTooltip-module_sharingTooltip__1cljv {\n width: 160px;\n padding: 0 !important;\n}\n\n.SharingTooltip-module_sharingTooltip__1cljv:after {\n left: 90% !important;\n}\n\n.SharingTooltip-module_shareLinkContainer__2MnKN {\n
|
1164
|
+
var css$8 = "header .share svg {\n fill: rgb(0, 55, 90);\n}\n\nheader .share:hover svg {\n fill: #e10028;\n}\n\n.SharingTooltip-module_sharingTooltip__1cljv {\n width: 160px;\n padding: 0 !important;\n}\n\n.SharingTooltip-module_sharingTooltip__1cljv:after {\n left: 90% !important;\n}\n\n.SharingTooltip-module_shareLinkContainer__2MnKN {\n display: inline-block;\n width: 80px;\n height: 60px;\n cursor: pointer;\n color: transparent;\n text-align: center;\n}\n\n.SharingTooltip-module_shareLink__2ySSX {\n position: relative;\n color: rgb(0, 55, 90);\n text-decoration: none;\n}\n\n.SharingTooltip-module_shareLink__2ySSX:hover {\n color: #e10028;\n}\n\n.SharingTooltip-module_shareIcon__3igrs {\n width: 80px;\n height: 25px;\n margin-top: 5px;\n margin-bottom: 3px;\n}\n";
|
1113
1165
|
var styles$7 = {"sharingTooltip":"SharingTooltip-module_sharingTooltip__1cljv","shareLinkContainer":"SharingTooltip-module_shareLinkContainer__2MnKN","shareLink":"SharingTooltip-module_shareLink__2ySSX","shareIcon":"SharingTooltip-module_shareIcon__3igrs"};
|
1114
1166
|
styleInject(css$8);
|
1115
1167
|
|
@@ -1124,7 +1176,7 @@ function SharingTooltip() {
|
|
1124
1176
|
key: shareProvider.name,
|
1125
1177
|
className: styles$7.shareLinkContainer
|
1126
1178
|
}, React.createElement("a", {
|
1127
|
-
className:
|
1179
|
+
className: classNames('share', styles$7.shareLink),
|
1128
1180
|
href: shareProvider.url.replace('%{url}', shareUrl),
|
1129
1181
|
target: '_blank'
|
1130
1182
|
}, React.createElement(Icon, {
|
@@ -1143,7 +1195,7 @@ function SharingTooltip() {
|
|
1143
1195
|
offset: {
|
1144
1196
|
right: -64
|
1145
1197
|
},
|
1146
|
-
className:
|
1198
|
+
className: classNames(styles.navigationTooltip, styles$7.sharingTooltip)
|
1147
1199
|
}, React.createElement("div", {
|
1148
1200
|
onMouseLeave: function onMouseLeave() {
|
1149
1201
|
ReactTooltip.hide();
|
@@ -1152,14 +1204,20 @@ function SharingTooltip() {
|
|
1152
1204
|
}
|
1153
1205
|
|
1154
1206
|
function SharingMenu() {
|
1155
|
-
|
1156
|
-
|
1157
|
-
|
1158
|
-
"
|
1159
|
-
|
1160
|
-
|
1161
|
-
|
1162
|
-
|
1207
|
+
var shareProviders = useShareProviders();
|
1208
|
+
|
1209
|
+
if (shareProviders.length > 0) {
|
1210
|
+
return React.createElement("div", null, React.createElement("a", {
|
1211
|
+
className: classNames(styles.contextIcon, styles$6.shareIcon),
|
1212
|
+
"data-tip": true,
|
1213
|
+
"data-for": 'sharingTooltip',
|
1214
|
+
onMouseEnter: function onMouseEnter() {
|
1215
|
+
ReactTooltip.hide();
|
1216
|
+
}
|
1217
|
+
}, React.createElement(ShareIcon, null)), React.createElement(SharingTooltip, null));
|
1218
|
+
} else {
|
1219
|
+
return null;
|
1220
|
+
}
|
1163
1221
|
}
|
1164
1222
|
|
1165
1223
|
function _extends$8() {
|
@@ -1252,7 +1310,9 @@ function AppHeader(props) {
|
|
1252
1310
|
}
|
1253
1311
|
|
1254
1312
|
function renderChapterLinks(chapters) {
|
1255
|
-
return chapters.
|
1313
|
+
return chapters.filter(function (chapterConfiguration) {
|
1314
|
+
return chapterConfiguration.title && chapterConfiguration.summary;
|
1315
|
+
}).map(function (chapter, index) {
|
1256
1316
|
var chapterIndex = index + 1;
|
1257
1317
|
var chapterLinkId = "chapterLink".concat(chapterIndex);
|
1258
1318
|
return React.createElement("li", {
|
@@ -1267,21 +1327,23 @@ function AppHeader(props) {
|
|
1267
1327
|
});
|
1268
1328
|
}
|
1269
1329
|
return React.createElement("header", {
|
1270
|
-
className:
|
1330
|
+
className: classNames(styles.navigationBar, _defineProperty({}, styles.navigationBarExpanded, navExpanded))
|
1271
1331
|
}, React.createElement("div", {
|
1272
1332
|
className: styles.navigationBarContentWrapper
|
1273
1333
|
}, React.createElement(HamburgerIcon, {
|
1274
1334
|
onClick: handleBurgerMenuClick,
|
1275
1335
|
mobileNavHidden: mobileNavHidden
|
1276
1336
|
}), React.createElement(WDRlogo, {
|
1277
|
-
className:
|
1337
|
+
className: classNames(styles.menuIcon, styles.wdrLogo)
|
1278
1338
|
}), React.createElement("nav", {
|
1279
|
-
className:
|
1339
|
+
className: classNames(styles.navigationChapters, _defineProperty({}, styles.navigationChaptersHidden, mobileNavHidden)),
|
1280
1340
|
role: "navigation",
|
1281
1341
|
ref: ref
|
1282
1342
|
}, React.createElement("ul", {
|
1283
1343
|
className: styles.chapterList
|
1284
|
-
}, renderChapterLinks(chapters))), React.createElement(
|
1344
|
+
}, renderChapterLinks(chapters))), React.createElement("div", {
|
1345
|
+
className: classNames(styles.contextIcons)
|
1346
|
+
}, React.createElement(SharingMenu, null), React.createElement(LegalInfoMenu, null))), React.createElement("div", {
|
1285
1347
|
className: styles.progressBar,
|
1286
1348
|
onMouseEnter: handleProgressBarMouseEnter
|
1287
1349
|
}, React.createElement("span", {
|
@@ -1359,7 +1421,7 @@ function Image(props) {
|
|
1359
1421
|
var focusX = typeof image.configuration.focusX === 'undefined' ? 50 : image.configuration.focusX;
|
1360
1422
|
var focusY = typeof image.configuration.focusY === 'undefined' ? 50 : image.configuration.focusY;
|
1361
1423
|
return React.createElement("div", {
|
1362
|
-
className:
|
1424
|
+
className: classNames(styles$9.root, _defineProperty({}, styles$9.portrait, props.mobile)),
|
1363
1425
|
role: "img",
|
1364
1426
|
style: {
|
1365
1427
|
backgroundImage: "url(".concat(image.urls.large, ")"),
|
@@ -1420,11 +1482,16 @@ function Video(props) {
|
|
1420
1482
|
var videoRef = useRef();
|
1421
1483
|
var state = props.state;
|
1422
1484
|
var mutedSettings = useContext(MutedContext);
|
1423
|
-
var mediaOff = mutedSettings.mediaOff;
|
1424
1485
|
useEffect(function () {
|
1425
1486
|
var video = videoRef.current;
|
1426
1487
|
|
1427
|
-
if (video
|
1488
|
+
if (!video) {
|
1489
|
+
return;
|
1490
|
+
}
|
1491
|
+
|
1492
|
+
video.muted = mutedSettings.muted;
|
1493
|
+
|
1494
|
+
if (!mutedSettings.mediaOff && props.autoplay !== false) {
|
1428
1495
|
if (state === 'active') {
|
1429
1496
|
if (video.readyState > 0) {
|
1430
1497
|
video.play();
|
@@ -1442,21 +1509,21 @@ function Video(props) {
|
|
1442
1509
|
function play() {
|
1443
1510
|
video.play();
|
1444
1511
|
}
|
1445
|
-
}, [state,
|
1512
|
+
}, [state, mutedSettings.mediaOff, mutedSettings.muted, props.autoplay]);
|
1446
1513
|
return React.createElement("div", {
|
1447
1514
|
className: styles$a.root
|
1448
1515
|
}, React.createElement(ScrollToSectionContext.Consumer, null, function (scrollToSection) {
|
1449
1516
|
return React.createElement("video", {
|
1517
|
+
role: "img",
|
1450
1518
|
src: videoUrl,
|
1451
1519
|
ref: videoRef,
|
1452
|
-
className:
|
1520
|
+
className: classNames(styles$a.video, _defineProperty({}, styles$a.backdrop, !props.interactive)),
|
1453
1521
|
controls: props.controls,
|
1454
1522
|
playsInline: true,
|
1455
1523
|
onEnded: function onEnded() {
|
1456
1524
|
return props.nextSectionOnEnd && scrollToSection('next');
|
1457
1525
|
},
|
1458
1526
|
loop: !props.interactive,
|
1459
|
-
muted: mutedSettings.muted,
|
1460
1527
|
poster: posterUrl
|
1461
1528
|
});
|
1462
1529
|
}));
|
@@ -1495,7 +1562,7 @@ var MotifArea = React.forwardRef(function MotifArea(props, ref) {
|
|
1495
1562
|
|
1496
1563
|
return React.createElement("div", {
|
1497
1564
|
ref: ref,
|
1498
|
-
className:
|
1565
|
+
className: classNames(styles$c.root, _defineProperty({}, styles$c.active, props.active)),
|
1499
1566
|
style: position(props, image),
|
1500
1567
|
onMouseEnter: props.onMouseEnter,
|
1501
1568
|
onMouseLeave: props.onMouseLeave
|
@@ -1675,1118 +1742,391 @@ var videos = {
|
|
1675
1742
|
}
|
1676
1743
|
};
|
1677
1744
|
|
1678
|
-
var
|
1679
|
-
|
1680
|
-
|
1681
|
-
// of this software and associated documentation files (the "Software"), to deal
|
1682
|
-
// in the Software without restriction, including without limitation the rights
|
1683
|
-
// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
1684
|
-
// copies of the Software, and to permit persons to whom the Software is
|
1685
|
-
// furnished to do so, subject to the following conditions:
|
1686
|
-
// The above copyright notice and this permission notice shall be included in
|
1687
|
-
// all copies or substantial portions of the Software.
|
1688
|
-
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
1689
|
-
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
1690
|
-
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
1691
|
-
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
1692
|
-
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
1693
|
-
// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
1694
|
-
// THE SOFTWARE.
|
1695
|
-
// Originally based on version 1.2.1,
|
1696
|
-
// https://github.com/marcj/css-element-queries/tree/1.2.1
|
1697
|
-
// Some lines removed for compatibility.
|
1698
|
-
(function (root, factory) {
|
1699
|
-
{
|
1700
|
-
module.exports = factory();
|
1701
|
-
}
|
1702
|
-
})(typeof window !== 'undefined' ? window : commonjsGlobal, function () {
|
1703
|
-
// Make sure it does not throw in a SSR (Server Side Rendering) situation
|
1704
|
-
if (typeof window === "undefined") {
|
1705
|
-
return null;
|
1706
|
-
} // https://github.com/Semantic-Org/Semantic-UI/issues/3855
|
1707
|
-
// https://github.com/marcj/css-element-queries/issues/257
|
1708
|
-
|
1709
|
-
|
1710
|
-
var globalWindow = window; // Only used for the dirty checking, so the event callback count is limited to max 1 call per fps per sensor.
|
1711
|
-
// In combination with the event based resize sensor this saves cpu time, because the sensor is too fast and
|
1712
|
-
// would generate too many unnecessary events.
|
1745
|
+
var css$e = ".Backdrop-module_Backdrop__1w4UZ {\n width: 100%;\n z-index: 2;\n}\n\n.Backdrop-module_offScreen__2_FYZ {\n}\n";
|
1746
|
+
var styles$d = {"Backdrop":"Backdrop-module_Backdrop__1w4UZ","offScreen":"Backdrop-module_offScreen__2_FYZ"};
|
1747
|
+
styleInject(css$e);
|
1713
1748
|
|
1714
|
-
|
1715
|
-
|
1716
|
-
|
1749
|
+
function Backdrop(props) {
|
1750
|
+
var _useDimension = useDimension(),
|
1751
|
+
_useDimension2 = _slicedToArray(_useDimension, 2),
|
1752
|
+
containerDimension = _useDimension2[0],
|
1753
|
+
setContainerRef = _useDimension2[1];
|
1717
1754
|
|
1718
|
-
|
1719
|
-
|
1720
|
-
|
1721
|
-
|
1722
|
-
|
1755
|
+
return React.createElement("div", {
|
1756
|
+
className: classNames(styles$d.Backdrop, props.transitionStyles.backdrop, props.transitionStyles["backdrop-".concat(props.state)], _defineProperty({}, styles$d.offScreen, props.offScreen))
|
1757
|
+
}, React.createElement("div", {
|
1758
|
+
className: props.transitionStyles.backdropInner
|
1759
|
+
}, React.createElement("div", {
|
1760
|
+
className: props.transitionStyles.backdropInner2
|
1761
|
+
}, props.children(renderContent(props, containerDimension, setContainerRef)))));
|
1762
|
+
}
|
1763
|
+
Backdrop.defaultProps = {
|
1764
|
+
transitionStyles: {}
|
1765
|
+
};
|
1723
1766
|
|
1724
|
-
|
1725
|
-
|
1726
|
-
|
1727
|
-
|
1728
|
-
}
|
1729
|
-
|
1730
|
-
|
1767
|
+
function renderContent(props, containerDimension, setContainerRef) {
|
1768
|
+
if (props.image.toString().startsWith('#')) {
|
1769
|
+
return React.createElement(FillColor, {
|
1770
|
+
color: props.image
|
1771
|
+
});
|
1772
|
+
} else if (props.image.toString().startsWith('video')) {
|
1773
|
+
var video = videos[props.image];
|
1774
|
+
return React.createElement(Fullscreen, {
|
1775
|
+
ref: setContainerRef
|
1776
|
+
}, React.createElement(Video, {
|
1777
|
+
state: props.onScreen ? 'active' : 'inactive',
|
1778
|
+
id: props.image,
|
1779
|
+
offset: props.offset,
|
1780
|
+
interactive: props.interactive,
|
1781
|
+
nextSectionOnEnd: props.nextSectionOnEnd
|
1782
|
+
}), React.createElement(MotifArea, {
|
1783
|
+
ref: props.motifAreaRef,
|
1784
|
+
image: video,
|
1785
|
+
containerWidth: containerDimension.width,
|
1786
|
+
containerHeight: containerDimension.height
|
1787
|
+
}));
|
1788
|
+
} else {
|
1789
|
+
return React.createElement(Fullscreen, {
|
1790
|
+
ref: setContainerRef
|
1791
|
+
}, React.createElement(Image, {
|
1792
|
+
id: props.image
|
1793
|
+
}), React.createElement(Image, {
|
1794
|
+
id: props.imageMobile,
|
1795
|
+
mobile: true
|
1796
|
+
}), React.createElement(MotifArea, {
|
1797
|
+
ref: props.motifAreaRef,
|
1798
|
+
imageId: props.image,
|
1799
|
+
containerWidth: containerDimension.width,
|
1800
|
+
containerHeight: containerDimension.height
|
1801
|
+
}));
|
1731
1802
|
}
|
1803
|
+
}
|
1732
1804
|
|
1733
|
-
|
1734
|
-
|
1735
|
-
|
1736
|
-
|
1737
|
-
|
1738
|
-
|
1805
|
+
var Context$1 = React.createContext({});
|
1806
|
+
function EditorStateProvider(props) {
|
1807
|
+
var _useState = useState(null),
|
1808
|
+
_useState2 = _slicedToArray(_useState, 2),
|
1809
|
+
selection = _useState2[0],
|
1810
|
+
setSelectionState = _useState2[1];
|
1811
|
+
|
1812
|
+
var setSelection = useCallback(function (selection) {
|
1813
|
+
if (window.parent !== window) {
|
1814
|
+
window.parent.postMessage({
|
1815
|
+
type: 'SELECTED',
|
1816
|
+
payload: selection || {}
|
1817
|
+
}, window.location.origin);
|
1739
1818
|
}
|
1740
1819
|
|
1741
|
-
|
1742
|
-
|
1743
|
-
|
1744
|
-
|
1745
|
-
|
1746
|
-
|
1820
|
+
setSelectionState(selection);
|
1821
|
+
}, []);
|
1822
|
+
var value = useMemo(function () {
|
1823
|
+
return props.active ? {
|
1824
|
+
selection: selection,
|
1825
|
+
setSelection: setSelection
|
1826
|
+
} : {};
|
1827
|
+
}, [props.active, setSelection, selection]);
|
1828
|
+
return React.createElement(Context$1.Provider, {
|
1829
|
+
value: value
|
1830
|
+
}, props.children);
|
1831
|
+
}
|
1832
|
+
function useEditorSelection(options) {
|
1833
|
+
var _useContext = useContext(Context$1),
|
1834
|
+
selection = _useContext.selection,
|
1835
|
+
setSelection = _useContext.setSelection;
|
1836
|
+
|
1837
|
+
var resetSelection = useCallback(function () {
|
1838
|
+
setSelection(null);
|
1839
|
+
}, [setSelection]);
|
1840
|
+
var select = useCallback(function (selection) {
|
1841
|
+
setSelection(selection || options);
|
1842
|
+
}, [setSelection, options]);
|
1843
|
+
return useMemo(function () {
|
1844
|
+
return setSelection ? {
|
1845
|
+
isSelected: selection && options && selection.id === options.id && selection.type === options.type,
|
1846
|
+
isSelectable: !selection || selection.type === 'contentElement',
|
1847
|
+
select: select,
|
1848
|
+
resetSelection: resetSelection
|
1849
|
+
} : {};
|
1850
|
+
}, [options, selection, setSelection, select, resetSelection]);
|
1851
|
+
}
|
1747
1852
|
|
1748
|
-
|
1749
|
-
|
1750
|
-
|
1751
|
-
});
|
1752
|
-
}
|
1853
|
+
var css$f = ".Foreground-module_Foreground__13ODU {\n position: relative;\n z-index: 3;\n\n box-sizing: border-box;\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.Foreground-module_fullFadeHeight__2p9dx {\n min-height: 51vh;\n}\n\n.Foreground-module_fullHeight__1vMXb {\n min-height: 100vh;\n}\n\n.Foreground-module_fullFadeHeight__2p9dx.Foreground-module_enlarge__14Plm,\n.Foreground-module_fullHeight__1vMXb.Foreground-module_enlarge__14Plm {\n min-height: 130vh;\n}\n\n.Foreground-module_hidden__2dmAx {\n visibility: hidden;\n}\n";
|
1854
|
+
var styles$e = {"Foreground":"Foreground-module_Foreground__13ODU","fullFadeHeight":"Foreground-module_fullFadeHeight__2p9dx","fullHeight":"Foreground-module_fullHeight__1vMXb","enlarge":"Foreground-module_enlarge__14Plm","hidden":"Foreground-module_hidden__2dmAx"};
|
1855
|
+
styleInject(css$f);
|
1753
1856
|
|
1754
|
-
|
1755
|
-
|
1756
|
-
|
1857
|
+
function Foreground(props) {
|
1858
|
+
var _useEditorSelection = useEditorSelection(),
|
1859
|
+
resetSelection = _useEditorSelection.resetSelection;
|
1757
1860
|
|
1758
|
-
|
1759
|
-
|
1760
|
-
|
1861
|
+
return React.createElement("div", {
|
1862
|
+
className: className(props),
|
1863
|
+
onClick: resetSelection
|
1864
|
+
}, props.children);
|
1865
|
+
}
|
1761
1866
|
|
1762
|
-
|
1867
|
+
function className(props) {
|
1868
|
+
var _classNames;
|
1763
1869
|
|
1764
|
-
|
1765
|
-
|
1766
|
-
q[i].call(this, sizeInfo);
|
1767
|
-
}
|
1768
|
-
};
|
1870
|
+
return classNames(styles$e.Foreground, props.transitionStyles.foreground, props.transitionStyles["foreground-".concat(props.state)], styles$e["".concat(props.heightMode, "Height")], (_classNames = {}, _defineProperty(_classNames, styles$e.hidden, props.hidden), _defineProperty(_classNames, styles$e.enlarge, props.hidden && !props.disableEnlarge), _classNames));
|
1871
|
+
}
|
1769
1872
|
|
1770
|
-
|
1771
|
-
|
1873
|
+
function _arrayWithoutHoles(arr) {
|
1874
|
+
if (Array.isArray(arr)) {
|
1875
|
+
for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {
|
1876
|
+
arr2[i] = arr[i];
|
1877
|
+
}
|
1772
1878
|
|
1773
|
-
|
1774
|
-
|
1775
|
-
|
1879
|
+
return arr2;
|
1880
|
+
}
|
1881
|
+
}
|
1776
1882
|
|
1777
|
-
|
1778
|
-
|
1883
|
+
function _iterableToArray(iter) {
|
1884
|
+
if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
|
1885
|
+
}
|
1779
1886
|
|
1780
|
-
|
1781
|
-
|
1782
|
-
|
1783
|
-
}
|
1887
|
+
function _nonIterableSpread() {
|
1888
|
+
throw new TypeError("Invalid attempt to spread non-iterable instance");
|
1889
|
+
}
|
1784
1890
|
|
1785
|
-
|
1786
|
-
|
1891
|
+
function _toConsumableArray(arr) {
|
1892
|
+
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();
|
1893
|
+
}
|
1787
1894
|
|
1788
|
-
|
1789
|
-
|
1790
|
-
|
1791
|
-
|
1895
|
+
function _classCallCheck(instance, Constructor) {
|
1896
|
+
if (!(instance instanceof Constructor)) {
|
1897
|
+
throw new TypeError("Cannot call a class as a function");
|
1898
|
+
}
|
1899
|
+
}
|
1792
1900
|
|
1793
|
-
|
1794
|
-
|
1795
|
-
|
1796
|
-
|
1797
|
-
|
1798
|
-
|
1799
|
-
|
1800
|
-
|
1801
|
-
|
1802
|
-
top: '0px',
|
1803
|
-
right: '0px',
|
1804
|
-
bottom: '0px',
|
1805
|
-
overflow: 'hidden',
|
1806
|
-
zIndex: '-1',
|
1807
|
-
visibility: 'hidden',
|
1808
|
-
maxWidth: '100%'
|
1809
|
-
};
|
1810
|
-
var styleChild = {
|
1811
|
-
position: 'absolute',
|
1812
|
-
left: '0px',
|
1813
|
-
top: '0px',
|
1814
|
-
transition: '0s'
|
1815
|
-
};
|
1816
|
-
setStyle(element.resizeSensor, style);
|
1817
|
-
var expand = document.createElement('div');
|
1818
|
-
expand.className = 'resize-sensor-expand';
|
1819
|
-
setStyle(expand, style);
|
1820
|
-
var expandChild = document.createElement('div');
|
1821
|
-
setStyle(expandChild, styleChild);
|
1822
|
-
expand.appendChild(expandChild);
|
1823
|
-
var shrink = document.createElement('div');
|
1824
|
-
shrink.className = 'resize-sensor-shrink';
|
1825
|
-
setStyle(shrink, style);
|
1826
|
-
var shrinkChild = document.createElement('div');
|
1827
|
-
setStyle(shrinkChild, styleChild);
|
1828
|
-
setStyle(shrinkChild, {
|
1829
|
-
width: '200%',
|
1830
|
-
height: '200%'
|
1831
|
-
});
|
1832
|
-
shrink.appendChild(shrinkChild);
|
1833
|
-
element.resizeSensor.appendChild(expand);
|
1834
|
-
element.resizeSensor.appendChild(shrink);
|
1835
|
-
element.appendChild(element.resizeSensor);
|
1836
|
-
var computedStyle = window.getComputedStyle(element);
|
1837
|
-
var position = computedStyle ? computedStyle.getPropertyValue('position') : null;
|
1838
|
-
|
1839
|
-
if ('absolute' !== position && 'relative' !== position && 'fixed' !== position) {
|
1840
|
-
element.style.position = 'relative';
|
1841
|
-
}
|
1901
|
+
function _defineProperties(target, props) {
|
1902
|
+
for (var i = 0; i < props.length; i++) {
|
1903
|
+
var descriptor = props[i];
|
1904
|
+
descriptor.enumerable = descriptor.enumerable || false;
|
1905
|
+
descriptor.configurable = true;
|
1906
|
+
if ("value" in descriptor) descriptor.writable = true;
|
1907
|
+
Object.defineProperty(target, descriptor.key, descriptor);
|
1908
|
+
}
|
1909
|
+
}
|
1842
1910
|
|
1843
|
-
|
1844
|
-
|
1845
|
-
|
1846
|
-
|
1847
|
-
|
1848
|
-
var lastAnimationFrame = 0;
|
1849
|
-
|
1850
|
-
var resetExpandShrink = function resetExpandShrink() {
|
1851
|
-
var width = element.offsetWidth;
|
1852
|
-
var height = element.offsetHeight;
|
1853
|
-
expandChild.style.width = width + 10 + 'px';
|
1854
|
-
expandChild.style.height = height + 10 + 'px';
|
1855
|
-
expand.scrollLeft = width + 10;
|
1856
|
-
expand.scrollTop = height + 10;
|
1857
|
-
shrink.scrollLeft = width + 10;
|
1858
|
-
shrink.scrollTop = height + 10;
|
1859
|
-
};
|
1911
|
+
function _createClass(Constructor, protoProps, staticProps) {
|
1912
|
+
if (protoProps) _defineProperties(Constructor.prototype, protoProps);
|
1913
|
+
if (staticProps) _defineProperties(Constructor, staticProps);
|
1914
|
+
return Constructor;
|
1915
|
+
}
|
1860
1916
|
|
1861
|
-
|
1862
|
-
|
1863
|
-
|
1864
|
-
|
1865
|
-
|
1866
|
-
|
1867
|
-
|
1868
|
-
|
1869
|
-
|
1870
|
-
lastAnimationFrame = 0;
|
1871
|
-
reset();
|
1872
|
-
});
|
1873
|
-
}
|
1874
|
-
|
1875
|
-
return;
|
1876
|
-
} else {
|
1877
|
-
// Stop checking
|
1878
|
-
initialHiddenCheck = false;
|
1879
|
-
}
|
1880
|
-
}
|
1917
|
+
/**
|
1918
|
+
* Register new types of content elements.
|
1919
|
+
* @name frontend_contentElementTypes
|
1920
|
+
*/
|
1921
|
+
var ContentElementTypeRegistry =
|
1922
|
+
/*#__PURE__*/
|
1923
|
+
function () {
|
1924
|
+
function ContentElementTypeRegistry() {
|
1925
|
+
_classCallCheck(this, ContentElementTypeRegistry);
|
1881
1926
|
|
1882
|
-
|
1883
|
-
|
1927
|
+
this.types = {};
|
1928
|
+
}
|
1929
|
+
/**
|
1930
|
+
* Register a new type of content element.
|
1931
|
+
*
|
1932
|
+
* @param {string} typeName - Name of the content element type.
|
1933
|
+
* @param {Object} options
|
1934
|
+
* @param {React.Component} options.component
|
1935
|
+
* @memberof frontend_contentElementTypes
|
1936
|
+
*
|
1937
|
+
* @example
|
1938
|
+
*
|
1939
|
+
* // frontend.js
|
1940
|
+
*
|
1941
|
+
* import {frontend} from 'pageflow-scrolled/frontend';
|
1942
|
+
* import {InlineImage} from './InlineImage';
|
1943
|
+
*
|
1944
|
+
* frontend.contentElementTypes.register('inlineImage', {
|
1945
|
+
* component: InlineImage
|
1946
|
+
* });
|
1947
|
+
*/
|
1948
|
+
|
1949
|
+
|
1950
|
+
_createClass(ContentElementTypeRegistry, [{
|
1951
|
+
key: "register",
|
1952
|
+
value: function register(typeName, options) {
|
1953
|
+
this.types[typeName] = options;
|
1954
|
+
}
|
1955
|
+
}, {
|
1956
|
+
key: "getComponent",
|
1957
|
+
value: function getComponent(typeName) {
|
1958
|
+
if (!this.types[typeName]) {
|
1959
|
+
throw new Error("Unknown content element type name \"".concat(typeName, "\""));
|
1960
|
+
}
|
1884
1961
|
|
1885
|
-
|
1962
|
+
return this.types[typeName].component;
|
1963
|
+
}
|
1964
|
+
}]);
|
1886
1965
|
|
1887
|
-
|
1888
|
-
|
1889
|
-
if (!dirty) return;
|
1890
|
-
lastWidth = size.width;
|
1891
|
-
lastHeight = size.height;
|
1966
|
+
return ContentElementTypeRegistry;
|
1967
|
+
}();
|
1892
1968
|
|
1893
|
-
|
1894
|
-
|
1895
|
-
|
1896
|
-
};
|
1969
|
+
var api = {
|
1970
|
+
contentElementTypes: new ContentElementTypeRegistry()
|
1971
|
+
};
|
1897
1972
|
|
1898
|
-
|
1899
|
-
|
1900
|
-
|
1973
|
+
var css$g = ".ContentElement-module_outer__3ZsNV {\n position: relative;\n}\n\n.ContentElement-module_selectable__2oRzN {\n position: relative;\n}\n\n.ContentElement-module_selectable__2oRzN:after {\n content: '';\n position: absolute;\n top: -5px;\n left: -5px;\n right: -5px;\n bottom: -5px;\n}\n\n.ContentElement-module_bl__2w5xM,\n.ContentElement-module_br__3v-_l,\n.ContentElement-module_tr__l_gbk,\n.ContentElement-module_tl__NrB8G {\n width: 10px;\n height: 10px;\n position: absolute;\n opacity: 0;\n}\n\n.ContentElement-module_selected__1uFZP .ContentElement-module_bl__2w5xM,\n.ContentElement-module_selected__1uFZP .ContentElement-module_br__3v-_l,\n.ContentElement-module_selected__1uFZP .ContentElement-module_tr__l_gbk,\n.ContentElement-module_selected__1uFZP .ContentElement-module_tl__NrB8G {\n border-width: 3px\n}\n\n.ContentElement-module_selected__1uFZP .ContentElement-module_bl__2w5xM,\n.ContentElement-module_selected__1uFZP .ContentElement-module_br__3v-_l,\n.ContentElement-module_selected__1uFZP .ContentElement-module_tr__l_gbk,\n.ContentElement-module_selected__1uFZP .ContentElement-module_tl__NrB8G,\n.ContentElement-module_selectable__2oRzN:hover .ContentElement-module_bl__2w5xM,\n.ContentElement-module_selectable__2oRzN:hover .ContentElement-module_br__3v-_l,\n.ContentElement-module_selectable__2oRzN:hover .ContentElement-module_tr__l_gbk,\n.ContentElement-module_selectable__2oRzN:hover .ContentElement-module_tl__NrB8G {\n opacity: 0.8;\n}\n\n.ContentElement-module_bl__2w5xM {\n bottom: -6px;\n left: -6px;\n border-bottom: solid 1px currentColor;\n border-left: solid 1px currentColor;\n}\n\n.ContentElement-module_br__3v-_l {\n bottom: -6px;\n right: -6px;\n border-bottom: solid 1px currentColor;\n border-right: solid 1px currentColor;\n}\n\n.ContentElement-module_tr__l_gbk {\n top: -6px;\n right: -6px;\n border-top: solid 1px currentColor;\n border-right: solid 1px currentColor;\n}\n\n.ContentElement-module_tl__NrB8G {\n top: -6px;\n left: -6px;\n border-top: solid 1px currentColor;\n border-left: solid 1px currentColor;\n}\n\n.ContentElement-module_selected__1uFZP:hover:after,\n.ContentElement-module_selected__1uFZP:after {\n border: solid 1px currentColor;\n opacity: 0.8;\n pointer-events: none;\n}\n";
|
1974
|
+
var styles$f = {"selectionWidth":"1px","selectionPadding":"-6px","selectionPadding2":"-5px","outer":"ContentElement-module_outer__3ZsNV","selectable":"ContentElement-module_selectable__2oRzN","bl":"ContentElement-module_bl__2w5xM","br":"ContentElement-module_br__3v-_l","tr":"ContentElement-module_tr__l_gbk","tl":"ContentElement-module_tl__NrB8G","selected":"ContentElement-module_selected__1uFZP"};
|
1975
|
+
styleInject(css$g);
|
1901
1976
|
|
1902
|
-
|
1903
|
-
|
1904
|
-
|
1977
|
+
var css$h = "\n\n.InsertContentElementIndicator-module_root__2KRRn {\n position: absolute;\n left: 0;\n width: 100%;\n text-align: center;\n cursor: pointer;\n opacity: 0;\n}\n\n.InsertContentElementIndicator-module_before__1EEFz {\n bottom: 100%;\n}\n\n.InsertContentElementIndicator-module_after__2YmaD {\n top: 100%;\n}\n\n.InsertContentElementIndicator-module_root__2KRRn:hover {\n opacity: 1;\n}\n\n.InsertContentElementIndicator-module_box__3EIMv svg {\n vertical-align: middle;\n oopacity: 0.8;\n}\n\n.InsertContentElementIndicator-module_bar__c-Ifz {\n background-color: currentColor;\n position: absolute;\n top: 50%;\n height: 1px;\n oopacity: 0.5;\n width: calc(50% - 15px);\n}\n\n.InsertContentElementIndicator-module_left__13U3P {\n left: -6px;\n}\n\n.InsertContentElementIndicator-module_right__lSfoH {\n right: -6px;\n}\n\n.InsertContentElementIndicator-module_selected__3sk0q.InsertContentElementIndicator-module_root__2KRRn {\n opacity: 0.8;\n}\n\n.InsertContentElementIndicator-module_selected__3sk0q .InsertContentElementIndicator-module_right__lSfoH,\n.InsertContentElementIndicator-module_selected__3sk0q .InsertContentElementIndicator-module_left__13U3P {\n width: 13px;\n background-color: currentColor;\n oopacity: 0.8;\n height: 5px;\n top: calc(50% - 2px);\n}\n\n.InsertContentElementIndicator-module_selected__3sk0q .InsertContentElementIndicator-module_right__lSfoH {\n right: -6px;\n}\n\n.InsertContentElementIndicator-module_selected__3sk0q .InsertContentElementIndicator-module_left__13U3P {\n left: -6px;\n}\n\n.InsertContentElementIndicator-module_middle__2TTQX {\n opacity: 0;\n width: 100%;\n left: 0;\n top: 50%;\n height: 1px;\n}\n\n.InsertContentElementIndicator-module_selected__3sk0q .InsertContentElementIndicator-module_middle__2TTQX {\n opacity: 1;\n}\n\n.InsertContentElementIndicator-module_selected__3sk0q .InsertContentElementIndicator-module_box__3EIMv {\n opacity: 0;\n}\n";
|
1978
|
+
var styles$g = {"selectionColor":"#1c86fe","backgroundColor":"rgba(0, 0, 0, 0.8)","borderColor":"rgba(255, 255, 255, 0.2)","root":"InsertContentElementIndicator-module_root__2KRRn","before":"InsertContentElementIndicator-module_before__1EEFz","after":"InsertContentElementIndicator-module_after__2YmaD","box":"InsertContentElementIndicator-module_box__3EIMv","bar":"InsertContentElementIndicator-module_bar__c-Ifz","left":"InsertContentElementIndicator-module_left__13U3P InsertContentElementIndicator-module_bar__c-Ifz","right":"InsertContentElementIndicator-module_right__lSfoH InsertContentElementIndicator-module_bar__c-Ifz","selected":"InsertContentElementIndicator-module_selected__3sk0q","middle":"InsertContentElementIndicator-module_middle__2TTQX InsertContentElementIndicator-module_bar__c-Ifz"};
|
1979
|
+
styleInject(css$h);
|
1905
1980
|
|
1906
|
-
|
1907
|
-
|
1981
|
+
function _extends$9() {
|
1982
|
+
_extends$9 = Object.assign || function (target) {
|
1983
|
+
for (var i = 1; i < arguments.length; i++) {
|
1984
|
+
var source = arguments[i];
|
1908
1985
|
|
1909
|
-
var
|
1910
|
-
if (
|
1911
|
-
|
1912
|
-
} else {
|
1913
|
-
el.addEventListener(name, cb);
|
1986
|
+
for (var key in source) {
|
1987
|
+
if (Object.prototype.hasOwnProperty.call(source, key)) {
|
1988
|
+
target[key] = source[key];
|
1914
1989
|
}
|
1915
|
-
}
|
1990
|
+
}
|
1991
|
+
}
|
1916
1992
|
|
1917
|
-
|
1918
|
-
|
1993
|
+
return target;
|
1994
|
+
};
|
1919
1995
|
|
1920
|
-
|
1921
|
-
|
1996
|
+
return _extends$9.apply(this, arguments);
|
1997
|
+
}
|
1998
|
+
var PlusIcon = (function (_ref) {
|
1999
|
+
var _ref$styles = _ref.styles,
|
2000
|
+
props = _objectWithoutProperties(_ref, ["styles"]);
|
1922
2001
|
|
1923
|
-
|
1924
|
-
|
1925
|
-
|
2002
|
+
return React.createElement("svg", _extends$9({
|
2003
|
+
xmlns: "http://www.w3.org/2000/svg",
|
2004
|
+
viewBox: "0 0 512 512"
|
2005
|
+
}, props), React.createElement("path", {
|
2006
|
+
d: "M256 0C114.844 0 0 114.839 0 256s114.844 256 256 256 256-114.839 256-256S397.156 0 256 0zm133.594 272.699H272.699v116.895c0 9.225-7.48 16.699-16.699 16.699-9.219 0-16.699-7.475-16.699-16.699V272.699H122.406c-9.219 0-16.699-7.475-16.699-16.699 0-9.225 7.48-16.699 16.699-16.699h116.895V122.406c0-9.225 7.48-16.699 16.699-16.699 9.219 0 16.699 7.475 16.699 16.699v116.895h116.895c9.219 0 16.699 7.475 16.699 16.699.001 9.225-7.48 16.699-16.699 16.699z"
|
2007
|
+
}));
|
2008
|
+
});
|
1926
2009
|
|
1927
|
-
|
1928
|
-
|
1929
|
-
|
2010
|
+
function InsertContentElementIndicator(_ref) {
|
2011
|
+
var contentElementId = _ref.contentElementId,
|
2012
|
+
selected = _ref.selected,
|
2013
|
+
position = _ref.position;
|
1930
2014
|
|
1931
|
-
|
1932
|
-
|
1933
|
-
|
1934
|
-
}
|
2015
|
+
var _useEditorSelection = useEditorSelection({
|
2016
|
+
id: contentElementId,
|
2017
|
+
type: position
|
2018
|
+
}),
|
2019
|
+
isSelected = _useEditorSelection.isSelected,
|
2020
|
+
select = _useEditorSelection.select;
|
1935
2021
|
|
1936
|
-
|
1937
|
-
|
1938
|
-
|
1939
|
-
|
1940
|
-
};
|
2022
|
+
var _useI18n = useI18n({
|
2023
|
+
locale: 'ui'
|
2024
|
+
}),
|
2025
|
+
t = _useI18n.t;
|
1941
2026
|
|
1942
|
-
|
1943
|
-
|
1944
|
-
|
2027
|
+
function handleClick(event) {
|
2028
|
+
event.stopPropagation();
|
2029
|
+
select();
|
2030
|
+
}
|
1945
2031
|
|
1946
|
-
|
1947
|
-
|
1948
|
-
|
1949
|
-
|
2032
|
+
return React.createElement("div", {
|
2033
|
+
className: classNames(styles$g.root, styles$g[position], _defineProperty({}, styles$g.selected, isSelected)),
|
2034
|
+
title: t('pageflow_scrolled.inline_editing.insert_content_element'),
|
2035
|
+
onClick: handleClick
|
2036
|
+
}, React.createElement("div", {
|
2037
|
+
className: styles$g.box
|
2038
|
+
}, React.createElement(PlusIcon, {
|
2039
|
+
width: 20,
|
2040
|
+
height: 20,
|
2041
|
+
fill: "currentColor"
|
2042
|
+
})), React.createElement("div", {
|
2043
|
+
className: styles$g.left
|
2044
|
+
}), React.createElement("div", {
|
2045
|
+
className: styles$g.right
|
2046
|
+
}), React.createElement("div", {
|
2047
|
+
className: styles$g.middle
|
2048
|
+
}));
|
2049
|
+
}
|
1950
2050
|
|
1951
|
-
|
1952
|
-
|
1953
|
-
elem.removeChild(elem.resizeSensor);
|
1954
|
-
}
|
2051
|
+
function ContentElement(props) {
|
2052
|
+
var Component = api.contentElementTypes.getComponent(props.type);
|
1955
2053
|
|
1956
|
-
|
1957
|
-
|
1958
|
-
|
1959
|
-
|
1960
|
-
|
2054
|
+
var _useEditorSelection = useEditorSelection({
|
2055
|
+
id: props.id,
|
2056
|
+
type: 'contentElement'
|
2057
|
+
}),
|
2058
|
+
isSelected = _useEditorSelection.isSelected,
|
2059
|
+
isSelectable = _useEditorSelection.isSelectable,
|
2060
|
+
select = _useEditorSelection.select,
|
2061
|
+
resetSelection = _useEditorSelection.resetSelection;
|
1961
2062
|
|
1962
|
-
if (
|
1963
|
-
var
|
1964
|
-
|
1965
|
-
|
1966
|
-
|
1967
|
-
|
1968
|
-
|
1969
|
-
|
1970
|
-
|
1971
|
-
|
1972
|
-
|
1973
|
-
|
2063
|
+
if (select) {
|
2064
|
+
var _classNames;
|
2065
|
+
|
2066
|
+
return React.createElement("div", {
|
2067
|
+
className: classNames(styles$f.outer)
|
2068
|
+
}, props.first && React.createElement(InsertContentElementIndicator, {
|
2069
|
+
position: "before",
|
2070
|
+
contentElementId: props.id
|
2071
|
+
}), React.createElement("div", {
|
2072
|
+
className: classNames((_classNames = {}, _defineProperty(_classNames, styles$f.selected, isSelected), _defineProperty(_classNames, styles$f.selectable, isSelectable), _classNames)),
|
2073
|
+
onClick: function onClick(e) {
|
2074
|
+
e.stopPropagation();
|
2075
|
+
isSelectable ? select() : resetSelection();
|
1974
2076
|
}
|
1975
|
-
}
|
1976
|
-
|
1977
|
-
|
1978
|
-
|
1979
|
-
|
1980
|
-
|
2077
|
+
}, React.createElement(Component, {
|
2078
|
+
sectionProps: props.sectionProps,
|
2079
|
+
configuration: props.itemProps,
|
2080
|
+
contentElementId: props.id
|
2081
|
+
}), React.createElement("div", {
|
2082
|
+
className: styles$f.tl
|
2083
|
+
}), React.createElement("div", {
|
2084
|
+
className: styles$f.bl
|
2085
|
+
}), React.createElement("div", {
|
2086
|
+
className: styles$f.tr
|
2087
|
+
}), React.createElement("div", {
|
2088
|
+
className: styles$f.br
|
2089
|
+
})), React.createElement(InsertContentElementIndicator, {
|
2090
|
+
position: "after",
|
2091
|
+
contentElementId: props.id
|
2092
|
+
}));
|
2093
|
+
} else {
|
2094
|
+
return React.createElement(Component, {
|
2095
|
+
sectionProps: props.sectionProps,
|
2096
|
+
configuration: props.itemProps
|
1981
2097
|
});
|
1982
2098
|
}
|
2099
|
+
}
|
1983
2100
|
|
1984
|
-
|
1985
|
-
});
|
1986
|
-
});
|
1987
|
-
|
1988
|
-
var cssElementQueries = {
|
1989
|
-
ResizeSensor: ResizeSensor
|
1990
|
-
};
|
1991
|
-
var cssElementQueries_1 = cssElementQueries.ResizeSensor;
|
1992
|
-
|
1993
|
-
function ownKeys$3(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
1994
|
-
|
1995
|
-
function _objectSpread$3(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys$3(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys$3(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
1996
|
-
var defaultProps = {
|
1997
|
-
handleSize: 40,
|
1998
|
-
handle: null,
|
1999
|
-
hover: false,
|
2000
|
-
leftImageAlt: '',
|
2001
|
-
leftImageCss: {},
|
2002
|
-
leftImageLabel: null,
|
2003
|
-
onSliderPositionChange: function onSliderPositionChange() {},
|
2004
|
-
rightImageAlt: '',
|
2005
|
-
rightImageCss: {},
|
2006
|
-
rightImageLabel: null,
|
2007
|
-
skeleton: null,
|
2008
|
-
sliderLineColor: '#ffffff',
|
2009
|
-
sliderLineWidth: 2,
|
2010
|
-
sliderPositionPercentage: 0.5
|
2011
|
-
};
|
2012
|
-
|
2013
|
-
function ReactCompareImage(props) {
|
2014
|
-
var handleSize = props.handleSize,
|
2015
|
-
handle = props.handle,
|
2016
|
-
hover = props.hover,
|
2017
|
-
leftImage = props.leftImage,
|
2018
|
-
leftImageAlt = props.leftImageAlt,
|
2019
|
-
leftImageCss = props.leftImageCss,
|
2020
|
-
leftImageLabel = props.leftImageLabel,
|
2021
|
-
onSliderPositionChange = props.onSliderPositionChange,
|
2022
|
-
rightImage = props.rightImage,
|
2023
|
-
rightImageAlt = props.rightImageAlt,
|
2024
|
-
rightImageCss = props.rightImageCss,
|
2025
|
-
rightImageLabel = props.rightImageLabel,
|
2026
|
-
skeleton = props.skeleton,
|
2027
|
-
sliderLineColor = props.sliderLineColor,
|
2028
|
-
sliderLineWidth = props.sliderLineWidth,
|
2029
|
-
sliderPositionPercentage = props.sliderPositionPercentage,
|
2030
|
-
sliderPosition = props.sliderPosition,
|
2031
|
-
setSliderPosition = props.setSliderPosition,
|
2032
|
-
isSliding = props.isSliding,
|
2033
|
-
setIsSliding = props.setIsSliding,
|
2034
|
-
classicMode = props.classicMode,
|
2035
|
-
wiggle = props.wiggle;
|
2036
|
-
|
2037
|
-
var _useState = useState(0),
|
2038
|
-
_useState2 = _slicedToArray(_useState, 2),
|
2039
|
-
containerWidth = _useState2[0],
|
2040
|
-
setContainerWidth = _useState2[1];
|
2041
|
-
|
2042
|
-
var _useState3 = useState(false),
|
2043
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
2044
|
-
leftImgLoaded = _useState4[0],
|
2045
|
-
setLeftImgLoaded = _useState4[1];
|
2046
|
-
|
2047
|
-
var _useState5 = useState(false),
|
2048
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
2049
|
-
rightImgLoaded = _useState6[0],
|
2050
|
-
setRightImgLoaded = _useState6[1];
|
2051
|
-
|
2052
|
-
var containerRef = useRef();
|
2053
|
-
var rightImageRef = useRef();
|
2054
|
-
var leftImageRef = useRef(); // keep track container's width in local state
|
2055
|
-
|
2056
|
-
useEffect(function () {
|
2057
|
-
var updateContainerWidth = function updateContainerWidth() {
|
2058
|
-
var currentContainerWidth = containerRef.current.getBoundingClientRect().width;
|
2059
|
-
setContainerWidth(currentContainerWidth);
|
2060
|
-
}; // initial execution must be done manually
|
2061
|
-
|
2062
|
-
|
2063
|
-
updateContainerWidth(); // update local state if container size is changed
|
2064
|
-
|
2065
|
-
var containerElement = containerRef.current;
|
2066
|
-
var resizeSensor = new cssElementQueries_1(containerElement, function () {
|
2067
|
-
updateContainerWidth();
|
2068
|
-
});
|
2069
|
-
return function () {
|
2070
|
-
resizeSensor.detach(containerElement);
|
2071
|
-
};
|
2072
|
-
}, []);
|
2073
|
-
useEffect(function () {
|
2074
|
-
// consider the case where loading image is completed immediately
|
2075
|
-
// due to the cache etc.
|
2076
|
-
var alreadyDone = leftImageRef.current.complete;
|
2077
|
-
alreadyDone && setLeftImgLoaded(true);
|
2078
|
-
return function () {
|
2079
|
-
// when the left image source is changed
|
2080
|
-
setLeftImgLoaded(false);
|
2081
|
-
};
|
2082
|
-
}, [leftImage]);
|
2083
|
-
useEffect(function () {
|
2084
|
-
// consider the case where loading image is completed immediately
|
2085
|
-
// due to the cache etc.
|
2086
|
-
var alreadyDone = rightImageRef.current.complete;
|
2087
|
-
alreadyDone && setRightImgLoaded(true);
|
2088
|
-
return function () {
|
2089
|
-
// when the right image source is changed
|
2090
|
-
setRightImgLoaded(false);
|
2091
|
-
};
|
2092
|
-
}, [rightImage]);
|
2093
|
-
var allImagesLoaded = rightImgLoaded && leftImgLoaded;
|
2094
|
-
useEffect(function () {
|
2095
|
-
var handleSliding = function handleSliding(event) {
|
2096
|
-
var e = event || window.event; // Calc Cursor Position from the left edge of the viewport
|
2097
|
-
|
2098
|
-
var cursorXfromViewport = e.touches ? e.touches[0].pageX : e.pageX; // Calc Cursor Position from the left edge of the window (consider any page scrolling)
|
2099
|
-
|
2100
|
-
var cursorXfromWindow = cursorXfromViewport - window.pageXOffset; // Calc Cursor Position from the left edge of the image
|
2101
|
-
|
2102
|
-
var imagePosition = rightImageRef.current.getBoundingClientRect();
|
2103
|
-
var pos = cursorXfromWindow - imagePosition.left; // Set minimum and maximum values to prevent the slider from overflowing
|
2104
|
-
|
2105
|
-
var minPos = 0 + sliderLineWidth / 2;
|
2106
|
-
var maxPos = containerWidth - sliderLineWidth / 2;
|
2107
|
-
if (pos < minPos) pos = minPos;
|
2108
|
-
if (pos > maxPos) pos = maxPos;
|
2109
|
-
setSliderPosition(pos / containerWidth); // If there's a callback function, invoke it everytime the slider changes
|
2110
|
-
|
2111
|
-
if (onSliderPositionChange) {
|
2112
|
-
onSliderPositionChange(pos / containerWidth);
|
2113
|
-
}
|
2114
|
-
};
|
2115
|
-
|
2116
|
-
var startSliding = function startSliding(e) {
|
2117
|
-
setIsSliding(true); // Prevent default behavior other than mobile scrolling
|
2118
|
-
|
2119
|
-
if (!('touches' in e)) {
|
2120
|
-
e.preventDefault();
|
2121
|
-
} // Slide the image even if you just click or tap (not drag)
|
2122
|
-
|
2123
|
-
|
2124
|
-
handleSliding(e);
|
2125
|
-
window.addEventListener('mousemove', handleSliding); // 07
|
2126
|
-
|
2127
|
-
window.addEventListener('touchmove', handleSliding); // 08
|
2128
|
-
};
|
2129
|
-
|
2130
|
-
var finishSliding = function finishSliding() {
|
2131
|
-
setIsSliding(false);
|
2132
|
-
window.removeEventListener('mousemove', handleSliding);
|
2133
|
-
window.removeEventListener('touchmove', handleSliding);
|
2134
|
-
};
|
2135
|
-
|
2136
|
-
var containerElement = containerRef.current;
|
2137
|
-
|
2138
|
-
if (allImagesLoaded) {
|
2139
|
-
if (classicMode) {
|
2140
|
-
// it's necessary to reset event handlers each time the canvasWidth changes
|
2141
|
-
// for mobile
|
2142
|
-
containerElement.addEventListener('touchstart', startSliding); // 01
|
2143
|
-
|
2144
|
-
window.addEventListener('touchend', finishSliding); // 02
|
2145
|
-
// for desktop
|
2146
|
-
|
2147
|
-
if (hover) {
|
2148
|
-
containerElement.addEventListener('mousemove', handleSliding); // 03
|
2149
|
-
|
2150
|
-
containerElement.addEventListener('mouseleave', finishSliding); // 04
|
2151
|
-
} else {
|
2152
|
-
containerElement.addEventListener('mousedown', startSliding); // 05
|
2153
|
-
|
2154
|
-
window.addEventListener('mouseup', finishSliding); // 06
|
2155
|
-
}
|
2156
|
-
}
|
2157
|
-
}
|
2158
|
-
|
2159
|
-
return function () {
|
2160
|
-
if (classicMode) {
|
2161
|
-
// cleanup all event resteners
|
2162
|
-
containerElement.removeEventListener('touchstart', startSliding); // 01
|
2163
|
-
|
2164
|
-
window.removeEventListener('touchend', finishSliding); // 02
|
2165
|
-
|
2166
|
-
containerElement.removeEventListener('mousemove', handleSliding); // 03
|
2167
|
-
|
2168
|
-
containerElement.removeEventListener('mouseleave', finishSliding); // 04
|
2169
|
-
|
2170
|
-
containerElement.removeEventListener('mousedown', startSliding); // 05
|
2171
|
-
|
2172
|
-
window.removeEventListener('mouseup', finishSliding); // 06
|
2173
|
-
|
2174
|
-
window.removeEventListener('mousemove', handleSliding); // 07
|
2175
|
-
|
2176
|
-
window.removeEventListener('touchmove', handleSliding); // 08
|
2177
|
-
}
|
2178
|
-
};
|
2179
|
-
}, [allImagesLoaded, containerWidth, hover, sliderLineWidth]); // eslint-disable-line
|
2180
|
-
// Image size set as follows.
|
2181
|
-
//
|
2182
|
-
// 1. right(under) image:
|
2183
|
-
// width = 100% of container width
|
2184
|
-
// height = auto
|
2185
|
-
//
|
2186
|
-
// 2. left(over) imaze:
|
2187
|
-
// width = 100% of container width
|
2188
|
-
// height = right image's height
|
2189
|
-
// (protrudes is hidden by css 'object-fit: hidden')
|
2190
|
-
|
2191
|
-
var styles = {
|
2192
|
-
container: {
|
2193
|
-
boxSizing: 'border-box',
|
2194
|
-
position: 'relative',
|
2195
|
-
width: '100%',
|
2196
|
-
overflow: 'hidden'
|
2197
|
-
},
|
2198
|
-
rightImage: _objectSpread$3({
|
2199
|
-
display: 'block',
|
2200
|
-
height: 'auto',
|
2201
|
-
// Respect the aspect ratio
|
2202
|
-
width: '100%'
|
2203
|
-
}, rightImageCss),
|
2204
|
-
leftImage: _objectSpread$3({
|
2205
|
-
clip: "rect(auto, ".concat(containerWidth * sliderPosition, "px, auto, auto)"),
|
2206
|
-
display: 'block',
|
2207
|
-
height: '100%',
|
2208
|
-
// fit to the height of right(under) image
|
2209
|
-
objectFit: 'cover',
|
2210
|
-
// protrudes is hidden
|
2211
|
-
position: 'absolute',
|
2212
|
-
top: 0,
|
2213
|
-
width: '100%'
|
2214
|
-
}, leftImageCss),
|
2215
|
-
slider: {
|
2216
|
-
alignItems: 'center',
|
2217
|
-
cursor: !hover && 'ew-resize',
|
2218
|
-
display: 'flex',
|
2219
|
-
flexDirection: 'column',
|
2220
|
-
height: '100%',
|
2221
|
-
justifyContent: 'center',
|
2222
|
-
left: "".concat(containerWidth * sliderPosition - handleSize / 2, "px"),
|
2223
|
-
position: 'absolute',
|
2224
|
-
top: 0,
|
2225
|
-
width: "".concat(handleSize, "px")
|
2226
|
-
},
|
2227
|
-
line: {
|
2228
|
-
background: sliderLineColor,
|
2229
|
-
boxShadow: '0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)',
|
2230
|
-
flex: '0 1 auto',
|
2231
|
-
height: '100%',
|
2232
|
-
width: "".concat(sliderLineWidth, "px")
|
2233
|
-
},
|
2234
|
-
handleCustom: {
|
2235
|
-
alignItems: 'center',
|
2236
|
-
boxSizing: 'border-box',
|
2237
|
-
display: 'flex',
|
2238
|
-
flex: '1 0 auto',
|
2239
|
-
height: 'auto',
|
2240
|
-
justifyContent: 'center',
|
2241
|
-
width: 'auto'
|
2242
|
-
},
|
2243
|
-
handleDefault: {
|
2244
|
-
alignItems: 'center',
|
2245
|
-
border: "".concat(sliderLineWidth, "px solid ").concat(sliderLineColor),
|
2246
|
-
borderRadius: '100%',
|
2247
|
-
boxShadow: '0px 3px 1px -2px rgba(0, 0, 0, 0.2), 0px 2px 2px 0px rgba(0, 0, 0, 0.14), 0px 1px 5px 0px rgba(0, 0, 0, 0.12)',
|
2248
|
-
boxSizing: 'border-box',
|
2249
|
-
display: 'flex',
|
2250
|
-
flex: '1 0 auto',
|
2251
|
-
height: "".concat(handleSize, "px"),
|
2252
|
-
justifyContent: 'center',
|
2253
|
-
width: "".concat(handleSize, "px")
|
2254
|
-
},
|
2255
|
-
leftArrow: {
|
2256
|
-
border: "inset ".concat(handleSize * 0.15, "px rgba(0,0,0,0)"),
|
2257
|
-
borderRight: "".concat(handleSize * 0.15, "px solid ").concat(sliderLineColor),
|
2258
|
-
height: '0px',
|
2259
|
-
marginLeft: "-".concat(handleSize * 0.25, "px"),
|
2260
|
-
// for IE11
|
2261
|
-
marginRight: "".concat(handleSize * 0.25, "px"),
|
2262
|
-
width: '0px'
|
2263
|
-
},
|
2264
|
-
rightArrow: {
|
2265
|
-
border: "inset ".concat(handleSize * 0.15, "px rgba(0,0,0,0)"),
|
2266
|
-
borderLeft: "".concat(handleSize * 0.15, "px solid ").concat(sliderLineColor),
|
2267
|
-
height: '0px',
|
2268
|
-
marginRight: "-".concat(handleSize * 0.25, "px"),
|
2269
|
-
// for IE11
|
2270
|
-
width: '0px'
|
2271
|
-
},
|
2272
|
-
leftLabel: {
|
2273
|
-
background: 'rgba(0, 0, 0, 0.5)',
|
2274
|
-
color: 'white',
|
2275
|
-
left: '5%',
|
2276
|
-
opacity: isSliding ? 0 : 1,
|
2277
|
-
padding: '10px 20px',
|
2278
|
-
position: 'absolute',
|
2279
|
-
top: '50%',
|
2280
|
-
transform: 'translate(0,-50%)',
|
2281
|
-
transition: 'opacity 0.1s ease-out 0.5s',
|
2282
|
-
maxWidth: '30%',
|
2283
|
-
WebkitUserSelect: 'none',
|
2284
|
-
WebkitTouchCallout: 'none'
|
2285
|
-
},
|
2286
|
-
rightLabel: {
|
2287
|
-
background: 'rgba(0, 0, 0, 0.5)',
|
2288
|
-
color: 'white',
|
2289
|
-
opacity: isSliding ? 0 : 1,
|
2290
|
-
padding: '10px 20px',
|
2291
|
-
position: 'absolute',
|
2292
|
-
right: '5%',
|
2293
|
-
top: '50%',
|
2294
|
-
transform: 'translate(0,-50%)',
|
2295
|
-
transition: 'opacity 0.1s ease-out 0.5s',
|
2296
|
-
maxWidth: '30%',
|
2297
|
-
WebkitUserSelect: 'none',
|
2298
|
-
WebkitTouchCallout: 'none'
|
2299
|
-
}
|
2300
|
-
};
|
2301
|
-
return React.createElement(React.Fragment, null, skeleton && !allImagesLoaded && React.createElement("div", {
|
2302
|
-
style: _objectSpread$3({}, styles.container)
|
2303
|
-
}, skeleton), React.createElement("div", {
|
2304
|
-
style: _objectSpread$3({}, styles.container, {
|
2305
|
-
display: allImagesLoaded ? 'block' : 'none'
|
2306
|
-
}),
|
2307
|
-
ref: containerRef,
|
2308
|
-
"data-testid": "container"
|
2309
|
-
}, React.createElement("img", {
|
2310
|
-
onLoad: function onLoad() {
|
2311
|
-
return setRightImgLoaded(true);
|
2312
|
-
},
|
2313
|
-
alt: rightImageAlt,
|
2314
|
-
"data-testid": "right-image",
|
2315
|
-
ref: rightImageRef,
|
2316
|
-
src: rightImage,
|
2317
|
-
style: styles.rightImage
|
2318
|
-
}), React.createElement("img", {
|
2319
|
-
onLoad: function onLoad() {
|
2320
|
-
return setLeftImgLoaded(true);
|
2321
|
-
},
|
2322
|
-
alt: leftImageAlt,
|
2323
|
-
"data-testid": "left-image",
|
2324
|
-
ref: leftImageRef,
|
2325
|
-
src: leftImage,
|
2326
|
-
style: styles.leftImage
|
2327
|
-
}), React.createElement("div", {
|
2328
|
-
style: styles.slider,
|
2329
|
-
className: classnames(_defineProperty({}, 'wiggle', wiggle))
|
2330
|
-
}, React.createElement("div", {
|
2331
|
-
style: styles.line
|
2332
|
-
}), handle ? React.createElement("div", {
|
2333
|
-
style: styles.handleCustom
|
2334
|
-
}, handle) : React.createElement("div", {
|
2335
|
-
style: styles.handleDefault
|
2336
|
-
}, React.createElement("div", {
|
2337
|
-
style: styles.leftArrow
|
2338
|
-
}), React.createElement("div", {
|
2339
|
-
style: styles.rightArrow
|
2340
|
-
})), React.createElement("div", {
|
2341
|
-
style: styles.line
|
2342
|
-
})), leftImageLabel && React.createElement("div", {
|
2343
|
-
style: styles.leftLabel
|
2344
|
-
}, leftImageLabel), rightImageLabel && React.createElement("div", {
|
2345
|
-
style: styles.rightLabel
|
2346
|
-
}, rightImageLabel)));
|
2347
|
-
}
|
2348
|
-
|
2349
|
-
ReactCompareImage.defaultProps = defaultProps;
|
2350
|
-
|
2351
|
-
var css$e = ".BeforeAfter-module_container__38Dru {\n height: 100%;\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.wiggle {\n animation: BeforeAfter-module_shake__3iLe8 1.5s cubic-bezier(.36,.07,.19,.97) both;\n}\n\n@keyframes BeforeAfter-module_shake__3iLe8 {\n 10%, 90% {\n transform: translate3d(-20%, 0, 0);\n }\n\n 20%, 80% {\n transform: translate3d(40%, 0, 0);\n }\n\n 30%, 50%, 70% {\n transform: translate3d(-80%, 0, 0);\n }\n\n 40%, 60% {\n transform: translate3d(80%, 0, 0);\n }\n}";
|
2352
|
-
var styles$d = {"container":"BeforeAfter-module_container__38Dru","shake":"BeforeAfter-module_shake__3iLe8"};
|
2353
|
-
styleInject(css$e);
|
2354
|
-
|
2355
|
-
var BeforeAfter = (function (_ref) {
|
2356
|
-
var state = _ref.state,
|
2357
|
-
leftImageLabel = _ref.leftImageLabel,
|
2358
|
-
rightImageLabel = _ref.rightImageLabel,
|
2359
|
-
_ref$startPos = _ref.startPos,
|
2360
|
-
startPos = _ref$startPos === void 0 ? 0 : _ref$startPos,
|
2361
|
-
_ref$slideMode = _ref.slideMode,
|
2362
|
-
slideMode = _ref$slideMode === void 0 ? 'both' : _ref$slideMode;
|
2363
|
-
|
2364
|
-
var _useState = useState({
|
2365
|
-
pos: window.pageYOffset || document.documentElement.scrollTop,
|
2366
|
-
dir: 'unknown'
|
2367
|
-
}),
|
2368
|
-
_useState2 = _slicedToArray(_useState, 2),
|
2369
|
-
scrollPos = _useState2[0],
|
2370
|
-
setScrollPos = _useState2[1];
|
2371
|
-
|
2372
|
-
var _useState3 = useState(false),
|
2373
|
-
_useState4 = _slicedToArray(_useState3, 2),
|
2374
|
-
isSliding = _useState4[0],
|
2375
|
-
setIsSliding = _useState4[1];
|
2376
|
-
|
2377
|
-
var _useState5 = useState(startPos),
|
2378
|
-
_useState6 = _slicedToArray(_useState5, 2),
|
2379
|
-
beforeAfterPos = _useState6[0],
|
2380
|
-
setBeforeAfterPos = _useState6[1];
|
2381
|
-
|
2382
|
-
var beforeAfterRef = useRef();
|
2383
|
-
var slideOnScroll = slideMode === 'both' || slideMode === 'scroll';
|
2384
|
-
var slideClassic = slideMode === 'both' || slideMode === 'classic';
|
2385
|
-
var current = beforeAfterRef.current;
|
2386
|
-
|
2387
|
-
var _useState7 = useState(false),
|
2388
|
-
_useState8 = _slicedToArray(_useState7, 2),
|
2389
|
-
wiggle = _useState8[0],
|
2390
|
-
setWiggle = _useState8[1];
|
2391
|
-
|
2392
|
-
useEffect(function () {
|
2393
|
-
var node = current;
|
2394
|
-
|
2395
|
-
if (node) {
|
2396
|
-
setWiggle(state === 'active');
|
2397
|
-
}
|
2398
|
-
}, [state, current]);
|
2399
|
-
useEffect(function () {
|
2400
|
-
var node = current;
|
2401
|
-
|
2402
|
-
function handler() {
|
2403
|
-
if (node) {
|
2404
|
-
setScrollPos(function (prevPos) {
|
2405
|
-
var currPos = window.pageYOffset || document.documentElement.scrollTop;
|
2406
|
-
|
2407
|
-
if (currPos > prevPos['pos']) {
|
2408
|
-
return {
|
2409
|
-
pos: currPos,
|
2410
|
-
dir: 'down'
|
2411
|
-
};
|
2412
|
-
}
|
2413
|
-
|
2414
|
-
if (currPos < prevPos['pos']) {
|
2415
|
-
return {
|
2416
|
-
pos: currPos,
|
2417
|
-
dir: 'up'
|
2418
|
-
};
|
2419
|
-
}
|
2420
|
-
|
2421
|
-
return prevPos;
|
2422
|
-
});
|
2423
|
-
|
2424
|
-
if (slideOnScroll) {
|
2425
|
-
if (scrollPos['dir'] === 'down' && beforeAfterPos < 1) {
|
2426
|
-
setBeforeAfterPos(function (prev) {
|
2427
|
-
return prev + 0.025;
|
2428
|
-
});
|
2429
|
-
setIsSliding(true);
|
2430
|
-
setTimeout(function () {
|
2431
|
-
return setIsSliding(false);
|
2432
|
-
}, 200);
|
2433
|
-
} else if (scrollPos['dir'] === 'up' && beforeAfterPos > 0) {
|
2434
|
-
setBeforeAfterPos(function (prev) {
|
2435
|
-
return prev - 0.025;
|
2436
|
-
});
|
2437
|
-
setIsSliding(true);
|
2438
|
-
setTimeout(function () {
|
2439
|
-
return setIsSliding(false);
|
2440
|
-
}, 250);
|
2441
|
-
} else {
|
2442
|
-
setIsSliding(false);
|
2443
|
-
}
|
2444
|
-
}
|
2445
|
-
}
|
2446
|
-
}
|
2447
|
-
|
2448
|
-
if (!node) {
|
2449
|
-
return;
|
2450
|
-
}
|
2451
|
-
|
2452
|
-
setTimeout(handler, 0);
|
2453
|
-
|
2454
|
-
if (state === 'active') {
|
2455
|
-
window.addEventListener('scroll', handler);
|
2456
|
-
return function () {
|
2457
|
-
window.removeEventListener('scroll', handler);
|
2458
|
-
};
|
2459
|
-
}
|
2460
|
-
}, [current, setBeforeAfterPos, scrollPos, state, setIsSliding]);
|
2461
|
-
var awsBucket = '//s3-eu-west-1.amazonaws.com/de.codevise.pageflow.development/pageflow-next/presentation-images/';
|
2462
|
-
var beforeImage = awsBucket + 'before_after/haldern_church1.jpg';
|
2463
|
-
var afterImage = awsBucket + 'before_after/haldern_church2.jpg';
|
2464
|
-
return React.createElement("div", {
|
2465
|
-
ref: beforeAfterRef,
|
2466
|
-
className: styles$d.container
|
2467
|
-
}, React.createElement(ReactCompareImage, {
|
2468
|
-
leftImage: beforeImage,
|
2469
|
-
rightImage: afterImage,
|
2470
|
-
sliderPosition: beforeAfterPos,
|
2471
|
-
setSliderPosition: setBeforeAfterPos,
|
2472
|
-
isSliding: isSliding,
|
2473
|
-
setIsSliding: setIsSliding,
|
2474
|
-
leftImageLabel: leftImageLabel,
|
2475
|
-
rightImageLabel: rightImageLabel,
|
2476
|
-
classicMode: slideClassic,
|
2477
|
-
wiggle: wiggle
|
2478
|
-
}));
|
2479
|
-
});
|
2480
|
-
|
2481
|
-
var css$f = ".Backdrop-module_Backdrop__1w4UZ {\n width: 100%;\n z-index: 2;\n}\n\n.Backdrop-module_offScreen__2_FYZ {\n}\n";
|
2482
|
-
var styles$e = {"Backdrop":"Backdrop-module_Backdrop__1w4UZ","offScreen":"Backdrop-module_offScreen__2_FYZ"};
|
2483
|
-
styleInject(css$f);
|
2484
|
-
|
2485
|
-
function Backdrop(props) {
|
2486
|
-
var _useDimension = useDimension(),
|
2487
|
-
_useDimension2 = _slicedToArray(_useDimension, 2),
|
2488
|
-
containerDimension = _useDimension2[0],
|
2489
|
-
setContainerRef = _useDimension2[1];
|
2490
|
-
|
2491
|
-
return React.createElement("div", {
|
2492
|
-
className: classnames(styles$e.Backdrop, props.transitionStyles.backdrop, props.transitionStyles["backdrop-".concat(props.state)], _defineProperty({}, styles$e.offScreen, props.offScreen))
|
2493
|
-
}, React.createElement("div", {
|
2494
|
-
className: props.transitionStyles.backdropInner
|
2495
|
-
}, React.createElement("div", {
|
2496
|
-
className: props.transitionStyles.backdropInner2
|
2497
|
-
}, props.children(renderContent(props, containerDimension, setContainerRef)))));
|
2498
|
-
}
|
2499
|
-
Backdrop.defaultProps = {
|
2500
|
-
transitionStyles: {}
|
2501
|
-
};
|
2502
|
-
|
2503
|
-
function renderContent(props, containerDimension, setContainerRef) {
|
2504
|
-
if (props.image.toString().startsWith('#')) {
|
2505
|
-
return React.createElement(FillColor, {
|
2506
|
-
color: props.image
|
2507
|
-
});
|
2508
|
-
} else if (props.image.toString().startsWith('video')) {
|
2509
|
-
var video = videos[props.image];
|
2510
|
-
return React.createElement(Fullscreen, {
|
2511
|
-
ref: setContainerRef
|
2512
|
-
}, React.createElement(Video, {
|
2513
|
-
state: props.onScreen ? 'active' : 'inactive',
|
2514
|
-
id: props.image,
|
2515
|
-
offset: props.offset,
|
2516
|
-
interactive: props.interactive,
|
2517
|
-
nextSectionOnEnd: props.nextSectionOnEnd
|
2518
|
-
}), React.createElement(MotifArea, {
|
2519
|
-
ref: props.motifAreaRef,
|
2520
|
-
image: video,
|
2521
|
-
containerWidth: containerDimension.width,
|
2522
|
-
containerHeight: containerDimension.height
|
2523
|
-
}));
|
2524
|
-
} else if (props.image.toString().startsWith('beforeAfter')) {
|
2525
|
-
return React.createElement(Fullscreen, {
|
2526
|
-
ref: setContainerRef
|
2527
|
-
}, React.createElement(BeforeAfter, {
|
2528
|
-
state: props.state,
|
2529
|
-
leftImageLabel: props.leftImageLabel,
|
2530
|
-
rightImageLabel: props.rightImageLabel,
|
2531
|
-
startPos: props.startPos,
|
2532
|
-
slideMode: props.slideMode
|
2533
|
-
}));
|
2534
|
-
} else {
|
2535
|
-
return React.createElement(Fullscreen, {
|
2536
|
-
ref: setContainerRef
|
2537
|
-
}, React.createElement(Image, {
|
2538
|
-
id: props.image
|
2539
|
-
}), React.createElement(Image, {
|
2540
|
-
id: props.imageMobile,
|
2541
|
-
mobile: true
|
2542
|
-
}), React.createElement(MotifArea, {
|
2543
|
-
ref: props.motifAreaRef,
|
2544
|
-
imageId: props.image,
|
2545
|
-
containerWidth: containerDimension.width,
|
2546
|
-
containerHeight: containerDimension.height
|
2547
|
-
}));
|
2548
|
-
}
|
2549
|
-
}
|
2550
|
-
|
2551
|
-
var css$g = ".Foreground-module_Foreground__13ODU {\n position: relative;\n z-index: 3;\n\n box-sizing: border-box;\n\n display: flex;\n flex-direction: column;\n justify-content: center;\n}\n\n.Foreground-module_fullFadeHeight__2p9dx {\n min-height: 51vh;\n}\n\n.Foreground-module_fullHeight__1vMXb {\n min-height: 100vh;\n}\n\n.Foreground-module_fullFadeHeight__2p9dx.Foreground-module_enlarge__14Plm,\n.Foreground-module_fullHeight__1vMXb.Foreground-module_enlarge__14Plm {\n min-height: 130vh;\n}\n\n.Foreground-module_hidden__2dmAx {\n visibility: hidden;\n}\n";
|
2552
|
-
var styles$f = {"Foreground":"Foreground-module_Foreground__13ODU","fullFadeHeight":"Foreground-module_fullFadeHeight__2p9dx","fullHeight":"Foreground-module_fullHeight__1vMXb","enlarge":"Foreground-module_enlarge__14Plm","hidden":"Foreground-module_hidden__2dmAx"};
|
2553
|
-
styleInject(css$g);
|
2554
|
-
|
2555
|
-
function Foreground(props) {
|
2556
|
-
return React.createElement("div", {
|
2557
|
-
className: className(props)
|
2558
|
-
}, props.children);
|
2559
|
-
}
|
2560
|
-
|
2561
|
-
function className(props) {
|
2562
|
-
var _classNames;
|
2563
|
-
|
2564
|
-
return classnames(styles$f.Foreground, props.transitionStyles.foreground, props.transitionStyles["foreground-".concat(props.state)], styles$f["".concat(props.heightMode, "Height")], (_classNames = {}, _defineProperty(_classNames, styles$f.hidden, props.hidden), _defineProperty(_classNames, styles$f.enlarge, props.hidden && !props.disableEnlarge), _classNames));
|
2565
|
-
}
|
2566
|
-
|
2567
|
-
function _arrayWithoutHoles(arr) {
|
2568
|
-
if (Array.isArray(arr)) {
|
2569
|
-
for (var i = 0, arr2 = new Array(arr.length); i < arr.length; i++) {
|
2570
|
-
arr2[i] = arr[i];
|
2571
|
-
}
|
2572
|
-
|
2573
|
-
return arr2;
|
2574
|
-
}
|
2575
|
-
}
|
2576
|
-
|
2577
|
-
function _iterableToArray(iter) {
|
2578
|
-
if (Symbol.iterator in Object(iter) || Object.prototype.toString.call(iter) === "[object Arguments]") return Array.from(iter);
|
2579
|
-
}
|
2580
|
-
|
2581
|
-
function _nonIterableSpread() {
|
2582
|
-
throw new TypeError("Invalid attempt to spread non-iterable instance");
|
2583
|
-
}
|
2584
|
-
|
2585
|
-
function _toConsumableArray(arr) {
|
2586
|
-
return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _nonIterableSpread();
|
2587
|
-
}
|
2588
|
-
|
2589
|
-
var css$h = "\n\n.Heading-module_Heading__1YSiy {\n font-size: 66px;\n font-weight: 700;\n margin-top: 0;\n margin-bottom: 0.5em;\n padding-top: 0.5em;\n}\n\n.Heading-module_first__1yPxD {\n font-size: 110px;\n line-height: 1;\n}\n\n@media (orientation: landscape) {\n .Heading-module_first__1yPxD {\n padding-top: 25%;\n }\n}\n\n@media (max-width: 600px) {\n .Heading-module_Heading__1YSiy {\n font-size: 40px;\n }\n\n .Heading-module_first__1yPxD {\n font-size: 66px;\n }\n}\n";
|
2590
|
-
var styles$g = {"text-l":"40px","text-xl":"66px","text-2xl":"110px","Heading":"Heading-module_Heading__1YSiy","first":"Heading-module_first__1yPxD"};
|
2591
|
-
styleInject(css$h);
|
2592
|
-
|
2593
|
-
function Heading(props) {
|
2594
|
-
return React.createElement("h1", {
|
2595
|
-
className: classnames(styles$g.Heading, _defineProperty({}, styles$g.first, props.first)),
|
2596
|
-
style: props.style
|
2597
|
-
}, props.children);
|
2598
|
-
}
|
2599
|
-
|
2600
|
-
var css$i = "\n\n.TextBlock-module_TextBlock__5Zpj7 {\n font-size: 22px;\n line-height: 1.4;\n\n padding: 1em 0;\n margin-top: 0;\n margin-bottom: 0;\n text-shadow: none;\n}\n\n.TextBlock-module_dummy__3W5ls {\n opacity: 0.7;\n}\n\n.TextBlock-module_TextBlock__5Zpj7 a {\n color: #fff;\n word-wrap: break-word;\n}\n\n.TextBlock-module_TextBlock__5Zpj7 ol,\n.TextBlock-module_TextBlock__5Zpj7 ul {\n padding-left: 20px;\n}\n";
|
2601
|
-
var styles$h = {"text-base":"22px","TextBlock":"TextBlock-module_TextBlock__5Zpj7","dummy":"TextBlock-module_dummy__3W5ls"};
|
2602
|
-
styleInject(css$i);
|
2603
|
-
|
2604
|
-
function TextBlock(props) {
|
2605
|
-
return React.createElement("div", {
|
2606
|
-
className: classnames(styles$h.TextBlock, _defineProperty({}, styles$h.dummy, props.dummy)),
|
2607
|
-
style: props.style,
|
2608
|
-
dangerouslySetInnerHTML: {
|
2609
|
-
__html: props.children
|
2610
|
-
}
|
2611
|
-
});
|
2612
|
-
}
|
2613
|
-
|
2614
|
-
var css$j = ".InlineCaption-module_root__1R8Ib {\n padding: 3px 10px 5px;\n background-color: #fff;\n color: #222;\n font-size: text-s;\n line-height: 1.4;\n text-shadow: none;\n}\n";
|
2615
|
-
var styles$i = {"text-base":"22px","root":"InlineCaption-module_root__1R8Ib"};
|
2616
|
-
styleInject(css$j);
|
2617
|
-
|
2618
|
-
function InlineCaption(props) {
|
2619
|
-
if (props.text) {
|
2620
|
-
return React.createElement("div", {
|
2621
|
-
className: styles$i.root
|
2622
|
-
}, props.text);
|
2623
|
-
} else {
|
2624
|
-
return null;
|
2625
|
-
}
|
2626
|
-
}
|
2627
|
-
|
2628
|
-
var css$k = ".InlineImage-module_root__1DvUb {\n position: relative;\n margin-top: 1em;\n}\n\n.InlineImage-module_container__Pui7E {\n position: relative;\n margin-top: 1em;\n}\n\n.InlineImage-module_spacer__2rMkE {\n padding-top: 75%;\n}\n\n.InlineImage-module_inner__2AMK- {\n border: solid 2px #fff;\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n}\n";
|
2629
|
-
var styles$j = {"root":"InlineImage-module_root__1DvUb","container":"InlineImage-module_container__Pui7E","spacer":"InlineImage-module_spacer__2rMkE","inner":"InlineImage-module_inner__2AMK-"};
|
2630
|
-
styleInject(css$k);
|
2631
|
-
|
2632
|
-
function InlineImage(props) {
|
2633
|
-
return React.createElement("div", {
|
2634
|
-
className: classnames(styles$j.root)
|
2635
|
-
}, React.createElement("div", {
|
2636
|
-
className: styles$j.container
|
2637
|
-
}, React.createElement("div", {
|
2638
|
-
className: styles$j.spacer
|
2639
|
-
}, React.createElement("div", {
|
2640
|
-
className: styles$j.inner
|
2641
|
-
}, React.createElement(Image, props)))), React.createElement(InlineCaption, {
|
2642
|
-
text: props.caption
|
2643
|
-
}));
|
2644
|
-
}
|
2645
|
-
|
2646
|
-
var css$l = ".InlineVideo-module_root__2UD3D {\n position: relative;\n max-height: 98vh;\n}\n\n.InlineVideo-module_inner__H81_g {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n}\n";
|
2647
|
-
var styles$k = {"root":"InlineVideo-module_root__2UD3D","inner":"InlineVideo-module_inner__H81_g"};
|
2648
|
-
styleInject(css$l);
|
2649
|
-
|
2650
|
-
function InlineVideo(props) {
|
2651
|
-
var ref = useRef();
|
2652
|
-
var onScreen = useOnScreen(ref, '-50% 0px -50% 0px');
|
2653
|
-
return React.createElement("div", {
|
2654
|
-
ref: ref,
|
2655
|
-
className: classnames(styles$k.root)
|
2656
|
-
}, React.createElement("div", {
|
2657
|
-
style: {
|
2658
|
-
paddingTop: props.wideFormat ? '41.15%' : '56.25%'
|
2659
|
-
}
|
2660
|
-
}, React.createElement("div", {
|
2661
|
-
className: styles$k.inner
|
2662
|
-
}, React.createElement(Video, Object.assign({}, props, {
|
2663
|
-
state: onScreen ? 'active' : 'inactive',
|
2664
|
-
interactive: true
|
2665
|
-
})))));
|
2666
|
-
}
|
2667
|
-
|
2668
|
-
var css$m = ".InlineBeforeAfter-module_root__2O9F8 {\n position: relative;\n margin: 0 auto;\n}\n";
|
2669
|
-
var styles$l = {"root":"InlineBeforeAfter-module_root__2O9F8"};
|
2670
|
-
styleInject(css$m);
|
2671
|
-
|
2672
|
-
function InlineBeforeAfter(props) {
|
2673
|
-
var ref = useRef();
|
2674
|
-
var onScreen = useOnScreen(ref, '-50% 0px -50% 0px');
|
2675
|
-
return React.createElement("div", {
|
2676
|
-
ref: ref,
|
2677
|
-
className: styles$l.root
|
2678
|
-
}, React.createElement(BeforeAfter, Object.assign({}, props, {
|
2679
|
-
state: onScreen ? 'active' : 'inactive'
|
2680
|
-
})));
|
2681
|
-
}
|
2682
|
-
|
2683
|
-
var css$n = ".SoundDisclaimer-module_soundDisclaimer__1sAiH {\n text-align: center;\n border: 1px solid white;\n border-radius: 4px;\n cursor: pointer;\n font-size: inherit;\n}\n\n.SoundDisclaimer-module_soundDisclaimer__1sAiH:hover {\n background: rgba(255, 255, 255, 0.25);\n}";
|
2684
|
-
var styles$m = {"soundDisclaimer":"SoundDisclaimer-module_soundDisclaimer__1sAiH"};
|
2685
|
-
styleInject(css$n);
|
2686
|
-
|
2687
|
-
function UnmuteButton() {
|
2688
|
-
return React.createElement(MutedContext.Consumer, null, function (mutedSettings) {
|
2689
|
-
return React.createElement("div", {
|
2690
|
-
className: classnames(styles$m.soundDisclaimer),
|
2691
|
-
onClick: function onClick() {
|
2692
|
-
return mutedSettings.setMuted(false);
|
2693
|
-
}
|
2694
|
-
}, React.createElement("p", null, "Dieser Artikel wirkt am besten mit eingeschaltetem Ton.", React.createElement("br", null), "Klicken Sie einmal in dieses Feld, um den Ton f\xFCr die gesamte Geschichte zu aktivieren."));
|
2695
|
-
});
|
2696
|
-
}
|
2697
|
-
|
2698
|
-
var loremIpsum1 = 'Lorem ipsum dolor sit amet, consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. ';
|
2699
|
-
var loremIpsum2 = 'At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet, consetetur sadipscing elitr. Sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Lorem ipsum dolor sit amet.';
|
2700
|
-
var loremIpsum3 = 'Consetetur sadipscing elitr, sed diam nonumy eirmod tempor invidunt ut labore et dolore magna aliquyam erat, sed diam voluptua. At vero eos et accusam et justo duo dolores et ea rebum. Stet clita kasd gubergren, no sea takimata sanctus est Lorem ipsum dolor sit amet. Duis autem vel eum iriure dolor in hendrerit in vulputate velit esse molestie consequat, vel illum dolore eu feugiat nulla facilisis at vero eros et accumsan et iusto odio dignissim qui blandit praesent luptatum zzril delenit augue duis dolore te feugait nulla facilisi.';
|
2701
|
-
|
2702
|
-
var templates = {
|
2703
|
-
heading: {
|
2704
|
-
name: 'Überschrift',
|
2705
|
-
component: Heading
|
2706
|
-
},
|
2707
|
-
textBlock: {
|
2708
|
-
name: 'Text Block',
|
2709
|
-
component: TextBlock
|
2710
|
-
},
|
2711
|
-
soundDisclaimer: {
|
2712
|
-
name: 'Sound Disclaimer',
|
2713
|
-
component: UnmuteButton
|
2714
|
-
},
|
2715
|
-
loremIpsum1: {
|
2716
|
-
name: 'Blindtext 1',
|
2717
|
-
component: TextBlock,
|
2718
|
-
props: {
|
2719
|
-
children: loremIpsum1
|
2720
|
-
}
|
2721
|
-
},
|
2722
|
-
loremIpsum2: {
|
2723
|
-
name: 'Blindtext 2',
|
2724
|
-
component: TextBlock,
|
2725
|
-
props: {
|
2726
|
-
children: loremIpsum2
|
2727
|
-
}
|
2728
|
-
},
|
2729
|
-
loremIpsum3: {
|
2730
|
-
name: 'Blindtext 3',
|
2731
|
-
component: TextBlock,
|
2732
|
-
props: {
|
2733
|
-
children: loremIpsum3
|
2734
|
-
}
|
2735
|
-
},
|
2736
|
-
inlineImage: {
|
2737
|
-
name: 'Inline Bild',
|
2738
|
-
component: InlineImage,
|
2739
|
-
inlinePositioning: true
|
2740
|
-
},
|
2741
|
-
inlineVideo: {
|
2742
|
-
name: 'Inline Video',
|
2743
|
-
component: InlineVideo,
|
2744
|
-
inlinePositioning: true
|
2745
|
-
},
|
2746
|
-
inlineBeforeAfter: {
|
2747
|
-
name: 'Inline Before/After',
|
2748
|
-
component: InlineBeforeAfter,
|
2749
|
-
inlinePositioning: true
|
2750
|
-
},
|
2751
|
-
stickyImage: {
|
2752
|
-
name: 'Sticky Bild',
|
2753
|
-
component: InlineImage,
|
2754
|
-
inlinePositioning: true
|
2755
|
-
}
|
2756
|
-
};
|
2757
|
-
|
2758
|
-
function ForegroundItem(props) {
|
2759
|
-
var template = templates[props.type];
|
2760
|
-
var Component = template.component;
|
2761
|
-
return React.createElement(Component, Object.assign({}, template.props, props.itemProps));
|
2762
|
-
}
|
2763
|
-
|
2764
|
-
function ForegroundItems(props) {
|
2101
|
+
function ContentElements(props) {
|
2765
2102
|
return React.createElement(React.Fragment, null, props.items.map(function (item, index) {
|
2766
|
-
return props.children(item, React.createElement(
|
2767
|
-
key:
|
2103
|
+
return props.children(item, React.createElement(ContentElement, {
|
2104
|
+
key: item.id,
|
2105
|
+
id: item.id,
|
2768
2106
|
type: item.type,
|
2107
|
+
first: index === 0,
|
2769
2108
|
position: item.position,
|
2770
|
-
itemProps: item.props
|
2109
|
+
itemProps: item.props,
|
2110
|
+
sectionProps: props.sectionProps
|
2771
2111
|
}));
|
2772
2112
|
}));
|
2773
2113
|
}
|
2774
|
-
|
2114
|
+
ContentElements.defaultProps = {
|
2775
2115
|
children: function children(item, child) {
|
2776
2116
|
return child;
|
2777
2117
|
}
|
2778
2118
|
};
|
2779
2119
|
|
2780
|
-
var css$
|
2781
|
-
var styles$
|
2782
|
-
styleInject(css$
|
2120
|
+
var css$i = ".TwoColumn-module_root__37EqL {\n}\n\n.TwoColumn-module_group__3Hg2y {\n clear: right;\n margin-left: 8%;\n margin-right: 8%;\n}\n\n.TwoColumn-module_group-full__2OT4o {\n margin-left: 0;\n margin-right: 0;\n}\n\n.TwoColumn-module_sticky__4LCDO,\n.TwoColumn-module_inline__1fPfM {\n max-width: 500px;\n}\n\n.TwoColumn-module_right__Fr52a .TwoColumn-module_inline__1fPfM {\n margin-left: auto;\n}\n\n@media (max-width: 949px) {\n .TwoColumn-module_right__Fr52a .TwoColumn-module_sticky__4LCDO {\n margin-left: auto;\n }\n}\n\n@media (min-width: 950px) {\n .TwoColumn-module_sticky__4LCDO {\n position: sticky;\n float: right;\n top: 33%;\n width: 30%;\n max-width: 600px;\n }\n\n .TwoColumn-module_right__Fr52a .TwoColumn-module_sticky__4LCDO {\n float: left;\n }\n}\n";
|
2121
|
+
var styles$h = {"root":"TwoColumn-module_root__37EqL","group":"TwoColumn-module_group__3Hg2y","group-full":"TwoColumn-module_group-full__2OT4o","sticky":"TwoColumn-module_sticky__4LCDO","inline":"TwoColumn-module_inline__1fPfM","right":"TwoColumn-module_right__Fr52a"};
|
2122
|
+
styleInject(css$i);
|
2783
2123
|
|
2784
2124
|
var availablePositions = ['inline', 'sticky', 'full'];
|
2785
2125
|
function TwoColumn(props) {
|
2786
2126
|
return React.createElement("div", {
|
2787
|
-
className:
|
2127
|
+
className: classNames(styles$h.root, styles$h[props.align])
|
2788
2128
|
}, React.createElement("div", {
|
2789
|
-
className: styles$
|
2129
|
+
className: styles$h.inline,
|
2790
2130
|
ref: props.contentAreaRef
|
2791
2131
|
}), renderItems(props));
|
2792
2132
|
}
|
@@ -2798,7 +2138,7 @@ function renderItems(props) {
|
|
2798
2138
|
return groupItemsByPosition(props.items).map(function (group, index) {
|
2799
2139
|
return React.createElement("div", {
|
2800
2140
|
key: index,
|
2801
|
-
className:
|
2141
|
+
className: classNames(styles$h.group, styles$h["group-".concat(group.position)])
|
2802
2142
|
}, renderItemGroup(props, group, 'sticky'), renderItemGroup(props, group, 'inline'), renderItemGroup(props, group, 'full'));
|
2803
2143
|
});
|
2804
2144
|
}
|
@@ -2806,8 +2146,9 @@ function renderItems(props) {
|
|
2806
2146
|
function renderItemGroup(props, group, position) {
|
2807
2147
|
if (group[position].length) {
|
2808
2148
|
return React.createElement("div", {
|
2809
|
-
className: styles$
|
2810
|
-
}, props.children(React.createElement(
|
2149
|
+
className: styles$h[position]
|
2150
|
+
}, props.children(React.createElement(ContentElements, {
|
2151
|
+
sectionProps: props.sectionProps,
|
2811
2152
|
items: group[position]
|
2812
2153
|
})));
|
2813
2154
|
}
|
@@ -2835,33 +2176,34 @@ function groupItemsByPosition(items) {
|
|
2835
2176
|
return groups;
|
2836
2177
|
}
|
2837
2178
|
|
2838
|
-
var css$
|
2839
|
-
var styles$
|
2840
|
-
styleInject(css$
|
2179
|
+
var css$j = ".Center-module_outer__3Rr0H {\n margin-left: 8%;\n margin-right: 8%;\n}\n\n.Center-module_outer-full__3dknO {\n margin-left: 0;\n margin-right: 0;\n}\n\n.Center-module_item__1KSs3 {\n margin-left: auto;\n margin-right: auto;\n max-width: 700px;\n}\n\n.Center-module_item-full__1cEuv {\n margin-left: 0;\n margin-right: 0;\n max-width: none;\n}\n\n@media (min-width: 950px) {\n .Center-module_inner-left__2z9Ea {\n float: left;\n width: 60%;\n margin-left: -10%;\n margin-right: 1em;\n margin-bottom: 1em;\n }\n\n .Center-module_inner-right__KBkVt {\n float: right;\n width: 60%;\n margin-right: -10%;\n margin-left: 1em;\n margin-bottom: 1em;\n }\n}\n";
|
2180
|
+
var styles$i = {"outer":"Center-module_outer__3Rr0H","outer-full":"Center-module_outer-full__3dknO","item":"Center-module_item__1KSs3","item-full":"Center-module_item-full__1cEuv","inner-left":"Center-module_inner-left__2z9Ea","inner-right":"Center-module_inner-right__KBkVt"};
|
2181
|
+
styleInject(css$j);
|
2841
2182
|
|
2842
2183
|
function Center(props) {
|
2843
2184
|
return React.createElement("div", {
|
2844
|
-
className:
|
2185
|
+
className: classNames(styles$i.root)
|
2845
2186
|
}, React.createElement("div", {
|
2846
2187
|
ref: props.contentAreaRef
|
2847
|
-
}), React.createElement(
|
2188
|
+
}), React.createElement(ContentElements, {
|
2189
|
+
sectionProps: props.sectionProps,
|
2848
2190
|
items: props.items
|
2849
2191
|
}, function (item, child) {
|
2850
2192
|
return React.createElement("div", {
|
2851
2193
|
key: item.index,
|
2852
|
-
className:
|
2194
|
+
className: classNames(styles$i.outer, styles$i["outer-".concat(item.position)])
|
2853
2195
|
}, React.createElement("div", {
|
2854
|
-
className:
|
2196
|
+
className: classNames(styles$i.item, styles$i["item-".concat(item.position)])
|
2855
2197
|
}, props.children(React.createElement("div", {
|
2856
|
-
className: styles$
|
2198
|
+
className: styles$i["inner-".concat(item.position)]
|
2857
2199
|
}, child))));
|
2858
2200
|
}));
|
2859
2201
|
}
|
2860
2202
|
|
2861
2203
|
function Layout(props) {
|
2862
|
-
if (props.layout === 'center') {
|
2204
|
+
if (props.sectionProps.layout === 'center') {
|
2863
2205
|
return React.createElement(Center, props);
|
2864
|
-
} else if (props.layout === 'right') {
|
2206
|
+
} else if (props.sectionProps.layout === 'right') {
|
2865
2207
|
return React.createElement(TwoColumn, Object.assign({
|
2866
2208
|
align: "right"
|
2867
2209
|
}, props));
|
@@ -2937,79 +2279,79 @@ function useScrollTarget(ref, isScrollTarget) {
|
|
2937
2279
|
}, [ref, isScrollTarget]);
|
2938
2280
|
}
|
2939
2281
|
|
2940
|
-
var css$
|
2941
|
-
var styles$
|
2942
|
-
styleInject(css$
|
2282
|
+
var css$k = ".Section-module_Section__Yo58b {\n position: relative;\n}\n\n.Section-module_invert__3_p7F {\n color: #222;\n}\n\n.Section-module_activityProbe__Fsklh {\n position: absolute;\n top: 0;\n left: 0;\n bottom: 2px;\n width: 1px;\n}\n";
|
2283
|
+
var styles$j = {"Section":"Section-module_Section__Yo58b","invert":"Section-module_invert__3_p7F","activityProbe":"Section-module_activityProbe__Fsklh"};
|
2284
|
+
styleInject(css$k);
|
2943
2285
|
|
2944
|
-
var css$
|
2286
|
+
var css$l = "\n\n.fadeInBgConceal-module_backdrop__11JGO {\n position: absolute;\n height: 100%;\n}\n\n.fadeInBgConceal-module_backdropInner__1IAYD {\n position: fixed;\n top: 0;\n height: 100vh;\n width: 100%;\n}\n\n.fadeInBgConceal-module_backdrop__11JGO {\n transition: opacity 0.5s ease, visibility 0.5s;\n}\n\n.fadeInBgConceal-module_backdrop-below__3E6Uk {\n opacity: 0;\n visibility: hidden;\n}\n";
|
2945
2287
|
var fadeInBgConceal = {"fade-duration":"0.5s","backdrop":"fadeInBgConceal-module_backdrop__11JGO","backdropInner":"fadeInBgConceal-module_backdropInner__1IAYD","backdrop-below":"fadeInBgConceal-module_backdrop-below__3E6Uk"};
|
2946
|
-
styleInject(css$
|
2288
|
+
styleInject(css$l);
|
2947
2289
|
|
2948
|
-
var css$
|
2290
|
+
var css$m = "\n\n.fadeInBgFadeOut-module_backdrop__r0YXp {\n position: absolute;\n height: 100%;\n}\n\n.fadeInBgFadeOut-module_backdropInner__IQp87 {\n position: fixed;\n top: 0;\n height: 100vh;\n width: 100%;\n}\n\n.fadeInBgFadeOut-module_backdrop__r0YXp .fadeInBgFadeOut-module_backdropInner__IQp87,\n.fadeInBgFadeOut-module_foreground__Q2vkT {\n transition: opacity 0.5s ease, visibility 0.5s;\n}\n\n.fadeInBgFadeOut-module_foreground-above__3pmz9,\n.fadeInBgFadeOut-module_backdrop-below__2G-Ic .fadeInBgFadeOut-module_backdropInner__IQp87 {\n opacity: 0;\n visibility: hidden;\n}\n\n.fadeInBgFadeOut-module_bbackdrop__1thge::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100vh;\n background-color: #000;\n}\n\n.fadeInBgFadeOut-module_bbackdrop-below__yaeMc::before {\n visibility: hidden;\n}\n";
|
2949
2291
|
var fadeInBgFadeOut = {"fade-duration":"0.5s","backdrop":"fadeInBgFadeOut-module_backdrop__r0YXp","backdropInner":"fadeInBgFadeOut-module_backdropInner__IQp87","foreground":"fadeInBgFadeOut-module_foreground__Q2vkT","foreground-above":"fadeInBgFadeOut-module_foreground-above__3pmz9","backdrop-below":"fadeInBgFadeOut-module_backdrop-below__2G-Ic","bbackdrop":"fadeInBgFadeOut-module_bbackdrop__1thge","bbackdrop-below":"fadeInBgFadeOut-module_bbackdrop-below__yaeMc"};
|
2950
|
-
styleInject(css$
|
2292
|
+
styleInject(css$m);
|
2951
2293
|
|
2952
|
-
var css$
|
2294
|
+
var css$n = "\n\n.fadeInBgFadeOutBg-module_backdrop__15ocl {\n position: absolute;\n height: 100%;\n}\n\n.fadeInBgFadeOutBg-module_backdropInner__sAnz6 {\n position: fixed;\n top: 0;\n height: 100vh;\n width: 100%;\n}\n\n.fadeInBgFadeOutBg-module_boxShadow__xUKyj,\n.fadeInBgFadeOutBg-module_backdrop__15ocl .fadeInBgFadeOutBg-module_backdropInner__sAnz6 {\n transition: opacity 0.5s ease, visibility 0.5s;\n}\n\n.fadeInBgFadeOutBg-module_boxShadow-above__2bY0E,\n.fadeInBgFadeOutBg-module_backdrop-below__1rDT6 .fadeInBgFadeOutBg-module_backdropInner__sAnz6 {\n opacity: 0;\n visibility: hidden;\n}\n\n.fadeInBgFadeOutBg-module_bbackdrop__25Ux-::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100vh;\n background-color: #000;\n}\n\n.fadeInBgFadeOutBg-module_bbackdrop-below__2MPgj::before {\n visibility: hidden;\n}\n";
|
2953
2295
|
var fadeInBgFadeOutBg = {"fade-duration":"0.5s","backdrop":"fadeInBgFadeOutBg-module_backdrop__15ocl","backdropInner":"fadeInBgFadeOutBg-module_backdropInner__sAnz6","boxShadow":"fadeInBgFadeOutBg-module_boxShadow__xUKyj","boxShadow-above":"fadeInBgFadeOutBg-module_boxShadow-above__2bY0E","backdrop-below":"fadeInBgFadeOutBg-module_backdrop-below__1rDT6","bbackdrop":"fadeInBgFadeOutBg-module_bbackdrop__25Ux-","bbackdrop-below":"fadeInBgFadeOutBg-module_bbackdrop-below__2MPgj"};
|
2954
|
-
styleInject(css$
|
2296
|
+
styleInject(css$n);
|
2955
2297
|
|
2956
|
-
var css$
|
2298
|
+
var css$o = "\n\n.fadeInBgScrollOut-module_backdrop__1bSsb {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n}\n\n.fadeInBgScrollOut-module_backdropInner__3JZBG {\n position: sticky;\n bottom: 0;\n width: 100%;\n}\n\n.fadeInBgScrollOut-module_backdropInner2__q-00L {\n position: absolute;\n bottom: 0;\n width: 100%;\n}\n\n.fadeInBgScrollOut-module_foreground__1ODH9 {\n min-height: 100vh;\n}\n\n.fadeInBgScrollOut-module_backdrop__1bSsb {\n transition: opacity 0.5s ease, visibility 0.5s;\n}\n\n.fadeInBgScrollOut-module_backdrop-below__2Dbkr {\n opacity: 0;\n visibility: hidden;\n}\n";
|
2957
2299
|
var fadeInBgScrollOut = {"fade-duration":"0.5s","backdrop":"fadeInBgScrollOut-module_backdrop__1bSsb","backdropInner":"fadeInBgScrollOut-module_backdropInner__3JZBG","backdropInner2":"fadeInBgScrollOut-module_backdropInner2__q-00L","foreground":"fadeInBgScrollOut-module_foreground__1ODH9","backdrop-below":"fadeInBgScrollOut-module_backdrop-below__2Dbkr"};
|
2958
|
-
styleInject(css$
|
2300
|
+
styleInject(css$o);
|
2959
2301
|
|
2960
|
-
var css$
|
2302
|
+
var css$p = "\n\n.fadeInConceal-module_backdrop__1zaRO {\n position: absolute;\n height: 100%;\n}\n\n.fadeInConceal-module_backdropInner__1AIvq {\n position: fixed;\n top: 0;\n height: 100vh;\n width: 100%;\n}\n\n.fadeInConceal-module_backdrop__1zaRO,\n.fadeInConceal-module_foreground__3giM9 {\n transition: opacity 0.5s ease, visibility 0.5s;\n}\n\n.fadeInConceal-module_backdrop-below__AWyQe,\n.fadeInConceal-module_foreground-below__2z5Op {\n opacity: 0;\n visibility: hidden;\n}\n";
|
2961
2303
|
var fadeInConceal = {"fade-duration":"0.5s","backdrop":"fadeInConceal-module_backdrop__1zaRO","backdropInner":"fadeInConceal-module_backdropInner__1AIvq","foreground":"fadeInConceal-module_foreground__3giM9","backdrop-below":"fadeInConceal-module_backdrop-below__AWyQe","foreground-below":"fadeInConceal-module_foreground-below__2z5Op"};
|
2962
|
-
styleInject(css$
|
2304
|
+
styleInject(css$p);
|
2963
2305
|
|
2964
|
-
var css$
|
2306
|
+
var css$q = "\n\n.fadeInFadeOut-module_backdrop__Y4xOA {\n position: absolute;\n height: 100%;\n}\n\n.fadeInFadeOut-module_backdropInner__1oRfP {\n position: fixed;\n top: 0;\n height: 100vh;\n width: 100%;\n}\n\n.fadeInFadeOut-module_backdrop__Y4xOA .fadeInFadeOut-module_backdropInner__1oRfP,\n.fadeInFadeOut-module_foreground__1eleZ {\n transition: opacity 0.5s ease, visibility 0.5s;\n}\n\n.fadeInFadeOut-module_foreground-above__249wa,\n.fadeInFadeOut-module_backdrop-below__1h2I4 .fadeInFadeOut-module_backdropInner__1oRfP,\n.fadeInFadeOut-module_foreground-below__3mE6f {\n opacity: 0;\n visibility: hidden;\n}\n\n.fadeInFadeOut-module_bbackdrop__WJjFl::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100vh;\n background-color: #000;\n}\n\n.fadeInFadeOut-module_bbackdrop-below__1Htkz::before {\n visibility: hidden;\n}\n";
|
2965
2307
|
var fadeInFadeOut = {"fade-duration":"0.5s","backdrop":"fadeInFadeOut-module_backdrop__Y4xOA","backdropInner":"fadeInFadeOut-module_backdropInner__1oRfP","foreground":"fadeInFadeOut-module_foreground__1eleZ","foreground-above":"fadeInFadeOut-module_foreground-above__249wa","backdrop-below":"fadeInFadeOut-module_backdrop-below__1h2I4","foreground-below":"fadeInFadeOut-module_foreground-below__3mE6f","bbackdrop":"fadeInFadeOut-module_bbackdrop__WJjFl","bbackdrop-below":"fadeInFadeOut-module_bbackdrop-below__1Htkz"};
|
2966
|
-
styleInject(css$
|
2308
|
+
styleInject(css$q);
|
2967
2309
|
|
2968
|
-
var css$
|
2310
|
+
var css$r = "\n\n.fadeInFadeOutBg-module_backdrop__2-IF3 {\n position: absolute;\n height: 100%;\n}\n\n.fadeInFadeOutBg-module_backdropInner__3r_bo {\n position: fixed;\n top: 0;\n height: 100vh;\n width: 100%;\n}\n\n.fadeInFadeOutBg-module_backdrop__2-IF3 .fadeInFadeOutBg-module_backdropInner__3r_bo,\n.fadeInFadeOutBg-module_boxShadow__3x7Ki,\n.fadeInFadeOutBg-module_foreground__24f_M {\n transition: opacity 0.5s ease, visibility 0.5s;\n}\n\n.fadeInFadeOutBg-module_backdrop-below__4Ys_2 .fadeInFadeOutBg-module_backdropInner__3r_bo,\n.fadeInFadeOutBg-module_boxShadow-above__3T2K5,\n.fadeInFadeOutBg-module_foreground-below__3pTRc {\n opacity: 0;\n visibility: hidden;\n}\n\n.fadeInFadeOutBg-module_bbackdrop__MVdvw::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100vh;\n background-color: #000;\n}\n\n.fadeInFadeOutBg-module_bbackdrop-below__30mpF::before {\n visibility: hidden;\n}\n";
|
2969
2311
|
var fadeInFadeOutBg = {"fade-duration":"0.5s","backdrop":"fadeInFadeOutBg-module_backdrop__2-IF3","backdropInner":"fadeInFadeOutBg-module_backdropInner__3r_bo","boxShadow":"fadeInFadeOutBg-module_boxShadow__3x7Ki","foreground":"fadeInFadeOutBg-module_foreground__24f_M","backdrop-below":"fadeInFadeOutBg-module_backdrop-below__4Ys_2","boxShadow-above":"fadeInFadeOutBg-module_boxShadow-above__3T2K5","foreground-below":"fadeInFadeOutBg-module_foreground-below__3pTRc","bbackdrop":"fadeInFadeOutBg-module_bbackdrop__MVdvw","bbackdrop-below":"fadeInFadeOutBg-module_bbackdrop-below__30mpF"};
|
2970
|
-
styleInject(css$
|
2312
|
+
styleInject(css$r);
|
2971
2313
|
|
2972
|
-
var css$
|
2314
|
+
var css$s = "\n\n.fadeInScrollOut-module_backdrop__2FhBb {\n position: absolute;\n top: 0;\n bottom: 0;\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n}\n\n.fadeInScrollOut-module_backdropInner__1OfNZ {\n position: sticky;\n bottom: 0;\n width: 100%;\n}\n\n.fadeInScrollOut-module_backdropInner2__5bNPT {\n position: absolute;\n bottom: 0;\n width: 100%;\n}\n\n.fadeInScrollOut-module_foreground__3h0EX {\n min-height: 100vh;\n}\n\n.fadeInScrollOut-module_backdrop__2FhBb,\n.fadeInScrollOut-module_foreground__3h0EX {\n transition: opacity 0.5s ease, visibility 0.5s;\n}\n\n.fadeInScrollOut-module_backdrop-below__3cRLH,\n.fadeInScrollOut-module_foreground-below__1Jcql {\n opacity: 0;\n visibility: hidden;\n}\n";
|
2973
2315
|
var fadeInScrollOut = {"fade-duration":"0.5s","backdrop":"fadeInScrollOut-module_backdrop__2FhBb","backdropInner":"fadeInScrollOut-module_backdropInner__1OfNZ","backdropInner2":"fadeInScrollOut-module_backdropInner2__5bNPT","foreground":"fadeInScrollOut-module_foreground__3h0EX","backdrop-below":"fadeInScrollOut-module_backdrop-below__3cRLH","foreground-below":"fadeInScrollOut-module_foreground-below__1Jcql"};
|
2974
|
-
styleInject(css$
|
2316
|
+
styleInject(css$s);
|
2975
2317
|
|
2976
|
-
var css$
|
2318
|
+
var css$t = ".revealConceal-module_backdrop__dLUhU {\n position: absolute;\n clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);\n height: 100%;\n}\n\n.revealConceal-module_backdropInner__2k1Z- {\n position: fixed;\n top: 0;\n height: 100vh;\n width: 100%;\n\n transform: translateZ(0);\n backface-visibility: hidden;\n}\n";
|
2977
2319
|
var revealConceal = {"backdrop":"revealConceal-module_backdrop__dLUhU","backdropInner":"revealConceal-module_backdropInner__2k1Z-"};
|
2978
|
-
styleInject(css$
|
2320
|
+
styleInject(css$t);
|
2979
2321
|
|
2980
|
-
var css$
|
2322
|
+
var css$u = "\n\n.revealFadeOut-module_backdrop___Q1QF {\n position: absolute;\n clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);\n height: 200%;\n}\n\n.revealFadeOut-module_backdropInner__17qRn {\n position: fixed;\n top: 0;\n height: 100vh;\n width: 100%;\n\n transform: translateZ(0);\n backface-visibility: hidden;\n}\n\n.revealFadeOut-module_foreground__1GzBs {\n transition: opacity 0.5s ease, visibility 0.5s;\n}\n\n.revealFadeOut-module_foreground-above__3GxOf {\n opacity: 0;\n visibility: hidden;\n}\n";
|
2981
2323
|
var revealFadeOut = {"fade-duration":"0.5s","backdrop":"revealFadeOut-module_backdrop___Q1QF","backdropInner":"revealFadeOut-module_backdropInner__17qRn","foreground":"revealFadeOut-module_foreground__1GzBs","foreground-above":"revealFadeOut-module_foreground-above__3GxOf"};
|
2982
|
-
styleInject(css$
|
2324
|
+
styleInject(css$u);
|
2983
2325
|
|
2984
|
-
var css$
|
2326
|
+
var css$v = "\n\n.revealFadeOutBg-module_backdrop__30OCF {\n position: absolute;\n clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);\n height: 200%;\n}\n\n.revealFadeOutBg-module_backdropInner__3v3tM {\n position: fixed;\n top: 0;\n height: 100vh;\n width: 100%;\n\n transform: translateZ(0);\n backface-visibility: hidden;\n}\n\n.revealFadeOutBg-module_boxShadow__1NZRz {\n transition: opacity 1s ease, visibility 1s;\n}\n\n.revealFadeOutBg-module_boxShadow-above__2r4ov {\n opacity: 0;\n visibility: hidden;\n}\n";
|
2985
2327
|
var revealFadeOutBg = {"fade-duration":"0.5s","backdrop":"revealFadeOutBg-module_backdrop__30OCF","backdropInner":"revealFadeOutBg-module_backdropInner__3v3tM","boxShadow":"revealFadeOutBg-module_boxShadow__1NZRz","boxShadow-above":"revealFadeOutBg-module_boxShadow-above__2r4ov"};
|
2986
|
-
styleInject(css$
|
2328
|
+
styleInject(css$v);
|
2987
2329
|
|
2988
|
-
var css$
|
2330
|
+
var css$w = ".revealScrollOut-module_backdrop__2yOXd {\n position: absolute;\n clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);\n top: 0;\n bottom: 0;\n display: flex;\n flex-direction: column;\n justify-content: flex-end;\n}\n\n.revealScrollOut-module_backdropInner__211p3 {\n position: sticky;\n bottom: 0;\n width: 100%;\n\n transform: translateZ(0);\n backface-visibility: hidden;\n}\n\n.revealScrollOut-module_backdropInner2__v6WqM {\n position: absolute;\n bottom: 0;\n width: 100%;\n}\n\n.revealScrollOut-module_foreground__3z-hw {\n}\n";
|
2989
2331
|
var revealScrollOut = {"backdrop":"revealScrollOut-module_backdrop__2yOXd","backdropInner":"revealScrollOut-module_backdropInner__211p3","backdropInner2":"revealScrollOut-module_backdropInner2__v6WqM","foreground":"revealScrollOut-module_foreground__3z-hw"};
|
2990
|
-
styleInject(css$
|
2332
|
+
styleInject(css$w);
|
2991
2333
|
|
2992
|
-
var css$
|
2334
|
+
var css$x = ".scrollInConceal-module_backdrop__2OJJC {\n position: sticky;\n top: 0;\n height: 0;\n}\n";
|
2993
2335
|
var scrollInConceal = {"backdrop":"scrollInConceal-module_backdrop__2OJJC"};
|
2994
|
-
styleInject(css$
|
2336
|
+
styleInject(css$x);
|
2995
2337
|
|
2996
|
-
var css$
|
2338
|
+
var css$y = "\n\n.scrollInFadeOut-module_backdrop__1vXJd {\n position: sticky;\n top: 0;\n height: 0;\n}\n\n.scrollInFadeOut-module_foreground__3Ikxb {\n transition: opacity 0.5s ease, visibility 0.5s;\n}\n\n.scrollInFadeOut-module_foreground-above__6ipm- {\n opacity: 0;\n visibility: hidden;\n}\n\n.scrollInFadeOut-module_bbackdrop__2C-bf::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100vh;\n background-color: #000;\n}\n\n.scrollInFadeOut-module_bbackdrop-below__3tq0M::before {\n visibility: hidden;\n}\n";
|
2997
2339
|
var scrollInFadeOut = {"fade-duration":"0.5s","backdrop":"scrollInFadeOut-module_backdrop__1vXJd","foreground":"scrollInFadeOut-module_foreground__3Ikxb","foreground-above":"scrollInFadeOut-module_foreground-above__6ipm-","bbackdrop":"scrollInFadeOut-module_bbackdrop__2C-bf","bbackdrop-below":"scrollInFadeOut-module_bbackdrop-below__3tq0M"};
|
2998
|
-
styleInject(css$
|
2340
|
+
styleInject(css$y);
|
2999
2341
|
|
3000
|
-
var css$
|
2342
|
+
var css$z = "\n\n.scrollInFadeOutBg-module_backdrop__zw95c {\n position: sticky;\n top: 0;\n height: 0;\n}\n\n.scrollInFadeOutBg-module_boxShadow__3UxCQ {\n transition: opacity 0.5s ease, visibility 0.5s;\n}\n\n.scrollInFadeOutBg-module_boxShadow-above__3kfau {\n opacity: 0;\n visibility: hidden;\n}\n\n.scrollInFadeOutBg-module_bbackdrop__2pO9o::before {\n content: \"\";\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100vh;\n background-color: #000;\n}\n\n.scrollInFadeOutBg-module_bbackdrop-below__1Ky2w::before {\n visibility: hidden;\n}\n";
|
3001
2343
|
var scrollInFadeOutBg = {"fade-duration":"0.5s","backdrop":"scrollInFadeOutBg-module_backdrop__zw95c","boxShadow":"scrollInFadeOutBg-module_boxShadow__3UxCQ","boxShadow-above":"scrollInFadeOutBg-module_boxShadow-above__3kfau","bbackdrop":"scrollInFadeOutBg-module_bbackdrop__2pO9o","bbackdrop-below":"scrollInFadeOutBg-module_bbackdrop-below__1Ky2w"};
|
3002
|
-
styleInject(css$
|
2344
|
+
styleInject(css$z);
|
3003
2345
|
|
3004
|
-
var css$
|
2346
|
+
var css$A = ".scrollInScrollOut-module_backdrop__XzCge {\n position: sticky;\n top: 0;\n height: 100vh;\n}\n\n.scrollInScrollOut-module_foreground__1yyY8 {\n margin-top: -100vh;\n}\n";
|
3005
2347
|
var scrollInScrollOut = {"backdrop":"scrollInScrollOut-module_backdrop__XzCge","foreground":"scrollInScrollOut-module_foreground__1yyY8"};
|
3006
|
-
styleInject(css$
|
2348
|
+
styleInject(css$A);
|
3007
2349
|
|
3008
|
-
var css$
|
2350
|
+
var css$B = ".previewScrollOut-module_scene__W9bDl {\n height: 100%;\n}\n\n.previewScrollOut-module_backdrop__2-Bl_ {\n position: absolute;\n top: 0;\n}\n";
|
3009
2351
|
var previewScrollOut = {"scene":"previewScrollOut-module_scene__W9bDl","backdrop":"previewScrollOut-module_backdrop__2-Bl_"};
|
3010
|
-
styleInject(css$
|
2352
|
+
styleInject(css$B);
|
3011
2353
|
|
3012
|
-
var styles$
|
2354
|
+
var styles$k = {
|
3013
2355
|
fadeInBgConceal: fadeInBgConceal,
|
3014
2356
|
fadeInBgFadeOut: fadeInBgFadeOut,
|
3015
2357
|
fadeInBgFadeOutBg: fadeInBgFadeOutBg,
|
@@ -3050,11 +2392,11 @@ function getTransitionStyles(section, previousSection, nextSection) {
|
|
3050
2392
|
var exitTransition = exitTransitions[nextSection ? nextSection.transition : 'scroll'];
|
3051
2393
|
var name = "".concat(enterTransition).concat(capitalize(exitTransition));
|
3052
2394
|
|
3053
|
-
if (!styles$
|
2395
|
+
if (!styles$k[name]) {
|
3054
2396
|
throw new Error("Unknown transition ".concat(name));
|
3055
2397
|
}
|
3056
2398
|
|
3057
|
-
return styles$
|
2399
|
+
return styles$k[name];
|
3058
2400
|
}
|
3059
2401
|
|
3060
2402
|
function capitalize(string) {
|
@@ -3065,18 +2407,18 @@ function NoOpShadow(props) {
|
|
3065
2407
|
return React.createElement("div", null, props.children);
|
3066
2408
|
}
|
3067
2409
|
|
3068
|
-
var css$
|
3069
|
-
var styles$
|
3070
|
-
styleInject(css$
|
2410
|
+
var css$C = ".GradientShadow-module_shadow__2UiDH {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100vh;\n z-index: 1;\n transition: opacity 1s ease;\n}\n\n.GradientShadow-module_align-right__3iXZs .GradientShadow-module_shadow__2UiDH,\n.GradientShadow-module_align-left__3qcNM .GradientShadow-module_shadow__2UiDH {\n background: linear-gradient(to right, #000 0%,rgba(0, 0, 0, 0) 100%);\n}\n\n@media (min-width: 950px) {\n .GradientShadow-module_align-right__3iXZs .GradientShadow-module_shadow__2UiDH {\n background: linear-gradient(to left, #000 0%,rgba(0, 0, 0, 0) 100%);\n }\n}\n\n.GradientShadow-module_intersecting__h6vpz .GradientShadow-module_shadow__2UiDH,\n.GradientShadow-module_align-center__2C7cl .GradientShadow-module_shadow__2UiDH {\n background: #000;\n}\n";
|
2411
|
+
var styles$l = {"shadow":"GradientShadow-module_shadow__2UiDH","align-right":"GradientShadow-module_align-right__3iXZs","align-left":"GradientShadow-module_align-left__3qcNM","intersecting":"GradientShadow-module_intersecting__h6vpz","align-center":"GradientShadow-module_align-center__2C7cl"};
|
2412
|
+
styleInject(css$C);
|
3071
2413
|
|
3072
2414
|
function GradientShadow(props) {
|
3073
2415
|
var maxOpacityOverlap = props.motifAreaRect.height / 2;
|
3074
2416
|
var motifAreaOverlap = Math.min(maxOpacityOverlap, props.motifAreaRect.bottom - props.contentAreaRect.top);
|
3075
2417
|
var opacityFactor = props.intersecting && props.motifAreaRect.height > 0 ? motifAreaOverlap / maxOpacityOverlap : 1;
|
3076
2418
|
return React.createElement("div", {
|
3077
|
-
className:
|
2419
|
+
className: classNames(styles$l.root, styles$l["align-".concat(props.align)], _defineProperty({}, styles$l.intersecting, props.intersecting))
|
3078
2420
|
}, React.createElement("div", {
|
3079
|
-
className: styles$
|
2421
|
+
className: styles$l.shadow,
|
3080
2422
|
style: {
|
3081
2423
|
opacity: props.opacity * Math.round(opacityFactor * 10) / 10
|
3082
2424
|
}
|
@@ -3091,38 +2433,38 @@ function NoOpBoxWrapper(props) {
|
|
3091
2433
|
return React.createElement("div", null, props.children);
|
3092
2434
|
}
|
3093
2435
|
|
3094
|
-
var css$
|
3095
|
-
var styles$
|
3096
|
-
styleInject(css$
|
2436
|
+
var css$D = ".GradientBox-module_wrapper__1Jj7N {\n padding-bottom: 50px;\n}\n\n.GradientBox-module_shadow__2XilX {\n --background: rgba(0, 0, 0, 0.7);\n position: absolute;\n top: 0;\n left: 0;\n bottom: 0;\n right: 0;\n pointer-events: none;\n}\n\n.GradientBox-module_long__10s6v .GradientBox-module_shadow__2XilX {\n bottom: -100vh;\n}\n\n.GradientBox-module_gradient__31tJ- {\n text-shadow: 0px 1px 5px black;\n}\n\n.GradientBox-module_gradient__31tJ- .GradientBox-module_shadow__2XilX {\n background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0px,rgba(0, 0, 0, 0.3) 100px,rgba(0, 0, 0, 0.3) 100%);\n}\n\n.GradientBox-module_content__96lDk {\n position: relative;\n}\n";
|
2437
|
+
var styles$m = {"wrapper":"GradientBox-module_wrapper__1Jj7N","shadow":"GradientBox-module_shadow__2XilX","long":"GradientBox-module_long__10s6v","gradient":"GradientBox-module_gradient__31tJ-","content":"GradientBox-module_content__96lDk"};
|
2438
|
+
styleInject(css$D);
|
3097
2439
|
|
3098
2440
|
function GradientBox(props) {
|
3099
2441
|
var _classNames;
|
3100
2442
|
|
3101
2443
|
var padding = props.active ? props.padding : 0;
|
3102
2444
|
return React.createElement("div", {
|
3103
|
-
className:
|
2445
|
+
className: classNames(styles$m.root, (_classNames = {}, _defineProperty(_classNames, styles$m.gradient, padding > 0), _defineProperty(_classNames, styles$m["long"], props.coverInvisibleNextSection), _classNames)),
|
3104
2446
|
style: {
|
3105
2447
|
paddingTop: padding
|
3106
2448
|
}
|
3107
2449
|
}, React.createElement("div", {
|
3108
|
-
className: styles$
|
2450
|
+
className: styles$m.wrapper
|
3109
2451
|
}, React.createElement("div", {
|
3110
|
-
className:
|
2452
|
+
className: classNames(styles$m.shadow, props.transitionStyles.boxShadow, props.transitionStyles["boxShadow-".concat(props.state)]),
|
3111
2453
|
style: {
|
3112
2454
|
top: padding,
|
3113
2455
|
opacity: props.opacity
|
3114
2456
|
}
|
3115
2457
|
}), React.createElement("div", {
|
3116
|
-
className: styles$
|
2458
|
+
className: styles$m.content
|
3117
2459
|
}, props.children)));
|
3118
2460
|
}
|
3119
2461
|
GradientBox.defaultProps = {
|
3120
2462
|
opacity: 1
|
3121
2463
|
};
|
3122
2464
|
|
3123
|
-
var css$
|
3124
|
-
var styles$
|
3125
|
-
styleInject(css$
|
2465
|
+
var css$E = ".CardBox-module_wrapper__3vnaH {\n}\n\n.CardBox-module_content__36v7J {\n position: relative;\n}\n";
|
2466
|
+
var styles$n = {"wrapper":"CardBox-module_wrapper__3vnaH","content":"CardBox-module_content__36v7J"};
|
2467
|
+
styleInject(css$E);
|
3126
2468
|
|
3127
2469
|
function CardBox(props) {
|
3128
2470
|
var padding = props.active ? props.padding : 0;
|
@@ -3131,23 +2473,23 @@ function CardBox(props) {
|
|
3131
2473
|
paddingTop: padding
|
3132
2474
|
}
|
3133
2475
|
}, React.createElement("div", {
|
3134
|
-
className: styles$
|
2476
|
+
className: styles$n.wrapper
|
3135
2477
|
}, React.createElement("div", {
|
3136
2478
|
style: {
|
3137
2479
|
top: padding
|
3138
2480
|
}
|
3139
2481
|
}), React.createElement("div", {
|
3140
|
-
className: styles$
|
2482
|
+
className: styles$n.content
|
3141
2483
|
}, props.children)));
|
3142
2484
|
}
|
3143
2485
|
|
3144
|
-
var css$
|
3145
|
-
var styles$
|
3146
|
-
styleInject(css$
|
2486
|
+
var css$F = ".CardBoxWrapper-module_cardBg__154o2 {\n background: white;\n color: black;\n padding: 4%;\n margin: 0 -4% 50px 0;\n border-radius: 15px;\n opacity: 1;\n}\n";
|
2487
|
+
var styles$o = {"cardBg":"CardBoxWrapper-module_cardBg__154o2"};
|
2488
|
+
styleInject(css$F);
|
3147
2489
|
|
3148
2490
|
function CardBoxWrapper(props) {
|
3149
2491
|
return React.createElement("div", {
|
3150
|
-
className: styles$
|
2492
|
+
className: styles$o.cardBg
|
3151
2493
|
}, props.children);
|
3152
2494
|
}
|
3153
2495
|
|
@@ -3165,6 +2507,10 @@ function Section(props) {
|
|
3165
2507
|
var ref = useRef();
|
3166
2508
|
var onScreen = useOnScreen(ref, '0px 0px 0px 0px');
|
3167
2509
|
useScrollTarget(ref, props.isScrollTarget);
|
2510
|
+
var sectionProperties = {
|
2511
|
+
layout: props.layout,
|
2512
|
+
invert: props.invert
|
2513
|
+
};
|
3168
2514
|
|
3169
2515
|
var _useBoundingClientRec = useBoundingClientRect(),
|
3170
2516
|
_useBoundingClientRec2 = _slicedToArray(_useBoundingClientRec, 2),
|
@@ -3213,10 +2559,10 @@ function Section(props) {
|
|
3213
2559
|
return React.createElement("section", {
|
3214
2560
|
id: "section-".concat(props.permaId),
|
3215
2561
|
ref: ref,
|
3216
|
-
className:
|
2562
|
+
className: classNames(styles$j.Section, transitionStyles.section, _defineProperty({}, styles$j.invert, props.invert))
|
3217
2563
|
}, React.createElement("div", {
|
3218
2564
|
ref: activityProbeRef,
|
3219
|
-
className: styles$
|
2565
|
+
className: styles$j.activityProbe
|
3220
2566
|
}), React.createElement(Backdrop, Object.assign({}, props.backdrop, {
|
3221
2567
|
motifAreaRef: setMotifAreaRefs,
|
3222
2568
|
onScreen: onScreen,
|
@@ -3250,7 +2596,7 @@ function Section(props) {
|
|
3250
2596
|
items: indexItems(props.foreground),
|
3251
2597
|
appearance: props.appearance,
|
3252
2598
|
contentAreaRef: setContentAreaRef,
|
3253
|
-
|
2599
|
+
sectionProps: sectionProperties
|
3254
2600
|
}, function (children) {
|
3255
2601
|
return React.createElement(BoxWrapper, null, children);
|
3256
2602
|
}))));
|
@@ -3300,9 +2646,9 @@ function renderSections(sections, currentSectionIndex, setCurrentSectionIndex, s
|
|
3300
2646
|
});
|
3301
2647
|
}
|
3302
2648
|
|
3303
|
-
var css$
|
3304
|
-
var
|
3305
|
-
styleInject(css$
|
2649
|
+
var css$G = ".Entry-module_Entry__1nDGh {\n font-family: 'Source Sans Pro', sans-serif;\n background-color: #000;\n color: #fff;\n}\n\n.Entry-module_exampleSelect__1uAJs {\n position: absolute;\n top: 5px;\n left: 50%;\n z-index: 10;\n transform: translateX(-50%);\n}\n";
|
2650
|
+
var entryStyles = {"font-sans":"'Source Sans Pro', sans-serif","Entry":"Entry-module_Entry__1nDGh","exampleSelect":"Entry-module_exampleSelect__1uAJs"};
|
2651
|
+
styleInject(css$G);
|
3306
2652
|
|
3307
2653
|
function Entry(props) {
|
3308
2654
|
var _useState = useState(0),
|
@@ -3315,6 +2661,9 @@ function Entry(props) {
|
|
3315
2661
|
scrollTargetSectionIndex = _useState4[0],
|
3316
2662
|
setScrollTargetSectionIndex = _useState4[1];
|
3317
2663
|
|
2664
|
+
var _useEditorSelection = useEditorSelection(),
|
2665
|
+
select = _useEditorSelection.select;
|
2666
|
+
|
3318
2667
|
var _useState5 = useState(true),
|
3319
2668
|
_useState6 = _slicedToArray(_useState5, 2),
|
3320
2669
|
muted = _useState6[0],
|
@@ -3335,7 +2684,7 @@ function Entry(props) {
|
|
3335
2684
|
setCurrentSectionIndexState(index);
|
3336
2685
|
}, [setCurrentSectionIndexState]);
|
3337
2686
|
useEffect(function () {
|
3338
|
-
if (window.parent) {
|
2687
|
+
if (window.parent !== window) {
|
3339
2688
|
window.addEventListener('message', receive);
|
3340
2689
|
window.parent.postMessage({
|
3341
2690
|
type: 'READY'
|
@@ -3352,10 +2701,12 @@ function Entry(props) {
|
|
3352
2701
|
dispatch(message.data.payload);
|
3353
2702
|
} else if (message.data.type === 'SCROLL_TO_SECTION') {
|
3354
2703
|
setScrollTargetSectionIndex(message.data.payload.index);
|
2704
|
+
} else if (message.data.type === 'SELECT') {
|
2705
|
+
select(message.data.payload);
|
3355
2706
|
}
|
3356
2707
|
}
|
3357
2708
|
}
|
3358
|
-
}, [dispatch]);
|
2709
|
+
}, [dispatch, select]);
|
3359
2710
|
|
3360
2711
|
function scrollToSection(index) {
|
3361
2712
|
if (index === 'next') {
|
@@ -3366,7 +2717,7 @@ function Entry(props) {
|
|
3366
2717
|
}
|
3367
2718
|
|
3368
2719
|
return React.createElement("div", {
|
3369
|
-
className:
|
2720
|
+
className: entryStyles.Entry
|
3370
2721
|
}, React.createElement(MutedContext.Provider, {
|
3371
2722
|
value: {
|
3372
2723
|
muted: muted,
|
@@ -3391,14 +2742,138 @@ function renderChapters(entryStructure, currentSectionIndex, setCurrentSectionIn
|
|
3391
2742
|
});
|
3392
2743
|
}
|
3393
2744
|
|
3394
|
-
var css$
|
3395
|
-
styleInject(css$
|
2745
|
+
var css$H = "body {\n margin: 0;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n";
|
2746
|
+
styleInject(css$H);
|
2747
|
+
|
2748
|
+
var css$I = ".Text-module_h2__34chJ {\n font-size: 66px;\n font-weight: 700;\n}\n\n.Text-module_h1__2_5kX {\n font-size: 110px;\n line-height: 1;\n}\n\n.Text-module_body__4oWD- {\n font-size: 22px;\n line-height: 1.4;\n}\n\n.Text-module_caption__3_6Au {\n font-size: 20px;\n line-height: 1.4;\n}\n\n@media (max-width: 600px) {\n .Text-module_h2__34chJ {\n font-size: 40px;\n }\n\n .Text-module_h1__2_5kX {\n font-size: 66px;\n }\n}\n";
|
2749
|
+
var styles$p = {"text-s":"20px","text-base":"22px","text-l":"40px","text-xl":"66px","text-2xl":"110px","h2":"Text-module_h2__34chJ","h1":"Text-module_h1__2_5kX","body":"Text-module_body__4oWD-","caption":"Text-module_caption__3_6Au"};
|
2750
|
+
styleInject(css$I);
|
2751
|
+
|
2752
|
+
/**
|
2753
|
+
* Render some text using the default typography scale.
|
2754
|
+
*
|
2755
|
+
* @param {Object} props
|
2756
|
+
* @param {string} props.scaleCategory - One of the styles `'h1'`, `'h2'`, `'body'`, `'caption'`.
|
2757
|
+
* @param {string} [props.inline] - Render a span instread of a div.
|
2758
|
+
* @param {string} props.children - Nodes to render with specified typography.
|
2759
|
+
*/
|
2760
|
+
|
2761
|
+
function Text(_ref) {
|
2762
|
+
var inline = _ref.inline,
|
2763
|
+
scaleCategory = _ref.scaleCategory,
|
2764
|
+
children = _ref.children;
|
2765
|
+
return React.createElement(inline ? 'span' : 'div', {
|
2766
|
+
className: styles$p[scaleCategory]
|
2767
|
+
}, children);
|
2768
|
+
}
|
2769
|
+
|
2770
|
+
var css$J = ".InlineCaption-module_root__1R8Ib {\n padding: 3px 10px 5px;\n background-color: #fff;\n color: #222;\n text-shadow: none;\n}\n";
|
2771
|
+
var styles$q = {"root":"InlineCaption-module_root__1R8Ib"};
|
2772
|
+
styleInject(css$J);
|
2773
|
+
|
2774
|
+
/**
|
2775
|
+
* Render a caption text attached to a content element.
|
2776
|
+
*
|
2777
|
+
* @param {Object} props
|
2778
|
+
* @param {string} props.text - The text to be displayed.
|
2779
|
+
*/
|
2780
|
+
|
2781
|
+
function InlineCaption(_ref) {
|
2782
|
+
var text = _ref.text;
|
2783
|
+
|
2784
|
+
if (text) {
|
2785
|
+
return React.createElement("div", {
|
2786
|
+
className: styles$q.root,
|
2787
|
+
role: "caption"
|
2788
|
+
}, React.createElement(Text, {
|
2789
|
+
scaleCategory: "caption"
|
2790
|
+
}, text));
|
2791
|
+
} else {
|
2792
|
+
return null;
|
2793
|
+
}
|
2794
|
+
}
|
2795
|
+
|
2796
|
+
/**
|
2797
|
+
* Read and change media settings of the entry.
|
2798
|
+
*
|
2799
|
+
* @example
|
2800
|
+
* const mediaSettings = useMediaSettings();
|
2801
|
+
* mediaSettings // =>
|
2802
|
+
* {
|
2803
|
+
* muted: true, // All media elements should be played without sound.
|
2804
|
+
* setMuted: muted => {}, // Enable sound for all media elements.
|
2805
|
+
* mediaOff: false // Playing media is not allowed. Will be true when
|
2806
|
+
* // rendering section thumbnails in the editor.
|
2807
|
+
* }
|
2808
|
+
*/
|
2809
|
+
|
2810
|
+
function useMediaSettings() {
|
2811
|
+
return useContext(MutedContext);
|
2812
|
+
}
|
2813
|
+
|
2814
|
+
var css$K = ".SectionThumbnail-module_crop__Q1nZj {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n overflow: hidden;\n}\n\n.SectionThumbnail-module_scale__2tKDG {\n transform: scale(0.2);\n transform-origin: 0 0;\n width: 500%;\n}\n";
|
2815
|
+
var styles$r = {"crop":"SectionThumbnail-module_crop__Q1nZj","scale":"SectionThumbnail-module_scale__2tKDG"};
|
2816
|
+
styleInject(css$K);
|
2817
|
+
|
2818
|
+
function SectionThumbnail(_ref) {
|
2819
|
+
var seed = _ref.seed,
|
2820
|
+
props = _objectWithoutProperties(_ref, ["seed"]);
|
2821
|
+
|
2822
|
+
return React.createElement(EntryStateProvider, {
|
2823
|
+
seed: seed
|
2824
|
+
}, React.createElement(Inner, props));
|
2825
|
+
}
|
2826
|
+
|
2827
|
+
function Inner(_ref2) {
|
2828
|
+
var sectionPermaId = _ref2.sectionPermaId,
|
2829
|
+
subscribe = _ref2.subscribe;
|
2830
|
+
var dispatch = useEntryStateDispatch();
|
2831
|
+
useEffect(function () {
|
2832
|
+
return subscribe(dispatch);
|
2833
|
+
}, [subscribe, dispatch]);
|
2834
|
+
var section = useSectionStructure({
|
2835
|
+
sectionPermaId: sectionPermaId
|
2836
|
+
});
|
2837
|
+
|
2838
|
+
if (section) {
|
2839
|
+
return React.createElement("div", {
|
2840
|
+
className: styles$r.crop
|
2841
|
+
}, React.createElement("div", {
|
2842
|
+
className: styles$r.scale
|
2843
|
+
}, React.createElement("div", {
|
2844
|
+
className: entryStyles.Entry
|
2845
|
+
}, React.createElement(Section, Object.assign({
|
2846
|
+
state: "active"
|
2847
|
+
}, section, {
|
2848
|
+
transition: "preview"
|
2849
|
+
})))));
|
2850
|
+
} else {
|
2851
|
+
return React.createElement("div", {
|
2852
|
+
className: styles$r.root
|
2853
|
+
}, "Not found.");
|
2854
|
+
}
|
2855
|
+
}
|
2856
|
+
|
2857
|
+
Inner.defaultProps = {
|
2858
|
+
subscribe: function subscribe() {}
|
2859
|
+
};
|
2860
|
+
|
2861
|
+
var editMode = window.location.pathname.indexOf('/editor/entries') === 0;
|
2862
|
+
|
2863
|
+
window.pageflowScrolledRender = function (seed) {
|
2864
|
+
setupI18n(seed.i18n);
|
2865
|
+
ReactDOM.render(React.createElement(Root, {
|
2866
|
+
seed: seed
|
2867
|
+
}), document.getElementById('root'));
|
2868
|
+
};
|
3396
2869
|
|
3397
|
-
function Root() {
|
3398
|
-
|
3399
|
-
|
3400
|
-
|
2870
|
+
function Root(_ref) {
|
2871
|
+
var seed = _ref.seed;
|
2872
|
+
return React.createElement(React.Fragment, null, React.createElement(EditorStateProvider, {
|
2873
|
+
active: editMode
|
2874
|
+
}, React.createElement(EntryStateProvider, {
|
2875
|
+
seed: seed
|
2876
|
+
}, React.createElement(AppHeader, null), React.createElement(Entry, null))));
|
3401
2877
|
}
|
3402
|
-
ReactDOM.render(React.createElement(Root, null), document.getElementById('root'));
|
3403
2878
|
|
3404
|
-
export
|
2879
|
+
export { Entry, EntryStateProvider, Image, InlineCaption, SectionThumbnail, Text, Video, api as frontend, setupI18n, useEditorSelection, useFile, useI18n, useMediaSettings, useOnScreen };
|