@micromag/viewer 0.3.490 → 0.3.492

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. package/es/index.js +32 -11
  2. package/lib/index.js +32 -11
  3. package/package.json +10 -10
package/es/index.js CHANGED
@@ -1349,6 +1349,8 @@ var propTypes$9 = {
1349
1349
  menuWidth: PropTypes.number,
1350
1350
  previewHeader: PropTypes.node,
1351
1351
  previewFooter: PropTypes.node,
1352
+ afterShareMenuButton: PropTypes.node,
1353
+ beforeScreensMenuButton: PropTypes.node,
1352
1354
  withDotItemClick: PropTypes.bool,
1353
1355
  withoutScreensMenu: PropTypes.bool,
1354
1356
  withoutShareMenu: PropTypes.bool,
@@ -1375,6 +1377,8 @@ var defaultProps$9 = {
1375
1377
  menuWidth: null,
1376
1378
  previewHeader: null,
1377
1379
  previewFooter: null,
1380
+ afterShareMenuButton: null,
1381
+ beforeScreensMenuButton: null,
1378
1382
  withDotItemClick: false,
1379
1383
  withoutScreensMenu: false,
1380
1384
  withoutShareMenu: false,
@@ -1400,6 +1404,8 @@ var ViewerMenu = function ViewerMenu(_ref) {
1400
1404
  menuWidth = _ref.menuWidth,
1401
1405
  previewHeader = _ref.previewHeader,
1402
1406
  previewFooter = _ref.previewFooter,
1407
+ afterShareMenuButton = _ref.afterShareMenuButton,
1408
+ beforeScreensMenuButton = _ref.beforeScreensMenuButton,
1403
1409
  withDotItemClick = _ref.withDotItemClick,
1404
1410
  withoutScreensMenu = _ref.withoutScreensMenu,
1405
1411
  withoutShareMenu = _ref.withoutShareMenu,
@@ -1660,9 +1666,9 @@ var ViewerMenu = function ViewerMenu(_ref) {
1660
1666
  }, /*#__PURE__*/React.createElement("nav", {
1661
1667
  className: styles$6.menuTopContainer,
1662
1668
  ref: navContainerRef
1663
- }, !withoutShareMenu ? /*#__PURE__*/React.createElement("div", Object.assign({
1669
+ }, !withoutShareMenu || afterShareMenuButton !== null ? /*#__PURE__*/React.createElement("div", Object.assign({
1664
1670
  className: styles$6.menuItem
1665
- }, bindShareDrag()), /*#__PURE__*/React.createElement(ToggleButton$1, {
1671
+ }, bindShareDrag()), !withoutShareMenu ? /*#__PURE__*/React.createElement(ToggleButton$1, {
1666
1672
  className: styles$6.slidingButton,
1667
1673
  button: /*#__PURE__*/React.createElement(ShareButton$1, {
1668
1674
  className: styles$6.menuButton,
@@ -1680,9 +1686,9 @@ var ViewerMenu = function ViewerMenu(_ref) {
1680
1686
  single: true
1681
1687
  }),
1682
1688
  progressSpring: shareOpenedProgress
1683
- })) : null, !withoutScreensMenu ? /*#__PURE__*/React.createElement("div", Object.assign({
1689
+ }) : null, afterShareMenuButton) : null, !withoutScreensMenu || beforeScreensMenuButton !== null ? /*#__PURE__*/React.createElement("div", Object.assign({
1684
1690
  className: styles$6.menuItem
1685
- }, bindMenuDrag()), /*#__PURE__*/React.createElement(ToggleButton$1, {
1691
+ }, bindMenuDrag()), beforeScreensMenuButton, !withoutScreensMenu ? /*#__PURE__*/React.createElement(ToggleButton$1, {
1686
1692
  className: styles$6.slidingButton,
1687
1693
  button: /*#__PURE__*/React.createElement(MenuButton$1, {
1688
1694
  className: styles$6.menuButton,
@@ -1700,7 +1706,7 @@ var ViewerMenu = function ViewerMenu(_ref) {
1700
1706
  }),
1701
1707
  progressSpring: menuOpenedProgress,
1702
1708
  toggledButtonClassName: styles$6.screensMenuButtonToggled
1703
- })) : null), /*#__PURE__*/React.createElement(MenuDots, Object.assign({}, menuTheme, {
1709
+ }) : null) : null), /*#__PURE__*/React.createElement(MenuDots, Object.assign({}, menuTheme, {
1704
1710
  direction: "horizontal",
1705
1711
  items: items,
1706
1712
  onClickDot: onClickScreen,
@@ -2405,6 +2411,7 @@ function WebViewContainer(_ref) {
2405
2411
  _useState2 = _slicedToArray(_useState, 2),
2406
2412
  currentUrl = _useState2[0],
2407
2413
  setCurrentUrl = _useState2[1];
2414
+ var iframeRef = useRef(null);
2408
2415
 
2409
2416
  // Handle current webview url
2410
2417
  useEffect(function () {
@@ -2426,6 +2433,7 @@ function WebViewContainer(_ref) {
2426
2433
  if (playing) {
2427
2434
  setPlaying(false);
2428
2435
  }
2436
+ iframeRef.current.focus();
2429
2437
  } else {
2430
2438
  enableInteraction();
2431
2439
  if (wasPlayingRef.current && !playing) {
@@ -2441,7 +2449,9 @@ function WebViewContainer(_ref) {
2441
2449
  }, /*#__PURE__*/React.createElement(WebView, Object.assign({
2442
2450
  url: url || currentUrl
2443
2451
  }, webViewProps, {
2444
- closeable: true,
2452
+ closeable: opened,
2453
+ focusable: opened,
2454
+ iframeRef: iframeRef,
2445
2455
  className: styles.webView,
2446
2456
  onClose: close
2447
2457
  })));
@@ -2482,6 +2492,8 @@ var propTypes$2 = {
2482
2492
  menuIsScreenWidth: PropTypes.bool,
2483
2493
  menuHeader: PropTypes.node,
2484
2494
  menuFooter: PropTypes.node,
2495
+ afterShareMenuButton: PropTypes.node,
2496
+ beforeScreensMenuButton: PropTypes.node,
2485
2497
  closeable: PropTypes.bool,
2486
2498
  withMetadata: PropTypes.bool,
2487
2499
  withoutGestures: PropTypes.bool,
@@ -2530,6 +2542,8 @@ var defaultProps$2 = {
2530
2542
  menuIsScreenWidth: false,
2531
2543
  menuHeader: null,
2532
2544
  menuFooter: null,
2545
+ afterShareMenuButton: null,
2546
+ beforeScreensMenuButton: null,
2533
2547
  menuDotsButtons: null,
2534
2548
  closeable: false,
2535
2549
  withMetadata: false,
@@ -2575,6 +2589,8 @@ var Viewer = function Viewer(_ref) {
2575
2589
  menuHeader = _ref.menuHeader,
2576
2590
  menuDotsButtons = _ref.menuDotsButtons,
2577
2591
  menuFooter = _ref.menuFooter,
2592
+ afterShareMenuButton = _ref.afterShareMenuButton,
2593
+ beforeScreensMenuButton = _ref.beforeScreensMenuButton,
2578
2594
  closeable = _ref.closeable,
2579
2595
  withMetadata = _ref.withMetadata,
2580
2596
  withoutGestures = _ref.withoutGestures,
@@ -3085,6 +3101,8 @@ var Viewer = function Viewer(_ref) {
3085
3101
  withDotItemClick: screenContainerWidth > 400,
3086
3102
  withoutScreensMenu: withoutScreensMenu,
3087
3103
  withoutShareMenu: withoutShareMenu,
3104
+ afterShareMenuButton: afterShareMenuButton,
3105
+ beforeScreensMenuButton: beforeScreensMenuButton,
3088
3106
  refDots: menuDotsContainerRef
3089
3107
  }) : null, ready || withoutScreensTransforms ? /*#__PURE__*/React.createElement("div", Object.assign({
3090
3108
  className: styles$6.content
@@ -3325,11 +3343,14 @@ var ViewerContainer = function ViewerContainer(_ref) {
3325
3343
  var _useMemoryRouter = useMemoryRouter(),
3326
3344
  memoryRouterHook = _useMemoryRouter.hook,
3327
3345
  memoryRouterSearchHook = _useMemoryRouter.searchHook;
3328
- return withoutRouter ? content : /*#__PURE__*/React.createElement(Router, {
3329
- base: !memoryRouter ? basePath : null,
3330
- hook: memoryRouter ? memoryRouterHook : null,
3331
- searchHook: memoryRouter ? memoryRouterSearchHook : null
3332
- }, /*#__PURE__*/React.createElement(RoutesProvider, {
3346
+ var routerProps = useMemo(function () {
3347
+ return {
3348
+ hook: memoryRouter ? memoryRouterHook : null,
3349
+ searchHook: memoryRouter ? memoryRouterSearchHook : null,
3350
+ base: !memoryRouter ? basePath : null
3351
+ };
3352
+ }, [basePath, memoryRouter]);
3353
+ return withoutRouter ? content : /*#__PURE__*/React.createElement(Router, routerProps, /*#__PURE__*/React.createElement(RoutesProvider, {
3333
3354
  routes: routes
3334
3355
  }, content));
3335
3356
  };
package/lib/index.js CHANGED
@@ -1892,6 +1892,8 @@ var propTypes$9 = {
1892
1892
  menuWidth: PropTypes.number,
1893
1893
  previewHeader: PropTypes.node,
1894
1894
  previewFooter: PropTypes.node,
1895
+ afterShareMenuButton: PropTypes.node,
1896
+ beforeScreensMenuButton: PropTypes.node,
1895
1897
  withDotItemClick: PropTypes.bool,
1896
1898
  withoutScreensMenu: PropTypes.bool,
1897
1899
  withoutShareMenu: PropTypes.bool,
@@ -1918,6 +1920,8 @@ var defaultProps$9 = {
1918
1920
  menuWidth: null,
1919
1921
  previewHeader: null,
1920
1922
  previewFooter: null,
1923
+ afterShareMenuButton: null,
1924
+ beforeScreensMenuButton: null,
1921
1925
  withDotItemClick: false,
1922
1926
  withoutScreensMenu: false,
1923
1927
  withoutShareMenu: false,
@@ -1943,6 +1947,8 @@ var ViewerMenu = function ViewerMenu(_ref) {
1943
1947
  menuWidth = _ref.menuWidth,
1944
1948
  previewHeader = _ref.previewHeader,
1945
1949
  previewFooter = _ref.previewFooter,
1950
+ afterShareMenuButton = _ref.afterShareMenuButton,
1951
+ beforeScreensMenuButton = _ref.beforeScreensMenuButton,
1946
1952
  withDotItemClick = _ref.withDotItemClick,
1947
1953
  withoutScreensMenu = _ref.withoutScreensMenu,
1948
1954
  withoutShareMenu = _ref.withoutShareMenu,
@@ -2203,9 +2209,9 @@ var ViewerMenu = function ViewerMenu(_ref) {
2203
2209
  }, /*#__PURE__*/React.createElement("nav", {
2204
2210
  className: styles$6.menuTopContainer,
2205
2211
  ref: navContainerRef
2206
- }, !withoutShareMenu ? /*#__PURE__*/React.createElement("div", Object.assign({
2212
+ }, !withoutShareMenu || afterShareMenuButton !== null ? /*#__PURE__*/React.createElement("div", Object.assign({
2207
2213
  className: styles$6.menuItem
2208
- }, bindShareDrag()), /*#__PURE__*/React.createElement(ToggleButton$1, {
2214
+ }, bindShareDrag()), !withoutShareMenu ? /*#__PURE__*/React.createElement(ToggleButton$1, {
2209
2215
  className: styles$6.slidingButton,
2210
2216
  button: /*#__PURE__*/React.createElement(ShareButton$1, {
2211
2217
  className: styles$6.menuButton,
@@ -2223,9 +2229,9 @@ var ViewerMenu = function ViewerMenu(_ref) {
2223
2229
  single: true
2224
2230
  }),
2225
2231
  progressSpring: shareOpenedProgress
2226
- })) : null, !withoutScreensMenu ? /*#__PURE__*/React.createElement("div", Object.assign({
2232
+ }) : null, afterShareMenuButton) : null, !withoutScreensMenu || beforeScreensMenuButton !== null ? /*#__PURE__*/React.createElement("div", Object.assign({
2227
2233
  className: styles$6.menuItem
2228
- }, bindMenuDrag()), /*#__PURE__*/React.createElement(ToggleButton$1, {
2234
+ }, bindMenuDrag()), beforeScreensMenuButton, !withoutScreensMenu ? /*#__PURE__*/React.createElement(ToggleButton$1, {
2229
2235
  className: styles$6.slidingButton,
2230
2236
  button: /*#__PURE__*/React.createElement(MenuButton$1, {
2231
2237
  className: styles$6.menuButton,
@@ -2243,7 +2249,7 @@ var ViewerMenu = function ViewerMenu(_ref) {
2243
2249
  }),
2244
2250
  progressSpring: menuOpenedProgress,
2245
2251
  toggledButtonClassName: styles$6.screensMenuButtonToggled
2246
- })) : null), /*#__PURE__*/React.createElement(MenuDots, Object.assign({}, menuTheme, {
2252
+ }) : null) : null), /*#__PURE__*/React.createElement(MenuDots, Object.assign({}, menuTheme, {
2247
2253
  direction: "horizontal",
2248
2254
  items: items,
2249
2255
  onClickDot: onClickScreen,
@@ -2948,6 +2954,7 @@ function WebViewContainer(_ref) {
2948
2954
  _useState2 = _slicedToArray(_useState, 2),
2949
2955
  currentUrl = _useState2[0],
2950
2956
  setCurrentUrl = _useState2[1];
2957
+ var iframeRef = React.useRef(null);
2951
2958
 
2952
2959
  // Handle current webview url
2953
2960
  React.useEffect(function () {
@@ -2969,6 +2976,7 @@ function WebViewContainer(_ref) {
2969
2976
  if (playing) {
2970
2977
  setPlaying(false);
2971
2978
  }
2979
+ iframeRef.current.focus();
2972
2980
  } else {
2973
2981
  enableInteraction();
2974
2982
  if (wasPlayingRef.current && !playing) {
@@ -2984,7 +2992,9 @@ function WebViewContainer(_ref) {
2984
2992
  }, /*#__PURE__*/React.createElement(WebView, Object.assign({
2985
2993
  url: url || currentUrl
2986
2994
  }, webViewProps, {
2987
- closeable: true,
2995
+ closeable: opened,
2996
+ focusable: opened,
2997
+ iframeRef: iframeRef,
2988
2998
  className: styles.webView,
2989
2999
  onClose: close
2990
3000
  })));
@@ -3025,6 +3035,8 @@ var propTypes$2 = {
3025
3035
  menuIsScreenWidth: PropTypes.bool,
3026
3036
  menuHeader: PropTypes.node,
3027
3037
  menuFooter: PropTypes.node,
3038
+ afterShareMenuButton: PropTypes.node,
3039
+ beforeScreensMenuButton: PropTypes.node,
3028
3040
  closeable: PropTypes.bool,
3029
3041
  withMetadata: PropTypes.bool,
3030
3042
  withoutGestures: PropTypes.bool,
@@ -3073,6 +3085,8 @@ var defaultProps$2 = {
3073
3085
  menuIsScreenWidth: false,
3074
3086
  menuHeader: null,
3075
3087
  menuFooter: null,
3088
+ afterShareMenuButton: null,
3089
+ beforeScreensMenuButton: null,
3076
3090
  menuDotsButtons: null,
3077
3091
  closeable: false,
3078
3092
  withMetadata: false,
@@ -3118,6 +3132,8 @@ var Viewer = function Viewer(_ref) {
3118
3132
  menuHeader = _ref.menuHeader,
3119
3133
  menuDotsButtons = _ref.menuDotsButtons,
3120
3134
  menuFooter = _ref.menuFooter,
3135
+ afterShareMenuButton = _ref.afterShareMenuButton,
3136
+ beforeScreensMenuButton = _ref.beforeScreensMenuButton,
3121
3137
  closeable = _ref.closeable,
3122
3138
  withMetadata = _ref.withMetadata,
3123
3139
  withoutGestures = _ref.withoutGestures,
@@ -3628,6 +3644,8 @@ var Viewer = function Viewer(_ref) {
3628
3644
  withDotItemClick: screenContainerWidth > 400,
3629
3645
  withoutScreensMenu: withoutScreensMenu,
3630
3646
  withoutShareMenu: withoutShareMenu,
3647
+ afterShareMenuButton: afterShareMenuButton,
3648
+ beforeScreensMenuButton: beforeScreensMenuButton,
3631
3649
  refDots: menuDotsContainerRef
3632
3650
  }) : null, ready || withoutScreensTransforms ? /*#__PURE__*/React.createElement("div", Object.assign({
3633
3651
  className: styles$6.content
@@ -3868,11 +3886,14 @@ var ViewerContainer = function ViewerContainer(_ref) {
3868
3886
  var _useMemoryRouter = useMemoryRouter(),
3869
3887
  memoryRouterHook = _useMemoryRouter.hook,
3870
3888
  memoryRouterSearchHook = _useMemoryRouter.searchHook;
3871
- return withoutRouter ? content : /*#__PURE__*/React.createElement(Router, {
3872
- base: !memoryRouter ? basePath : null,
3873
- hook: memoryRouter ? memoryRouterHook : null,
3874
- searchHook: memoryRouter ? memoryRouterSearchHook : null
3875
- }, /*#__PURE__*/React.createElement(RoutesProvider, {
3889
+ var routerProps = React.useMemo(function () {
3890
+ return {
3891
+ hook: memoryRouter ? memoryRouterHook : null,
3892
+ searchHook: memoryRouter ? memoryRouterSearchHook : null,
3893
+ base: !memoryRouter ? basePath : null
3894
+ };
3895
+ }, [basePath, memoryRouter]);
3896
+ return withoutRouter ? content : /*#__PURE__*/React.createElement(Router, routerProps, /*#__PURE__*/React.createElement(RoutesProvider, {
3876
3897
  routes: routes
3877
3898
  }, content));
3878
3899
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/viewer",
3
- "version": "0.3.490",
3
+ "version": "0.3.492",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "keywords": [
@@ -65,14 +65,14 @@
65
65
  "dependencies": {
66
66
  "@babel/runtime": "^7.13.10",
67
67
  "@folklore/routes": "^0.2.27",
68
- "@micromag/core": "^0.3.488",
69
- "@micromag/element-badge": "^0.3.488",
70
- "@micromag/element-scroll": "^0.3.488",
71
- "@micromag/element-share-options": "^0.3.488",
72
- "@micromag/element-webview": "^0.3.488",
73
- "@micromag/elements": "^0.3.488",
74
- "@micromag/intl": "^0.3.488",
75
- "@micromag/screens": "^0.3.490",
68
+ "@micromag/core": "^0.3.491",
69
+ "@micromag/element-badge": "^0.3.491",
70
+ "@micromag/element-scroll": "^0.3.491",
71
+ "@micromag/element-share-options": "^0.3.491",
72
+ "@micromag/element-webview": "^0.3.491",
73
+ "@micromag/elements": "^0.3.491",
74
+ "@micromag/intl": "^0.3.491",
75
+ "@micromag/screens": "^0.3.491",
76
76
  "@react-spring/core": "^9.6.1",
77
77
  "@react-spring/web": "^9.6.1",
78
78
  "@use-gesture/react": "^10.3.0",
@@ -91,5 +91,5 @@
91
91
  "access": "public",
92
92
  "registry": "https://registry.npmjs.org/"
93
93
  },
94
- "gitHead": "58cf01e96ff336f5300b697cf83e220cb4f4a4e6"
94
+ "gitHead": "293645fa50748e255ddf91f4b468622d9ff19009"
95
95
  }