@micromag/viewer 0.3.472 → 0.3.473

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 +33 -30
  2. package/lib/index.js +36 -33
  3. package/package.json +14 -14
package/es/index.js CHANGED
@@ -1,11 +1,11 @@
1
1
  import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
2
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
+ import { useRoutes, useUrlGenerator, useMemoryRouter, RoutesProvider } from '@folklore/routes';
3
4
  import PropTypes from 'prop-types';
4
5
  import React, { useEffect, useState, useCallback, useMemo, useRef } from 'react';
5
- import { Switch, Route, MemoryRouter } from 'react-router';
6
- import { Link, BrowserRouter } from 'react-router-dom';
6
+ import { useLocation, Switch, Route, Router } from 'wouter';
7
7
  import { PropTypes as PropTypes$1 } from '@micromag/core';
8
- import { useViewerSize, usePlaybackContext, useViewerWebView, useViewerInteraction, StoryProvider, ScreenSizeProvider, ViewerProvider, useRoutes, useRoutePush, GoogleKeysProvider, GoogleMapsClientProvider, FieldsProvider, ComponentsProvider, SCREENS_NAMESPACE, VisitorProvider, PlaybackProvider, TrackingProvider, RoutesProvider } from '@micromag/core/contexts';
8
+ import { useViewerSize, usePlaybackContext, useViewerWebView, useViewerInteraction, StoryProvider, ScreenSizeProvider, ViewerProvider, GoogleKeysProvider, GoogleMapsClientProvider, FieldsProvider, ComponentsProvider, SCREENS_NAMESPACE, VisitorProvider, PlaybackProvider, TrackingProvider } from '@micromag/core/contexts';
9
9
  import fieldsManager from '@micromag/fields/manager';
10
10
  import { IntlProvider } from '@micromag/intl';
11
11
  import { ScreensProvider } from '@micromag/screens';
@@ -21,6 +21,7 @@ import { useDimensionObserver, useTrackEvent, useDragProgress, useMediaProgress,
21
21
  import { getStyleFromColor, easings, getStyleFromText, getColorAsString, getDeviceScreens } from '@micromag/core/utils';
22
22
  import { ShareIncentive } from '@micromag/elements/all';
23
23
  import { useIntl, FormattedMessage } from 'react-intl';
24
+ import { Link } from 'react-router-dom';
24
25
  import { useSpring } from '@react-spring/core';
25
26
  import Scroll from '@micromag/element-scroll';
26
27
  import ShareOptions from '@micromag/element-share-options';
@@ -3156,7 +3157,10 @@ var ViewerRoutes = function ViewerRoutes(_ref) {
3156
3157
  var onScreenChange = _ref.onScreenChange,
3157
3158
  otherProps = _objectWithoutProperties(_ref, _excluded$1);
3158
3159
  var routes = useRoutes();
3159
- var push = useRoutePush();
3160
+ var url = useUrlGenerator();
3161
+ var _useLocation = useLocation(),
3162
+ _useLocation2 = _slicedToArray(_useLocation, 2),
3163
+ navigate = _useLocation2[1];
3160
3164
  var _ref2 = story || {},
3161
3165
  _ref2$components = _ref2.components,
3162
3166
  screens = _ref2$components === void 0 ? [] : _ref2$components;
@@ -3165,35 +3169,30 @@ var ViewerRoutes = function ViewerRoutes(_ref) {
3165
3169
  var screenId = screen.id;
3166
3170
  return screenId === it.id || screen === it;
3167
3171
  });
3168
- push('screen', {
3172
+ navigate(url('screen', {
3169
3173
  screen: pathWithIndex ? screenIndex + 1 : it.id
3170
- });
3174
+ }));
3171
3175
  if (onScreenChange !== null) {
3172
3176
  onScreenChange(it);
3173
3177
  }
3174
- }, [push, pathWithIndex, screens, onScreenChange]);
3178
+ }, [navigate, url, pathWithIndex, screens, onScreenChange]);
3175
3179
  return /*#__PURE__*/React.createElement(Switch, null, /*#__PURE__*/React.createElement(Route, {
3176
- path: routes.home,
3177
- exact: true,
3178
- render: function render() {
3179
- return /*#__PURE__*/React.createElement(Viewer, Object.assign({}, otherProps, {
3180
- story: story,
3181
- onScreenChange: finalOnScreenChange
3182
- }));
3183
- }
3184
- }), /*#__PURE__*/React.createElement(Route, {
3185
- path: routes.screen,
3186
- render: function render(_ref3) {
3187
- var _ref3$match$params$sc = _ref3.match.params.screen,
3188
- screenParam = _ref3$match$params$sc === void 0 ? null : _ref3$match$params$sc;
3189
- var screenFromIndex = pathWithIndex && screenParam !== null ? screens[parseInt(screenParam, 10) - 1] || null : null;
3190
- var screenId = pathWithIndex ? (screenFromIndex || {}).id || null : screenParam;
3191
- return /*#__PURE__*/React.createElement(Viewer, Object.assign({}, otherProps, {
3192
- story: story,
3193
- screen: screenId,
3194
- onScreenChange: finalOnScreenChange
3195
- }));
3196
- }
3180
+ path: routes.home
3181
+ }, /*#__PURE__*/React.createElement(Viewer, Object.assign({}, otherProps, {
3182
+ story: story,
3183
+ onScreenChange: finalOnScreenChange
3184
+ }))), /*#__PURE__*/React.createElement(Route, {
3185
+ path: routes.screen
3186
+ }, function (_ref3) {
3187
+ var _ref3$screen = _ref3.screen,
3188
+ screenParam = _ref3$screen === void 0 ? null : _ref3$screen;
3189
+ var screenFromIndex = pathWithIndex && screenParam !== null ? screens[parseInt(screenParam, 10) - 1] || null : null;
3190
+ var screenId = pathWithIndex ? (screenFromIndex || {}).id || null : screenParam;
3191
+ return /*#__PURE__*/React.createElement(Viewer, Object.assign({}, otherProps, {
3192
+ story: story,
3193
+ screen: screenId,
3194
+ onScreenChange: finalOnScreenChange
3195
+ }));
3197
3196
  }));
