@micromag/viewer 0.3.113 → 0.3.114

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/es/index.js CHANGED
@@ -865,6 +865,9 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
865
865
  var onScrolledNotBottom = useCallback(function () {
866
866
  setScrolledBottom(false);
867
867
  }, [setScrolledBottom]);
868
+ var finalItems = useMemo(function () {
869
+ return !focusable ? items.slice(0, 3) : items;
870
+ }, [items, focusable]);
868
871
  return /*#__PURE__*/React.createElement("div", Object.assign({
869
872
  className: classNames([styles$4.container, _defineProperty({}, className, className !== null)]),
870
873
  style: _objectSpread(_objectSpread(_objectSpread({}, backgroundColorStyle), brandImageStyle), {}, {
@@ -947,8 +950,9 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
947
950
  className: styles$4.nav
948
951
  }, /*#__PURE__*/React.createElement("ul", {
949
952
  className: styles$4.items
950
- }, items.map(function (item, index) {
951
- var _item$current = item.current,
953
+ }, finalItems.map(function (item, index) {
954
+ var screenId = item.screenId,
955
+ _item$current = item.current,
952
956
  current = _item$current === void 0 ? false : _item$current,
953
957
  screen = item.screen;
954
958
  item.count;
@@ -972,7 +976,7 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
972
976
  })) : '');
973
977
  return /*#__PURE__*/React.createElement("li", {
974
978
  className: classNames([styles$4.item, _defineProperty({}, styles$4.active, current)]),
975
- key: "item-".concat(index),
979
+ key: "item-".concat(screenId),
976
980
  style: {
977
981
  width: "".concat(100 / thumbsPerLine, "%")
978
982
  }
@@ -1427,6 +1431,7 @@ var propTypes$2 = {
1427
1431
  onScreenChange: PropTypes.func,
1428
1432
  tapNextScreenWidthPercent: PropTypes.number,
1429
1433
  neighborScreensActive: PropTypes.number,
1434
+ neighborScreensMounted: PropTypes.number,
1430
1435
  storyIsParsed: PropTypes.bool,
1431
1436
  landscapeScreenMargin: PropTypes.number,
1432
1437
  withMetadata: PropTypes.bool,
@@ -1463,7 +1468,8 @@ var defaultProps$2 = {
1463
1468
  renderContext: 'view',
1464
1469
  onScreenChange: null,
1465
1470
  tapNextScreenWidthPercent: 0.8,
1466
- neighborScreensActive: 2,
1471
+ neighborScreensActive: 1,
1472
+ neighborScreensMounted: 2,
1467
1473
  storyIsParsed: false,
1468
1474
  landscapeScreenMargin: 20,
1469
1475
  withMetadata: false,
@@ -1500,6 +1506,7 @@ var Viewer = function Viewer(_ref) {
1500
1506
  onScreenChange = _ref.onScreenChange,
1501
1507
  tapNextScreenWidthPercent = _ref.tapNextScreenWidthPercent,
1502
1508
  neighborScreensActive = _ref.neighborScreensActive,
1509
+ neighborScreensMounted = _ref.neighborScreensMounted,
1503
1510
  storyIsParsed = _ref.storyIsParsed,
1504
1511
  landscapeScreenMargin = _ref.landscapeScreenMargin,
1505
1512
  withMetadata = _ref.withMetadata,
@@ -1799,6 +1806,21 @@ var Viewer = function Viewer(_ref) {
1799
1806
  _ref11$height = _ref11.height,
1800
1807
  menuDotsContainerHeight = _ref11$height === void 0 ? 0 : _ref11$height;
1801
1808
 
1809
+ var _useMemo = useMemo(function () {
1810
+ return neighborScreensMounted !== null ? {
1811
+ startIndex: Math.max(screenIndex - (neighborScreensActive + neighborScreensMounted), 0),
1812
+ endIndex: Math.min(screenIndex + (neighborScreensActive + neighborScreensMounted), screensCount - 1)
1813
+ } : {
1814
+ startIndex: 0,
1815
+ endIndex: screensCount - 1
1816
+ };
1817
+ }, [screenIndex, neighborScreensActive, neighborScreensMounted, screensCount]),
1818
+ mountedScreenStartIndex = _useMemo.startIndex,
1819
+ mountedScreenEndIndex = _useMemo.endIndex;
1820
+
1821
+ var mountedScreens = useMemo(function () {
1822
+ return neighborScreensMounted != null ? screens.slice(mountedScreenStartIndex, mountedScreenEndIndex) : screens;
1823
+ }, [screens, mountedScreenStartIndex, mountedScreenEndIndex, neighborScreensActive, neighborScreensMounted]);
1802
1824
  return /*#__PURE__*/React.createElement(ScreenSizeProvider, {
1803
1825
  size: screenSize
1804
1826
  }, /*#__PURE__*/React.createElement(ViewerProvider, {
@@ -1845,11 +1867,12 @@ var Viewer = function Viewer(_ref) {
1845
1867
  ref: contentRef,
1846
1868
  className: styles$8.content,
1847
1869
  onClick: onClickContent
1848
- }, screens.map(function (scr, i) {
1870
+ }, mountedScreens.map(function (scr, mountedIndex) {
1849
1871
  var _ref13;
1850
1872
 
1873
+ var i = mountedScreenStartIndex + mountedIndex;
1851
1874
  var current = i === parseInt(screenIndex, 10);
1852
- var active = i > screenIndex - neighborScreensActive && i < screenIndex + neighborScreensActive;
1875
+ var active = i >= screenIndex - neighborScreensActive && i <= screenIndex + neighborScreensActive;
1853
1876
  var viewerScreen = /*#__PURE__*/React.createElement(ViewerScreen, {
1854
1877
  screen: scr,
1855
1878
  screenState: current ? screenState : null,
package/lib/index.js CHANGED
@@ -883,6 +883,9 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
883
883
  var onScrolledNotBottom = React.useCallback(function () {
884
884
  setScrolledBottom(false);
885
885
  }, [setScrolledBottom]);
886
+ var finalItems = React.useMemo(function () {
887
+ return !focusable ? items.slice(0, 3) : items;
888
+ }, [items, focusable]);
886
889
  return /*#__PURE__*/React__default["default"].createElement("div", Object.assign({
887
890
  className: classNames__default["default"]([styles$4.container, _defineProperty__default["default"]({}, className, className !== null)]),
888
891
  style: _objectSpread__default["default"](_objectSpread__default["default"](_objectSpread__default["default"]({}, backgroundColorStyle), brandImageStyle), {}, {
@@ -965,8 +968,9 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
965
968
  className: styles$4.nav
966
969
  }, /*#__PURE__*/React__default["default"].createElement("ul", {
967
970
  className: styles$4.items
968
- }, items.map(function (item, index) {
969
- var _item$current = item.current,
971
+ }, finalItems.map(function (item, index) {
972
+ var screenId = item.screenId,
973
+ _item$current = item.current,
970
974
  current = _item$current === void 0 ? false : _item$current,
971
975
  screen = item.screen;
972
976
  item.count;
@@ -990,7 +994,7 @@ var ViewerMenuPreview = function ViewerMenuPreview(_ref) {
990
994
  })) : '');
991
995
  return /*#__PURE__*/React__default["default"].createElement("li", {
992
996
  className: classNames__default["default"]([styles$4.item, _defineProperty__default["default"]({}, styles$4.active, current)]),
993
- key: "item-".concat(index),
997
+ key: "item-".concat(screenId),
994
998
  style: {
995
999
  width: "".concat(100 / thumbsPerLine, "%")
996
1000
  }
@@ -1445,6 +1449,7 @@ var propTypes$2 = {
1445
1449
  onScreenChange: PropTypes__default["default"].func,
1446
1450
  tapNextScreenWidthPercent: PropTypes__default["default"].number,
1447
1451
  neighborScreensActive: PropTypes__default["default"].number,
1452
+ neighborScreensMounted: PropTypes__default["default"].number,
1448
1453
  storyIsParsed: PropTypes__default["default"].bool,
1449
1454
  landscapeScreenMargin: PropTypes__default["default"].number,
1450
1455
  withMetadata: PropTypes__default["default"].bool,
@@ -1481,7 +1486,8 @@ var defaultProps$2 = {
1481
1486
  renderContext: 'view',
1482
1487
  onScreenChange: null,
1483
1488
  tapNextScreenWidthPercent: 0.8,
1484
- neighborScreensActive: 2,
1489
+ neighborScreensActive: 1,
1490
+ neighborScreensMounted: 2,
1485
1491
  storyIsParsed: false,
1486
1492
  landscapeScreenMargin: 20,
1487
1493
  withMetadata: false,
@@ -1518,6 +1524,7 @@ var Viewer = function Viewer(_ref) {
1518
1524
  onScreenChange = _ref.onScreenChange,
1519
1525
  tapNextScreenWidthPercent = _ref.tapNextScreenWidthPercent,
1520
1526
  neighborScreensActive = _ref.neighborScreensActive,
1527
+ neighborScreensMounted = _ref.neighborScreensMounted,
1521
1528
  storyIsParsed = _ref.storyIsParsed,
1522
1529
  landscapeScreenMargin = _ref.landscapeScreenMargin,
1523
1530
  withMetadata = _ref.withMetadata,
@@ -1817,6 +1824,21 @@ var Viewer = function Viewer(_ref) {
1817
1824
  _ref11$height = _ref11.height,
1818
1825
  menuDotsContainerHeight = _ref11$height === void 0 ? 0 : _ref11$height;
1819
1826
 
1827
+ var _useMemo = React.useMemo(function () {
1828
+ return neighborScreensMounted !== null ? {
1829
+ startIndex: Math.max(screenIndex - (neighborScreensActive + neighborScreensMounted), 0),
1830
+ endIndex: Math.min(screenIndex + (neighborScreensActive + neighborScreensMounted), screensCount - 1)
1831
+ } : {
1832
+ startIndex: 0,
1833
+ endIndex: screensCount - 1
1834
+ };
1835
+ }, [screenIndex, neighborScreensActive, neighborScreensMounted, screensCount]),
1836
+ mountedScreenStartIndex = _useMemo.startIndex,
1837
+ mountedScreenEndIndex = _useMemo.endIndex;
1838
+
1839
+ var mountedScreens = React.useMemo(function () {
1840
+ return neighborScreensMounted != null ? screens.slice(mountedScreenStartIndex, mountedScreenEndIndex) : screens;
1841
+ }, [screens, mountedScreenStartIndex, mountedScreenEndIndex, neighborScreensActive, neighborScreensMounted]);
1820
1842
  return /*#__PURE__*/React__default["default"].createElement(contexts.ScreenSizeProvider, {
1821
1843
  size: screenSize
1822
1844
  }, /*#__PURE__*/React__default["default"].createElement(contexts.ViewerProvider, {
@@ -1863,11 +1885,12 @@ var Viewer = function Viewer(_ref) {
1863
1885
  ref: contentRef,
1864
1886
  className: styles$8.content,
1865
1887
  onClick: onClickContent
1866
- }, screens.map(function (scr, i) {
1888
+ }, mountedScreens.map(function (scr, mountedIndex) {
1867
1889
  var _ref13;
1868
1890
 
1891
+ var i = mountedScreenStartIndex + mountedIndex;
1869
1892
  var current = i === parseInt(screenIndex, 10);
1870
- var active = i > screenIndex - neighborScreensActive && i < screenIndex + neighborScreensActive;
1893
+ var active = i >= screenIndex - neighborScreensActive && i <= screenIndex + neighborScreensActive;
1871
1894
  var viewerScreen = /*#__PURE__*/React__default["default"].createElement(ViewerScreen, {
1872
1895
  screen: scr,
1873
1896
  screenState: current ? screenState : null,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/viewer",
3
- "version": "0.3.113",
3
+ "version": "0.3.114",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -81,5 +81,5 @@
81
81
  "publishConfig": {
82
82
  "access": "public"
83
83
  },
84
- "gitHead": "4c6a28244ace23a23cfe3a61429c79afb04750ca"
84
+ "gitHead": "53869315306f72521b9e5c8e68570e4991564f61"
85
85
  }