@micromag/viewer 0.3.181 → 0.3.182
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 +12 -9
- package/es/index.js +556 -291
- package/lib/index.js +553 -288
- package/package.json +10 -10
package/es/index.js
CHANGED
|
@@ -3,7 +3,7 @@ import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProper
|
|
|
3
3
|
import PropTypes from 'prop-types';
|
|
4
4
|
import React, { useEffect, useState, useCallback, useMemo, useRef } from 'react';
|
|
5
5
|
import { Switch, Route, MemoryRouter } from 'react-router';
|
|
6
|
-
import { BrowserRouter } from 'react-router-dom';
|
|
6
|
+
import { Link, BrowserRouter } from 'react-router-dom';
|
|
7
7
|
import { PropTypes as PropTypes$1 } from '@micromag/core';
|
|
8
8
|
import { usePlaybackContext, useViewerWebView, useViewerInteraction, VisitorProvider, ScreenSizeProvider, ViewerProvider, useRoutes, useRoutePush, GoogleKeysProvider, GoogleMapsClientProvider, FieldsProvider, ComponentsProvider, SCREENS_NAMESPACE, UserInteractionProvider, PlaybackProvider, TrackingProvider, RoutesProvider } from '@micromag/core/contexts';
|
|
9
9
|
import fieldsManager from '@micromag/fields/manager';
|
|
@@ -15,9 +15,9 @@ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
|
|
|
15
15
|
import classNames from 'classnames';
|
|
16
16
|
import { Helmet } from 'react-helmet';
|
|
17
17
|
import EventEmitter from 'wolfy87-eventemitter';
|
|
18
|
-
import {
|
|
18
|
+
import { Label, ScreenPreview, Screen, Button as Button$1, Meta, FontFaces } from '@micromag/core/components';
|
|
19
19
|
import { useDimensionObserver, useTrackEvent, useDragProgress, useMediaProgress, useParsedStory, useLoadedFonts, useTrackScreenView, useScreenSizeFromElement, useFullscreen } from '@micromag/core/hooks';
|
|
20
|
-
import { getStyleFromColor, getColorAsString, getDeviceScreens } from '@micromag/core/utils';
|
|
20
|
+
import { getStyleFromColor, easings, getColorAsString, getDeviceScreens } from '@micromag/core/utils';
|
|
21
21
|
import { useIntl, FormattedMessage } from 'react-intl';
|
|
22
22
|
import { faTimes } from '@fortawesome/free-solid-svg-icons/faTimes';
|
|
23
23
|
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
|
|
@@ -214,22 +214,230 @@ function useScreenInteraction() {
|
|
|
214
214
|
};
|
|
215
215
|
}
|
|
216
216
|
|
|
217
|
-
var
|
|
218
|
-
|
|
217
|
+
var styles$g = {"container":"micromag-viewer-buttons-button-container","asLink":"micromag-viewer-buttons-button-asLink","icon":"micromag-viewer-buttons-button-icon","label":"micromag-viewer-buttons-button-label","withIcon":"micromag-viewer-buttons-button-withIcon","right":"micromag-viewer-buttons-button-right","icon-right":"micromag-viewer-buttons-button-icon-right","withIconColumns":"micromag-viewer-buttons-button-withIconColumns","linkDisabled":"micromag-viewer-buttons-button-linkDisabled"};
|
|
218
|
+
|
|
219
|
+
var _excluded$8 = ["type", "theme", "size", "href", "external", "direct", "target", "label", "children", "focusable", "active", "icon", "iconPosition", "disabled", "loading", "disableOnLoading", "withoutTheme", "asLink", "onClick", "className", "iconClassName", "labelClassName", "refButton"];
|
|
220
|
+
var propTypes$n = {
|
|
221
|
+
type: PropTypes.string,
|
|
222
|
+
theme: PropTypes$1.buttonTheme,
|
|
223
|
+
size: PropTypes$1.buttonSize,
|
|
224
|
+
href: PropTypes.string,
|
|
225
|
+
external: PropTypes.bool,
|
|
226
|
+
direct: PropTypes.bool,
|
|
227
|
+
target: PropTypes.string,
|
|
228
|
+
label: PropTypes$1.label,
|
|
229
|
+
children: PropTypes$1.label,
|
|
230
|
+
focusable: PropTypes.bool,
|
|
231
|
+
active: PropTypes.bool,
|
|
232
|
+
icon: PropTypes.node,
|
|
233
|
+
iconPosition: PropTypes.oneOf(['left', 'right', 'inline']),
|
|
234
|
+
disabled: PropTypes.bool,
|
|
235
|
+
loading: PropTypes.bool,
|
|
236
|
+
disableOnLoading: PropTypes.bool,
|
|
237
|
+
withoutTheme: PropTypes.bool,
|
|
238
|
+
asLink: PropTypes.bool,
|
|
219
239
|
className: PropTypes.string,
|
|
240
|
+
iconClassName: PropTypes.string,
|
|
241
|
+
labelClassName: PropTypes.string,
|
|
220
242
|
onClick: PropTypes.func,
|
|
221
|
-
|
|
243
|
+
refButton: PropTypes.oneOfType([PropTypes.func, PropTypes.shape({
|
|
244
|
+
current: PropTypes.any // eslint-disable-line
|
|
245
|
+
|
|
246
|
+
})])
|
|
222
247
|
};
|
|
223
|
-
var defaultProps$
|
|
248
|
+
var defaultProps$n = {
|
|
249
|
+
type: 'button',
|
|
250
|
+
theme: null,
|
|
251
|
+
size: null,
|
|
252
|
+
href: null,
|
|
253
|
+
external: false,
|
|
254
|
+
direct: false,
|
|
255
|
+
target: '_blank',
|
|
256
|
+
label: null,
|
|
257
|
+
children: null,
|
|
258
|
+
focusable: true,
|
|
259
|
+
active: false,
|
|
260
|
+
icon: null,
|
|
261
|
+
iconPosition: 'inline',
|
|
262
|
+
disabled: false,
|
|
263
|
+
loading: false,
|
|
264
|
+
disableOnLoading: true,
|
|
265
|
+
withoutTheme: false,
|
|
266
|
+
asLink: false,
|
|
224
267
|
className: null,
|
|
268
|
+
iconClassName: null,
|
|
269
|
+
labelClassName: null,
|
|
225
270
|
onClick: null,
|
|
226
|
-
|
|
271
|
+
refButton: null
|
|
272
|
+
};
|
|
273
|
+
|
|
274
|
+
var Button = function Button(_ref) {
|
|
275
|
+
var _ref2;
|
|
276
|
+
|
|
277
|
+
var type = _ref.type,
|
|
278
|
+
theme = _ref.theme;
|
|
279
|
+
_ref.size;
|
|
280
|
+
var href = _ref.href,
|
|
281
|
+
external = _ref.external,
|
|
282
|
+
direct = _ref.direct,
|
|
283
|
+
target = _ref.target,
|
|
284
|
+
label = _ref.label,
|
|
285
|
+
children = _ref.children,
|
|
286
|
+
focusable = _ref.focusable;
|
|
287
|
+
_ref.active;
|
|
288
|
+
var icon = _ref.icon,
|
|
289
|
+
iconPosition = _ref.iconPosition,
|
|
290
|
+
disabled = _ref.disabled,
|
|
291
|
+
loading = _ref.loading,
|
|
292
|
+
disableOnLoading = _ref.disableOnLoading;
|
|
293
|
+
_ref.withoutTheme;
|
|
294
|
+
var asLink = _ref.asLink,
|
|
295
|
+
onClick = _ref.onClick,
|
|
296
|
+
className = _ref.className,
|
|
297
|
+
iconClassName = _ref.iconClassName,
|
|
298
|
+
labelClassName = _ref.labelClassName,
|
|
299
|
+
refButton = _ref.refButton,
|
|
300
|
+
props = _objectWithoutProperties(_ref, _excluded$8);
|
|
301
|
+
|
|
302
|
+
var finalLabel = label || children;
|
|
303
|
+
var text = finalLabel !== null ? /*#__PURE__*/React.createElement(Label, null, finalLabel) : null;
|
|
304
|
+
var hasChildren = label !== null && children !== null;
|
|
305
|
+
var hasIcon = icon !== null;
|
|
306
|
+
var hasInlineIcon = hasIcon && (iconPosition === 'inline' || text === null);
|
|
307
|
+
var hasIconColumns = hasIcon && !hasInlineIcon;
|
|
308
|
+
var buttonClassNames = classNames([styles$g.container, styles$g["icon-".concat(iconPosition)], (_ref2 = {}, _defineProperty(_ref2, styles$g.withIcon, hasIcon), _defineProperty(_ref2, styles$g.withIconColumns, hasIconColumns), _defineProperty(_ref2, styles$g.withText, text !== null), _defineProperty(_ref2, styles$g.isLink, href !== null), _defineProperty(_ref2, styles$g.asLink, asLink), _defineProperty(_ref2, styles$g.isDisabled, disabled), _defineProperty(_ref2, styles$g.isLoading, loading), _defineProperty(_ref2, className, className !== null), _ref2)]);
|
|
309
|
+
|
|
310
|
+
var _ref3 = theme || {},
|
|
311
|
+
_ref3$colors = _ref3.colors,
|
|
312
|
+
colors = _ref3$colors === void 0 ? null : _ref3$colors;
|
|
313
|
+
|
|
314
|
+
var _ref4 = colors || {},
|
|
315
|
+
_ref4$primary = _ref4.primary,
|
|
316
|
+
brandPrimaryColor = _ref4$primary === void 0 ? null : _ref4$primary;
|
|
317
|
+
|
|
318
|
+
var primaryColor = getStyleFromColor(brandPrimaryColor, 'color');
|
|
319
|
+
|
|
320
|
+
var buttonStyles = _objectSpread({}, primaryColor);
|
|
321
|
+
|
|
322
|
+
var content = /*#__PURE__*/React.createElement(React.Fragment, null, hasInlineIcon ? /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("span", {
|
|
323
|
+
className: classNames([styles$g.icon, _defineProperty({}, iconClassName, iconClassName !== null)])
|
|
324
|
+
}, icon), text !== null ? /*#__PURE__*/React.createElement("span", {
|
|
325
|
+
className: classNames([styles$g.label, _defineProperty({}, labelClassName, labelClassName !== null)])
|
|
326
|
+
}, text) : null) : null, hasIconColumns ? /*#__PURE__*/React.createElement(React.Fragment, null, iconPosition === 'left' ? /*#__PURE__*/React.createElement("span", {
|
|
327
|
+
className: classNames([styles$g.icon, styles$g.left, _defineProperty({}, iconClassName, iconClassName !== null && iconPosition === 'left')])
|
|
328
|
+
}, icon) : null, /*#__PURE__*/React.createElement("span", {
|
|
329
|
+
className: classNames([styles$g.center, styles$g.label, _defineProperty({}, labelClassName, labelClassName !== null)])
|
|
330
|
+
}, text), iconPosition === 'right' ? /*#__PURE__*/React.createElement("span", {
|
|
331
|
+
className: classNames([styles$g.icon, styles$g.right, _defineProperty({}, iconClassName, iconClassName !== null && iconPosition === 'right')])
|
|
332
|
+
}, icon) : null, hasChildren ? children : null) : null, !hasIcon ? text : null, hasChildren ? children : null);
|
|
333
|
+
|
|
334
|
+
if (href !== null) {
|
|
335
|
+
var linkClassNames = classNames([buttonClassNames, _defineProperty({
|
|
336
|
+
disabled: disabled
|
|
337
|
+
}, styles$g.linkDisabled, disabled)]);
|
|
338
|
+
return external || direct ? /*#__PURE__*/React.createElement("a", Object.assign({}, props, {
|
|
339
|
+
href: disabled ? null : href,
|
|
340
|
+
className: linkClassNames,
|
|
341
|
+
style: buttonStyles,
|
|
342
|
+
onClick: onClick,
|
|
343
|
+
target: external ? target : null,
|
|
344
|
+
ref: refButton,
|
|
345
|
+
tabIndex: focusable ? '' : '-1'
|
|
346
|
+
}), content) : /*#__PURE__*/React.createElement(Link, Object.assign({}, props, {
|
|
347
|
+
to: href,
|
|
348
|
+
className: linkClassNames,
|
|
349
|
+
style: buttonStyles,
|
|
350
|
+
onClick: onClick,
|
|
351
|
+
ref: refButton,
|
|
352
|
+
tabIndex: focusable ? '' : '-1'
|
|
353
|
+
}), content);
|
|
354
|
+
}
|
|
355
|
+
|
|
356
|
+
return /*#__PURE__*/React.createElement("button", Object.assign({}, props, {
|
|
357
|
+
type: type,
|
|
358
|
+
className: buttonClassNames,
|
|
359
|
+
style: buttonStyles,
|
|
360
|
+
onClick: onClick,
|
|
361
|
+
disabled: disabled || disableOnLoading && loading,
|
|
362
|
+
ref: refButton,
|
|
363
|
+
tabIndex: focusable ? '0' : '-1'
|
|
364
|
+
}), content);
|
|
365
|
+
};
|
|
366
|
+
|
|
367
|
+
Button.propTypes = propTypes$n;
|
|
368
|
+
Button.defaultProps = defaultProps$n;
|
|
369
|
+
|
|
370
|
+
var styles$f = {"container":"micromag-viewer-buttons-icon-button-container","icon":"micromag-viewer-buttons-icon-button-icon","label":"micromag-viewer-buttons-icon-button-label"};
|
|
371
|
+
|
|
372
|
+
var _excluded$7 = ["className"];
|
|
373
|
+
var propTypes$m = {
|
|
374
|
+
className: PropTypes.string
|
|
375
|
+
};
|
|
376
|
+
var defaultProps$m = {
|
|
377
|
+
className: null
|
|
378
|
+
};
|
|
379
|
+
|
|
380
|
+
var IconButton = function IconButton(_ref) {
|
|
381
|
+
var className = _ref.className,
|
|
382
|
+
props = _objectWithoutProperties(_ref, _excluded$7);
|
|
383
|
+
|
|
384
|
+
return /*#__PURE__*/React.createElement(Button, Object.assign({
|
|
385
|
+
className: classNames([styles$f.container, _defineProperty({}, className, className !== null)]),
|
|
386
|
+
labelClassName: styles$f.label,
|
|
387
|
+
iconClassName: styles$f.icon
|
|
388
|
+
}, props));
|
|
389
|
+
};
|
|
390
|
+
|
|
391
|
+
IconButton.propTypes = propTypes$m;
|
|
392
|
+
IconButton.defaultProps = defaultProps$m;
|
|
393
|
+
|
|
394
|
+
var _excluded$6 = ["className"];
|
|
395
|
+
var propTypes$l = {
|
|
396
|
+
className: PropTypes.string
|
|
397
|
+
};
|
|
398
|
+
var defaultProps$l = {
|
|
399
|
+
className: null
|
|
400
|
+
};
|
|
401
|
+
|
|
402
|
+
var CloseButton = function CloseButton(_ref) {
|
|
403
|
+
var className = _ref.className,
|
|
404
|
+
props = _objectWithoutProperties(_ref, _excluded$6);
|
|
405
|
+
|
|
406
|
+
var intl = useIntl();
|
|
407
|
+
return /*#__PURE__*/React.createElement(IconButton, Object.assign({
|
|
408
|
+
className: classNames([_defineProperty({}, className, className !== null)]),
|
|
409
|
+
label: intl.formatMessage({
|
|
410
|
+
id: "dj/p/q",
|
|
411
|
+
defaultMessage: [{
|
|
412
|
+
"type": 0,
|
|
413
|
+
"value": "Close"
|
|
414
|
+
}]
|
|
415
|
+
}),
|
|
416
|
+
icon: /*#__PURE__*/React.createElement("svg", {
|
|
417
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
418
|
+
width: "10",
|
|
419
|
+
height: "16",
|
|
420
|
+
viewBox: "0 0 10 16",
|
|
421
|
+
fill: "currentColor"
|
|
422
|
+
}, /*#__PURE__*/React.createElement("polygon", {
|
|
423
|
+
points: "9.95 4.11 8.89 3.05 5 6.94 1.11 3.05 0.05 4.11 3.94 8 0.05 11.89 1.11 12.95 5 9.06 8.89 12.95 9.95 11.89 6.06 8 9.95 4.11"
|
|
424
|
+
}))
|
|
425
|
+
}, props));
|
|
426
|
+
};
|
|
427
|
+
|
|
428
|
+
CloseButton.propTypes = propTypes$l;
|
|
429
|
+
CloseButton.defaultProps = defaultProps$l;
|
|
430
|
+
|
|
431
|
+
var _excluded$5 = ["className"];
|
|
432
|
+
var propTypes$k = {
|
|
433
|
+
className: PropTypes.string
|
|
434
|
+
};
|
|
435
|
+
var defaultProps$k = {
|
|
436
|
+
className: null
|
|
227
437
|
};
|
|
228
438
|
|
|
229
439
|
var MenuButton = function MenuButton(_ref) {
|
|
230
440
|
var className = _ref.className,
|
|
231
|
-
onClick = _ref.onClick,
|
|
232
|
-
theme = _ref.theme,
|
|
233
441
|
props = _objectWithoutProperties(_ref, _excluded$5);
|
|
234
442
|
|
|
235
443
|
var intl = useIntl();
|
|
@@ -243,39 +451,32 @@ var MenuButton = function MenuButton(_ref) {
|
|
|
243
451
|
}]
|
|
244
452
|
}),
|
|
245
453
|
iconPosition: "right",
|
|
246
|
-
icon: /*#__PURE__*/React.createElement("svg",
|
|
454
|
+
icon: /*#__PURE__*/React.createElement("svg", {
|
|
247
455
|
xmlns: "http://www.w3.org/2000/svg",
|
|
248
456
|
width: "10",
|
|
249
457
|
height: "16",
|
|
250
458
|
viewBox: "0 0 10 16",
|
|
251
459
|
fill: "currentColor"
|
|
252
|
-
},
|
|
460
|
+
}, /*#__PURE__*/React.createElement("rect", {
|
|
253
461
|
width: "10",
|
|
254
462
|
height: "16"
|
|
255
|
-
}))
|
|
256
|
-
onClick: onClick
|
|
463
|
+
}))
|
|
257
464
|
}, props));
|
|
258
465
|
};
|
|
259
466
|
|
|
260
467
|
MenuButton.propTypes = propTypes$k;
|
|
261
468
|
MenuButton.defaultProps = defaultProps$k;
|
|
262
469
|
|
|
263
|
-
var _excluded$4 = ["className"
|
|
470
|
+
var _excluded$4 = ["className"];
|
|
264
471
|
var propTypes$j = {
|
|
265
|
-
className: PropTypes.string
|
|
266
|
-
onClick: PropTypes.func,
|
|
267
|
-
theme: PropTypes$1.viewerTheme
|
|
472
|
+
className: PropTypes.string
|
|
268
473
|
};
|
|
269
474
|
var defaultProps$j = {
|
|
270
|
-
className: null
|
|
271
|
-
onClick: null,
|
|
272
|
-
theme: null
|
|
475
|
+
className: null
|
|
273
476
|
};
|
|
274
477
|
|
|
275
478
|
var ShareButton = function ShareButton(_ref) {
|
|
276
479
|
var className = _ref.className,
|
|
277
|
-
onClick = _ref.onClick,
|
|
278
|
-
theme = _ref.theme,
|
|
279
480
|
props = _objectWithoutProperties(_ref, _excluded$4);
|
|
280
481
|
|
|
281
482
|
var intl = useIntl();
|
|
@@ -289,32 +490,76 @@ var ShareButton = function ShareButton(_ref) {
|
|
|
289
490
|
}]
|
|
290
491
|
}),
|
|
291
492
|
iconPosition: "left",
|
|
292
|
-
icon: /*#__PURE__*/React.createElement("svg",
|
|
493
|
+
icon: /*#__PURE__*/React.createElement("svg", {
|
|
293
494
|
xmlns: "http://www.w3.org/2000/svg",
|
|
294
495
|
width: "10",
|
|
295
496
|
height: "16",
|
|
296
497
|
viewBox: "0 0 10 16",
|
|
297
498
|
fill: "currentColor"
|
|
298
|
-
},
|
|
499
|
+
}, /*#__PURE__*/React.createElement("polygon", {
|
|
299
500
|
points: "8.5 14.5 1.5 14.5 1.5 8 0 8 0 16 10 16 10 8 8.5 8 8.5 14.5"
|
|
300
501
|
}), /*#__PURE__*/React.createElement("polygon", {
|
|
301
502
|
points: "9.62 4.62 5 0 0.38 4.62 1.44 5.68 4.25 2.87 4.25 11.26 5.75 11.26 5.75 2.87 8.56 5.68 9.62 4.62"
|
|
302
|
-
}))
|
|
303
|
-
onClick: onClick
|
|
503
|
+
}))
|
|
304
504
|
}, props));
|
|
305
505
|
};
|
|
306
506
|
|
|
307
507
|
ShareButton.propTypes = propTypes$j;
|
|
308
508
|
ShareButton.defaultProps = defaultProps$j;
|
|
309
509
|
|
|
310
|
-
var styles$
|
|
510
|
+
var styles$e = {"container":"micromag-viewer-buttons-toggle-button-container","normal":"micromag-viewer-buttons-toggle-button-normal","toggled":"micromag-viewer-buttons-toggle-button-toggled"};
|
|
311
511
|
|
|
312
512
|
var propTypes$i = {
|
|
513
|
+
className: PropTypes.string,
|
|
514
|
+
toggled: PropTypes.number,
|
|
515
|
+
button: PropTypes.node,
|
|
516
|
+
toggledButton: PropTypes.node,
|
|
517
|
+
toggledButtonClassName: PropTypes.string
|
|
518
|
+
};
|
|
519
|
+
var defaultProps$i = {
|
|
520
|
+
className: null,
|
|
521
|
+
toggled: 0,
|
|
522
|
+
button: null,
|
|
523
|
+
toggledButton: null,
|
|
524
|
+
toggledButtonClassName: null
|
|
525
|
+
};
|
|
526
|
+
|
|
527
|
+
var ToggleButton = function ToggleButton(_ref) {
|
|
528
|
+
var className = _ref.className,
|
|
529
|
+
toggled = _ref.toggled,
|
|
530
|
+
button = _ref.button,
|
|
531
|
+
toggledButton = _ref.toggledButton,
|
|
532
|
+
toggledButtonClassName = _ref.toggledButtonClassName;
|
|
533
|
+
if (button === null) return false;
|
|
534
|
+
|
|
535
|
+
var getToggleButtonStyles = function getToggleButtonStyles(t) {
|
|
536
|
+
return {
|
|
537
|
+
transform: "translateY(".concat(t * -100, "%)")
|
|
538
|
+
};
|
|
539
|
+
};
|
|
540
|
+
|
|
541
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
542
|
+
className: classNames([styles$e.container, _defineProperty({}, className, className !== null)])
|
|
543
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
544
|
+
className: styles$e.normal,
|
|
545
|
+
style: getToggleButtonStyles(toggled)
|
|
546
|
+
}, button), /*#__PURE__*/React.createElement("div", {
|
|
547
|
+
className: classNames([styles$e.toggled, _defineProperty({}, toggledButtonClassName, toggledButtonClassName !== null)]),
|
|
548
|
+
style: getToggleButtonStyles(toggled - 1)
|
|
549
|
+
}, toggledButton));
|
|
550
|
+
};
|
|
551
|
+
|
|
552
|
+
ToggleButton.propTypes = propTypes$i;
|
|
553
|
+
ToggleButton.defaultProps = defaultProps$i;
|
|
554
|
+
|
|
555
|
+
var styles$d = {"backdrop":"micromag-viewer-menus-menu-container-backdrop","container":"micromag-viewer-menus-menu-container-container","heightContainer":"micromag-viewer-menus-menu-container-heightContainer","inner":"micromag-viewer-menus-menu-container-inner"};
|
|
556
|
+
|
|
557
|
+
var propTypes$h = {
|
|
313
558
|
className: PropTypes.string,
|
|
314
559
|
transitionProgress: PropTypes.number,
|
|
315
560
|
children: PropTypes.node
|
|
316
561
|
};
|
|
317
|
-
var defaultProps$
|
|
562
|
+
var defaultProps$h = {
|
|
318
563
|
className: null,
|
|
319
564
|
transitionProgress: 0,
|
|
320
565
|
children: null
|
|
@@ -334,19 +579,28 @@ var ViewerMenuContainer = function ViewerMenuContainer(_ref) {
|
|
|
334
579
|
style: {
|
|
335
580
|
height: "".concat(transitionProgress * 100, "%"),
|
|
336
581
|
pointerEvents: transitionProgress < 0.25 ? 'none' : 'auto',
|
|
337
|
-
zIndex: Math.round(
|
|
582
|
+
zIndex: Math.round(1 + transitionProgress)
|
|
338
583
|
}
|
|
339
584
|
}, /*#__PURE__*/React.createElement("div", {
|
|
340
|
-
className: styles$d.inner
|
|
341
|
-
|
|
585
|
+
className: styles$d.inner,
|
|
586
|
+
style: {
|
|
587
|
+
paddingTop: "".concat(3 * transitionProgress, "rem"),
|
|
588
|
+
paddingBottom: "".concat(0.5 * transitionProgress, "rem")
|
|
589
|
+
}
|
|
590
|
+
}, children)), /*#__PURE__*/React.createElement("div", {
|
|
591
|
+
className: styles$d.backdrop,
|
|
592
|
+
style: {
|
|
593
|
+
opacity: easings.easeOutQuint(transitionProgress)
|
|
594
|
+
}
|
|
595
|
+
}));
|
|
342
596
|
};
|
|
343
597
|
|
|
344
|
-
ViewerMenuContainer.propTypes = propTypes$
|
|
345
|
-
ViewerMenuContainer.defaultProps = defaultProps$
|
|
598
|
+
ViewerMenuContainer.propTypes = propTypes$h;
|
|
599
|
+
ViewerMenuContainer.defaultProps = defaultProps$h;
|
|
346
600
|
|
|
347
|
-
var styles$c = {"button":"micromag-viewer-menus-menu-dot-button","progress":"micromag-viewer-menus-menu-dot-progress","
|
|
601
|
+
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"};
|
|
348
602
|
|
|
349
|
-
var propTypes$
|
|
603
|
+
var propTypes$g = {
|
|
350
604
|
current: PropTypes.bool,
|
|
351
605
|
active: PropTypes.bool,
|
|
352
606
|
colors: PropTypes.shape({
|
|
@@ -359,7 +613,7 @@ var propTypes$h = {
|
|
|
359
613
|
onClick: PropTypes.func,
|
|
360
614
|
className: PropTypes.string
|
|
361
615
|
};
|
|
362
|
-
var defaultProps$
|
|
616
|
+
var defaultProps$g = {
|
|
363
617
|
current: false,
|
|
364
618
|
active: false,
|
|
365
619
|
colors: null,
|
|
@@ -431,13 +685,13 @@ var ViewerMenuDot = function ViewerMenuDot(_ref) {
|
|
|
431
685
|
}))));
|
|
432
686
|
};
|
|
433
687
|
|
|
434
|
-
ViewerMenuDot.propTypes = propTypes$
|
|
435
|
-
ViewerMenuDot.defaultProps = defaultProps$
|
|
688
|
+
ViewerMenuDot.propTypes = propTypes$g;
|
|
689
|
+
ViewerMenuDot.defaultProps = defaultProps$g;
|
|
436
690
|
|
|
437
691
|
var styles$b = {"container":"micromag-viewer-menus-menu-dots-container","closeButton":"micromag-viewer-menus-menu-dots-closeButton","item":"micromag-viewer-menus-menu-dots-item","items":"micromag-viewer-menus-menu-dots-items","vertical":"micromag-viewer-menus-menu-dots-vertical"};
|
|
438
692
|
|
|
439
693
|
var _excluded$3 = ["direction", "items", "onClickDot", "onClickScreensMenu", "colors", "closeable", "withItemClick", "withoutScreensMenu", "onClose", "className"];
|
|
440
|
-
var propTypes$
|
|
694
|
+
var propTypes$f = {
|
|
441
695
|
direction: PropTypes.oneOf(['horizontal', 'vertical']),
|
|
442
696
|
items: PropTypes$1.menuItems,
|
|
443
697
|
onClickDot: PropTypes.func,
|
|
@@ -452,7 +706,7 @@ var propTypes$g = {
|
|
|
452
706
|
onClose: PropTypes.func,
|
|
453
707
|
className: PropTypes.string
|
|
454
708
|
};
|
|
455
|
-
var defaultProps$
|
|
709
|
+
var defaultProps$f = {
|
|
456
710
|
direction: 'horizontal',
|
|
457
711
|
items: [],
|
|
458
712
|
onClickDot: null,
|
|
@@ -574,23 +828,20 @@ var ViewerMenuDots = function ViewerMenuDots(_ref) {
|
|
|
574
828
|
}))) : null));
|
|
575
829
|
};
|
|
576
830
|
|
|
577
|
-
ViewerMenuDots.propTypes = propTypes$
|
|
578
|
-
ViewerMenuDots.defaultProps = defaultProps$
|
|
831
|
+
ViewerMenuDots.propTypes = propTypes$f;
|
|
832
|
+
ViewerMenuDots.defaultProps = defaultProps$f;
|
|
579
833
|
|
|
580
|
-
var propTypes$
|
|
834
|
+
var propTypes$e = {
|
|
581
835
|
className: PropTypes.string
|
|
582
836
|
};
|
|
583
|
-
var defaultProps$
|
|
837
|
+
var defaultProps$e = {
|
|
584
838
|
className: null
|
|
585
839
|
};
|
|
586
840
|
|
|
587
841
|
var StackIcon = function StackIcon(_ref) {
|
|
588
842
|
var className = _ref.className;
|
|
589
843
|
return /*#__PURE__*/React.createElement("svg", {
|
|
590
|
-
xmlns: "http://www.w3.org/2000/svg"
|
|
591
|
-
// height="32"
|
|
592
|
-
// viewBox="0 0 32 32"
|
|
593
|
-
,
|
|
844
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
594
845
|
width: "11.5",
|
|
595
846
|
height: "17.5",
|
|
596
847
|
viewBox: "0 0 11.5 17.5",
|
|
@@ -603,12 +854,12 @@ var StackIcon = function StackIcon(_ref) {
|
|
|
603
854
|
}));
|
|
604
855
|
};
|
|
605
856
|
|
|
606
|
-
StackIcon.propTypes = propTypes$
|
|
607
|
-
StackIcon.defaultProps = defaultProps$
|
|
857
|
+
StackIcon.propTypes = propTypes$e;
|
|
858
|
+
StackIcon.defaultProps = defaultProps$e;
|
|
608
859
|
|
|
609
860
|
var styles$a = {"button":"micromag-viewer-menus-menu-screen-button","container":"micromag-viewer-menus-menu-screen-container","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"};
|
|
610
861
|
|
|
611
|
-
var propTypes$
|
|
862
|
+
var propTypes$d = {
|
|
612
863
|
className: PropTypes.string,
|
|
613
864
|
item: PropTypes$1.menuItem,
|
|
614
865
|
index: PropTypes.number,
|
|
@@ -616,7 +867,7 @@ var propTypes$e = {
|
|
|
616
867
|
screenSize: PropTypes$1.screenSize,
|
|
617
868
|
focusable: PropTypes.bool
|
|
618
869
|
};
|
|
619
|
-
var defaultProps$
|
|
870
|
+
var defaultProps$d = {
|
|
620
871
|
className: null,
|
|
621
872
|
item: PropTypes$1.menuItem,
|
|
622
873
|
index: 0,
|
|
@@ -696,12 +947,12 @@ var ViewerMenuScreen = function ViewerMenuScreen(_ref) {
|
|
|
696
947
|
}) : null));
|
|
697
948
|
};
|
|
698
949
|
|
|
699
|
-
ViewerMenuScreen.propTypes = propTypes$
|
|
700
|
-
ViewerMenuScreen.defaultProps = defaultProps$
|
|
950
|
+
ViewerMenuScreen.propTypes = propTypes$d;
|
|
951
|
+
ViewerMenuScreen.defaultProps = defaultProps$d;
|
|
701
952
|
|
|
702
|
-
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","buttons":"micromag-viewer-menus-menu-preview-buttons","organisation":"micromag-viewer-menus-menu-preview-organisation","icon":"micromag-viewer-menus-menu-preview-icon","title":"micromag-viewer-menus-menu-preview-title","content":"micromag-viewer-menus-menu-preview-content","nav":"micromag-viewer-menus-menu-preview-nav","item":"micromag-viewer-menus-menu-preview-item","items":"micromag-viewer-menus-menu-preview-items"};
|
|
953
|
+
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","buttons":"micromag-viewer-menus-menu-preview-buttons","organisation":"micromag-viewer-menus-menu-preview-organisation","icon":"micromag-viewer-menus-menu-preview-icon","title":"micromag-viewer-menus-menu-preview-title","content":"micromag-viewer-menus-menu-preview-content","nav":"micromag-viewer-menus-menu-preview-nav","item":"micromag-viewer-menus-menu-preview-item","items":"micromag-viewer-menus-menu-preview-items","screen":"micromag-viewer-menus-menu-preview-screen","loading":"micromag-viewer-menus-menu-preview-loading","fillPulse":"micromag-viewer-menus-menu-preview-fillPulse"};
|
|
703
954
|
|
|
704
|
-
var propTypes$
|
|
955
|
+
var propTypes$c = {
|
|
705
956
|
viewerTheme: PropTypes$1.viewerTheme,
|
|
706
957
|
screenSize: PropTypes$1.screenSize,
|
|
707
958
|
menuWidth: PropTypes.number,
|
|
@@ -709,13 +960,14 @@ var propTypes$d = {
|
|
|
709
960
|
focusable: PropTypes.bool,
|
|
710
961
|
onClickScreen: PropTypes.func,
|
|
711
962
|
maxThumbsWidth: PropTypes.number,
|
|
712
|
-
//
|
|
963
|
+
// @todo to reimplement:
|
|
964
|
+
// shouldLoad: PropTypes.bool,
|
|
713
965
|
// toggleFullscreen: PropTypes.func,
|
|
714
966
|
// fullscreenActive: PropTypes.bool,
|
|
715
967
|
// fullscreenEnabled: PropTypes.bool,
|
|
716
968
|
className: PropTypes.string
|
|
717
969
|
};
|
|
718
|
-
var defaultProps$
|
|
970
|
+
var defaultProps$c = {
|
|
719
971
|
viewerTheme: null,
|
|
720
972
|
screenSize: null,
|
|
721
973
|
menuWidth: null,
|
|
@@ -745,51 +997,33 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
|
|
|
745
997
|
_useDimensionObserver2 = _useDimensionObserver.width,
|
|
746
998
|
contentWidth = _useDimensionObserver2 === void 0 ? 0 : _useDimensionObserver2;
|
|
747
999
|
|
|
748
|
-
var thumbsPerLine = Math.max(Math.floor(contentWidth / maxThumbsWidth), 3); //
|
|
749
|
-
// @todo room for improvement here probably
|
|
750
|
-
// @todo also re-implement!!
|
|
1000
|
+
var thumbsPerLine = Math.max(Math.floor(contentWidth / maxThumbsWidth), 3); // @note cool, should be in recipes
|
|
751
1001
|
|
|
752
1002
|
var _ref2 = viewerTheme || {},
|
|
753
|
-
_ref2$colors = _ref2.colors,
|
|
754
|
-
colors = _ref2$colors === void 0 ? null : _ref2$colors,
|
|
755
1003
|
_ref2$background = _ref2.background,
|
|
756
1004
|
background = _ref2$background === void 0 ? null : _ref2$background;
|
|
757
1005
|
_ref2.logo;
|
|
758
1006
|
|
|
759
|
-
var _ref3 =
|
|
760
|
-
_ref3.
|
|
761
|
-
_ref3
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
_ref4$color = _ref4.color,
|
|
765
|
-
brandBackgroundColor = _ref4$color === void 0 ? null : _ref4$color,
|
|
766
|
-
_ref4$image = _ref4.image,
|
|
767
|
-
image = _ref4$image === void 0 ? null : _ref4$image;
|
|
768
|
-
|
|
769
|
-
var _ref5 = image || {},
|
|
770
|
-
_ref5$url = _ref5.url,
|
|
771
|
-
brandImageUrl = _ref5$url === void 0 ? null : _ref5$url; // const borderPrimaryColorStyle = getStyleFromColor(brandPrimaryColor, 'borderColor');
|
|
772
|
-
// const colorSecondaryColorStyle = getStyleFromColor(brandSecondaryColor, 'color');
|
|
1007
|
+
var _ref3 = background || {},
|
|
1008
|
+
_ref3$color = _ref3.color,
|
|
1009
|
+
brandBackgroundColor = _ref3$color === void 0 ? null : _ref3$color,
|
|
1010
|
+
_ref3$image = _ref3.image,
|
|
1011
|
+
image = _ref3$image === void 0 ? null : _ref3$image;
|
|
773
1012
|
|
|
1013
|
+
var _ref4 = image || {},
|
|
1014
|
+
_ref4$url = _ref4.url,
|
|
1015
|
+
brandImageUrl = _ref4$url === void 0 ? null : _ref4$url;
|
|
774
1016
|
|
|
775
|
-
var backgroundColorStyle = getStyleFromColor(brandBackgroundColor, 'backgroundColor');
|
|
776
|
-
|
|
1017
|
+
var backgroundColorStyle = getStyleFromColor(brandBackgroundColor, 'backgroundColor');
|
|
777
1018
|
var brandImageStyle = brandImageUrl !== null ? {
|
|
778
1019
|
backgroundImage: "url(".concat(brandImageUrl, ")")
|
|
779
|
-
} : null; // @todo
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
786
|
-
}) : items;
|
|
787
|
-
}, [items, focusable]); // @todo bookmarks
|
|
788
|
-
// const bookmarks = finalItems.reduce((acc, it) => {
|
|
789
|
-
// const { screen = null } = it || {};
|
|
790
|
-
// const { bookmark = null } = screen || {};
|
|
791
|
-
// return bookmark !== null ? [...acc, bookmark] : acc; // merge with array or return original array
|
|
792
|
-
// }, []);
|
|
1020
|
+
} : null; // @todo reimplement the brand logo
|
|
1021
|
+
// const { url: brandLogoUrl = null } = brandLogo || {};
|
|
1022
|
+
// @todo optimize all of this the proper way
|
|
1023
|
+
// const finalItems = useMemo(
|
|
1024
|
+
// () => (!focusable ? items.map((s, i) => (i > 6 ? { screenId: s.screenId } : s)) : items),
|
|
1025
|
+
// [items, focusable],
|
|
1026
|
+
// );
|
|
793
1027
|
|
|
794
1028
|
return /*#__PURE__*/React.createElement("div", {
|
|
795
1029
|
className: classNames([styles$9.container, _defineProperty({}, className, className !== null)]),
|
|
@@ -806,9 +1040,11 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
|
|
|
806
1040
|
className: styles$9.nav
|
|
807
1041
|
}, /*#__PURE__*/React.createElement("ul", {
|
|
808
1042
|
className: styles$9.items
|
|
809
|
-
},
|
|
810
|
-
var
|
|
811
|
-
screenId =
|
|
1043
|
+
}, items.map(function (item, index) {
|
|
1044
|
+
var _ref6 = item || {},
|
|
1045
|
+
screenId = _ref6.screenId,
|
|
1046
|
+
_ref6$screen = _ref6.screen,
|
|
1047
|
+
screen = _ref6$screen === void 0 ? null : _ref6$screen;
|
|
812
1048
|
|
|
813
1049
|
var itemStyles = {
|
|
814
1050
|
width: "".concat(100 / thumbsPerLine, "%")
|
|
@@ -817,30 +1053,43 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
|
|
|
817
1053
|
key: "item-".concat(screenId),
|
|
818
1054
|
className: styles$9.item,
|
|
819
1055
|
style: itemStyles
|
|
820
|
-
},
|
|
821
|
-
className: styles$9.
|
|
1056
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
1057
|
+
className: styles$9.screen
|
|
1058
|
+
}, screen === null ? /*#__PURE__*/React.createElement("svg", {
|
|
1059
|
+
className: styles$9.loading,
|
|
1060
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1061
|
+
width: "10",
|
|
1062
|
+
height: "16",
|
|
1063
|
+
viewBox: "0 0 10 16",
|
|
1064
|
+
style: {
|
|
1065
|
+
animationDelay: "".concat(index * -50, "ms")
|
|
1066
|
+
}
|
|
1067
|
+
}, /*#__PURE__*/React.createElement("rect", {
|
|
1068
|
+
width: "10",
|
|
1069
|
+
height: "16"
|
|
1070
|
+
})) : /*#__PURE__*/React.createElement(ViewerMenuScreen, {
|
|
822
1071
|
item: item,
|
|
823
1072
|
index: index,
|
|
824
1073
|
screenSize: screenSize,
|
|
825
1074
|
onClick: onClickScreen,
|
|
826
1075
|
focusable: focusable
|
|
827
|
-
}));
|
|
1076
|
+
})));
|
|
828
1077
|
}))))));
|
|
829
1078
|
};
|
|
830
1079
|
|
|
831
|
-
ViewerMenuPreview.propTypes = propTypes$
|
|
832
|
-
ViewerMenuPreview.defaultProps = defaultProps$
|
|
1080
|
+
ViewerMenuPreview.propTypes = propTypes$c;
|
|
1081
|
+
ViewerMenuPreview.defaultProps = defaultProps$c;
|
|
833
1082
|
|
|
834
1083
|
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"};
|
|
835
1084
|
|
|
836
|
-
var propTypes$
|
|
1085
|
+
var propTypes$b = {
|
|
837
1086
|
screen: PropTypes$1.item,
|
|
838
1087
|
title: PropTypes.string,
|
|
839
1088
|
url: PropTypes.string,
|
|
840
1089
|
description: PropTypes.string,
|
|
841
1090
|
className: PropTypes.string
|
|
842
1091
|
};
|
|
843
|
-
var defaultProps$
|
|
1092
|
+
var defaultProps$b = {
|
|
844
1093
|
screen: null,
|
|
845
1094
|
title: null,
|
|
846
1095
|
url: null,
|
|
@@ -872,12 +1121,12 @@ var MicromagPreview = function MicromagPreview(_ref) {
|
|
|
872
1121
|
}, url) : null, /*#__PURE__*/React.createElement("p", null, description)));
|
|
873
1122
|
};
|
|
874
1123
|
|
|
875
|
-
MicromagPreview.propTypes = propTypes$
|
|
876
|
-
MicromagPreview.defaultProps = defaultProps$
|
|
1124
|
+
MicromagPreview.propTypes = propTypes$b;
|
|
1125
|
+
MicromagPreview.defaultProps = defaultProps$b;
|
|
877
1126
|
|
|
878
|
-
var styles$7 = {"scroll":"micromag-viewer-menus-menu-share-scroll","container":"micromag-viewer-menus-menu-share-container","disabled":"micromag-viewer-menus-menu-share-disabled","
|
|
1127
|
+
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","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","content":"micromag-viewer-menus-menu-share-content"};
|
|
879
1128
|
|
|
880
|
-
var propTypes$
|
|
1129
|
+
var propTypes$a = {
|
|
881
1130
|
viewerTheme: PropTypes$1.viewerTheme,
|
|
882
1131
|
menuWidth: PropTypes.number,
|
|
883
1132
|
title: PropTypes.string,
|
|
@@ -890,7 +1139,7 @@ var propTypes$b = {
|
|
|
890
1139
|
onShare: PropTypes.func,
|
|
891
1140
|
className: PropTypes.string
|
|
892
1141
|
};
|
|
893
|
-
var defaultProps$
|
|
1142
|
+
var defaultProps$a = {
|
|
894
1143
|
viewerTheme: null,
|
|
895
1144
|
menuWidth: null,
|
|
896
1145
|
title: null,
|
|
@@ -916,56 +1165,43 @@ var ViewerMenuShare = function ViewerMenuShare(_ref) {
|
|
|
916
1165
|
className = _ref.className;
|
|
917
1166
|
|
|
918
1167
|
// Viewer theme
|
|
919
|
-
// @todo room for improvement here probably
|
|
920
1168
|
var _ref2 = viewerTheme || {},
|
|
921
|
-
_ref2$colors = _ref2.colors,
|
|
922
|
-
colors = _ref2$colors === void 0 ? null : _ref2$colors,
|
|
923
1169
|
_ref2$background = _ref2.background,
|
|
924
1170
|
background = _ref2$background === void 0 ? null : _ref2$background;
|
|
925
|
-
_ref2.logo;
|
|
926
|
-
// @todo could get from theme provider? need to re-implement
|
|
927
|
-
|
|
928
|
-
|
|
929
|
-
var _ref3 = colors || {};
|
|
930
|
-
_ref3.primary;
|
|
931
|
-
_ref3.secondary;
|
|
932
|
-
|
|
933
|
-
var _ref4 = background || {},
|
|
934
|
-
_ref4$color = _ref4.color,
|
|
935
|
-
brandBackgroundColor = _ref4$color === void 0 ? null : _ref4$color,
|
|
936
|
-
_ref4$image = _ref4.image,
|
|
937
|
-
image = _ref4$image === void 0 ? null : _ref4$image;
|
|
938
|
-
|
|
939
|
-
var _ref5 = image || {},
|
|
940
|
-
_ref5$url = _ref5.url,
|
|
941
|
-
brandImageUrl = _ref5$url === void 0 ? null : _ref5$url; // const borderPrimaryColorStyle = getStyleFromColor(brandPrimaryColor, 'borderColor');
|
|
942
|
-
// const colorSecondaryColorStyle = getStyleFromColor(brandSecondaryColor, 'color');
|
|
943
1171
|
|
|
1172
|
+
var _ref3 = background || {},
|
|
1173
|
+
_ref3$color = _ref3.color,
|
|
1174
|
+
brandBackgroundColor = _ref3$color === void 0 ? null : _ref3$color,
|
|
1175
|
+
_ref3$image = _ref3.image,
|
|
1176
|
+
image = _ref3$image === void 0 ? null : _ref3$image;
|
|
944
1177
|
|
|
945
|
-
var
|
|
1178
|
+
var _ref4 = image || {},
|
|
1179
|
+
_ref4$url = _ref4.url,
|
|
1180
|
+
brandImageUrl = _ref4$url === void 0 ? null : _ref4$url;
|
|
946
1181
|
|
|
1182
|
+
var backgroundColorStyle = getStyleFromColor(brandBackgroundColor, 'backgroundColor');
|
|
947
1183
|
var brandImageStyle = brandImageUrl !== null ? {
|
|
948
1184
|
backgroundImage: "url(".concat(brandImageUrl, ")")
|
|
949
1185
|
} : null;
|
|
950
1186
|
var coverScreen = useMemo(function () {
|
|
951
|
-
var
|
|
952
|
-
|
|
953
|
-
screen =
|
|
1187
|
+
var _ref5 = items[0] || {},
|
|
1188
|
+
_ref5$screen = _ref5.screen,
|
|
1189
|
+
screen = _ref5$screen === void 0 ? null : _ref5$screen;
|
|
954
1190
|
|
|
955
1191
|
return screen;
|
|
956
1192
|
}, [items]);
|
|
957
1193
|
var currentScreen = useMemo(function () {
|
|
958
1194
|
var found = items.find(function (item) {
|
|
959
|
-
var
|
|
960
|
-
|
|
961
|
-
current =
|
|
1195
|
+
var _ref6 = item || {},
|
|
1196
|
+
_ref6$current = _ref6.current,
|
|
1197
|
+
current = _ref6$current === void 0 ? false : _ref6$current;
|
|
962
1198
|
|
|
963
1199
|
return current;
|
|
964
1200
|
});
|
|
965
1201
|
|
|
966
|
-
var
|
|
967
|
-
|
|
968
|
-
screen =
|
|
1202
|
+
var _ref7 = found || {},
|
|
1203
|
+
_ref7$screen = _ref7.screen,
|
|
1204
|
+
screen = _ref7$screen === void 0 ? null : _ref7$screen;
|
|
969
1205
|
|
|
970
1206
|
return screen;
|
|
971
1207
|
}, [items, currentScreenIndex, focusable]);
|
|
@@ -1029,16 +1265,17 @@ var ViewerMenuShare = function ViewerMenuShare(_ref) {
|
|
|
1029
1265
|
url: finalShareUrl,
|
|
1030
1266
|
focusable: focusable,
|
|
1031
1267
|
onShare: onShare,
|
|
1268
|
+
theme: viewerTheme,
|
|
1032
1269
|
shareCurrentScreen: shareCurrentScreen
|
|
1033
1270
|
}))));
|
|
1034
1271
|
};
|
|
1035
1272
|
|
|
1036
|
-
ViewerMenuShare.propTypes = propTypes$
|
|
1037
|
-
ViewerMenuShare.defaultProps = defaultProps$
|
|
1273
|
+
ViewerMenuShare.propTypes = propTypes$a;
|
|
1274
|
+
ViewerMenuShare.defaultProps = defaultProps$a;
|
|
1038
1275
|
|
|
1039
|
-
var styles$6 = {"container":"micromag-viewer-container","screenContainer":"micromag-viewer-screenContainer","screensFrame":"micromag-viewer-screensFrame","landscape":"micromag-viewer-landscape","hideMenu":"micromag-viewer-hideMenu","menuNavContainer":"micromag-viewer-menuNavContainer","dots":"micromag-viewer-dots","menuTopContainer":"micromag-viewer-menuTopContainer","content":"micromag-viewer-content","fadeMenu":"micromag-viewer-fadeMenu","withShadow":"micromag-viewer-withShadow","isOpened":"micromag-viewer-isOpened","menuItem":"micromag-viewer-menuItem","
|
|
1276
|
+
var styles$6 = {"container":"micromag-viewer-container","screenContainer":"micromag-viewer-screenContainer","screensFrame":"micromag-viewer-screensFrame","landscape":"micromag-viewer-landscape","hideMenu":"micromag-viewer-hideMenu","menuNavContainer":"micromag-viewer-menuNavContainer","dots":"micromag-viewer-dots","menuTopContainer":"micromag-viewer-menuTopContainer","content":"micromag-viewer-content","withoutGestures":"micromag-viewer-withoutGestures","fadeMenu":"micromag-viewer-fadeMenu","withShadow":"micromag-viewer-withShadow","isOpened":"micromag-viewer-isOpened","menuItem":"micromag-viewer-menuItem","menuItemScreens":"micromag-viewer-menuItemScreens","menuButton":"micromag-viewer-menuButton","slidingButton":"micromag-viewer-slidingButton","screensMenuButtonToggled":"micromag-viewer-screensMenuButtonToggled","isHidden":"micromag-viewer-isHidden","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"};
|
|
1040
1277
|
|
|
1041
|
-
var propTypes$
|
|
1278
|
+
var propTypes$9 = {
|
|
1042
1279
|
story: PropTypes$1.story.isRequired,
|
|
1043
1280
|
currentScreenIndex: PropTypes.number,
|
|
1044
1281
|
toggleFullscreen: PropTypes.func,
|
|
@@ -1062,7 +1299,7 @@ var propTypes$a = {
|
|
|
1062
1299
|
|
|
1063
1300
|
})
|
|
1064
1301
|
};
|
|
1065
|
-
var defaultProps$
|
|
1302
|
+
var defaultProps$9 = {
|
|
1066
1303
|
currentScreenIndex: 0,
|
|
1067
1304
|
toggleFullscreen: null,
|
|
1068
1305
|
fullscreenActive: false,
|
|
@@ -1084,7 +1321,7 @@ var defaultProps$a = {
|
|
|
1084
1321
|
};
|
|
1085
1322
|
|
|
1086
1323
|
var ViewerMenu = function ViewerMenu(_ref) {
|
|
1087
|
-
var
|
|
1324
|
+
var _ref11;
|
|
1088
1325
|
|
|
1089
1326
|
var story = _ref.story,
|
|
1090
1327
|
currentScreenIndex = _ref.currentScreenIndex,
|
|
@@ -1181,7 +1418,7 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1181
1418
|
var base = typeof window !== 'undefined' ? window.location.host : '';
|
|
1182
1419
|
var path = shareBasePath !== null ? "".concat(base).concat(shareBasePath) : base;
|
|
1183
1420
|
return path;
|
|
1184
|
-
}, [shareBasePath]); // @
|
|
1421
|
+
}, [shareBasePath]); // @note possible to extract some of that logic
|
|
1185
1422
|
|
|
1186
1423
|
var onOpenMenu = useCallback(function () {
|
|
1187
1424
|
setMenuOpened(true);
|
|
@@ -1238,11 +1475,30 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1238
1475
|
}
|
|
1239
1476
|
|
|
1240
1477
|
return progress;
|
|
1241
|
-
}, [
|
|
1478
|
+
}, [onOpenShare]);
|
|
1479
|
+
var computeShareProgressClose = useCallback(function (_ref8) {
|
|
1480
|
+
var active = _ref8.active,
|
|
1481
|
+
_ref8$direction = _slicedToArray(_ref8.direction, 2),
|
|
1482
|
+
dy = _ref8$direction[1],
|
|
1483
|
+
_ref8$movement = _slicedToArray(_ref8.movement, 2),
|
|
1484
|
+
my = _ref8$movement[1],
|
|
1485
|
+
_ref8$velocity = _slicedToArray(_ref8.velocity, 2),
|
|
1486
|
+
vy = _ref8$velocity[1];
|
|
1487
|
+
|
|
1488
|
+
var progress = Math.max(0, my) / (window.innerHeight * 0.8);
|
|
1489
|
+
var reachedThreshold = (vy > 0.3 || Math.abs(progress) > 0.3) && dy !== -1;
|
|
1490
|
+
|
|
1491
|
+
if (!active) {
|
|
1492
|
+
if (reachedThreshold) onCloseShare();
|
|
1493
|
+
return reachedThreshold ? 0 : 1;
|
|
1494
|
+
}
|
|
1495
|
+
|
|
1496
|
+
return 1 - progress;
|
|
1497
|
+
}, [onCloseShare]);
|
|
1242
1498
|
|
|
1243
1499
|
var _useDragProgress = useDragProgress({
|
|
1244
1500
|
progress: shareOpened ? 1 : 0,
|
|
1245
|
-
computeProgress: computeShareProgress,
|
|
1501
|
+
computeProgress: shareOpened ? computeShareProgressClose : computeShareProgress,
|
|
1246
1502
|
springParams: {
|
|
1247
1503
|
config: {
|
|
1248
1504
|
tension: 300,
|
|
@@ -1251,17 +1507,16 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1251
1507
|
}
|
|
1252
1508
|
}),
|
|
1253
1509
|
bindShareDrag = _useDragProgress.bind,
|
|
1254
|
-
isDraggingShare = _useDragProgress.dragging,
|
|
1255
1510
|
shareOpenedProgress = _useDragProgress.progress;
|
|
1256
1511
|
|
|
1257
|
-
var computeMenuProgress = useCallback(function (
|
|
1258
|
-
var active =
|
|
1259
|
-
|
|
1260
|
-
dy =
|
|
1261
|
-
|
|
1262
|
-
my =
|
|
1263
|
-
|
|
1264
|
-
vy =
|
|
1512
|
+
var computeMenuProgress = useCallback(function (_ref9) {
|
|
1513
|
+
var active = _ref9.active,
|
|
1514
|
+
_ref9$direction = _slicedToArray(_ref9.direction, 2),
|
|
1515
|
+
dy = _ref9$direction[1],
|
|
1516
|
+
_ref9$movement = _slicedToArray(_ref9.movement, 2),
|
|
1517
|
+
my = _ref9$movement[1],
|
|
1518
|
+
_ref9$velocity = _slicedToArray(_ref9.velocity, 2),
|
|
1519
|
+
vy = _ref9$velocity[1];
|
|
1265
1520
|
|
|
1266
1521
|
var progress = Math.max(0, my) / (window.innerHeight * 0.8);
|
|
1267
1522
|
var reachedThreshold = (vy > 0.3 || Math.abs(progress) > 0.3) && dy !== -1;
|
|
@@ -1272,11 +1527,30 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1272
1527
|
}
|
|
1273
1528
|
|
|
1274
1529
|
return progress;
|
|
1275
|
-
}, [
|
|
1530
|
+
}, [onOpenMenu]);
|
|
1531
|
+
var computeMenuProgressClose = useCallback(function (_ref10) {
|
|
1532
|
+
var active = _ref10.active,
|
|
1533
|
+
_ref10$direction = _slicedToArray(_ref10.direction, 2),
|
|
1534
|
+
dy = _ref10$direction[1],
|
|
1535
|
+
_ref10$movement = _slicedToArray(_ref10.movement, 2),
|
|
1536
|
+
my = _ref10$movement[1],
|
|
1537
|
+
_ref10$velocity = _slicedToArray(_ref10.velocity, 2),
|
|
1538
|
+
vy = _ref10$velocity[1];
|
|
1539
|
+
|
|
1540
|
+
var progress = Math.max(0, my) / (window.innerHeight * 0.8);
|
|
1541
|
+
var reachedThreshold = (vy > 0.3 || Math.abs(progress) > 0.3) && dy !== -1;
|
|
1542
|
+
|
|
1543
|
+
if (!active) {
|
|
1544
|
+
if (reachedThreshold) onCloseMenu();
|
|
1545
|
+
return reachedThreshold ? 0 : 1;
|
|
1546
|
+
}
|
|
1547
|
+
|
|
1548
|
+
return 1 - progress;
|
|
1549
|
+
}, [onCloseMenu]);
|
|
1276
1550
|
|
|
1277
1551
|
var _useDragProgress2 = useDragProgress({
|
|
1278
1552
|
progress: menuOpened ? 1 : 0,
|
|
1279
|
-
computeProgress: computeMenuProgress,
|
|
1553
|
+
computeProgress: menuOpened ? computeMenuProgressClose : computeMenuProgress,
|
|
1280
1554
|
springParams: {
|
|
1281
1555
|
config: {
|
|
1282
1556
|
tension: 300,
|
|
@@ -1285,7 +1559,6 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1285
1559
|
}
|
|
1286
1560
|
}),
|
|
1287
1561
|
bindMenuDrag = _useDragProgress2.bind,
|
|
1288
|
-
isDraggingMenu = _useDragProgress2.dragging,
|
|
1289
1562
|
menuOpenedProgress = _useDragProgress2.progress;
|
|
1290
1563
|
|
|
1291
1564
|
var keyboardShortcuts = useMemo(function () {
|
|
@@ -1302,7 +1575,7 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1302
1575
|
|
|
1303
1576
|
var dotsOpacity = Math.min(1, Math.max(0, 1 - (menuOpenedProgress + shareOpenedProgress)));
|
|
1304
1577
|
return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
|
|
1305
|
-
className: classNames([styles$6.menuNavContainer, (
|
|
1578
|
+
className: classNames([styles$6.menuNavContainer, (_ref11 = {}, _defineProperty(_ref11, styles$6.withShadow, withShadow), _defineProperty(_ref11, styles$6.isOpened, menuOpened || shareOpened), _ref11)]),
|
|
1306
1579
|
ref: refDots,
|
|
1307
1580
|
style: {
|
|
1308
1581
|
width: menuWidth
|
|
@@ -1311,47 +1584,43 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1311
1584
|
className: styles$6.menuTopContainer
|
|
1312
1585
|
}, !withoutShareMenu ? /*#__PURE__*/React.createElement("div", Object.assign({
|
|
1313
1586
|
className: classNames([styles$6.menuItem, styles$6.menuShare])
|
|
1314
|
-
}, bindShareDrag()), /*#__PURE__*/React.createElement(
|
|
1587
|
+
}, bindShareDrag()), /*#__PURE__*/React.createElement(ToggleButton, {
|
|
1315
1588
|
className: styles$6.slidingButton,
|
|
1316
|
-
|
|
1317
|
-
immediate: isDraggingShare,
|
|
1318
|
-
buttons: [ShareButton, CloseButton],
|
|
1319
|
-
buttonsProps: [{
|
|
1320
|
-
key: 'share',
|
|
1589
|
+
button: /*#__PURE__*/React.createElement(ShareButton, {
|
|
1321
1590
|
className: styles$6.menuButton,
|
|
1322
1591
|
onClick: onOpenShare,
|
|
1323
|
-
theme: menuTheme
|
|
1324
|
-
|
|
1325
|
-
|
|
1592
|
+
theme: menuTheme,
|
|
1593
|
+
iconPosition: "left"
|
|
1594
|
+
}),
|
|
1595
|
+
toggledButton: /*#__PURE__*/React.createElement(CloseButton, {
|
|
1326
1596
|
className: styles$6.menuButton,
|
|
1327
1597
|
onClick: onCloseShare,
|
|
1328
1598
|
theme: menuTheme,
|
|
1329
|
-
iconPosition:
|
|
1330
|
-
}
|
|
1599
|
+
iconPosition: "left"
|
|
1600
|
+
}),
|
|
1601
|
+
toggled: shareOpenedProgress
|
|
1331
1602
|
})) : null, !withoutScreensMenu ? /*#__PURE__*/React.createElement("div", Object.assign({
|
|
1332
|
-
className: classNames([styles$6.menuItem, styles$6.
|
|
1333
|
-
}, bindMenuDrag()), /*#__PURE__*/React.createElement(
|
|
1603
|
+
className: classNames([styles$6.menuItem, styles$6.menuItemScreens])
|
|
1604
|
+
}, bindMenuDrag()), /*#__PURE__*/React.createElement(ToggleButton, {
|
|
1334
1605
|
className: styles$6.slidingButton,
|
|
1335
|
-
|
|
1336
|
-
immediate: isDraggingMenu,
|
|
1337
|
-
buttons: [MenuButton, CloseButton],
|
|
1338
|
-
buttonsProps: [{
|
|
1339
|
-
key: 'menu',
|
|
1606
|
+
button: /*#__PURE__*/React.createElement(MenuButton, {
|
|
1340
1607
|
className: styles$6.menuButton,
|
|
1341
1608
|
onClick: onOpenMenu,
|
|
1342
1609
|
theme: menuTheme
|
|
1343
|
-
},
|
|
1344
|
-
|
|
1610
|
+
}),
|
|
1611
|
+
toggledButton: /*#__PURE__*/React.createElement(CloseButton, {
|
|
1345
1612
|
className: styles$6.menuButton,
|
|
1346
1613
|
onClick: onCloseMenu,
|
|
1347
1614
|
theme: menuTheme,
|
|
1348
|
-
iconPosition:
|
|
1349
|
-
}
|
|
1615
|
+
iconPosition: "right"
|
|
1616
|
+
}),
|
|
1617
|
+
toggled: menuOpenedProgress,
|
|
1618
|
+
toggledButtonClassName: styles$6.screensMenuButtonToggled
|
|
1350
1619
|
})) : null), /*#__PURE__*/React.createElement(ViewerMenuDots, Object.assign({}, menuTheme, {
|
|
1351
1620
|
direction: "horizontal",
|
|
1352
1621
|
items: items,
|
|
1353
1622
|
onClickDot: onClickScreen,
|
|
1354
|
-
|
|
1623
|
+
onClickScreensMenu: onOpenMenu,
|
|
1355
1624
|
closeable: closeable,
|
|
1356
1625
|
withItemClick: withDotItemClick,
|
|
1357
1626
|
withoutScreensMenu: withoutScreensMenu,
|
|
@@ -1359,12 +1628,14 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1359
1628
|
onClose: onClickCloseViewer,
|
|
1360
1629
|
className: styles$6.dots,
|
|
1361
1630
|
style: {
|
|
1362
|
-
opacity: dotsOpacity
|
|
1631
|
+
opacity: Math.pow(dotsOpacity, 5),
|
|
1632
|
+
// @note this is like a "quint" easing, meaning it'll go towards 1 slowly first and then fast as it approaches 1
|
|
1633
|
+
pointerEvents: dotsOpacity < 1 ? 'none' : 'auto'
|
|
1363
1634
|
}
|
|
1364
1635
|
}))), /*#__PURE__*/React.createElement(ViewerMenuContainer, {
|
|
1365
1636
|
className: styles$6.menuContainerShare,
|
|
1366
1637
|
transitionProgress: shareOpenedProgress
|
|
1367
|
-
}, /*#__PURE__*/React.createElement(ViewerMenuShare, {
|
|
1638
|
+
}, shareOpenedProgress > 0 ? /*#__PURE__*/React.createElement(ViewerMenuShare, {
|
|
1368
1639
|
viewerTheme: viewerTheme,
|
|
1369
1640
|
className: styles$6.menuShare,
|
|
1370
1641
|
title: title,
|
|
@@ -1376,15 +1647,14 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1376
1647
|
shareUrl: shareUrl,
|
|
1377
1648
|
onShare: onShare,
|
|
1378
1649
|
onClose: onCloseShare
|
|
1379
|
-
})), /*#__PURE__*/React.createElement(ViewerMenuContainer, {
|
|
1650
|
+
}) : null), /*#__PURE__*/React.createElement(ViewerMenuContainer, {
|
|
1380
1651
|
className: styles$6.menuContainerScreens,
|
|
1381
1652
|
transitionProgress: menuOpenedProgress
|
|
1382
|
-
}, /*#__PURE__*/React.createElement(ViewerMenuPreview, {
|
|
1653
|
+
}, menuOpenedProgress > 0 ? /*#__PURE__*/React.createElement(ViewerMenuPreview, {
|
|
1383
1654
|
viewerTheme: viewerTheme,
|
|
1384
1655
|
className: styles$6.menuPreview,
|
|
1385
1656
|
screenSize: screenSize,
|
|
1386
1657
|
menuWidth: menuWidth,
|
|
1387
|
-
focusable: menuOpened,
|
|
1388
1658
|
items: items,
|
|
1389
1659
|
currentScreenIndex: currentScreenIndex,
|
|
1390
1660
|
shareUrl: shareUrl,
|
|
@@ -1394,67 +1664,15 @@ var ViewerMenu = function ViewerMenu(_ref) {
|
|
|
1394
1664
|
toggleFullscreen: toggleFullscreen,
|
|
1395
1665
|
fullscreenActive: fullscreenActive,
|
|
1396
1666
|
fullscreenEnabled: fullscreenEnabled
|
|
1397
|
-
})));
|
|
1398
|
-
};
|
|
1399
|
-
|
|
1400
|
-
ViewerMenu.propTypes = propTypes$a;
|
|
1401
|
-
ViewerMenu.defaultProps = defaultProps$a;
|
|
1402
|
-
|
|
1403
|
-
var styles$5 = {"container":"micromag-viewer-partials-hand-tap-container","circle":"micromag-viewer-partials-hand-tap-circle","pulse":"micromag-viewer-partials-hand-tap-pulse","hand":"micromag-viewer-partials-hand-tap-hand","panY":"micromag-viewer-partials-hand-tap-panY","inner":"micromag-viewer-partials-hand-tap-inner","shadowFade":"micromag-viewer-partials-hand-tap-shadowFade"};
|
|
1404
|
-
|
|
1405
|
-
var propTypes$9 = {
|
|
1406
|
-
color: PropTypes.string,
|
|
1407
|
-
className: PropTypes.string
|
|
1408
|
-
};
|
|
1409
|
-
var defaultProps$9 = {
|
|
1410
|
-
color: 'currentColor',
|
|
1411
|
-
className: null
|
|
1667
|
+
}) : null));
|
|
1412
1668
|
};
|
|
1413
1669
|
|
|
1414
|
-
|
|
1415
|
-
|
|
1416
|
-
className = _ref.className;
|
|
1417
|
-
return /*#__PURE__*/React.createElement("svg", {
|
|
1418
|
-
className: className,
|
|
1419
|
-
xmlns: "http://www.w3.org/2000/svg",
|
|
1420
|
-
viewBox: "0 0 367.24 482.87"
|
|
1421
|
-
}, /*#__PURE__*/React.createElement("path", {
|
|
1422
|
-
d: "M488.84,255.91a44.68,44.68,0,0,0-19.15,4.3A44.77,44.77,0,0,0,406,226.49a44.75,44.75,0,0,0-62.67-32.66V105.4a44.81,44.81,0,1,0-89.61,0V265.17l-1.15-2.7a44.78,44.78,0,1,0-82.84,34.06l64.87,157.76.34.73a156.29,156.29,0,0,0,141.42,88.44c86.7,0,157.24-70.53,157.24-157.26V300.7a44.82,44.82,0,0,0-44.78-44.79ZM507.46,386.2c0,72.3-58.78,131.1-131.07,131.1a130.29,130.29,0,0,1-117.73-73.36L193.93,286.61a18.64,18.64,0,1,1,34.53-14.07L279.91,394V105.4a18.64,18.64,0,1,1,37.28,0v196a13.08,13.08,0,0,0,26.16,0V234.56a18.64,18.64,0,0,1,37.27,0v89.95a13.07,13.07,0,1,0,26.13,0V266.86a18.64,18.64,0,1,1,37.28,0v80.71h0s0,.08,0,.11a13.08,13.08,0,0,0,26.15,0v-47a18.63,18.63,0,1,1,37.26,0v85.5Z",
|
|
1423
|
-
transform: "translate(-166.38 -60.59)",
|
|
1424
|
-
fill: color,
|
|
1425
|
-
fillRule: "evenodd"
|
|
1426
|
-
}));
|
|
1427
|
-
};
|
|
1670
|
+
ViewerMenu.propTypes = propTypes$9;
|
|
1671
|
+
ViewerMenu.defaultProps = defaultProps$9;
|
|
1428
1672
|
|
|
1429
|
-
|
|
1430
|
-
HandIcon.defaultProps = defaultProps$9;
|
|
1673
|
+
var styles$5 = {"container":"micromag-viewer-screen-container","navigationHint":"micromag-viewer-screen-navigationHint"};
|
|
1431
1674
|
|
|
1432
1675
|
var propTypes$8 = {
|
|
1433
|
-
className: PropTypes.string
|
|
1434
|
-
};
|
|
1435
|
-
var defaultProps$8 = {
|
|
1436
|
-
className: null
|
|
1437
|
-
};
|
|
1438
|
-
|
|
1439
|
-
var HandTap = function HandTap(_ref) {
|
|
1440
|
-
var className = _ref.className;
|
|
1441
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
1442
|
-
className: classNames([styles$5.container, _defineProperty({}, className, className !== null)])
|
|
1443
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
1444
|
-
className: styles$5.inner
|
|
1445
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
1446
|
-
className: styles$5.circle
|
|
1447
|
-
}), /*#__PURE__*/React.createElement(HandIcon, {
|
|
1448
|
-
className: styles$5.hand
|
|
1449
|
-
})));
|
|
1450
|
-
};
|
|
1451
|
-
|
|
1452
|
-
HandTap.propTypes = propTypes$8;
|
|
1453
|
-
HandTap.defaultProps = defaultProps$8;
|
|
1454
|
-
|
|
1455
|
-
var styles$4 = {"container":"micromag-viewer-screen-container","handTap":"micromag-viewer-screen-handTap"};
|
|
1456
|
-
|
|
1457
|
-
var propTypes$7 = {
|
|
1458
1676
|
screen: PropTypes$1.screenComponent,
|
|
1459
1677
|
renderContext: PropTypes$1.renderContext,
|
|
1460
1678
|
screenState: PropTypes.string,
|
|
@@ -1464,10 +1682,10 @@ var propTypes$7 = {
|
|
|
1464
1682
|
width: PropTypes.number,
|
|
1465
1683
|
height: PropTypes.number,
|
|
1466
1684
|
scale: PropTypes.number,
|
|
1467
|
-
withNavigationHint: PropTypes.bool,
|
|
1685
|
+
// withNavigationHint: PropTypes.bool, // @todo
|
|
1468
1686
|
className: PropTypes.string
|
|
1469
1687
|
};
|
|
1470
|
-
var defaultProps$
|
|
1688
|
+
var defaultProps$8 = {
|
|
1471
1689
|
screen: null,
|
|
1472
1690
|
renderContext: null,
|
|
1473
1691
|
screenState: null,
|
|
@@ -1477,7 +1695,7 @@ var defaultProps$7 = {
|
|
|
1477
1695
|
width: null,
|
|
1478
1696
|
height: null,
|
|
1479
1697
|
scale: null,
|
|
1480
|
-
withNavigationHint: false,
|
|
1698
|
+
// withNavigationHint: false,
|
|
1481
1699
|
className: null
|
|
1482
1700
|
};
|
|
1483
1701
|
|
|
@@ -1491,10 +1709,9 @@ function ViewerScreen(_ref) {
|
|
|
1491
1709
|
width = _ref.width,
|
|
1492
1710
|
height = _ref.height,
|
|
1493
1711
|
scale = _ref.scale,
|
|
1494
|
-
withNavigationHint = _ref.withNavigationHint,
|
|
1495
1712
|
className = _ref.className;
|
|
1496
1713
|
return /*#__PURE__*/React.createElement("div", {
|
|
1497
|
-
className: classNames([styles$
|
|
1714
|
+
className: classNames([styles$5.container, _defineProperty({}, className, className !== null)])
|
|
1498
1715
|
}, /*#__PURE__*/React.createElement("div", {
|
|
1499
1716
|
style: {
|
|
1500
1717
|
width: width,
|
|
@@ -1509,22 +1726,20 @@ function ViewerScreen(_ref) {
|
|
|
1509
1726
|
active: active,
|
|
1510
1727
|
current: current,
|
|
1511
1728
|
mediaRef: mediaRef
|
|
1512
|
-
}))
|
|
1513
|
-
className: styles$4.handTap
|
|
1514
|
-
}) : null);
|
|
1729
|
+
})));
|
|
1515
1730
|
}
|
|
1516
1731
|
|
|
1517
|
-
ViewerScreen.propTypes = propTypes$
|
|
1518
|
-
ViewerScreen.defaultProps = defaultProps$
|
|
1732
|
+
ViewerScreen.propTypes = propTypes$8;
|
|
1733
|
+
ViewerScreen.defaultProps = defaultProps$8;
|
|
1519
1734
|
|
|
1520
|
-
var styles$
|
|
1735
|
+
var styles$4 = {"arrow":"micromag-viewer-buttons-navigation-button-arrow","next":"micromag-viewer-buttons-navigation-button-next","previous":"micromag-viewer-buttons-navigation-button-previous"};
|
|
1521
1736
|
|
|
1522
|
-
var propTypes$
|
|
1737
|
+
var propTypes$7 = {
|
|
1523
1738
|
direction: PropTypes.oneOf(['previous', 'next']),
|
|
1524
1739
|
onClick: PropTypes.func,
|
|
1525
1740
|
className: PropTypes.string
|
|
1526
1741
|
};
|
|
1527
|
-
var defaultProps$
|
|
1742
|
+
var defaultProps$7 = {
|
|
1528
1743
|
direction: 'next',
|
|
1529
1744
|
onClick: null,
|
|
1530
1745
|
className: null
|
|
@@ -1534,12 +1749,12 @@ var NavigationButton = function NavigationButton(_ref) {
|
|
|
1534
1749
|
var direction = _ref.direction,
|
|
1535
1750
|
onClick = _ref.onClick,
|
|
1536
1751
|
className = _ref.className;
|
|
1537
|
-
return /*#__PURE__*/React.createElement(
|
|
1538
|
-
className: classNames([styles$
|
|
1752
|
+
return /*#__PURE__*/React.createElement(IconButton, {
|
|
1753
|
+
className: classNames([styles$4.container, styles$4[direction], _defineProperty({}, className, className !== null)]),
|
|
1539
1754
|
onClick: onClick,
|
|
1540
1755
|
iconPosition: direction === 'next' ? 'right' : 'left',
|
|
1541
1756
|
icon: /*#__PURE__*/React.createElement("svg", {
|
|
1542
|
-
className: styles$
|
|
1757
|
+
className: styles$4.arrow,
|
|
1543
1758
|
xmlns: "http://www.w3.org/2000/svg",
|
|
1544
1759
|
width: "10",
|
|
1545
1760
|
height: "16",
|
|
@@ -1566,11 +1781,62 @@ var NavigationButton = function NavigationButton(_ref) {
|
|
|
1566
1781
|
});
|
|
1567
1782
|
};
|
|
1568
1783
|
|
|
1569
|
-
NavigationButton.propTypes = propTypes$
|
|
1570
|
-
NavigationButton.defaultProps = defaultProps$
|
|
1784
|
+
NavigationButton.propTypes = propTypes$7;
|
|
1785
|
+
NavigationButton.defaultProps = defaultProps$7;
|
|
1786
|
+
|
|
1787
|
+
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"};
|
|
1788
|
+
|
|
1789
|
+
var propTypes$6 = {
|
|
1790
|
+
className: PropTypes.string
|
|
1791
|
+
};
|
|
1792
|
+
var defaultProps$6 = {
|
|
1793
|
+
className: null
|
|
1794
|
+
};
|
|
1795
|
+
|
|
1796
|
+
var ArrowHint = function ArrowHint(_ref) {
|
|
1797
|
+
var className = _ref.className;
|
|
1798
|
+
return /*#__PURE__*/React.createElement("div", {
|
|
1799
|
+
className: classNames([styles$3.container, _defineProperty({}, className, className !== null)])
|
|
1800
|
+
}, /*#__PURE__*/React.createElement("div", {
|
|
1801
|
+
className: styles$3.inner
|
|
1802
|
+
}, /*#__PURE__*/React.createElement("svg", {
|
|
1803
|
+
className: styles$3.arrow,
|
|
1804
|
+
xmlns: "http://www.w3.org/2000/svg",
|
|
1805
|
+
width: "10",
|
|
1806
|
+
height: "16",
|
|
1807
|
+
viewBox: "0 0 10 16",
|
|
1808
|
+
fill: "currentColor"
|
|
1809
|
+
}, /*#__PURE__*/React.createElement("polygon", {
|
|
1810
|
+
points: "9.62 4.62 5 0 0.38 4.62 1.44 5.68 4.25 2.87 4.25 14.39 5.75 14.39 5.75 2.87 8.56 5.68 9.62 4.62"
|
|
1811
|
+
}))));
|
|
1812
|
+
};
|
|
1813
|
+
|
|
1814
|
+
ArrowHint.propTypes = propTypes$6;
|
|
1815
|
+
ArrowHint.defaultProps = defaultProps$6;
|
|
1571
1816
|
|
|
1572
1817
|
var styles$2 = {"track":"micromag-viewer-partials-seek-bar-track","progress":"micromag-viewer-partials-seek-bar-progress","inner":"micromag-viewer-partials-seek-bar-inner","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"};
|
|
1573
1818
|
|
|
1819
|
+
var stopDragEventsPropagation = {
|
|
1820
|
+
onTouchMove: function onTouchMove(e) {
|
|
1821
|
+
return e.stopPropagation();
|
|
1822
|
+
},
|
|
1823
|
+
onTouchStart: function onTouchStart(e) {
|
|
1824
|
+
return e.stopPropagation();
|
|
1825
|
+
},
|
|
1826
|
+
onTouchEnd: function onTouchEnd(e) {
|
|
1827
|
+
return e.stopPropagation();
|
|
1828
|
+
},
|
|
1829
|
+
onPointerMove: function onPointerMove(e) {
|
|
1830
|
+
return e.stopPropagation();
|
|
1831
|
+
},
|
|
1832
|
+
onPointerUp: function onPointerUp(e) {
|
|
1833
|
+
return e.stopPropagation();
|
|
1834
|
+
},
|
|
1835
|
+
onPointerDown: function onPointerDown(e) {
|
|
1836
|
+
return e.stopPropagation();
|
|
1837
|
+
}
|
|
1838
|
+
};
|
|
1839
|
+
|
|
1574
1840
|
function getFormattedTimestamp(s) {
|
|
1575
1841
|
var withMilliseconds = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
|
|
1576
1842
|
var sparts = withMilliseconds ? "".concat(s).split('.') : [];
|
|
@@ -1638,16 +1904,14 @@ var SeekBar = function SeekBar(_ref) {
|
|
|
1638
1904
|
setShowTimestamp = _useState2[1];
|
|
1639
1905
|
|
|
1640
1906
|
var onDrag = useCallback(function (_ref3) {
|
|
1641
|
-
|
|
1642
|
-
_ref3$xy = _slicedToArray(_ref3.xy, 1),
|
|
1907
|
+
_ref3.event;
|
|
1908
|
+
var _ref3$xy = _slicedToArray(_ref3.xy, 1),
|
|
1643
1909
|
x = _ref3$xy[0],
|
|
1644
1910
|
elapsedTime = _ref3.elapsedTime,
|
|
1645
1911
|
active = _ref3.active,
|
|
1646
1912
|
tap = _ref3.tap,
|
|
1647
1913
|
currentTarget = _ref3.currentTarget;
|
|
1648
1914
|
|
|
1649
|
-
event.stopPropagation();
|
|
1650
|
-
|
|
1651
1915
|
if (!active && elapsedTime > 300) {
|
|
1652
1916
|
return;
|
|
1653
1917
|
}
|
|
@@ -1662,14 +1926,12 @@ var SeekBar = function SeekBar(_ref) {
|
|
|
1662
1926
|
onSeek(newProgress, tap);
|
|
1663
1927
|
}
|
|
1664
1928
|
}, [onSeek]);
|
|
1665
|
-
var onDragStart = useCallback(function (
|
|
1929
|
+
var onDragStart = useCallback(function () {
|
|
1666
1930
|
setShowTimestamp(true);
|
|
1667
1931
|
|
|
1668
1932
|
if (onSeekStart !== null) {
|
|
1669
1933
|
onSeekStart();
|
|
1670
1934
|
}
|
|
1671
|
-
|
|
1672
|
-
event.stopPropagation();
|
|
1673
1935
|
}, [onSeekStart, setShowTimestamp]);
|
|
1674
1936
|
var onDragEnd = useCallback(function () {
|
|
1675
1937
|
if (onSeekEnd !== null) {
|
|
@@ -1687,9 +1949,9 @@ var SeekBar = function SeekBar(_ref) {
|
|
|
1687
1949
|
filterTaps: true
|
|
1688
1950
|
}
|
|
1689
1951
|
});
|
|
1690
|
-
return /*#__PURE__*/React.createElement("div", {
|
|
1952
|
+
return /*#__PURE__*/React.createElement("div", Object.assign({
|
|
1691
1953
|
className: classNames([styles$2.container, (_ref4 = {}, _defineProperty(_ref4, className, className !== null), _defineProperty(_ref4, styles$2.withSeekHead, withSeekHead), _defineProperty(_ref4, styles$2.showTimestamp, showTimestamp), _ref4)])
|
|
1692
|
-
}, /*#__PURE__*/React.createElement("div", {
|
|
1954
|
+
}, stopDragEventsPropagation), /*#__PURE__*/React.createElement("div", {
|
|
1693
1955
|
className: styles$2.inner
|
|
1694
1956
|
}, /*#__PURE__*/React.createElement("div", {
|
|
1695
1957
|
className: styles$2.progressBar,
|
|
@@ -1853,7 +2115,7 @@ function PlaybackControls(_ref) {
|
|
|
1853
2115
|
var isCollapsed = controls && !controlsVisible && playing || !controls && mediaHasAudio;
|
|
1854
2116
|
return /*#__PURE__*/React.createElement("div", {
|
|
1855
2117
|
className: classNames([styles$1.container, (_ref4 = {}, _defineProperty(_ref4, className, className !== null), _defineProperty(_ref4, styles$1.withPlayPause, controls && !seekBarOnly), _defineProperty(_ref4, styles$1.withMute, hasMedia || controls), _defineProperty(_ref4, styles$1.withSeekBar, controls), _defineProperty(_ref4, styles$1.withSeekBarOnly, seekBarOnly), _defineProperty(_ref4, styles$1.isCollapsed, isCollapsed), _defineProperty(_ref4, styles$1.isMuted, muted), _defineProperty(_ref4, collapsedClassName, collapsedClassName !== null && isCollapsed), _ref4)])
|
|
1856
|
-
}, /*#__PURE__*/React.createElement(Button, {
|
|
2118
|
+
}, /*#__PURE__*/React.createElement(Button$1, {
|
|
1857
2119
|
className: styles$1.playPauseButton,
|
|
1858
2120
|
style: {
|
|
1859
2121
|
color: color
|
|
@@ -1911,7 +2173,7 @@ function PlaybackControls(_ref) {
|
|
|
1911
2173
|
withSeekHead: !isCollapsed && !seekBarOnly,
|
|
1912
2174
|
backgroundColor: color,
|
|
1913
2175
|
progressColor: progressColor
|
|
1914
|
-
}), /*#__PURE__*/React.createElement(Button, {
|
|
2176
|
+
}), /*#__PURE__*/React.createElement(Button$1, {
|
|
1915
2177
|
className: styles$1.muteButton,
|
|
1916
2178
|
style: {
|
|
1917
2179
|
color: color
|
|
@@ -2074,10 +2336,10 @@ var propTypes$2 = {
|
|
|
2074
2336
|
visitor: PropTypes$1.visitor,
|
|
2075
2337
|
onScreenChange: PropTypes.func,
|
|
2076
2338
|
tapNextScreenWidthPercent: PropTypes.number,
|
|
2077
|
-
neighborScreensActive: PropTypes.number,
|
|
2078
2339
|
storyIsParsed: PropTypes.bool,
|
|
2079
|
-
|
|
2080
|
-
|
|
2340
|
+
neighborScreensActive: PropTypes.number,
|
|
2341
|
+
neighborScreenOffset: PropTypes.number,
|
|
2342
|
+
neighborScreenScale: PropTypes.number,
|
|
2081
2343
|
withMetadata: PropTypes.bool,
|
|
2082
2344
|
withoutGestures: PropTypes.bool,
|
|
2083
2345
|
withoutMenu: PropTypes.bool,
|
|
@@ -2118,10 +2380,10 @@ var defaultProps$2 = {
|
|
|
2118
2380
|
visitor: null,
|
|
2119
2381
|
onScreenChange: null,
|
|
2120
2382
|
tapNextScreenWidthPercent: 0.8,
|
|
2121
|
-
neighborScreensActive: 1,
|
|
2122
2383
|
storyIsParsed: false,
|
|
2123
|
-
|
|
2124
|
-
|
|
2384
|
+
neighborScreensActive: 2,
|
|
2385
|
+
neighborScreenOffset: 105,
|
|
2386
|
+
neighborScreenScale: 0.8,
|
|
2125
2387
|
withMetadata: false,
|
|
2126
2388
|
withNeighborScreens: false,
|
|
2127
2389
|
withNavigationHint: false,
|
|
@@ -2160,8 +2422,10 @@ var Viewer = function Viewer(_ref) {
|
|
|
2160
2422
|
renderContext = _ref.renderContext,
|
|
2161
2423
|
visitor = _ref.visitor,
|
|
2162
2424
|
tapNextScreenWidthPercent = _ref.tapNextScreenWidthPercent,
|
|
2163
|
-
neighborScreensActive = _ref.neighborScreensActive,
|
|
2164
2425
|
storyIsParsed = _ref.storyIsParsed,
|
|
2426
|
+
neighborScreensActive = _ref.neighborScreensActive,
|
|
2427
|
+
neighborScreenOffset = _ref.neighborScreenOffset,
|
|
2428
|
+
neighborScreenScale = _ref.neighborScreenScale,
|
|
2165
2429
|
withMetadata = _ref.withMetadata,
|
|
2166
2430
|
withoutGestures = _ref.withoutGestures,
|
|
2167
2431
|
withoutMenu = _ref.withoutMenu,
|
|
@@ -2169,9 +2433,9 @@ var Viewer = function Viewer(_ref) {
|
|
|
2169
2433
|
withoutShareMenu = _ref.withoutShareMenu,
|
|
2170
2434
|
withoutMenuShadow = _ref.withoutMenuShadow;
|
|
2171
2435
|
_ref.withoutFullscreen;
|
|
2172
|
-
var withoutNavigationArrow = _ref.withoutNavigationArrow
|
|
2173
|
-
_ref.withoutTransitions
|
|
2174
|
-
|
|
2436
|
+
var withoutNavigationArrow = _ref.withoutNavigationArrow,
|
|
2437
|
+
withoutTransitions = _ref.withoutTransitions,
|
|
2438
|
+
withNeighborScreens = _ref.withNeighborScreens,
|
|
2175
2439
|
withNavigationHint = _ref.withNavigationHint,
|
|
2176
2440
|
withoutPlaybackControls = _ref.withoutPlaybackControls,
|
|
2177
2441
|
menuIsScreenWidth = _ref.menuIsScreenWidth,
|
|
@@ -2467,7 +2731,7 @@ var Viewer = function Viewer(_ref) {
|
|
|
2467
2731
|
|
|
2468
2732
|
var _useDragProgress = useDragProgress({
|
|
2469
2733
|
progress: screenIndex,
|
|
2470
|
-
disabled: !isView,
|
|
2734
|
+
disabled: !isView || withoutTransitions,
|
|
2471
2735
|
dragDisabled: withoutGestures,
|
|
2472
2736
|
computeProgress: computeScreenProgress,
|
|
2473
2737
|
onProgress: onScreenProgress,
|
|
@@ -2498,7 +2762,7 @@ var Viewer = function Viewer(_ref) {
|
|
|
2498
2762
|
var clamped = Math.min(1, Math.max(0, Math.abs(t)));
|
|
2499
2763
|
return {
|
|
2500
2764
|
opacity: 1 - 0.75 * clamped,
|
|
2501
|
-
transform: "translateX(".concat(t *
|
|
2765
|
+
transform: "translateX(".concat(t * neighborScreenOffset, "%) scale(").concat(1 - (1 - neighborScreenScale) * clamped, ")"),
|
|
2502
2766
|
zIndex: screensCount - index
|
|
2503
2767
|
};
|
|
2504
2768
|
};
|
|
@@ -2593,6 +2857,7 @@ var Viewer = function Viewer(_ref) {
|
|
|
2593
2857
|
shareBasePath: basePath,
|
|
2594
2858
|
screenSize: screenSize,
|
|
2595
2859
|
menuWidth: menuIsScreenWidth ? screenContainerWidth : null,
|
|
2860
|
+
theme: viewerTheme,
|
|
2596
2861
|
trackingEnabled: trackingEnabled,
|
|
2597
2862
|
onClickScreen: onClickScreen,
|
|
2598
2863
|
onClickCloseViewer: onCloseViewer,
|
|
@@ -2614,7 +2879,6 @@ var Viewer = function Viewer(_ref) {
|
|
|
2614
2879
|
overflow: !withNeighborScreens ? 'hidden' : null
|
|
2615
2880
|
}
|
|
2616
2881
|
}, screens.map(function (screen, i) {
|
|
2617
|
-
// const current = i === parseInt(screenIndex, 10);
|
|
2618
2882
|
var current = i === Math.round(screenIndexProgress); // base current on transition
|
|
2619
2883
|
|
|
2620
2884
|
var active = i >= screenIndex - neighborScreensActive && i <= screenIndex + neighborScreensActive;
|
|
@@ -2639,8 +2903,7 @@ var Viewer = function Viewer(_ref) {
|
|
|
2639
2903
|
renderContext: renderContext,
|
|
2640
2904
|
width: screenWidth,
|
|
2641
2905
|
height: screenHeight,
|
|
2642
|
-
scale: screenScale
|
|
2643
|
-
withNavigationHint: withNavigationHint && !withNeighborScreens && current && screenIndex === 0 && !hasInteracted
|
|
2906
|
+
scale: screenScale
|
|
2644
2907
|
}) : null);
|
|
2645
2908
|
})), !withoutNavigationArrow && !withNeighborScreens && screenIndex < screens.length - 1 ? /*#__PURE__*/React.createElement(NavigationButton, {
|
|
2646
2909
|
direction: "next",
|
|
@@ -2651,7 +2914,9 @@ var Viewer = function Viewer(_ref) {
|
|
|
2651
2914
|
ref: playbackControlsContainerRef
|
|
2652
2915
|
}, /*#__PURE__*/React.createElement(PlaybackControls, {
|
|
2653
2916
|
className: styles$6.controls
|
|
2654
|
-
})) : null
|
|
2917
|
+
})) : null, withNavigationHint && !withNeighborScreens && screenIndex === 0 && !hasInteracted ? /*#__PURE__*/React.createElement(ArrowHint, {
|
|
2918
|
+
className: styles$6.arrowHint
|
|
2919
|
+
}) : null) : null, /*#__PURE__*/React.createElement(WebViewContainer, {
|
|
2655
2920
|
className: styles$6.webView,
|
|
2656
2921
|
style: {
|
|
2657
2922
|
maxWidth: Math.max(screenContainerWidth, 600)
|