3198
3197
  };
3199
3198
  ViewerRoutes.propTypes = propTypes$1;
@@ -3259,7 +3258,6 @@ var ViewerContainer = function ViewerContainer(_ref) {
3259
3258
  translations = _ref.translations,
3260
3259
  pathWithIndex = _ref.pathWithIndex,
3261
3260
  otherProps = _objectWithoutProperties(_ref, _excluded);
3262
- var Router = memoryRouter ? MemoryRouter : BrowserRouter;
3263
3261
  var finalTrackingVariables = useMemo(function () {
3264
3262
  if (story === null && trackingVariables === null) {
3265
3263
  return null;
@@ -3311,8 +3309,13 @@ var ViewerContainer = function ViewerContainer(_ref) {
3311
3309
  basePath: basePath,
3312
3310
  pathWithIndex: pathWithIndex
3313
3311
  }, otherProps)))))))))));
3312
+ var _useMemoryRouter = useMemoryRouter(),
3313
+ memoryRouterHook = _useMemoryRouter.hook,
3314
+ memoryRouterSearchHook = _useMemoryRouter.searchHook;
3314
3315
  return withoutRouter ? content : /*#__PURE__*/React.createElement(Router, {
3315
- basename: !memoryRouter ? basePath : null
3316
+ base: !memoryRouter ? basePath : null,
3317
+ hook: !memoryRouter ? memoryRouterHook : null,
3318
+ searchHook: !memoryRouter ? memoryRouterSearchHook : null
3316
3319
  }, /*#__PURE__*/React.createElement(RoutesProvider, {
3317
3320
  routes: routes
3318
3321
  }, content));
package/lib/index.js CHANGED
@@ -4,10 +4,10 @@ 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 routes$1 = require('@folklore/routes');
7
8
  var PropTypes = require('prop-types');
8
9
  var React = require('react');
9
- var reactRouter = require('react-router');
10
- var reactRouterDom = require('react-router-dom');
10
+ var wouter = require('wouter');
11
11
  var core = require('@micromag/core');
12
12
  var contexts = require('@micromag/core/contexts');
13
13
  var fieldsManager = require('@micromag/fields/manager');
@@ -25,6 +25,7 @@ var hooks = require('@micromag/core/hooks');
25
25
  var utils = require('@micromag/core/utils');
26
26
  var all = require('@micromag/elements/all');
27
27
  var reactIntl = require('react-intl');
