@micromag/editor 0.2.387 → 0.2.391

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.
@@ -3,12 +3,12 @@
3
3
  .micromag-editor-menus-screens-container .micromag-editor-menus-screens-placeholder,.micromag-editor-menus-screens-container .micromag-editor-menus-screens-preview,.micromag-editor-menus-screens-container .micromag-editor-menus-screens-screen{position:absolute;top:0;left:0;width:100%;height:100%}.micromag-editor-menus-screens-item,.micromag-editor-menus-screens-items{margin:0;padding:0;list-style:none}.micromag-editor-menus-screens-container{position:relative}.micromag-editor-menus-screens-container .micromag-editor-menus-screens-items{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:-5px;padding:0}.micromag-editor-menus-screens-container .micromag-editor-menus-screens-item{display:block;position:relative;z-index:2;width:33.3%;padding:5px}@media screen and (min-width:540px){.micromag-editor-menus-screens-container .micromag-editor-menus-screens-item{width:20%}}.micromag-editor-menus-screens-container .micromag-editor-menus-screens-button{display:block}.micromag-editor-menus-screens-container .micromag-editor-menus-screens-placeholder,.micromag-editor-menus-screens-container .micromag-editor-menus-screens-preview{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}.micromag-editor-menus-screens-container .micromag-editor-menus-screens-preview{background:rgba(0,0,0,.9)}.micromag-editor-menus-screens-container .micromag-editor-menus-screens-settings{position:absolute;top:0;right:0}.micromag-editor-menus-screens-container.micromag-editor-menus-screens-isVertical .micromag-editor-menus-screens-items,.micromag-editor-menus-screens-container.micromag-editor-menus-screens-noWrap .micromag-editor-menus-screens-items{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.micromag-editor-menus-screens-container.micromag-editor-menus-screens-isVertical .micromag-editor-menus-screens-items{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.micromag-editor-menus-screens-container.micromag-editor-menus-screens-isVertical .micromag-editor-menus-screens-item{width:100%}.micromag-editor-menus-screens-container.micromag-editor-menus-screens-withPlaceholder .micromag-editor-menus-screens-item{width:auto;margin:5px;padding:0}.micromag-editor-menus-screens-container.micromag-editor-menus-screens-withPlaceholder .micromag-editor-menus-screens-button{width:100px}
4
4
  .micromag-editor-menus-screen-types-container{position:relative}.micromag-editor-menus-screen-types-row{margin-bottom:2rem}.micromag-editor-menus-screen-types-row .micromag-editor-menus-screen-types-title{padding-bottom:.25rem;border-bottom:1px solid #dedede;font-size:.85rem}.micromag-editor-menus-screen-types-row:last-child{margin-bottom:0}
5
5
  .micromag-editor-modals-screen-types-container .micromag-editor-modals-screen-types-selected{background-color:#a13dff}
6
- .micromag-editor-screens-container .micromag-editor-screens-navbar{background-color:#1c1c1c}
6
+ .micromag-editor-screens-container .micromag-editor-screens-navbar{background-color:#1c1c1c;z-index:999}
7
7
  .micromag-editor-buttons-device-container .micromag-editor-buttons-device-icon{display:block;width:100%;height:auto;max-height:100%}
8
8
  .micromag-editor-menus-devices-container{display:inline-block;position:relative}.micromag-editor-menus-devices-container .micromag-editor-menus-devices-button{display:block;width:40px;height:30px;padding:5px}
9
9
  .micromag-editor-preview-container .micromag-editor-preview-noStory,.micromag-editor-preview-container .micromag-editor-preview-story{position:absolute;top:0;left:0;width:100%;height:100%}.micromag-editor-preview-container{position:relative}.micromag-editor-preview-container>.micromag-editor-preview-inner{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100%}.micromag-editor-preview-container .micromag-editor-preview-top{display:none;padding:20px 0;text-align:center}.micromag-editor-preview-container .micromag-editor-preview-bottom{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;width:100%;max-width:100%;padding:0;overflow:hidden}.micromag-editor-preview-container .micromag-editor-preview-bottom>.micromag-editor-preview-inner{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:100%;margin:0 auto;overflow:hidden}.micromag-editor-preview-container .micromag-editor-preview-preview{width:100%;-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%}.micromag-editor-preview-container .micromag-editor-preview-preview,.micromag-editor-preview-container .micromag-editor-preview-viewerContainer{position:relative;height:100%}.micromag-editor-preview-screen-medium .micromag-editor-preview-top{display:block}.micromag-editor-preview-screen-medium .micromag-editor-preview-bottom{padding:50px 20px}@media only screen and (min-width:1398px){.micromag-editor-preview-container.micromag-editor-preview-withoutDevicesSizes .micromag-editor-preview-bottom{padding:200px 20px}}
10
10
  .micromag-editor-menus-breadcrumb-container li{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}.micromag-editor-menus-breadcrumb-container li:before{float:none}.micromag-editor-menus-breadcrumb-container li:last-child{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}
11
11
  .micromag-editor-forms-screen-container{position:relative;padding:.5rem}.micromag-editor-forms-screen-container .micromag-editor-forms-screen-inner{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}
12
12
  .micromag-editor-modals-delete-screen-container .micromag-editor-modals-delete-screen-description{margin-bottom:10px}.micromag-editor-modals-delete-screen-container .micromag-editor-modals-delete-screen-actions{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}
13
- .micromag-editor-form-panel.micromag-editor-form-leave{position:absolute;z-index:0;top:0;left:0;width:100%}.micromag-editor-form-content{position:relative}.micromag-editor-form-navbar{background-color:#1c1c1c}.micromag-editor-form-panel{position:relative}.micromag-editor-form-panel.micromag-editor-form-enterBottom,.micromag-editor-form-panel.micromag-editor-form-enterLeft,.micromag-editor-form-panel.micromag-editor-form-enterRight,.micromag-editor-form-panel.micromag-editor-form-enterTop{z-index:1;opacity:.5}.micromag-editor-form-panel.micromag-editor-form-enterRight{-webkit-transform:translate(100%);-ms-transform:translate(100%);transform:translate(100%)}.micromag-editor-form-panel.micromag-editor-form-enterLeft{-webkit-transform:translate(-100%);-ms-transform:translate(-100%);transform:translate(-100%)}.micromag-editor-form-panel.micromag-editor-form-enterTop{-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.micromag-editor-form-panel.micromag-editor-form-enterBottom{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}.micromag-editor-form-panel.micromag-editor-form-enterActiveHorizontal,.micromag-editor-form-panel.micromag-editor-form-enterActiveVertical{-webkit-transform:translate(0);-ms-transform:translate(0);transform:translate(0);opacity:1}.micromag-editor-form-panel.micromag-editor-form-enterActiveHorizontal{-webkit-transition:opacity .2s ease-out,-webkit-transform .2s ease-out;transition:opacity .2s ease-out,-webkit-transform .2s ease-out;-o-transition:transform .2s ease-out,opacity .2s ease-out;transition:transform .2s ease-out,opacity .2s ease-out;transition:transform .2s ease-out,opacity .2s ease-out,-webkit-transform .2s ease-out}.micromag-editor-form-panel.micromag-editor-form-enterActiveVertical{-webkit-transition:opacity .5s ease-out,-webkit-transform .5s ease-out;transition:opacity .5s ease-out,-webkit-transform .5s ease-out;-o-transition:transform .5s ease-out,opacity .5s ease-out;transition:transform .5s ease-out,opacity .5s ease-out;transition:transform .5s ease-out,opacity .5s ease-out,-webkit-transform .5s ease-out}.micromag-editor-form-panel.micromag-editor-form-leave{-webkit-transform:translate(0);-ms-transform:translate(0);transform:translate(0);opacity:1}.micromag-editor-form-panel.micromag-editor-form-leaveActiveLeft,.micromag-editor-form-panel.micromag-editor-form-leaveActiveRight{-webkit-transition:opacity .2s ease-out,-webkit-transform .2s ease-out;transition:opacity .2s ease-out,-webkit-transform .2s ease-out;-o-transition:transform .2s ease-out,opacity .2s ease-out;transition:transform .2s ease-out,opacity .2s ease-out;transition:transform .2s ease-out,opacity .2s ease-out,-webkit-transform .2s ease-out;opacity:.5}.micromag-editor-form-panel.micromag-editor-form-leaveActiveBottom,.micromag-editor-form-panel.micromag-editor-form-leaveActiveTop{-webkit-transition:opacity .5s ease-out,-webkit-transform .5s ease-out;transition:opacity .5s ease-out,-webkit-transform .5s ease-out;-o-transition:transform .5s ease-out,opacity .5s ease-out;transition:transform .5s ease-out,opacity .5s ease-out;transition:transform .5s ease-out,opacity .5s ease-out,-webkit-transform .5s ease-out;opacity:.5}.micromag-editor-form-panel.micromag-editor-form-leaveActiveRight{-webkit-transform:translate(-100%);-ms-transform:translate(-100%);transform:translate(-100%)}.micromag-editor-form-panel.micromag-editor-form-leaveActiveLeft{-webkit-transform:translate(100%);-ms-transform:translate(100%);transform:translate(100%)}.micromag-editor-form-panel.micromag-editor-form-leaveActiveTop{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}.micromag-editor-form-panel.micromag-editor-form-leaveActiveBottom{-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}
13
+ .micromag-editor-form-panel.micromag-editor-form-leave{position:absolute;z-index:0;top:0;left:0;width:100%}.micromag-editor-form-content{position:relative}.micromag-editor-form-navbar{background-color:#1c1c1c;z-index:999}.micromag-editor-form-panel{position:relative}.micromag-editor-form-panel.micromag-editor-form-enterBottom,.micromag-editor-form-panel.micromag-editor-form-enterLeft,.micromag-editor-form-panel.micromag-editor-form-enterRight,.micromag-editor-form-panel.micromag-editor-form-enterTop{z-index:1;opacity:.5}.micromag-editor-form-panel.micromag-editor-form-enterRight{-webkit-transform:translate(100%);-ms-transform:translate(100%);transform:translate(100%)}.micromag-editor-form-panel.micromag-editor-form-enterLeft{-webkit-transform:translate(-100%);-ms-transform:translate(-100%);transform:translate(-100%)}.micromag-editor-form-panel.micromag-editor-form-enterTop{-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}.micromag-editor-form-panel.micromag-editor-form-enterBottom{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}.micromag-editor-form-panel.micromag-editor-form-enterActiveHorizontal,.micromag-editor-form-panel.micromag-editor-form-enterActiveVertical{-webkit-transform:translate(0);-ms-transform:translate(0);transform:translate(0);opacity:1}.micromag-editor-form-panel.micromag-editor-form-enterActiveHorizontal{-webkit-transition:opacity .2s ease-out,-webkit-transform .2s ease-out;transition:opacity .2s ease-out,-webkit-transform .2s ease-out;-o-transition:transform .2s ease-out,opacity .2s ease-out;transition:transform .2s ease-out,opacity .2s ease-out;transition:transform .2s ease-out,opacity .2s ease-out,-webkit-transform .2s ease-out}.micromag-editor-form-panel.micromag-editor-form-enterActiveVertical{-webkit-transition:opacity .5s ease-out,-webkit-transform .5s ease-out;transition:opacity .5s ease-out,-webkit-transform .5s ease-out;-o-transition:transform .5s ease-out,opacity .5s ease-out;transition:transform .5s ease-out,opacity .5s ease-out;transition:transform .5s ease-out,opacity .5s ease-out,-webkit-transform .5s ease-out}.micromag-editor-form-panel.micromag-editor-form-leave{-webkit-transform:translate(0);-ms-transform:translate(0);transform:translate(0);opacity:1}.micromag-editor-form-panel.micromag-editor-form-leaveActiveLeft,.micromag-editor-form-panel.micromag-editor-form-leaveActiveRight{-webkit-transition:opacity .2s ease-out,-webkit-transform .2s ease-out;transition:opacity .2s ease-out,-webkit-transform .2s ease-out;-o-transition:transform .2s ease-out,opacity .2s ease-out;transition:transform .2s ease-out,opacity .2s ease-out;transition:transform .2s ease-out,opacity .2s ease-out,-webkit-transform .2s ease-out;opacity:.5}.micromag-editor-form-panel.micromag-editor-form-leaveActiveBottom,.micromag-editor-form-panel.micromag-editor-form-leaveActiveTop{-webkit-transition:opacity .5s ease-out,-webkit-transform .5s ease-out;transition:opacity .5s ease-out,-webkit-transform .5s ease-out;-o-transition:transform .5s ease-out,opacity .5s ease-out;transition:transform .5s ease-out,opacity .5s ease-out;transition:transform .5s ease-out,opacity .5s ease-out,-webkit-transform .5s ease-out;opacity:.5}.micromag-editor-form-panel.micromag-editor-form-leaveActiveRight{-webkit-transform:translate(-100%);-ms-transform:translate(-100%);transform:translate(-100%)}.micromag-editor-form-panel.micromag-editor-form-leaveActiveLeft{-webkit-transform:translate(100%);-ms-transform:translate(100%);transform:translate(100%)}.micromag-editor-form-panel.micromag-editor-form-leaveActiveTop{-webkit-transform:translateY(100%);-ms-transform:translateY(100%);transform:translateY(100%)}.micromag-editor-form-panel.micromag-editor-form-leaveActiveBottom{-webkit-transform:translateY(-100%);-ms-transform:translateY(-100%);transform:translateY(-100%)}
14
14
  .micromag-editor-container .micromag-editor-left,.micromag-editor-container .micromag-editor-right{scrollbar-width:none}.micromag-editor-container .micromag-editor-left::-webkit-scrollbar,.micromag-editor-container .micromag-editor-right::-webkit-scrollbar{display:none}.micromag-editor-container .micromag-editor-center,.micromag-editor-container.micromag-editor-fullscreen,.micromag-editor-container .micromag-editor-left,.micromag-editor-container .micromag-editor-preview,.micromag-editor-container .micromag-editor-right{position:absolute;top:0;left:0;width:100%;height:100%}.micromag-editor-container{display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}.micromag-editor-container>.micromag-editor-inner{position:relative;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;width:100%}.micromag-editor-container .micromag-editor-center,.micromag-editor-container .micromag-editor-left,.micromag-editor-container .micromag-editor-right{display:none;z-index:1}.micromag-editor-container .micromag-editor-center.micromag-editor-visible,.micromag-editor-container .micromag-editor-left.micromag-editor-visible,.micromag-editor-container .micromag-editor-right.micromag-editor-visible{display:block}.micromag-editor-container .micromag-editor-left,.micromag-editor-container .micromag-editor-right{overflow-y:auto;scroll-behavior:smooth}.micromag-editor-container .micromag-editor-left>.micromag-editor-inner,.micromag-editor-container .micromag-editor-right>.micromag-editor-inner{min-height:100%}.micromag-editor-container .micromag-editor-center{background-color:#2b2b2b}.micromag-editor-screen-medium>.micromag-editor-top{display:none}.micromag-editor-screen-medium>.micromag-editor-inner{display:-webkit-flex;display:-ms-flexbox;display:flex;position:relative;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;width:100%;height:100%}.micromag-editor-screen-medium .micromag-editor-center,.micromag-editor-screen-medium .micromag-editor-left,.micromag-editor-screen-medium .micromag-editor-right{position:relative;height:100%}.micromag-editor-screen-medium .micromag-editor-left{width:140px}.micromag-editor-screen-medium .micromag-editor-center{-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;width:auto}.micromag-editor-screen-medium .micromag-editor-right{width:320px}
package/es/index.js CHANGED
@@ -2,7 +2,7 @@ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
2
2
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
3
3
  import React, { useCallback, useMemo, useState, useRef, useEffect } from 'react';
4
4
  import PropTypes from 'prop-types';
5
- import { useRouteMatch, useParams, Route, useHistory, MemoryRouter } from 'react-router';
5
+ import { useRouteMatch, Route, useHistory, MemoryRouter } from 'react-router';
6
6
  import { BrowserRouter } from 'react-router-dom';
7
7
  import { useIntl, FormattedMessage } from 'react-intl';
8
8
  import { useFieldsManager, useFieldComponent, ComponentsProvider, FORMS_NAMESPACE, useRoutes, useScreensManager, useRoutePush, useUrlGenerator, useScreenSize, useScreenDefinition, useFormsComponents, ScreenProvider, ModalsProvider, PanelsProvider, ScreenSizeProvider, UppyProvider, StoryProvider, GoogleKeysProvider, GoogleMapsClientProvider, FontsProvider, EditorProvider, ComponentsContext, RoutesProvider } from '@micromag/core/contexts';
@@ -639,9 +639,11 @@ var EditorScreens = function EditorScreens(_ref) {
639
639
  var push = useRoutePush();
640
640
  var url = useUrlGenerator();
641
641
 
642
- var _useParams = useParams(),
643
- _useParams$screen = _useParams.screen,
644
- currentScreenId = _useParams$screen === void 0 ? null : _useParams$screen;
642
+ var _useRouteParams = useRouteParams({
643
+ screenOnly: true
644
+ }),
645
+ _useRouteParams$scree = _useRouteParams.screen,
646
+ currentScreenId = _useRouteParams$scree === void 0 ? null : _useRouteParams$scree;
645
647
 
646
648
  var createScreenFromDefinition = useCallback(function (definition) {
647
649
  var _ref3 = value || {},
@@ -662,13 +664,15 @@ var EditorScreens = function EditorScreens(_ref) {
662
664
  var themeScreen = themeComponents !== null ? themeComponents.find(function (it) {
663
665
  return it.type === newScreenType;
664
666
  }) || null : null;
665
- var newScreen = createScreen(definition, themeScreen); // const currentScreenIndex = !isTheme
666
- // ? screens.findIndex(({ id }) => id === currentScreenId) || null
667
- // : null;
668
- // console.log(currentScreenIndex); // eslint-disable-line
667
+ var newScreen = createScreen(definition, themeScreen);
668
+ var foundIndex = screens.findIndex(function (_ref6) {
669
+ var id = _ref6.id;
670
+ return id === currentScreenId;
671
+ });
672
+ var currentScreenIndex = !isTheme && foundIndex >= 0 ? foundIndex + 1 : null;
669
673
 
670
674
  var newValue = _objectSpread(_objectSpread({}, value), {}, {
671
- components: [].concat(_toConsumableArray(currentScreens || []), [newScreen])
675
+ components: [].concat(_toConsumableArray(currentScreens.slice(0, currentScreenIndex)), [newScreen], _toConsumableArray(currentScreens.slice(currentScreenIndex)))
672
676
  });
673
677
 
674
678
  if (onChange !== null) {
@@ -678,29 +682,29 @@ var EditorScreens = function EditorScreens(_ref) {
678
682
  return newScreen;
679
683
  }, [value, onChange, isTheme, screens, currentScreenId, setCreateModalOpened]);
680
684
  var onOrderChange = useCallback(function (listItems) {
681
- var ids = listItems.map(function (_ref6) {
682
- var id = _ref6.id;
685
+ var ids = listItems.map(function (_ref7) {
686
+ var id = _ref7.id;
683
687
  return id;
684
688
  });
685
689
 
686
- var _ref7 = value || {},
687
- _ref7$components = _ref7.components,
688
- currentScreens = _ref7$components === void 0 ? [] : _ref7$components;
690
+ var _ref8 = value || {},
691
+ _ref8$components = _ref8.components,
692
+ currentScreens = _ref8$components === void 0 ? [] : _ref8$components;
689
693
 
690
- var currentIds = currentScreens.map(function (_ref8) {
691
- var id = _ref8.id;
694
+ var currentIds = currentScreens.map(function (_ref9) {
695
+ var id = _ref9.id;
692
696
  return id;
693
697
  });
694
- var sameOrder = listItems.reduce(function (same, _ref9, index) {
695
- var id = _ref9.id;
698
+ var sameOrder = listItems.reduce(function (same, _ref10, index) {
699
+ var id = _ref10.id;
696
700
  return same && id === currentIds[index];
697
701
  }, true);
698
702
 
699
703
  if (!sameOrder) {
700
704
  var newValue = _objectSpread(_objectSpread({}, value), {}, {
701
- components: _toConsumableArray(currentScreens).sort(function (_ref10, _ref11) {
702
- var idA = _ref10.id;
703
- var idB = _ref11.id;
705
+ components: _toConsumableArray(currentScreens).sort(function (_ref11, _ref12) {
706
+ var idA = _ref11.id;
707
+ var idB = _ref12.id;
704
708
  var indexA = ids.indexOf(idA);
705
709
  var indexB = ids.indexOf(idB);
706
710
 
@@ -719,8 +723,8 @@ var EditorScreens = function EditorScreens(_ref) {
719
723
  }, [value, onChange]);
720
724
  var onClickScreenType = useCallback(function (definition) {
721
725
  setCreateModalOpened(false);
722
- var currentScreen = isTheme ? screens.find(function (_ref12) {
723
- var type = _ref12.type;
726
+ var currentScreen = isTheme ? screens.find(function (_ref13) {
727
+ var type = _ref13.type;
724
728
  return type === definition.id;
725
729
  }) || null : null;
726
730
 
@@ -765,9 +769,9 @@ var EditorScreens = function EditorScreens(_ref) {
765
769
  className: "flex-grow-1 d-flex w-100 p-2"
766
770
  }, /*#__PURE__*/React.createElement(Route, {
767
771
  path: [routes.screen, routes.home],
768
- render: function render(_ref13) {
769
- var _ref13$match$params$s = _ref13.match.params.screen,
770
- screenId = _ref13$match$params$s === void 0 ? null : _ref13$match$params$s;
772
+ render: function render(_ref14) {
773
+ var _ref14$match$params$s = _ref14.match.params.screen,
774
+ screenId = _ref14$match$params$s === void 0 ? null : _ref14$match$params$s;
771
775
  return screens.length > 0 ? /*#__PURE__*/React.createElement(ScreensMenu, {
772
776
  items: screens.map(function (it) {
773
777
  return {
@@ -799,8 +803,8 @@ var EditorScreens = function EditorScreens(_ref) {
799
803
  })));
800
804
  }
801
805
  })), createModalOpened ? /*#__PURE__*/React.createElement(ScreenTypesModal, {
802
- selectedTypes: isTheme ? screens.map(function (_ref14) {
803
- var type = _ref14.type;
806
+ selectedTypes: isTheme ? screens.map(function (_ref15) {
807
+ var type = _ref15.type;
804
808
  return type;
805
809
  }) : [],
806
810
  onClickScreenType: onClickScreenType,
package/lib/index.js CHANGED
@@ -657,9 +657,11 @@ var EditorScreens = function EditorScreens(_ref) {
657
657
  var push = contexts.useRoutePush();
658
658
  var url = contexts.useUrlGenerator();
659
659
 
660
- var _useParams = reactRouter.useParams(),
661
- _useParams$screen = _useParams.screen,
662
- currentScreenId = _useParams$screen === void 0 ? null : _useParams$screen;
660
+ var _useRouteParams = useRouteParams({
661
+ screenOnly: true
662
+ }),
663
+ _useRouteParams$scree = _useRouteParams.screen,
664
+ currentScreenId = _useRouteParams$scree === void 0 ? null : _useRouteParams$scree;
663
665
 
664
666
  var createScreenFromDefinition = React.useCallback(function (definition) {
665
667
  var _ref3 = value || {},
@@ -680,13 +682,15 @@ var EditorScreens = function EditorScreens(_ref) {
680
682
  var themeScreen = themeComponents !== null ? themeComponents.find(function (it) {
681
683
  return it.type === newScreenType;
682
684
  }) || null : null;
683
- var newScreen = createScreen(definition, themeScreen); // const currentScreenIndex = !isTheme
684
- // ? screens.findIndex(({ id }) => id === currentScreenId) || null
685
- // : null;
686
- // console.log(currentScreenIndex); // eslint-disable-line
685
+ var newScreen = createScreen(definition, themeScreen);
686
+ var foundIndex = screens.findIndex(function (_ref6) {
687
+ var id = _ref6.id;
688
+ return id === currentScreenId;
689
+ });
690
+ var currentScreenIndex = !isTheme && foundIndex >= 0 ? foundIndex + 1 : null;
687
691
 
688
692
  var newValue = _objectSpread__default["default"](_objectSpread__default["default"]({}, value), {}, {
689
- components: [].concat(_toConsumableArray__default["default"](currentScreens || []), [newScreen])
693
+ components: [].concat(_toConsumableArray__default["default"](currentScreens.slice(0, currentScreenIndex)), [newScreen], _toConsumableArray__default["default"](currentScreens.slice(currentScreenIndex)))
690
694
  });
691
695
 
692
696
  if (onChange !== null) {
@@ -696,29 +700,29 @@ var EditorScreens = function EditorScreens(_ref) {
696
700
  return newScreen;
697
701
  }, [value, onChange, isTheme, screens, currentScreenId, setCreateModalOpened]);
698
702
  var onOrderChange = React.useCallback(function (listItems) {
699
- var ids = listItems.map(function (_ref6) {
700
- var id = _ref6.id;
703
+ var ids = listItems.map(function (_ref7) {
704
+ var id = _ref7.id;
701
705
  return id;
702
706
  });
703
707
 
704
- var _ref7 = value || {},
705
- _ref7$components = _ref7.components,
706
- currentScreens = _ref7$components === void 0 ? [] : _ref7$components;
708
+ var _ref8 = value || {},
709
+ _ref8$components = _ref8.components,
710
+ currentScreens = _ref8$components === void 0 ? [] : _ref8$components;
707
711
 
708
- var currentIds = currentScreens.map(function (_ref8) {
709
- var id = _ref8.id;
712
+ var currentIds = currentScreens.map(function (_ref9) {
713
+ var id = _ref9.id;
710
714
  return id;
711
715
  });
712
- var sameOrder = listItems.reduce(function (same, _ref9, index) {
713
- var id = _ref9.id;
716
+ var sameOrder = listItems.reduce(function (same, _ref10, index) {
717
+ var id = _ref10.id;
714
718
  return same && id === currentIds[index];
715
719
  }, true);
716
720
 
717
721
  if (!sameOrder) {
718
722
  var newValue = _objectSpread__default["default"](_objectSpread__default["default"]({}, value), {}, {
719
- components: _toConsumableArray__default["default"](currentScreens).sort(function (_ref10, _ref11) {
720
- var idA = _ref10.id;
721
- var idB = _ref11.id;
723
+ components: _toConsumableArray__default["default"](currentScreens).sort(function (_ref11, _ref12) {
724
+ var idA = _ref11.id;
725
+ var idB = _ref12.id;
722
726
  var indexA = ids.indexOf(idA);
723
727
  var indexB = ids.indexOf(idB);
724
728
 
@@ -737,8 +741,8 @@ var EditorScreens = function EditorScreens(_ref) {
737
741
  }, [value, onChange]);
738
742
  var onClickScreenType = React.useCallback(function (definition) {
739
743
  setCreateModalOpened(false);
740
- var currentScreen = isTheme ? screens.find(function (_ref12) {
741
- var type = _ref12.type;
744
+ var currentScreen = isTheme ? screens.find(function (_ref13) {
745
+ var type = _ref13.type;
742
746
  return type === definition.id;
743
747
  }) || null : null;
744
748
 
@@ -783,9 +787,9 @@ var EditorScreens = function EditorScreens(_ref) {
783
787
  className: "flex-grow-1 d-flex w-100 p-2"
784
788
  }, /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
785
789
  path: [routes.screen, routes.home],
786
- render: function render(_ref13) {
787
- var _ref13$match$params$s = _ref13.match.params.screen,
788
- screenId = _ref13$match$params$s === void 0 ? null : _ref13$match$params$s;
790
+ render: function render(_ref14) {
791
+ var _ref14$match$params$s = _ref14.match.params.screen,
792
+ screenId = _ref14$match$params$s === void 0 ? null : _ref14$match$params$s;
789
793
  return screens.length > 0 ? /*#__PURE__*/React__default["default"].createElement(ScreensMenu, {
790
794
  items: screens.map(function (it) {
791
795
  return {
@@ -817,8 +821,8 @@ var EditorScreens = function EditorScreens(_ref) {
817
821
  })));
818
822
  }
819
823
  })), createModalOpened ? /*#__PURE__*/React__default["default"].createElement(ScreenTypesModal, {
820
- selectedTypes: isTheme ? screens.map(function (_ref14) {
821
- var type = _ref14.type;
824
+ selectedTypes: isTheme ? screens.map(function (_ref15) {
825
+ var type = _ref15.type;
822
826
  return type;
823
827
  }) : [],
824
828
  onClickScreenType: onClickScreenType,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/editor",
3
- "version": "0.2.387",
3
+ "version": "0.2.391",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -55,11 +55,11 @@
55
55
  "@fortawesome/fontawesome-svg-core": "^1.2.32",
56
56
  "@fortawesome/free-solid-svg-icons": "^5.15.1",
57
57
  "@fortawesome/react-fontawesome": "^0.1.13",
58
- "@micromag/core": "^0.2.386",
59
- "@micromag/elements": "^0.2.386",
60
- "@micromag/fields": "^0.2.386",
61
- "@micromag/screens": "^0.2.386",
62
- "@micromag/viewer": "^0.2.387",
58
+ "@micromag/core": "^0.2.391",
59
+ "@micromag/elements": "^0.2.391",
60
+ "@micromag/fields": "^0.2.391",
61
+ "@micromag/screens": "^0.2.391",
62
+ "@micromag/viewer": "^0.2.391",
63
63
  "classnames": "^2.2.6",
64
64
  "lodash": "^4.17.21",
65
65
  "prop-types": "^15.7.2",
@@ -74,5 +74,5 @@
74
74
  "publishConfig": {
75
75
  "access": "public"
76
76
  },
77
- "gitHead": "0b45b8b2b2c9e602a6845388281f6c2864f7cd84"
77
+ "gitHead": "8136754d570e4fc8c1bb9c89f8635279f252e89f"
78
78
  }