@micromag/viewer 0.3.480 → 0.3.482
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/assets/css/styles.css +1 -1
- package/es/index.js +55 -36
- package/lib/index.js +603 -46
- package/package.json +12 -11
package/lib/index.js
CHANGED
|
@@ -4,17 +4,22 @@ Object.defineProperty(exports, '__esModule', { value: true });
|
|
|
4
4
|
|
|
5
5
|
var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
|
|
6
6
|
var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
|
|
7
|
-
var
|
|
8
|
-
var PropTypes = require('prop-types');
|
|
7
|
+
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
9
8
|
var React = require('react');
|
|
10
|
-
var
|
|
9
|
+
var PropTypes = require('prop-types');
|
|
10
|
+
var jsxRuntime = require('react/jsx-runtime');
|
|
11
|
+
var pathToRegexp = require('path-to-regexp');
|
|
12
|
+
var mitt = require('mitt');
|
|
13
|
+
var _createForOfIteratorHelper = require('@babel/runtime/helpers/createForOfIteratorHelper');
|
|
14
|
+
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
15
|
+
var _toArray = require('@babel/runtime/helpers/toArray');
|
|
16
|
+
var regexparam = require('regexparam');
|
|
17
|
+
var index_js = require('use-sync-external-store/shim/index.js');
|
|
11
18
|
var core = require('@micromag/core');
|
|
12
19
|
var contexts = require('@micromag/core/contexts');
|
|
13
20
|
var intl = require('@micromag/intl');
|
|
14
21
|
var screens = require('@micromag/screens');
|
|
15
22
|
var _defineProperty = require('@babel/runtime/helpers/defineProperty');
|
|
16
|
-
var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
17
|
-
var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
|
|
18
23
|
var web = require('@react-spring/web');
|
|
19
24
|
var classNames = require('classnames');
|
|
20
25
|
var reactHelmet = require('react-helmet');
|
|
@@ -24,13 +29,545 @@ var hooks = require('@micromag/core/hooks');
|
|
|
24
29
|
var utils = require('@micromag/core/utils');
|
|
25
30
|
var all = require('@micromag/elements/all');
|
|
26
31
|
var reactIntl = require('react-intl');
|
|
27
|
-
var reactRouterDom = require('react-router-dom');
|
|
28
32
|
var core$1 = require('@react-spring/core');
|
|
29
33
|
var Scroll = require('@micromag/element-scroll');
|
|
30
34
|
var ShareOptions = require('@micromag/element-share-options');
|
|
31
35
|
var react = require('@use-gesture/react');
|
|
32
36
|
var WebView = require('@micromag/element-webview');
|
|
33
37
|
|
|
38
|
+
function _interopNamespaceDefault(e) {
|
|
39
|
+
var n = Object.create(null);
|
|
40
|
+
if (e) {
|
|
41
|
+
Object.keys(e).forEach(function (k) {
|
|
42
|
+
if (k !== 'default') {
|
|
43
|
+
var d = Object.getOwnPropertyDescriptor(e, k);
|
|
44
|
+
Object.defineProperty(n, k, d.get ? d : {
|
|
45
|
+
enumerable: true,
|
|
46
|
+
get: function () { return e[k]; }
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
}
|
|
51
|
+
n.default = e;
|
|
52
|
+
return Object.freeze(n);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
var React__namespace = /*#__PURE__*/_interopNamespaceDefault(React);
|
|
56
|
+
|
|
57
|
+
// React.useInsertionEffect is not available in React <18
|
|
58
|
+
var useEffect = React__namespace.useEffect,
|
|
59
|
+
useLayoutEffect = React__namespace.useLayoutEffect,
|
|
60
|
+
useRef = React__namespace.useRef,
|
|
61
|
+
useBuiltinInsertionEffect = React__namespace.useInsertionEffect;
|
|
62
|
+
|
|
63
|
+
// Copied from:
|
|
64
|
+
// https://github.com/facebook/react/blob/main/packages/shared/ExecutionEnvironment.js
|
|
65
|
+
var canUseDOM = !!(typeof window !== "undefined" && typeof window.document !== "undefined" && typeof window.document.createElement !== "undefined");
|
|
66
|
+
|
|
67
|
+
// Copied from:
|
|
68
|
+
// https://github.com/reduxjs/react-redux/blob/master/src/utils/useIsomorphicLayoutEffect.ts
|
|
69
|
+
// "React currently throws a warning when using useLayoutEffect on the server.
|
|
70
|
+
// To get around it, we can conditionally useEffect on the server (no-op) and
|
|
71
|
+
// useLayoutEffect in the browser."
|
|
72
|
+
var useIsomorphicLayoutEffect = canUseDOM ? useLayoutEffect : useEffect;
|
|
73
|
+
|
|
74
|
+
// useInsertionEffect is already a noop on the server.
|
|
75
|
+
// See: https://github.com/facebook/react/blob/main/packages/react-server/src/ReactFizzHooks.js
|
|
76
|
+
var useInsertionEffect = useBuiltinInsertionEffect || useIsomorphicLayoutEffect;
|
|
77
|
+
|
|
78
|
+
// Userland polyfill while we wait for the forthcoming
|
|
79
|
+
// https://github.com/reactjs/rfcs/blob/useevent/text/0000-useevent.md
|
|
80
|
+
// Note: "A high-fidelity polyfill for useEvent is not possible because
|
|
81
|
+
// there is no lifecycle or Hook in React that we can use to switch
|
|
82
|
+
// .current at the right timing."
|
|
83
|
+
// So we will have to make do with this "close enough" approach for now.
|
|
84
|
+
var useEvent = function useEvent(fn) {
|
|
85
|
+
var ref = useRef([fn, function () {
|
|
86
|
+
return ref[0].apply(ref, arguments);
|
|
87
|
+
}]).current;
|
|
88
|
+
// Per Dan Abramov: useInsertionEffect executes marginally closer to the
|
|
89
|
+
// correct timing for ref synchronization than useLayoutEffect on React 18.
|
|
90
|
+
// See: https://github.com/facebook/react/pull/25881#issuecomment-1356244360
|
|
91
|
+
useInsertionEffect(function () {
|
|
92
|
+
ref[0] = fn;
|
|
93
|
+
});
|
|
94
|
+
return ref[1];
|
|
95
|
+
};
|
|
96
|
+
|
|
97
|
+
/**
|
|
98
|
+
* History API docs @see https://developer.mozilla.org/en-US/docs/Web/API/History
|
|
99
|
+
*/
|
|
100
|
+
var eventPopstate = "popstate";
|
|
101
|
+
var eventPushState = "pushState";
|
|
102
|
+
var eventReplaceState = "replaceState";
|
|
103
|
+
var eventHashchange = "hashchange";
|
|
104
|
+
var events = [eventPopstate, eventPushState, eventReplaceState, eventHashchange];
|
|
105
|
+
var subscribeToLocationUpdates = function subscribeToLocationUpdates(callback) {
|
|
106
|
+
for (var _i = 0, _events = events; _i < _events.length; _i++) {
|
|
107
|
+
var event = _events[_i];
|
|
108
|
+
addEventListener(event, callback);
|
|
109
|
+
}
|
|
110
|
+
return function () {
|
|
111
|
+
for (var _i2 = 0, _events2 = events; _i2 < _events2.length; _i2++) {
|
|
112
|
+
var _event = _events2[_i2];
|
|
113
|
+
removeEventListener(_event, callback);
|
|
114
|
+
}
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
var useLocationProperty = function useLocationProperty(fn, ssrFn) {
|
|
118
|
+
return index_js.useSyncExternalStore(subscribeToLocationUpdates, fn, ssrFn);
|
|
119
|
+
};
|
|
120
|
+
var currentSearch = function currentSearch() {
|
|
121
|
+
return location.search;
|
|
122
|
+
};
|
|
123
|
+
var useSearch = function useSearch() {
|
|
124
|
+
var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
125
|
+
_ref$ssrSearch = _ref.ssrSearch,
|
|
126
|
+
ssrSearch = _ref$ssrSearch === void 0 ? "" : _ref$ssrSearch;
|
|
127
|
+
return useLocationProperty(currentSearch, function () {
|
|
128
|
+
return ssrSearch;
|
|
129
|
+
});
|
|
130
|
+
};
|
|
131
|
+
var currentPathname = function currentPathname() {
|
|
132
|
+
return location.pathname;
|
|
133
|
+
};
|
|
134
|
+
var usePathname = function usePathname() {
|
|
135
|
+
var _ref2 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
136
|
+
ssrPath = _ref2.ssrPath;
|
|
137
|
+
return useLocationProperty(currentPathname, ssrPath ? function () {
|
|
138
|
+
return ssrPath;
|
|
139
|
+
} : currentPathname);
|
|
140
|
+
};
|
|
141
|
+
var navigate = function navigate(to) {
|
|
142
|
+
var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
143
|
+
_ref3$replace = _ref3.replace,
|
|
144
|
+
replace = _ref3$replace === void 0 ? false : _ref3$replace,
|
|
145
|
+
_ref3$state = _ref3.state,
|
|
146
|
+
state = _ref3$state === void 0 ? null : _ref3$state;
|
|
147
|
+
return history[replace ? eventReplaceState : eventPushState](state, "", to);
|
|
148
|
+
};
|
|
149
|
+
|
|
150
|
+
// the 2nd argument of the `useBrowserLocation` return value is a function
|
|
151
|
+
// that allows to perform a navigation.
|
|
152
|
+
var useBrowserLocation = function useBrowserLocation() {
|
|
153
|
+
var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
154
|
+
return [usePathname(opts), navigate];
|
|
155
|
+
};
|
|
156
|
+
var patchKey = Symbol["for"]("wouter_v3");
|
|
157
|
+
|
|
158
|
+
// While History API does have `popstate` event, the only
|
|
159
|
+
// proper way to listen to changes via `push/replaceState`
|
|
160
|
+
// is to monkey-patch these methods.
|
|
161
|
+
//
|
|
162
|
+
// See https://stackoverflow.com/a/4585031
|
|
163
|
+
if (typeof history !== "undefined" && typeof window[patchKey] === "undefined") {
|
|
164
|
+
var _loop = function _loop() {
|
|
165
|
+
var type = _arr[_i3];
|
|
166
|
+
var original = history[type];
|
|
167
|
+
// TODO: we should be using unstable_batchedUpdates to avoid multiple re-renders,
|
|
168
|
+
// however that will require an additional peer dependency on react-dom.
|
|
169
|
+
// See: https://github.com/reactwg/react-18/discussions/86#discussioncomment-1567149
|
|
170
|
+
history[type] = function () {
|
|
171
|
+
var result = original.apply(this, arguments);
|
|
172
|
+
var event = new Event(type);
|
|
173
|
+
event.arguments = arguments;
|
|
174
|
+
dispatchEvent(event);
|
|
175
|
+
return result;
|
|
176
|
+
};
|
|
177
|
+
};
|
|
178
|
+
for (var _i3 = 0, _arr = [eventPushState, eventReplaceState]; _i3 < _arr.length; _i3++) {
|
|
179
|
+
_loop();
|
|
180
|
+
}
|
|
181
|
+
|
|
182
|
+
// patch history object only once
|
|
183
|
+
// See: https://github.com/molefrog/wouter/issues/167
|
|
184
|
+
Object.defineProperty(window, patchKey, {
|
|
185
|
+
value: true
|
|
186
|
+
});
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
var _excluded$a = ["children"],
|
|
190
|
+
_excluded2 = ["path", "nest", "match"],
|
|
191
|
+
_excluded3 = ["to", "href", "onClick", "asChild", "children", "replace", "state"];
|
|
192
|
+
|
|
193
|
+
/*
|
|
194
|
+
* Transforms `path` into its relative `base` version
|
|
195
|
+
* If base isn't part of the path provided returns absolute path e.g. `~/app`
|
|
196
|
+
*/
|
|
197
|
+
var relativePath = function relativePath() {
|
|
198
|
+
var base = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : "";
|
|
199
|
+
var path = arguments.length > 1 ? arguments[1] : undefined;
|
|
200
|
+
return !path.toLowerCase().indexOf(base.toLowerCase()) ? path.slice(base.length) || "/" : "~" + path;
|
|
201
|
+
};
|
|
202
|
+
var absolutePath = function absolutePath(to) {
|
|
203
|
+
var base = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : "";
|
|
204
|
+
return to[0] === "~" ? to.slice(1) : base + to;
|
|
205
|
+
};
|
|
206
|
+
|
|
207
|
+
/*
|
|
208
|
+
* decodes escape sequences such as %20
|
|
209
|
+
*/
|
|
210
|
+
var unescape = function unescape(str) {
|
|
211
|
+
try {
|
|
212
|
+
return decodeURI(str);
|
|
213
|
+
} catch (_e) {
|
|
214
|
+
// fail-safe mode: if string can't be decoded do nothing
|
|
215
|
+
return str;
|
|
216
|
+
}
|
|
217
|
+
};
|
|
218
|
+
|
|
219
|
+
/*
|
|
220
|
+
* Router and router context. Router is a lightweight object that represents the current
|
|
221
|
+
* routing options: how location is managed, base path etc.
|
|
222
|
+
*
|
|
223
|
+
* There is a default router present for most of the use cases, however it can be overridden
|
|
224
|
+
* via the <Router /> component.
|
|
225
|
+
*/
|
|
226
|
+
|
|
227
|
+
var defaultRouter = {
|
|
228
|
+
hook: useBrowserLocation,
|
|
229
|
+
searchHook: useSearch,
|
|
230
|
+
parser: regexparam.parse,
|
|
231
|
+
base: "",
|
|
232
|
+
// this option is used to override the current location during SSR
|
|
233
|
+
ssrPath: undefined,
|
|
234
|
+
ssrSearch: undefined
|
|
235
|
+
};
|
|
236
|
+
var RouterCtx = React.createContext(defaultRouter);
|
|
237
|
+
|
|
238
|
+
// gets the closest parent router from the context
|
|
239
|
+
var useRouter = function useRouter() {
|
|
240
|
+
return React.useContext(RouterCtx);
|
|
241
|
+
};
|
|
242
|
+
|
|
243
|
+
/**
|
|
244
|
+
* Parameters context. Used by `useParams()` to get the
|
|
245
|
+
* matched params from the innermost `Route` component.
|
|
246
|
+
*/
|
|
247
|
+
|
|
248
|
+
var ParamsCtx = React.createContext({});
|
|
249
|
+
|
|
250
|
+
/*
|
|
251
|
+
* Part 1, Hooks API: useRoute and useLocation
|
|
252
|
+
*/
|
|
253
|
+
|
|
254
|
+
// Internal version of useLocation to avoid redundant useRouter calls
|
|
255
|
+
|
|
256
|
+
var useLocationFromRouter = function useLocationFromRouter(router) {
|
|
257
|
+
var _router$hook = router.hook(router),
|
|
258
|
+
_router$hook2 = _slicedToArray(_router$hook, 2),
|
|
259
|
+
location = _router$hook2[0],
|
|
260
|
+
navigate = _router$hook2[1];
|
|
261
|
+
|
|
262
|
+
// the function reference should stay the same between re-renders, so that
|
|
263
|
+
// it can be passed down as an element prop without any performance concerns.
|
|
264
|
+
// (This is achieved via `useEvent`.)
|
|
265
|
+
return [unescape(relativePath(router.base, location)), useEvent(function (to, navOpts) {
|
|
266
|
+
return navigate(absolutePath(to, router.base), navOpts);
|
|
267
|
+
})];
|
|
268
|
+
};
|
|
269
|
+
var useLocation = function useLocation() {
|
|
270
|
+
return useLocationFromRouter(useRouter());
|
|
271
|
+
};
|
|
272
|
+
var matchRoute = function matchRoute(parser, route, path, loose) {
|
|
273
|
+
// when parser is in "loose" mode, `$base` is equal to the
|
|
274
|
+
// first part of the route that matches the pattern
|
|
275
|
+
// (e.g. for pattern `/a/:b` and path `/a/1/2/3` the `$base` is `a/1`)
|
|
276
|
+
// we use this for route nesting
|
|
277
|
+
var _parser = parser(route || "*", loose),
|
|
278
|
+
pattern = _parser.pattern,
|
|
279
|
+
keys = _parser.keys;
|
|
280
|
+
var _ref = pattern.exec(path) || [],
|
|
281
|
+
_ref2 = _toArray(_ref),
|
|
282
|
+
$base = _ref2[0],
|
|
283
|
+
matches = _ref2.slice(1);
|
|
284
|
+
return $base !== undefined ? [true,
|
|
285
|
+
// an object with parameters matched, e.g. { foo: "bar" } for "/:foo"
|
|
286
|
+
// we "zip" two arrays here to construct the object
|
|
287
|
+
// ["foo"], ["bar"] → { foo: "bar" }
|
|
288
|
+
Object.fromEntries(keys.map(function (key, i) {
|
|
289
|
+
return [key, matches[i]];
|
|
290
|
+
}))].concat(_toConsumableArray(loose ? [$base] : [])) : [false, null];
|
|
291
|
+
};
|
|
292
|
+
|
|
293
|
+
/*
|
|
294
|
+
* Part 2, Low Carb Router API: Router, Route, Link, Switch
|
|
295
|
+
*/
|
|
296
|
+
|
|
297
|
+
var Router = function Router(_ref3) {
|
|
298
|
+
var children = _ref3.children,
|
|
299
|
+
props = _objectWithoutProperties(_ref3, _excluded$a);
|
|
300
|
+
// the router we will inherit from - it is the closest router in the tree,
|
|
301
|
+
// unless the custom `hook` is provided (in that case it's the default one)
|
|
302
|
+
var parent_ = useRouter();
|
|
303
|
+
var parent = props.hook ? defaultRouter : parent_;
|
|
304
|
+
|
|
305
|
+
// holds to the context value: the router object
|
|
306
|
+
var value = parent;
|
|
307
|
+
|
|
308
|
+
// what is happening below: to avoid unnecessary rerenders in child components,
|
|
309
|
+
// we ensure that the router object reference is stable, unless there are any
|
|
310
|
+
// changes that require reload (e.g. `base` prop changes -> all components that
|
|
311
|
+
// get the router from the context should rerender, even if the component is memoized).
|
|
312
|
+
// the expected behaviour is:
|
|
313
|
+
//
|
|
314
|
+
// 1) when the resulted router is no different from the parent, use parent
|
|
315
|
+
// 2) if the custom `hook` prop is provided, we always inherit from the
|
|
316
|
+
// default router instead. this resets all previously overridden options.
|
|
317
|
+
// 3) when the router is customized here, it should stay stable between renders
|
|
318
|
+
var ref = React.useRef({}),
|
|
319
|
+
prev = ref.current,
|
|
320
|
+
next = prev;
|
|
321
|
+
for (var k in parent) {
|
|
322
|
+
var option = k === "base" ? /* base is special case, it is appended to the parent's base */
|
|
323
|
+
parent[k] + (props[k] || "") : props[k] || parent[k];
|
|
324
|
+
if (prev === next && option !== next[k]) {
|
|
325
|
+
ref.current = next = _objectSpread({}, next);
|
|
326
|
+
}
|
|
327
|
+
next[k] = option;
|
|
328
|
+
|
|
329
|
+
// the new router is no different from the parent, use parent
|
|
330
|
+
if (option !== parent[k]) value = next;
|
|
331
|
+
}
|
|
332
|
+
return React.createElement(RouterCtx.Provider, {
|
|
333
|
+
value: value,
|
|
334
|
+
children: children
|
|
335
|
+
});
|
|
336
|
+
};
|
|
337
|
+
var h_route = function h_route(_ref4, params) {
|
|
338
|
+
var children = _ref4.children,
|
|
339
|
+
component = _ref4.component;
|
|
340
|
+
// React-Router style `component` prop
|
|
341
|
+
if (component) return React.createElement(component, {
|
|
342
|
+
params: params
|
|
343
|
+
});
|
|
344
|
+
|
|
345
|
+
// support render prop or plain children
|
|
346
|
+
return typeof children === "function" ? children(params) : children;
|
|
347
|
+
};
|
|
348
|
+
var Route = function Route(_ref5) {
|
|
349
|
+
var path = _ref5.path,
|
|
350
|
+
nest = _ref5.nest,
|
|
351
|
+
match = _ref5.match,
|
|
352
|
+
renderProps = _objectWithoutProperties(_ref5, _excluded2);
|
|
353
|
+
var router = useRouter();
|
|
354
|
+
var _useLocationFromRoute = useLocationFromRouter(router),
|
|
355
|
+
_useLocationFromRoute2 = _slicedToArray(_useLocationFromRoute, 1),
|
|
356
|
+
location = _useLocationFromRoute2[0];
|
|
357
|
+
var _ref6 = // `match` is a special prop to give up control to the parent,
|
|
358
|
+
// it is used by the `Switch` to avoid double matching
|
|
359
|
+
match !== null && match !== void 0 ? match : matchRoute(router.parser, path, location, nest),
|
|
360
|
+
_ref7 = _slicedToArray(_ref6, 3),
|
|
361
|
+
matches = _ref7[0],
|
|
362
|
+
params = _ref7[1],
|
|
363
|
+
base = _ref7[2];
|
|
364
|
+
if (!matches) return null;
|
|
365
|
+
var children = base ? React.createElement(Router, {
|
|
366
|
+
base: base
|
|
367
|
+
}, h_route(renderProps, params)) : h_route(renderProps, params);
|
|
368
|
+
return React.createElement(ParamsCtx.Provider, {
|
|
369
|
+
value: params,
|
|
370
|
+
children: children
|
|
371
|
+
});
|
|
372
|
+
};
|
|
373
|
+
var Link = React.forwardRef(function (props, ref) {
|
|
374
|
+
var router = useRouter();
|
|
375
|
+
var _useLocationFromRoute3 = useLocationFromRouter(router),
|
|
376
|
+
_useLocationFromRoute4 = _slicedToArray(_useLocationFromRoute3, 2),
|
|
377
|
+
navigate = _useLocationFromRoute4[1];
|
|
378
|
+
var to = props.to,
|
|
379
|
+
_props$href = props.href,
|
|
380
|
+
_href = _props$href === void 0 ? to : _props$href,
|
|
381
|
+
_onClick = props.onClick,
|
|
382
|
+
asChild = props.asChild,
|
|
383
|
+
children = props.children;
|
|
384
|
+
props.replace;
|
|
385
|
+
props.state;
|
|
386
|
+
var restProps = _objectWithoutProperties(props, _excluded3);
|
|
387
|
+
var onClick = useEvent(function (event) {
|
|
388
|
+
// ignores the navigation when clicked using right mouse button or
|
|
389
|
+
// by holding a special modifier key: ctrl, command, win, alt, shift
|
|
390
|
+
if (event.ctrlKey || event.metaKey || event.altKey || event.shiftKey || event.button !== 0) return;
|
|
391
|
+
_onClick && _onClick(event); // TODO: is it safe to use _onClick?.(event)
|
|
392
|
+
if (!event.defaultPrevented) {
|
|
393
|
+
event.preventDefault();
|
|
394
|
+
navigate(_href, props);
|
|
395
|
+
}
|
|
396
|
+
});
|
|
397
|
+
|
|
398
|
+
// handle nested routers and absolute paths
|
|
399
|
+
var href = _href[0] === "~" ? _href.slice(1) : router.base + _href;
|
|
400
|
+
return asChild && React.isValidElement(children) ? React.cloneElement(children, {
|
|
401
|
+
href: href,
|
|
402
|
+
onClick: onClick
|
|
403
|
+
}) : React.createElement("a", _objectSpread(_objectSpread({}, restProps), {}, {
|
|
404
|
+
href: href,
|
|
405
|
+
onClick: onClick,
|
|
406
|
+
children: children,
|
|
407
|
+
ref: ref
|
|
408
|
+
}));
|
|
409
|
+
});
|
|
410
|
+
var flattenChildren = function flattenChildren(children) {
|
|
411
|
+
var _ref8;
|
|
412
|
+
return Array.isArray(children) ? (_ref8 = []).concat.apply(_ref8, _toConsumableArray(children.map(function (c) {
|
|
413
|
+
return c && c.type === React.Fragment ? flattenChildren(c.props.children) : flattenChildren(c);
|
|
414
|
+
}))) : [children];
|
|
415
|
+
};
|
|
416
|
+
var Switch = function Switch(_ref9) {
|
|
417
|
+
var children = _ref9.children,
|
|
418
|
+
location = _ref9.location;
|
|
419
|
+
var router = useRouter();
|
|
420
|
+
var _useLocationFromRoute5 = useLocationFromRouter(router),
|
|
421
|
+
_useLocationFromRoute6 = _slicedToArray(_useLocationFromRoute5, 1),
|
|
422
|
+
originalLocation = _useLocationFromRoute6[0];
|
|
423
|
+
var _iterator = _createForOfIteratorHelper(flattenChildren(children)),
|
|
424
|
+
_step;
|
|
425
|
+
try {
|
|
426
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
427
|
+
var element = _step.value;
|
|
428
|
+
var match = 0;
|
|
429
|
+
if (React.isValidElement(element) &&
|
|
430
|
+
// we don't require an element to be of type Route,
|
|
431
|
+
// but we do require it to contain a truthy `path` prop.
|
|
432
|
+
// this allows to use different components that wrap Route
|
|
433
|
+
// inside of a switch, for example <AnimatedRoute />.
|
|
434
|
+
(match = matchRoute(router.parser, element.props.path, location || originalLocation, element.props.nest))[0]) return React.cloneElement(element, {
|
|
435
|
+
match: match
|
|
436
|
+
});
|
|
437
|
+
}
|
|
438
|
+
} catch (err) {
|
|
439
|
+
_iterator.e(err);
|
|
440
|
+
} finally {
|
|
441
|
+
_iterator.f();
|
|
442
|
+
}
|
|
443
|
+
return null;
|
|
444
|
+
};
|
|
445
|
+
|
|
446
|
+
/* eslint-disable react/jsx-props-no-spreading */
|
|
447
|
+
var RoutesContext = /*#__PURE__*/React.createContext(null);
|
|
448
|
+
var useRoutesContext = function useRoutesContext() {
|
|
449
|
+
return React.useContext(RoutesContext);
|
|
450
|
+
};
|
|
451
|
+
var propTypes$o = {
|
|
452
|
+
children: PropTypes.node.isRequired,
|
|
453
|
+
routes: PropTypes.objectOf(PropTypes.string).isRequired,
|
|
454
|
+
basePath: PropTypes.string
|
|
455
|
+
};
|
|
456
|
+
var defaultProps$o = {
|
|
457
|
+
basePath: null
|
|
458
|
+
};
|
|
459
|
+
function RoutesProvider(_ref) {
|
|
460
|
+
var routes = _ref.routes,
|
|
461
|
+
basePath = _ref.basePath,
|
|
462
|
+
children = _ref.children;
|
|
463
|
+
var value = React.useMemo(function () {
|
|
464
|
+
return {
|
|
465
|
+
routes: routes,
|
|
466
|
+
basePath: basePath
|
|
467
|
+
};
|
|
468
|
+
}, [routes, basePath]);
|
|
469
|
+
return /*#__PURE__*/jsxRuntime.jsx(RoutesContext.Provider, {
|
|
470
|
+
value: value,
|
|
471
|
+
children: children
|
|
472
|
+
});
|
|
473
|
+
}
|
|
474
|
+
RoutesProvider.propTypes = propTypes$o;
|
|
475
|
+
RoutesProvider.defaultProps = defaultProps$o;
|
|
476
|
+
var compilers = {};
|
|
477
|
+
function generatePath(path, data) {
|
|
478
|
+
var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
479
|
+
if (typeof compilers[path] === 'undefined') {
|
|
480
|
+
compilers[path] = pathToRegexp.compile(path, opts);
|
|
481
|
+
}
|
|
482
|
+
var compiler = compilers[path];
|
|
483
|
+
return compiler(data);
|
|
484
|
+
}
|
|
485
|
+
var useUrlGeneratorPathToRepexp = function useUrlGeneratorPathToRepexp() {
|
|
486
|
+
var _ref2 = useRoutesContext() || {},
|
|
487
|
+
_ref2$routes = _ref2.routes,
|
|
488
|
+
routes = _ref2$routes === void 0 ? null : _ref2$routes,
|
|
489
|
+
_ref2$basePath = _ref2.basePath,
|
|
490
|
+
basePath = _ref2$basePath === void 0 ? null : _ref2$basePath;
|
|
491
|
+
var urlGenerator = React.useCallback(function (key, data, opts) {
|
|
492
|
+
var path = routes !== null ? routes[key] || null : null;
|
|
493
|
+
if (path === null) {
|
|
494
|
+
return null;
|
|
495
|
+
}
|
|
496
|
+
var url = generatePath(path, data, opts);
|
|
497
|
+
return basePath !== null ? "".concat(basePath.replace(/\/$/, ''), "/").concat(url.replace(/^\//, '')) : url;
|
|
498
|
+
}, [routes, basePath]);
|
|
499
|
+
return urlGenerator;
|
|
500
|
+
};
|
|
501
|
+
var useUrlGeneratorPathToRegexp = useUrlGeneratorPathToRepexp;
|
|
502
|
+
var useRoutes = function useRoutes() {
|
|
503
|
+
var _useRoutesContext = useRoutesContext(),
|
|
504
|
+
routes = _useRoutesContext.routes;
|
|
505
|
+
return routes;
|
|
506
|
+
};
|
|
507
|
+
var useRoutes$1 = useRoutes;
|
|
508
|
+
function parseLocation(location) {
|
|
509
|
+
var search = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
510
|
+
var hash = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
511
|
+
var _split = (location || '').split('?', 2),
|
|
512
|
+
_split2 = _slicedToArray(_split, 2),
|
|
513
|
+
pathname = _split2[0],
|
|
514
|
+
_split2$ = _split2[1],
|
|
515
|
+
searchFromPath = _split2$ === void 0 ? null : _split2$;
|
|
516
|
+
var _split3 = (searchFromPath || '').split('#', 2),
|
|
517
|
+
_split4 = _slicedToArray(_split3, 2),
|
|
518
|
+
searchWithoutHash = _split4[0],
|
|
519
|
+
_split4$ = _split4[1],
|
|
520
|
+
hashFromPath = _split4$ === void 0 ? null : _split4$;
|
|
521
|
+
return {
|
|
522
|
+
pathname: pathname !== '' ? pathname : '/',
|
|
523
|
+
search: search || searchWithoutHash || null,
|
|
524
|
+
hash: hash || hashFromPath || null
|
|
525
|
+
};
|
|
526
|
+
}
|
|
527
|
+
function useMemoryRouter() {
|
|
528
|
+
var _ref3 = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},
|
|
529
|
+
_ref3$path = _ref3.path,
|
|
530
|
+
path = _ref3$path === void 0 ? '/' : _ref3$path,
|
|
531
|
+
_ref3$static = _ref3["static"],
|
|
532
|
+
staticLocation = _ref3$static === void 0 ? false : _ref3$static;
|
|
533
|
+
_ref3.record;
|
|
534
|
+
var currentPath = parseLocation(path);
|
|
535
|
+
var emitter = mitt();
|
|
536
|
+
var navigateImplementation = function navigateImplementation(newPath) {
|
|
537
|
+
var newParsedPath = parseLocation(newPath);
|
|
538
|
+
currentPath = newParsedPath;
|
|
539
|
+
emitter.emit('navigate', path);
|
|
540
|
+
};
|
|
541
|
+
var navigate = !staticLocation ? navigateImplementation : function () {
|
|
542
|
+
return null;
|
|
543
|
+
};
|
|
544
|
+
var subscribe = function subscribe(cb) {
|
|
545
|
+
emitter.on('navigate', cb);
|
|
546
|
+
return function () {
|
|
547
|
+
return emitter.off('navigate', cb);
|
|
548
|
+
};
|
|
549
|
+
};
|
|
550
|
+
function reset() {
|
|
551
|
+
navigateImplementation(path);
|
|
552
|
+
}
|
|
553
|
+
var locationHook = function locationHook() {
|
|
554
|
+
return [React.useSyncExternalStore(subscribe, function () {
|
|
555
|
+
return currentPath.pathname;
|
|
556
|
+
}), navigate];
|
|
557
|
+
};
|
|
558
|
+
var searchHook = function searchHook() {
|
|
559
|
+
return React.useSyncExternalStore(subscribe, function () {
|
|
560
|
+
return currentPath.search || '';
|
|
561
|
+
});
|
|
562
|
+
};
|
|
563
|
+
return {
|
|
564
|
+
hook: locationHook,
|
|
565
|
+
searchHook: searchHook,
|
|
566
|
+
reset: reset,
|
|
567
|
+
navigate: navigate
|
|
568
|
+
};
|
|
569
|
+
}
|
|
570
|
+
|
|
34
571
|
// eslint-disable-next-line import/prefer-default-export
|
|
35
572
|
var routes = PropTypes.shape({
|
|
36
573
|
home: PropTypes.string.isRequired,
|
|
@@ -317,8 +854,8 @@ var Button = function Button(_ref) {
|
|
|
317
854
|
target: external ? target : null,
|
|
318
855
|
ref: refButton,
|
|
319
856
|
tabIndex: focusable ? '' : '-1'
|
|
320
|
-
}), content) : /*#__PURE__*/React.createElement(
|
|
321
|
-
|
|
857
|
+
}), content) : /*#__PURE__*/React.createElement(Link, Object.assign({}, props, {
|
|
858
|
+
href: href,
|
|
322
859
|
className: linkClassNames,
|
|
323
860
|
style: buttonStyles,
|
|
324
861
|
onClick: onClick,
|
|
@@ -338,6 +875,7 @@ var Button = function Button(_ref) {
|
|
|
338
875
|
};
|
|
339
876
|
Button.propTypes = propTypes$n;
|
|
340
877
|
Button.defaultProps = defaultProps$n;
|
|
878
|
+
var Button$1 = Button;
|
|
341
879
|
|
|
342
880
|
var styles$f = {"container":"micromag-viewer-buttons-icon-button-container","label":"micromag-viewer-buttons-icon-button-label","icon":"micromag-viewer-buttons-icon-button-icon"};
|
|
343
881
|
|
|
@@ -354,7 +892,7 @@ var IconButton = function IconButton(_ref) {
|
|
|
354
892
|
var iconClassName = _ref.iconClassName,
|
|
355
893
|
className = _ref.className,
|
|
356
894
|
props = _objectWithoutProperties(_ref, _excluded$8);
|
|
357
|
-
return /*#__PURE__*/React.createElement(Button, Object.assign({
|
|
895
|
+
return /*#__PURE__*/React.createElement(Button$1, Object.assign({
|
|
358
896
|
className: classNames([styles$f.container, _defineProperty({}, className, className !== null)]),
|
|
359
897
|
labelClassName: styles$f.label,
|
|
360
898
|
iconClassName: classNames([styles$f.icon, _defineProperty({}, iconClassName, iconClassName !== null)])
|
|
@@ -362,6 +900,7 @@ var IconButton = function IconButton(_ref) {
|
|
|
362
900
|
};
|
|
363
901
|
IconButton.propTypes = propTypes$m;
|
|
364
902
|
IconButton.defaultProps = defaultProps$m;
|
|
903
|
+
var IconButton$1 = IconButton;
|
|
365
904
|
|
|
366
905
|
var _excluded$7 = ["single", "className"];
|
|
367
906
|
var propTypes$l = {
|
|
@@ -377,7 +916,7 @@ var CloseMenuButton = function CloseMenuButton(_ref) {
|
|
|
377
916
|
className = _ref.className,
|
|
378
917
|
props = _objectWithoutProperties(_ref, _excluded$7);
|
|
379
918
|
var intl = reactIntl.useIntl();
|
|
380
|
-
return /*#__PURE__*/React.createElement(IconButton, Object.assign({
|
|
919
|
+
return /*#__PURE__*/React.createElement(IconButton$1, Object.assign({
|
|
381
920
|
className: classNames([_defineProperty({}, className, className !== null)]),
|
|
382
921
|
label: intl.formatMessage({
|
|
383
922
|
id: "dIvwcD",
|
|
@@ -420,6 +959,7 @@ var CloseMenuButton = function CloseMenuButton(_ref) {
|
|
|
420
959
|
};
|
|
421
960
|
CloseMenuButton.propTypes = propTypes$l;
|
|
422
961
|
CloseMenuButton.defaultProps = defaultProps$l;
|
|
962
|
+
var CloseMenuButton$1 = CloseMenuButton;
|
|
423
963
|
|
|
424
964
|
var _excluded$6 = ["className", "iconClassName"];
|
|
425
965
|
var propTypes$k = {
|
|
@@ -435,7 +975,7 @@ var MenuButton = function MenuButton(_ref) {
|
|
|
435
975
|
_ref.iconClassName;
|
|
436
976
|
var props = _objectWithoutProperties(_ref, _excluded$6);
|
|
437
977
|
var intl = reactIntl.useIntl();
|
|
438
|
-
return /*#__PURE__*/React.createElement(IconButton, Object.assign({
|
|
978
|
+
return /*#__PURE__*/React.createElement(IconButton$1, Object.assign({
|
|
439
979
|
className: classNames([_defineProperty({}, className, className !== null)]),
|
|
440
980
|
label: intl.formatMessage({
|
|
441
981
|
id: "F/gl4b",
|
|
@@ -472,6 +1012,7 @@ var MenuButton = function MenuButton(_ref) {
|
|
|
472
1012
|
};
|
|
473
1013
|
MenuButton.propTypes = propTypes$k;
|
|
474
1014
|
MenuButton.defaultProps = defaultProps$k;
|
|
1015
|
+
var MenuButton$1 = MenuButton;
|
|
475
1016
|
|
|
476
1017
|
var _excluded$5 = ["className"];
|
|
477
1018
|
var propTypes$j = {
|
|
@@ -484,7 +1025,7 @@ var ShareButton = function ShareButton(_ref) {
|
|
|
484
1025
|
var className = _ref.className,
|
|
485
1026
|
props = _objectWithoutProperties(_ref, _excluded$5);
|
|
486
1027
|
var intl = reactIntl.useIntl();
|
|
487
|
-
return /*#__PURE__*/React.createElement(IconButton, Object.assign({
|
|
1028
|
+
return /*#__PURE__*/React.createElement(IconButton$1, Object.assign({
|
|
488
1029
|
className: classNames([_defineProperty({}, className, className !== null)]),
|
|
489
1030
|
label: intl.formatMessage({
|
|
490
1031
|
id: "7tw6U2",
|
|
@@ -515,6 +1056,7 @@ var ShareButton = function ShareButton(_ref) {
|
|
|
515
1056
|
};
|
|
516
1057
|
ShareButton.propTypes = propTypes$j;
|
|
517
1058
|
ShareButton.defaultProps = defaultProps$j;
|
|
1059
|
+
var ShareButton$1 = ShareButton;
|
|
518
1060
|
|
|
519
1061
|
var styles$e = {"container":"micromag-viewer-buttons-toggle-button-container","normal":"micromag-viewer-buttons-toggle-button-normal","toggled":"micromag-viewer-buttons-toggle-button-toggled"};
|
|
520
1062
|
|
|
@@ -560,6 +1102,7 @@ var ToggleButton = function ToggleButton(_ref) {
|
|
|
560
1102
|
};
|
|
561
1103
|
ToggleButton.propTypes = propTypes$i;
|
|
562
1104
|
ToggleButton.defaultProps = defaultProps$i;
|
|
1105
|
+
var ToggleButton$1 = ToggleButton;
|
|
563
1106
|
|
|
564
1107
|
var styles$d = {"backdrop":"micromag-viewer-menus-menu-container-backdrop","heightContainer":"micromag-viewer-menus-menu-container-heightContainer","container":"micromag-viewer-menus-menu-container-container"};
|
|
565
1108
|
|
|
@@ -618,6 +1161,7 @@ var ViewerMenuContainer = function ViewerMenuContainer(_ref) {
|
|
|
618
1161
|
};
|
|
619
1162
|
ViewerMenuContainer.propTypes = propTypes$h;
|
|
620
1163
|
ViewerMenuContainer.defaultProps = defaultProps$h;
|
|
1164
|
+
var MenuContainer = ViewerMenuContainer;
|
|
621
1165
|
|
|
622
1166
|
var styles$c = {"button":"micromag-viewer-menus-menu-dot-button","progress":"micromag-viewer-menus-menu-dot-progress","container":"micromag-viewer-menus-menu-dot-container","vertical":"micromag-viewer-menus-menu-dot-vertical","dot":"micromag-viewer-menus-menu-dot-dot","subDot":"micromag-viewer-menus-menu-dot-subDot","dots":"micromag-viewer-menus-menu-dot-dots","outlineBounce":"micromag-viewer-menus-menu-dot-outlineBounce"};
|
|
623
1167
|
|
|
@@ -709,6 +1253,7 @@ var ViewerMenuDot = function ViewerMenuDot(_ref) {
|
|
|
709
1253
|
};
|
|
710
1254
|
ViewerMenuDot.propTypes = propTypes$g;
|
|
711
1255
|
ViewerMenuDot.defaultProps = defaultProps$g;
|
|
1256
|
+
var MenuDot = ViewerMenuDot;
|
|
712
1257
|
|
|
713
1258
|
var styles$b = {"container":"micromag-viewer-menus-menu-dots-container","closeButton":"micromag-viewer-menus-menu-dots-closeButton","focus-visible":"micromag-viewer-menus-menu-dots-focus-visible","items":"micromag-viewer-menus-menu-dots-items","item":"micromag-viewer-menus-menu-dots-item","buttons":"micromag-viewer-menus-menu-dots-buttons","vertical":"micromag-viewer-menus-menu-dots-vertical"};
|
|
714
1259
|
|
|
@@ -801,7 +1346,7 @@ var ViewerMenuDots = function ViewerMenuDots(_ref) {
|
|
|
801
1346
|
count = _ref6$count === void 0 ? 1 : _ref6$count,
|
|
802
1347
|
_ref6$subIndex = _ref6.subIndex,
|
|
803
1348
|
subIndex = _ref6$subIndex === void 0 ? 0 : _ref6$subIndex;
|
|
804
|
-
return /*#__PURE__*/React.createElement(
|
|
1349
|
+
return /*#__PURE__*/React.createElement(MenuDot, {
|
|
805
1350
|
key: "item-".concat(index + 1),
|
|
806
1351
|
current: current,
|
|
807
1352
|
active: index <= currentIndex,
|
|
@@ -846,6 +1391,7 @@ var ViewerMenuDots = function ViewerMenuDots(_ref) {
|
|
|
846
1391
|
};
|
|
847
1392
|
ViewerMenuDots.propTypes = propTypes$f;
|
|
848
1393
|
ViewerMenuDots.defaultProps = defaultProps$f;
|
|
1394
|
+
var MenuDots = ViewerMenuDots;
|
|
849
1395
|
|
|
850
1396
|
var propTypes$e = {
|
|
851
1397
|
className: PropTypes.string
|
|
@@ -870,6 +1416,7 @@ var StackIcon = function StackIcon(_ref) {
|
|
|
870
1416
|
};
|
|
871
1417
|
StackIcon.propTypes = propTypes$e;
|
|
872
1418
|
StackIcon.defaultProps = defaultProps$e;
|
|
1419
|
+
var StackIcon$1 = StackIcon;
|
|
873
1420
|
|
|
874
1421
|
var styles$a = {"button":"micromag-viewer-menus-menu-screen-button","container":"micromag-viewer-menus-menu-screen-container","focus-visible":"micromag-viewer-menus-menu-screen-focus-visible","isCurrent":"micromag-viewer-menus-menu-screen-isCurrent","pulse":"micromag-viewer-menus-menu-screen-pulse","inner":"micromag-viewer-menus-menu-screen-inner","subScreenBadge":"micromag-viewer-menus-menu-screen-subScreenBadge","subScreenCount":"micromag-viewer-menus-menu-screen-subScreenCount","subScreenIcon":"micromag-viewer-menus-menu-screen-subScreenIcon"};
|
|
875
1422
|
|
|
@@ -949,7 +1496,7 @@ var ViewerMenuScreen = function ViewerMenuScreen(_ref) {
|
|
|
949
1496
|
className: styles$a.subScreenBadge
|
|
950
1497
|
}, /*#__PURE__*/React.createElement("span", {
|
|
951
1498
|
className: styles$a.subScreenCount
|
|
952
|
-
}, count), /*#__PURE__*/React.createElement(StackIcon, {
|
|
1499
|
+
}, count), /*#__PURE__*/React.createElement(StackIcon$1, {
|
|
953
1500
|
className: styles$a.subScreenIcon
|
|
954
1501
|
})) : null, screenWidth > 0 && screenHeight > 0 ? /*#__PURE__*/React.createElement(components.ScreenPreview, {
|
|
955
1502
|
className: styles$a.screen,
|
|
@@ -963,6 +1510,7 @@ var ViewerMenuScreen = function ViewerMenuScreen(_ref) {
|
|
|
963
1510
|
};
|
|
964
1511
|
ViewerMenuScreen.propTypes = propTypes$d;
|
|
965
1512
|
ViewerMenuScreen.defaultProps = defaultProps$d;
|
|
1513
|
+
var MenuScreen = ViewerMenuScreen;
|
|
966
1514
|
|
|
967
1515
|
var styles$9 = {"scroll":"micromag-viewer-menus-menu-preview-scroll","container":"micromag-viewer-menus-menu-preview-container","disabled":"micromag-viewer-menus-menu-preview-disabled","screenButton":"micromag-viewer-menus-menu-preview-screenButton","content":"micromag-viewer-menus-menu-preview-content","buttons":"micromag-viewer-menus-menu-preview-buttons","organisation":"micromag-viewer-menus-menu-preview-organisation","icon":"micromag-viewer-menus-menu-preview-icon","titleContainer":"micromag-viewer-menus-menu-preview-titleContainer","headerContainer":"micromag-viewer-menus-menu-preview-headerContainer","badge":"micromag-viewer-menus-menu-preview-badge","title":"micromag-viewer-menus-menu-preview-title","nav":"micromag-viewer-menus-menu-preview-nav","items":"micromag-viewer-menus-menu-preview-items","item":"micromag-viewer-menus-menu-preview-item","inner":"micromag-viewer-menus-menu-preview-inner","frame":"micromag-viewer-menus-menu-preview-frame","screen":"micromag-viewer-menus-menu-preview-screen","intro":"micromag-viewer-menus-menu-preview-intro"};
|
|
968
1516
|
|
|
@@ -1128,7 +1676,7 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
|
|
|
1128
1676
|
style: {
|
|
1129
1677
|
paddingBottom: "".concat(screenHeight / screenWidth * 100, "%")
|
|
1130
1678
|
}
|
|
1131
|
-
}, screenMounted ? /*#__PURE__*/React.createElement(
|
|
1679
|
+
}, screenMounted ? /*#__PURE__*/React.createElement(MenuScreen, {
|
|
1132
1680
|
className: styles$9.screen,
|
|
1133
1681
|
item: item,
|
|
1134
1682
|
index: index,
|
|
@@ -1140,6 +1688,7 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
|
|
|
1140
1688
|
};
|
|
1141
1689
|
ViewerMenuPreview.propTypes = propTypes$c;
|
|
1142
1690
|
ViewerMenuPreview.defaultProps = defaultProps$c;
|
|
1691
|
+
var MenuPreview = ViewerMenuPreview;
|
|
1143
1692
|
|
|
1144
1693
|
var styles$8 = {"container":"micromag-viewer-partials-micromag-preview-container","cover":"micromag-viewer-partials-micromag-preview-cover","info":"micromag-viewer-partials-micromag-preview-info","url":"micromag-viewer-partials-micromag-preview-url","title":"micromag-viewer-partials-micromag-preview-title"};
|
|
1145
1694
|
|
|
@@ -1182,6 +1731,7 @@ var MicromagPreview = function MicromagPreview(_ref) {
|
|
|
1182
1731
|
};
|
|
1183
1732
|
MicromagPreview.propTypes = propTypes$b;
|
|
1184
1733
|
MicromagPreview.defaultProps = defaultProps$b;
|
|
1734
|
+
var MicromagPreview$1 = MicromagPreview;
|
|
1185
1735
|
|
|
1186
1736
|
var styles$7 = {"scroll":"micromag-viewer-menus-menu-share-scroll","container":"micromag-viewer-menus-menu-share-container","disabled":"micromag-viewer-menus-menu-share-disabled","button":"micromag-viewer-menus-menu-share-button","content":"micromag-viewer-menus-menu-share-content","inner":"micromag-viewer-menus-menu-share-inner","organisation":"micromag-viewer-menus-menu-share-organisation","icon":"micromag-viewer-menus-menu-share-icon","header":"micromag-viewer-menus-menu-share-header","mode":"micromag-viewer-menus-menu-share-mode","bump":"micromag-viewer-menus-menu-share-bump","options":"micromag-viewer-menus-menu-share-options"};
|
|
1187
1737
|
|
|
@@ -1287,7 +1837,7 @@ var ViewerMenuShare = function ViewerMenuShare(_ref) {
|
|
|
1287
1837
|
}
|
|
1288
1838
|
}, /*#__PURE__*/React.createElement("div", {
|
|
1289
1839
|
className: styles$7.header
|
|
1290
|
-
}, /*#__PURE__*/React.createElement(MicromagPreview, {
|
|
1840
|
+
}, /*#__PURE__*/React.createElement(MicromagPreview$1, {
|
|
1291
1841
|
className: styles$7.preview,
|
|
1292
1842
|
screen: shareCurrentScreen ? currentScreen : coverScreen,
|
|
1293
1843
|
title: title,
|
|
@@ -1321,6 +1871,7 @@ var ViewerMenuShare = function ViewerMenuShare(_ref) {
|
|
|
1321
1871
|
};
|
|
1322
1872
|
ViewerMenuShare.propTypes = propTypes$a;
|
|
1323
1873
|
ViewerMenuShare.defaultProps = defaultProps$a;
|
|
1874
|
+
var MenuShare = ViewerMenuShare;
|
|
1324
1875
|
|
|
1325
1876
|
var styles$6 = {"container":"micromag-viewer-container","screenContainer":"micromag-viewer-screenContainer","screensFrame":"micromag-viewer-screensFrame","menuShare":"micromag-viewer-menuShare","menuPreview":"micromag-viewer-menuPreview","menuContainer":"micromag-viewer-menuContainer","focus-visible":"micromag-viewer-focus-visible","landscape":"micromag-viewer-landscape","hideMenu":"micromag-viewer-hideMenu","menuNavContainer":"micromag-viewer-menuNavContainer","menuTopContainer":"micromag-viewer-menuTopContainer","dots":"micromag-viewer-dots","disableMenu":"micromag-viewer-disableMenu","content":"micromag-viewer-content","withoutGestures":"micromag-viewer-withoutGestures","fadeMenu":"micromag-viewer-fadeMenu","withShadow":"micromag-viewer-withShadow","isOpened":"micromag-viewer-isOpened","menuItem":"micromag-viewer-menuItem","menuButton":"micromag-viewer-menuButton","slidingButton":"micromag-viewer-slidingButton","screensMenuButtonToggled":"micromag-viewer-screensMenuButtonToggled","navButton":"micromag-viewer-navButton","previous":"micromag-viewer-previous","next":"micromag-viewer-next","screen":"micromag-viewer-screen","current":"micromag-viewer-current","playbackControls":"micromag-viewer-playbackControls","arrowHint":"micromag-viewer-arrowHint","webView":"micromag-viewer-webView","shareIncentiveContainer":"micromag-viewer-shareIncentiveContainer","shareIncentive":"micromag-viewer-shareIncentive","shareIncentiveVisible":"micromag-viewer-shareIncentiveVisible"};
|
|
1326
1877
|
|
|
@@ -1653,16 +2204,16 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1653
2204
|
ref: navContainerRef
|
|
1654
2205
|
}, !withoutShareMenu ? /*#__PURE__*/React.createElement("div", Object.assign({
|
|
1655
2206
|
className: styles$6.menuItem
|
|
1656
|
-
}, bindShareDrag()), /*#__PURE__*/React.createElement(ToggleButton, {
|
|
2207
|
+
}, bindShareDrag()), /*#__PURE__*/React.createElement(ToggleButton$1, {
|
|
1657
2208
|
className: styles$6.slidingButton,
|
|
1658
|
-
button: /*#__PURE__*/React.createElement(ShareButton, {
|
|
2209
|
+
button: /*#__PURE__*/React.createElement(ShareButton$1, {
|
|
1659
2210
|
className: styles$6.menuButton,
|
|
1660
2211
|
onClick: onOpenShare,
|
|
1661
2212
|
theme: menuTheme,
|
|
1662
2213
|
iconPosition: "left",
|
|
1663
2214
|
focusable: !shareOpened
|
|
1664
2215
|
}),
|
|
1665
|
-
toggledButton: /*#__PURE__*/React.createElement(CloseMenuButton, {
|
|
2216
|
+
toggledButton: /*#__PURE__*/React.createElement(CloseMenuButton$1, {
|
|
1666
2217
|
className: styles$6.menuButton,
|
|
1667
2218
|
onClick: onCloseShare,
|
|
1668
2219
|
theme: menuTheme,
|
|
@@ -1673,16 +2224,16 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1673
2224
|
progressSpring: shareOpenedProgress
|
|
1674
2225
|
})) : null, !withoutScreensMenu ? /*#__PURE__*/React.createElement("div", Object.assign({
|
|
1675
2226
|
className: styles$6.menuItem
|
|
1676
|
-
}, bindMenuDrag()), /*#__PURE__*/React.createElement(ToggleButton, {
|
|
2227
|
+
}, bindMenuDrag()), /*#__PURE__*/React.createElement(ToggleButton$1, {
|
|
1677
2228
|
className: styles$6.slidingButton,
|
|
1678
|
-
button: /*#__PURE__*/React.createElement(MenuButton, {
|
|
2229
|
+
button: /*#__PURE__*/React.createElement(MenuButton$1, {
|
|
1679
2230
|
className: styles$6.menuButton,
|
|
1680
2231
|
iconClassName: styles$6.menuButtonIcon,
|
|
1681
2232
|
onClick: onOpenMenu,
|
|
1682
2233
|
theme: menuTheme,
|
|
1683
2234
|
focusable: !menuOpened
|
|
1684
2235
|
}),
|
|
1685
|
-
toggledButton: /*#__PURE__*/React.createElement(CloseMenuButton, {
|
|
2236
|
+
toggledButton: /*#__PURE__*/React.createElement(CloseMenuButton$1, {
|
|
1686
2237
|
className: styles$6.menuButton,
|
|
1687
2238
|
onClick: onCloseMenu,
|
|
1688
2239
|
theme: menuTheme,
|
|
@@ -1691,7 +2242,7 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1691
2242
|
}),
|
|
1692
2243
|
progressSpring: menuOpenedProgress,
|
|
1693
2244
|
toggledButtonClassName: styles$6.screensMenuButtonToggled
|
|
1694
|
-
})) : null), /*#__PURE__*/React.createElement(
|
|
2245
|
+
})) : null), /*#__PURE__*/React.createElement(MenuDots, Object.assign({}, menuTheme, {
|
|
1695
2246
|
direction: "horizontal",
|
|
1696
2247
|
items: items,
|
|
1697
2248
|
onClickDot: onClickScreen,
|
|
@@ -1703,11 +2254,11 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1703
2254
|
withoutShareMenu: withoutShareMenu,
|
|
1704
2255
|
onClose: onClickCloseViewer,
|
|
1705
2256
|
className: styles$6.dots
|
|
1706
|
-
}))), /*#__PURE__*/React.createElement(
|
|
2257
|
+
}))), /*#__PURE__*/React.createElement(MenuContainer, {
|
|
1707
2258
|
className: styles$6.menuContainer,
|
|
1708
2259
|
progressSpring: shareOpenedProgress,
|
|
1709
2260
|
theme: viewerTheme
|
|
1710
|
-
}, draggingShare || shareOpened ? /*#__PURE__*/React.createElement(
|
|
2261
|
+
}, draggingShare || shareOpened ? /*#__PURE__*/React.createElement(MenuShare, {
|
|
1711
2262
|
viewerTheme: viewerTheme,
|
|
1712
2263
|
className: styles$6.menuShare,
|
|
1713
2264
|
title: title,
|
|
@@ -1720,11 +2271,11 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1720
2271
|
shareUrl: shareUrl,
|
|
1721
2272
|
onShare: onShare,
|
|
1722
2273
|
onClose: onCloseShare
|
|
1723
|
-
}) : null), /*#__PURE__*/React.createElement(
|
|
2274
|
+
}) : null), /*#__PURE__*/React.createElement(MenuContainer, {
|
|
1724
2275
|
className: styles$6.menuContainer,
|
|
1725
2276
|
progressSpring: menuOpenedProgress,
|
|
1726
2277
|
theme: viewerTheme
|
|
1727
|
-
}, menuMounted ? /*#__PURE__*/React.createElement(
|
|
2278
|
+
}, menuMounted ? /*#__PURE__*/React.createElement(MenuPreview, {
|
|
1728
2279
|
viewerTheme: viewerTheme,
|
|
1729
2280
|
header: previewHeader,
|
|
1730
2281
|
footer: previewFooter,
|
|
@@ -1848,7 +2399,7 @@ var NavigationButton = function NavigationButton(_ref) {
|
|
|
1848
2399
|
var direction = _ref.direction,
|
|
1849
2400
|
_onClick = _ref.onClick,
|
|
1850
2401
|
className = _ref.className;
|
|
1851
|
-
return /*#__PURE__*/React.createElement(IconButton, {
|
|
2402
|
+
return /*#__PURE__*/React.createElement(IconButton$1, {
|
|
1852
2403
|
className: classNames([styles$4.container, styles$4[direction], _defineProperty({}, className, className !== null)]),
|
|
1853
2404
|
onClick: function onClick(e) {
|
|
1854
2405
|
e.stopPropagation();
|
|
@@ -1884,6 +2435,7 @@ var NavigationButton = function NavigationButton(_ref) {
|
|
|
1884
2435
|
};
|
|
1885
2436
|
NavigationButton.propTypes = propTypes$7;
|
|
1886
2437
|
NavigationButton.defaultProps = defaultProps$7;
|
|
2438
|
+
var NavigationButton$1 = NavigationButton;
|
|
1887
2439
|
|
|
1888
2440
|
var styles$3 = {"container":"micromag-viewer-partials-arrow-hint-container","inner":"micromag-viewer-partials-arrow-hint-inner","shadowFade":"micromag-viewer-partials-arrow-hint-shadowFade","arrow":"micromag-viewer-partials-arrow-hint-arrow","panX":"micromag-viewer-partials-arrow-hint-panX"};
|
|
1889
2441
|
|
|
@@ -1905,6 +2457,7 @@ var ArrowHint = function ArrowHint(_ref) {
|
|
|
1905
2457
|
};
|
|
1906
2458
|
ArrowHint.propTypes = propTypes$6;
|
|
1907
2459
|
ArrowHint.defaultProps = defaultProps$6;
|
|
2460
|
+
var ArrowHint$1 = ArrowHint;
|
|
1908
2461
|
|
|
1909
2462
|
var styles$2 = {"track":"micromag-viewer-partials-seek-bar-track","progress":"micromag-viewer-partials-seek-bar-progress","inner":"micromag-viewer-partials-seek-bar-inner","progressBarContainer":"micromag-viewer-partials-seek-bar-progressBarContainer","progressBar":"micromag-viewer-partials-seek-bar-progressBar","playHead":"micromag-viewer-partials-seek-bar-playHead","withSeekHead":"micromag-viewer-partials-seek-bar-withSeekHead","scrubbedTime":"micromag-viewer-partials-seek-bar-scrubbedTime","showTimestamp":"micromag-viewer-partials-seek-bar-showTimestamp"};
|
|
1910
2463
|
|
|
@@ -2099,6 +2652,7 @@ var SeekBar = function SeekBar(_ref3) {
|
|
|
2099
2652
|
};
|
|
2100
2653
|
SeekBar.propTypes = propTypes$5;
|
|
2101
2654
|
SeekBar.defaultProps = defaultProps$5;
|
|
2655
|
+
var SeekBar$1 = SeekBar;
|
|
2102
2656
|
|
|
2103
2657
|
var styles$1 = {"suggest":"micromag-viewer-partials-playback-controls-suggest","playPauseButton":"micromag-viewer-partials-playback-controls-playPauseButton","muteButton":"micromag-viewer-partials-playback-controls-muteButton","container":"micromag-viewer-partials-playback-controls-container","icon":"micromag-viewer-partials-playback-controls-icon","offset":"micromag-viewer-partials-playback-controls-offset","spinner":"micromag-viewer-partials-playback-controls-spinner","withPlayPause":"micromag-viewer-partials-playback-controls-withPlayPause","withSuggestPlay":"micromag-viewer-partials-playback-controls-withSuggestPlay","isCollapsed":"micromag-viewer-partials-playback-controls-isCollapsed","loading":"micromag-viewer-partials-playback-controls-loading","hidden":"micromag-viewer-partials-playback-controls-hidden","notPlaying":"micromag-viewer-partials-playback-controls-notPlaying","isMuted":"micromag-viewer-partials-playback-controls-isMuted","withMute":"micromag-viewer-partials-playback-controls-withMute","withSeekBar":"micromag-viewer-partials-playback-controls-withSeekBar","seekBar":"micromag-viewer-partials-playback-controls-seekBar","withSeekBarOnly":"micromag-viewer-partials-playback-controls-withSeekBarOnly"};
|
|
2104
2658
|
|
|
@@ -2316,7 +2870,7 @@ function PlaybackControls(_ref) {
|
|
|
2316
2870
|
}]
|
|
2317
2871
|
}) : playLabel,
|
|
2318
2872
|
withoutBootstrapStyles: true
|
|
2319
|
-
}), /*#__PURE__*/React.createElement(SeekBar, {
|
|
2873
|
+
}), /*#__PURE__*/React.createElement(SeekBar$1, {
|
|
2320
2874
|
className: styles$1.seekBar,
|
|
2321
2875
|
media: mediaElement,
|
|
2322
2876
|
playing: playing,
|
|
@@ -3076,7 +3630,7 @@ var Viewer = function Viewer(_ref) {
|
|
|
3076
3630
|
refDots: menuDotsContainerRef
|
|
3077
3631
|
}) : null, ready || withoutScreensTransforms ? /*#__PURE__*/React.createElement("div", Object.assign({
|
|
3078
3632
|
className: styles$6.content
|
|
3079
|
-
}, dragContentBind()), !withoutNavigationArrow && !withNeighborScreens && !navigationDisabled && screenIndex > 0 && screens.length > 1 ? /*#__PURE__*/React.createElement(NavigationButton, {
|
|
3633
|
+
}, dragContentBind()), !withoutNavigationArrow && !withNeighborScreens && !navigationDisabled && screenIndex > 0 && screens.length > 1 ? /*#__PURE__*/React.createElement(NavigationButton$1, {
|
|
3080
3634
|
direction: "previous",
|
|
3081
3635
|
className: classNames([styles$6.navButton, styles$6.previous]),
|
|
3082
3636
|
onClick: gotoPreviousScreen
|
|
@@ -3111,7 +3665,7 @@ var Viewer = function Viewer(_ref) {
|
|
|
3111
3665
|
height: screenHeight,
|
|
3112
3666
|
scale: screenScale
|
|
3113
3667
|
}) : null);
|
|
3114
|
-
})), !withoutNavigationArrow && !withNeighborScreens && !navigationDisabled && screenIndex < screens.length - 1 ? /*#__PURE__*/React.createElement(NavigationButton, {
|
|
3668
|
+
})), !withoutNavigationArrow && !withNeighborScreens && !navigationDisabled && screenIndex < screens.length - 1 ? /*#__PURE__*/React.createElement(NavigationButton$1, {
|
|
3115
3669
|
direction: "next",
|
|
3116
3670
|
className: classNames([styles$6.navButton, styles$6.next]),
|
|
3117
3671
|
onClick: gotoNextScreen
|
|
@@ -3120,7 +3674,7 @@ var Viewer = function Viewer(_ref) {
|
|
|
3120
3674
|
ref: playbackControlsContainerRef
|
|
3121
3675
|
}, /*#__PURE__*/React.createElement(PlaybackControls, {
|
|
3122
3676
|
className: styles$6.controls
|
|
3123
|
-
})) : null, withNavigationHint && !withNeighborScreens && !navigationDisabled && screenIndex === 0 && !hasInteracted ? /*#__PURE__*/React.createElement(ArrowHint, {
|
|
3677
|
+
})) : null, withNavigationHint && !withNeighborScreens && !navigationDisabled && screenIndex === 0 && !hasInteracted ? /*#__PURE__*/React.createElement(ArrowHint$1, {
|
|
3124
3678
|
className: styles$6.arrowHint
|
|
3125
3679
|
}) : null) : null, /*#__PURE__*/React.createElement("div", {
|
|
3126
3680
|
className: classNames([styles$6.shareIncentiveContainer, _defineProperty({}, styles$6.shareIncentiveVisible, hasShareIncentive && shareIncentiveVisible)]),
|
|
@@ -3138,6 +3692,7 @@ var Viewer = function Viewer(_ref) {
|
|
|
3138
3692
|
};
|
|
3139
3693
|
Viewer.propTypes = propTypes$2;
|
|
3140
3694
|
Viewer.defaultProps = defaultProps$2;
|
|
3695
|
+
var Viewer$1 = Viewer;
|
|
3141
3696
|
|
|
3142
3697
|
var _excluded$1 = ["story", "pathWithIndex", "children", "onScreenChange"];
|
|
3143
3698
|
var propTypes$1 = {
|
|
@@ -3159,9 +3714,9 @@ var ViewerRoutes = function ViewerRoutes(_ref) {
|
|
|
3159
3714
|
_ref.children;
|
|
3160
3715
|
var onScreenChange = _ref.onScreenChange,
|
|
3161
3716
|
otherProps = _objectWithoutProperties(_ref, _excluded$1);
|
|
3162
|
-
var routes =
|
|
3163
|
-
var url =
|
|
3164
|
-
var _useLocation =
|
|
3717
|
+
var routes = useRoutes$1();
|
|
3718
|
+
var url = useUrlGeneratorPathToRegexp();
|
|
3719
|
+
var _useLocation = useLocation(),
|
|
3165
3720
|
_useLocation2 = _slicedToArray(_useLocation, 2),
|
|
3166
3721
|
navigate = _useLocation2[1];
|
|
3167
3722
|
var _ref2 = story || {},
|
|
@@ -3179,19 +3734,19 @@ var ViewerRoutes = function ViewerRoutes(_ref) {
|
|
|
3179
3734
|
onScreenChange(it);
|
|
3180
3735
|
}
|
|
3181
3736
|
}, [navigate, url, pathWithIndex, screens, onScreenChange]);
|
|
3182
|
-
return /*#__PURE__*/React.createElement(
|
|
3737
|
+
return /*#__PURE__*/React.createElement(Switch, null, /*#__PURE__*/React.createElement(Route, {
|
|
3183
3738
|
path: routes.home
|
|
3184
|
-
}, /*#__PURE__*/React.createElement(Viewer, Object.assign({}, otherProps, {
|
|
3739
|
+
}, /*#__PURE__*/React.createElement(Viewer$1, Object.assign({}, otherProps, {
|
|
3185
3740
|
story: story,
|
|
3186
3741
|
onScreenChange: finalOnScreenChange
|
|
3187
|
-
}))), /*#__PURE__*/React.createElement(
|
|
3742
|
+
}))), /*#__PURE__*/React.createElement(Route, {
|
|
3188
3743
|
path: routes.screen
|
|
3189
3744
|
}, function (_ref3) {
|
|
3190
3745
|
var _ref3$screen = _ref3.screen,
|
|
3191
3746
|
screenParam = _ref3$screen === void 0 ? null : _ref3$screen;
|
|
3192
3747
|
var screenFromIndex = pathWithIndex && screenParam !== null ? screens[parseInt(screenParam, 10) - 1] || null : null;
|
|
3193
3748
|
var screenId = pathWithIndex ? (screenFromIndex || {}).id || null : screenParam;
|
|
3194
|
-
return /*#__PURE__*/React.createElement(Viewer, Object.assign({}, otherProps, {
|
|
3749
|
+
return /*#__PURE__*/React.createElement(Viewer$1, Object.assign({}, otherProps, {
|
|
3195
3750
|
story: story,
|
|
3196
3751
|
screen: screenId,
|
|
3197
3752
|
onScreenChange: finalOnScreenChange
|
|
@@ -3200,6 +3755,7 @@ var ViewerRoutes = function ViewerRoutes(_ref) {
|
|
|
3200
3755
|
};
|
|
3201
3756
|
ViewerRoutes.propTypes = propTypes$1;
|
|
3202
3757
|
ViewerRoutes.defaultProps = defaultProps$1;
|
|
3758
|
+
var ViewerRoutes$1 = ViewerRoutes;
|
|
3203
3759
|
|
|
3204
3760
|
var home = "/";
|
|
3205
3761
|
var screen = "/:screen";
|
|
@@ -3302,27 +3858,28 @@ var ViewerContainer = function ViewerContainer(_ref) {
|
|
|
3302
3858
|
paused: paused
|
|
3303
3859
|
}, /*#__PURE__*/React.createElement(contexts.TrackingProvider, {
|
|
3304
3860
|
variables: finalTrackingVariables
|
|
3305
|
-
}, withoutRouter ? /*#__PURE__*/React.createElement(Viewer, Object.assign({
|
|
3861
|
+
}, withoutRouter ? /*#__PURE__*/React.createElement(Viewer$1, Object.assign({
|
|
3306
3862
|
story: story,
|
|
3307
3863
|
basePath: basePath
|
|
3308
|
-
}, otherProps)) : /*#__PURE__*/React.createElement(ViewerRoutes, Object.assign({
|
|
3864
|
+
}, otherProps)) : /*#__PURE__*/React.createElement(ViewerRoutes$1, Object.assign({
|
|
3309
3865
|
story: story,
|
|
3310
3866
|
basePath: basePath,
|
|
3311
3867
|
pathWithIndex: pathWithIndex
|
|
3312
3868
|
}, otherProps))))))))));
|
|
3313
|
-
var _useMemoryRouter =
|
|
3869
|
+
var _useMemoryRouter = useMemoryRouter(),
|
|
3314
3870
|
memoryRouterHook = _useMemoryRouter.hook,
|
|
3315
3871
|
memoryRouterSearchHook = _useMemoryRouter.searchHook;
|
|
3316
|
-
return withoutRouter ? content : /*#__PURE__*/React.createElement(
|
|
3872
|
+
return withoutRouter ? content : /*#__PURE__*/React.createElement(Router, {
|
|
3317
3873
|
base: !memoryRouter ? basePath : null,
|
|
3318
3874
|
hook: !memoryRouter ? memoryRouterHook : null,
|
|
3319
3875
|
searchHook: !memoryRouter ? memoryRouterSearchHook : null
|
|
3320
|
-
}, /*#__PURE__*/React.createElement(
|
|
3876
|
+
}, /*#__PURE__*/React.createElement(RoutesProvider, {
|
|
3321
3877
|
routes: routes
|
|
3322
3878
|
}, content));
|
|
3323
3879
|
};
|
|
3324
3880
|
ViewerContainer.propTypes = propTypes;
|
|
3325
3881
|
ViewerContainer.defaultProps = defaultProps;
|
|
3882
|
+
var ViewerContainer$1 = ViewerContainer;
|
|
3326
3883
|
|
|
3327
|
-
exports.Viewer = Viewer;
|
|
3328
|
-
exports.default = ViewerContainer;
|
|
3884
|
+
exports.Viewer = Viewer$1;
|
|
3885
|
+
exports.default = ViewerContainer$1;
|