28
+ var reactRouterDom = require('react-router-dom');
28
29
  var core$1 = require('@react-spring/core');
29
30
  var Scroll = require('@micromag/element-scroll');
30
31
  var ShareOptions = require('@micromag/element-share-options');
@@ -3159,8 +3160,11 @@ var ViewerRoutes = function ViewerRoutes(_ref) {
3159
3160
  _ref.children;
3160
3161
  var onScreenChange = _ref.onScreenChange,
3161
3162
  otherProps = _objectWithoutProperties(_ref, _excluded$1);
3162
- var routes = contexts.useRoutes();
3163
- var push = contexts.useRoutePush();
3163
+ var routes = routes$1.useRoutes();
3164
+ var url = routes$1.useUrlGenerator();
3165
+ var _useLocation = wouter.useLocation(),
3166
+ _useLocation2 = _slicedToArray(_useLocation, 2),
3167
+ navigate = _useLocation2[1];
3164
3168
  var _ref2 = story || {},
3165
3169
  _ref2$components = _ref2.components,
3166
3170
  screens = _ref2$components === void 0 ? [] : _ref2$components;
@@ -3169,35 +3173,30 @@ var ViewerRoutes = function ViewerRoutes(_ref) {
3169
3173
  var screenId = screen.id;
3170
3174
  return screenId === it.id || screen === it;
3171
3175
  });
3172
- push('screen', {
3176
+ navigate(url('screen', {
3173
3177
  screen: pathWithIndex ? screenIndex + 1 : it.id
3174
- });
3178
+ }));
3175
3179
  if (onScreenChange !== null) {
3176
3180
  onScreenChange(it);
3177
3181
  }
3178
- }, [push, pathWithIndex, screens, onScreenChange]);
3179
- return /*#__PURE__*/React.createElement(reactRouter.Switch, null, /*#__PURE__*/React.createElement(reactRouter.Route, {
3180
- path: routes.home,
3181
- exact: true,
3182
- render: function render() {
3183
- return /*#__PURE__*/React.createElement(Viewer, Object.assign({}, otherProps, {
3184
- story: story,
3185
- onScreenChange: finalOnScreenChange
3186
- }));
3187
- }
3188
- }), /*#__PURE__*/React.createElement(reactRouter.Route, {
3189
- path: routes.screen,
3190
- render: function render(_ref3) {
3191
- var _ref3$match$params$sc = _ref3.match.params.screen,
3192
- screenParam = _ref3$match$params$sc === void 0 ? null : _ref3$match$params$sc;
3193
- var screenFromIndex = pathWithIndex && screenParam !== null ? screens[parseInt(screenParam, 10) - 1] || null : null;
3194
- var screenId = pathWithIndex ? (screenFromIndex || {}).id || null : screenParam;
3195
- return /*#__PURE__*/React.createElement(Viewer, Object.assign({}, otherProps, {
3196
- story: story,
3197
- screen: screenId,
3198
- onScreenChange: finalOnScreenChange
3199
- }));
3200
- }
3182
+ }, [navigate, url, pathWithIndex, screens, onScreenChange]);
3183
+ return /*#__PURE__*/React.createElement(wouter.Switch, null, /*#__PURE__*/React.createElement(wouter.Route, {
3184
+ path: routes.home
3185
+ }, /*#__PURE__*/React.createElement(Viewer, Object.assign({}, otherProps, {
3186
+ story: story,
3187
+ onScreenChange: finalOnScreenChange
3188
+ }))), /*#__PURE__*/React.createElement(wouter.Route, {
3189
+ path: routes.screen
3190
+ }, function (_ref3) {
3191
+ var _ref3$screen = _ref3.screen,
3192
+ screenParam = _ref3$screen === void 0 ? null : _ref3$screen;
3193
+ var screenFromIndex = pathWithIndex && screenParam !== null ? screens[parseInt(screenParam, 10) - 1] || null : null;
3194
+ var screenId = pathWithIndex ? (screenFromIndex || {}).id || null : screenParam;
3195
+ return /*#__PURE__*/React.createElement(Viewer, Object.assign({}, otherProps, {
3196
+ story: story,
3197
+ screen: screenId,
3198
+ onScreenChange: finalOnScreenChange
3199
+ }));
3201
3200
  }));
3202
3201
  };
3203
3202
  ViewerRoutes.propTypes = propTypes$1;
@@ -3263,7 +3262,6 @@ var ViewerContainer = function ViewerContainer(_ref) {
3263
3262
  translations = _ref.translations,
3264
3263
  pathWithIndex = _ref.pathWithIndex,
3265
3264
  otherProps = _objectWithoutProperties(_ref, _excluded);
3266
- var Router = memoryRouter ? reactRouter.MemoryRouter : reactRouterDom.BrowserRouter;
3267
3265
  var finalTrackingVariables = React.useMemo(function () {
3268
3266
  if (story === null && trackingVariables === null) {
3269
3267
  return null;
@@ -3315,9 +3313,14 @@ var ViewerContainer = function ViewerContainer(_ref) {
3315
3313
  basePath: basePath,
3316
3314
  pathWithIndex: pathWithIndex
3317
3315
  }, otherProps)))))))))));
3318
- return withoutRouter ? content : /*#__PURE__*/React.createElement(Router, {
3319
- basename: !memoryRouter ? basePath : null
3320
- }, /*#__PURE__*/React.createElement(contexts.RoutesProvider, {
3316
+ var _useMemoryRouter = routes$1.useMemoryRouter(),
3317
+ memoryRouterHook = _useMemoryRouter.hook,
3318
+ memoryRouterSearchHook = _useMemoryRouter.searchHook;
3319
+ return withoutRouter ? content : /*#__PURE__*/React.createElement(wouter.Router, {
3320
+ base: !memoryRouter ? basePath : null,
3321
+ hook: !memoryRouter ? memoryRouterHook : null,
3322
+ searchHook: !memoryRouter ? memoryRouterSearchHook : null
3323
+ }, /*#__PURE__*/React.createElement(routes$1.RoutesProvider, {
3321
3324
  routes: routes
3322
3325
  }, content));
3323
3326
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/viewer",
3
- "version": "0.3.472",
3
+ "version": "0.3.473",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "keywords": [
@@ -62,15 +62,16 @@
62
62
  },
63
63
  "dependencies": {
64
64
  "@babel/runtime": "^7.13.10",
65
- "@micromag/core": "^0.3.465",
66
- "@micromag/element-badge": "^0.3.465",
67
- "@micromag/element-scroll": "^0.3.465",
68
- "@micromag/element-share-options": "^0.3.465",
69
- "@micromag/element-webview": "^0.3.465",
70
- "@micromag/elements": "^0.3.471",
71
- "@micromag/fields": "^0.3.465",
72
- "@micromag/intl": "^0.3.465",
73
- "@micromag/screens": "^0.3.471",
65
+ "@folklore/routes": "^0.2.19",
66
+ "@micromag/core": "^0.3.473",
67
+ "@micromag/element-badge": "^0.3.473",
68
+ "@micromag/element-scroll": "^0.3.473",
69
+ "@micromag/element-share-options": "^0.3.473",
70
+ "@micromag/element-webview": "^0.3.473",
71
+ "@micromag/elements": "^0.3.473",
72
+ "@micromag/fields": "^0.3.473",
73
+ "@micromag/intl": "^0.3.473",
74
+ "@micromag/screens": "^0.3.473",
74
75
  "@react-spring/core": "^9.6.1",
75
76
  "@react-spring/web": "^9.6.1",
76
77
  "@use-gesture/react": "^10.3.0",
@@ -80,15 +81,14 @@
80
81
  "prop-types": "^15.7.2",
81
82
  "react-helmet": "^6.1.0",
82
83
  "react-intl": "^5.12.1",
83
- "react-router": "^5.2.0",
84
- "react-router-dom": "^5.2.0",
85
84
  "react-share": "^4.3.1",
86
85
  "react-spring": "^9.5.2",
87
- "wolfy87-eventemitter": "^5.2.9"
86
+ "wolfy87-eventemitter": "^5.2.9",
87
+ "wouter": "^3.0.0"
88
88
  },
89
89
  "publishConfig": {
90
90
  "access": "public",
91
91
  "registry": "https://registry.npmjs.org/"
92
92
  },
93
- "gitHead": "b5d890ffe7c85fa1d14c13673a5d144afe06bf53"
93
+ "gitHead": "72c49fc5f2296dd8156e5e9694bea25a3c7efa7a"
94
94
  }