@micromag/editor 0.2.409 → 0.2.413

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/lib/index.js CHANGED
@@ -90,7 +90,7 @@ var useRouteParams = function useRouteParams() {
90
90
  return routeParams;
91
91
  };
92
92
 
93
- var styles$f = {"container":"micromag-editor-container","left":"micromag-editor-left","right":"micromag-editor-right","center":"micromag-editor-center","fullscreen":"micromag-editor-fullscreen","preview":"micromag-editor-preview","inner":"micromag-editor-inner","visible":"micromag-editor-visible","screen-medium":"micromag-editor-screen-medium","top":"micromag-editor-top"};
93
+ var styles$h = {"container":"micromag-editor-container","left":"micromag-editor-left","right":"micromag-editor-right","center":"micromag-editor-center","fullscreen":"micromag-editor-fullscreen","preview":"micromag-editor-preview","inner":"micromag-editor-inner","visible":"micromag-editor-visible","screen-medium":"micromag-editor-screen-medium","top":"micromag-editor-top"};
94
94
 
95
95
  var createScreen = function createScreen(definition) {
96
96
  var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
@@ -264,7 +264,7 @@ var SettingsButton = function SettingsButton(_ref) {
264
264
  SettingsButton.propTypes = propTypes$n;
265
265
  SettingsButton.defaultProps = defaultProps$n;
266
266
 
267
- var styles$e = {"container":"micromag-editor-menus-breadcrumb-container"};
267
+ var styles$g = {"container":"micromag-editor-menus-breadcrumb-container"};
268
268
 
269
269
  var propTypes$m = {
270
270
  story: core.PropTypes.story,
@@ -414,14 +414,14 @@ var Breadcrumb = function Breadcrumb(_ref) {
414
414
  theme: "secondary",
415
415
  withoutBar: true,
416
416
  noWrap: true,
417
- className: classNames__default["default"]([styles$e.container, 'text-truncate', _defineProperty__default["default"]({}, className, className !== null)])
417
+ className: classNames__default["default"]([styles$g.container, 'text-truncate', _defineProperty__default["default"]({}, className, className !== null)])
418
418
  }));
419
419
  };
420
420
 
421
421
  Breadcrumb.propTypes = propTypes$m;
422
422
  Breadcrumb.defaultProps = defaultProps$m;
423
423
 
424
- var styles$d = {"container":"micromag-editor-forms-screen-container","inner":"micromag-editor-forms-screen-inner"};
424
+ var styles$f = {"container":"micromag-editor-forms-screen-container","inner":"micromag-editor-forms-screen-inner"};
425
425
 
426
426
  var propTypes$l = {
427
427
  value: core.PropTypes.component,
@@ -464,9 +464,9 @@ var ScreenForm = function ScreenForm(_ref) {
464
464
 
465
465
 
466
466
  return /*#__PURE__*/React__default["default"].createElement("div", {
467
- className: classNames__default["default"]([styles$d.container, _defineProperty__default["default"]({}, className, className)])
467
+ className: classNames__default["default"]([styles$f.container, _defineProperty__default["default"]({}, className, className)])
468
468
  }, /*#__PURE__*/React__default["default"].createElement("div", {
469
- className: styles$d.inner
469
+ className: styles$f.inner
470
470
  }, /*#__PURE__*/React__default["default"].createElement(fields.Fields, {
471
471
  fields: fields$1,
472
472
  value: value,
@@ -504,7 +504,7 @@ var FieldWithContexts = function FieldWithContexts(props) {
504
504
  FieldWithContexts.propTypes = propTypes$k;
505
505
  FieldWithContexts.defaultProps = defaultProps$k;
506
506
 
507
- var styles$c = {"container":"micromag-editor-modals-delete-screen-container","description":"micromag-editor-modals-delete-screen-description","actions":"micromag-editor-modals-delete-screen-actions"};
507
+ var styles$e = {"container":"micromag-editor-modals-delete-screen-container","description":"micromag-editor-modals-delete-screen-description","actions":"micromag-editor-modals-delete-screen-actions"};
508
508
 
509
509
  var propTypes$j = {
510
510
  className: PropTypes__default["default"].string,
@@ -529,10 +529,10 @@ var DeleteScreenModal = function DeleteScreenModal(_ref) {
529
529
  "value": "Delete screen"
530
530
  }]
531
531
  }),
532
- className: classNames__default["default"]([styles$c.container, _defineProperty__default["default"]({}, className, className)]),
532
+ className: classNames__default["default"]([styles$e.container, _defineProperty__default["default"]({}, className, className)]),
533
533
  onClickClose: onCancel
534
534
  }, /*#__PURE__*/React__default["default"].createElement("div", {
535
- className: styles$c.description
535
+ className: styles$e.description
536
536
  }, /*#__PURE__*/React__default["default"].createElement(components.Label, null, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
537
537
  id: "q/tLk0",
538
538
  defaultMessage: [{
@@ -540,7 +540,7 @@ var DeleteScreenModal = function DeleteScreenModal(_ref) {
540
540
  "value": "Are you sure you want to delete this screen?"
541
541
  }]
542
542
  }))), /*#__PURE__*/React__default["default"].createElement("div", {
543
- className: styles$c.actions
543
+ className: styles$e.actions
544
544
  }, /*#__PURE__*/React__default["default"].createElement(components.Button, {
545
545
  onClick: onCancel,
546
546
  className: "btn-outline-secondary mr-2"
@@ -566,7 +566,7 @@ var DeleteScreenModal = function DeleteScreenModal(_ref) {
566
566
  DeleteScreenModal.propTypes = propTypes$j;
567
567
  DeleteScreenModal.defaultProps = defaultProps$j;
568
568
 
569
- var styles$b = {"panel":"micromag-editor-form-panel","leave":"micromag-editor-form-leave","content":"micromag-editor-form-content","navbar":"micromag-editor-form-navbar","enterBottom":"micromag-editor-form-enterBottom","enterLeft":"micromag-editor-form-enterLeft","enterRight":"micromag-editor-form-enterRight","enterTop":"micromag-editor-form-enterTop","enterActiveHorizontal":"micromag-editor-form-enterActiveHorizontal","enterActiveVertical":"micromag-editor-form-enterActiveVertical","leaveActiveLeft":"micromag-editor-form-leaveActiveLeft","leaveActiveRight":"micromag-editor-form-leaveActiveRight","leaveActiveBottom":"micromag-editor-form-leaveActiveBottom","leaveActiveTop":"micromag-editor-form-leaveActiveTop"};
569
+ var styles$d = {"panel":"micromag-editor-form-panel","leave":"micromag-editor-form-leave","content":"micromag-editor-form-content","navbar":"micromag-editor-form-navbar","enterBottom":"micromag-editor-form-enterBottom","enterLeft":"micromag-editor-form-enterLeft","enterRight":"micromag-editor-form-enterRight","enterTop":"micromag-editor-form-enterTop","enterActiveHorizontal":"micromag-editor-form-enterActiveHorizontal","enterActiveVertical":"micromag-editor-form-enterActiveVertical","leaveActiveLeft":"micromag-editor-form-leaveActiveLeft","leaveActiveRight":"micromag-editor-form-leaveActiveRight","leaveActiveBottom":"micromag-editor-form-leaveActiveBottom","leaveActiveTop":"micromag-editor-form-leaveActiveTop"};
570
570
 
571
571
  var propTypes$i = {
572
572
  value: PropTypes__default["default"].oneOfType([core.PropTypes.story, core.PropTypes.theme]),
@@ -609,7 +609,7 @@ var EditForm = function EditForm(_ref) {
609
609
  });
610
610
  var screen = screenIndex !== -1 ? screens[screenIndex] : null; // Get transition value
611
611
 
612
- var _useFormTransition = useFormTransition(url, screenIndex, styles$b),
612
+ var _useFormTransition = useFormTransition(url, screenIndex, styles$d),
613
613
  transitionName = _useFormTransition.name,
614
614
  transitionTimeout = _useFormTransition.timeout;
615
615
 
@@ -725,7 +725,7 @@ var EditForm = function EditForm(_ref) {
725
725
  compact: true,
726
726
  noWrap: true,
727
727
  withoutCollapse: true,
728
- className: classNames__default["default"](['sticky-top', 'border-bottom', 'border-dark', styles$b.navbar])
728
+ className: classNames__default["default"](['sticky-top', 'border-bottom', 'border-dark', styles$d.navbar])
729
729
  }, /*#__PURE__*/React__default["default"].createElement(Breadcrumb, {
730
730
  story: value,
731
731
  url: url,
@@ -741,14 +741,14 @@ var EditForm = function EditForm(_ref) {
741
741
  align: "right",
742
742
  onClickOutside: onDropdownClickOutside
743
743
  })) : null) : null, /*#__PURE__*/React__default["default"].createElement("div", {
744
- className: classNames__default["default"](['flex-grow-1', 'd-flex', 'w-100', styles$b.content])
744
+ className: classNames__default["default"](['flex-grow-1', 'd-flex', 'w-100', styles$d.content])
745
745
  }, screen !== null ? /*#__PURE__*/React__default["default"].createElement(reactTransitionGroup.CSSTransitionGroup, {
746
746
  transitionName: transitionName,
747
747
  transitionEnterTimeout: transitionTimeout,
748
748
  transitionLeaveTimeout: transitionTimeout,
749
749
  className: "w-100 flex-grow-1"
750
750
  }, fieldParams !== null ? /*#__PURE__*/React__default["default"].createElement("div", {
751
- className: classNames__default["default"](['w-100', styles$b.panel]),
751
+ className: classNames__default["default"](['w-100', styles$d.panel]),
752
752
  key: "field-".concat(fieldParams, "-").concat(formParams)
753
753
  }, /*#__PURE__*/React__default["default"].createElement(contexts.ScreenProvider, {
754
754
  data: screen
@@ -756,19 +756,19 @@ var EditForm = function EditForm(_ref) {
756
756
  name: fieldParams.replace(/\//g, '.'),
757
757
  value: screen,
758
758
  form: formParams,
759
- className: styles$b.form,
759
+ className: styles$d.form,
760
760
  gotoFieldForm: gotoFieldForm,
761
761
  closeFieldForm: closeFieldForm,
762
762
  fieldContext: fieldContext,
763
763
  onChange: onScreenFormChange
764
764
  }))) : /*#__PURE__*/React__default["default"].createElement("div", {
765
- className: classNames__default["default"](['w-100', styles$b.panel]),
765
+ className: classNames__default["default"](['w-100', styles$d.panel]),
766
766
  key: "screen-".concat(screen.id)
767
767
  }, /*#__PURE__*/React__default["default"].createElement(contexts.ScreenProvider, {
768
768
  data: screen
769
769
  }, /*#__PURE__*/React__default["default"].createElement(ScreenForm, {
770
770
  value: screen,
771
- className: styles$b.form,
771
+ className: styles$d.form,
772
772
  onChange: onScreenFormChange,
773
773
  gotoFieldForm: gotoFieldForm,
774
774
  closeFieldForm: closeFieldForm
@@ -810,6 +810,8 @@ var useThemeValue = function useThemeValue(value) {
810
810
  return valueWithTheme;
811
811
  };
812
812
 
813
+ var styles$c = {"container":"micromag-editor-menus-devices-container","button":"micromag-editor-menus-devices-button"};
814
+
813
815
  /* eslint-disable react/button-has-type, react/jsx-props-no-spreading */
814
816
  var propTypes$h = {
815
817
  color: PropTypes__default["default"].string,
@@ -882,7 +884,7 @@ var DeviceIcons = /*#__PURE__*/Object.freeze({
882
884
  Mobile: MobileIcon
883
885
  });
884
886
 
885
- var styles$a = {"container":"micromag-editor-buttons-device-container","icon":"micromag-editor-buttons-device-icon"};
887
+ var styles$b = {"container":"micromag-editor-buttons-device-container","icon":"micromag-editor-buttons-device-icon"};
886
888
 
887
889
  var _excluded$6 = ["device", "className", "iconComponents"];
888
890
  var propTypes$f = {
@@ -903,17 +905,15 @@ var DeviceButton = function DeviceButton(_ref) {
903
905
 
904
906
  var DeviceIcon = utils.getComponentFromName(device, iconComponents, DesktopIcon);
905
907
  return /*#__PURE__*/React__default["default"].createElement(components.Button, Object.assign({
906
- className: classNames__default["default"]([styles$a.container, _defineProperty__default["default"]({}, className, className !== null)])
908
+ className: classNames__default["default"]([styles$b.container, _defineProperty__default["default"]({}, className, className !== null)])
907
909
  }, props), /*#__PURE__*/React__default["default"].createElement(DeviceIcon, {
908
- className: styles$a.icon
910
+ className: styles$b.icon
909
911
  }));
910
912
  };
911
913
 
912
914
  DeviceButton.propTypes = propTypes$f;
913
915
  DeviceButton.defaultProps = defaultProps$f;
914
916
 
915
- var styles$9 = {"container":"micromag-editor-menus-devices-container","button":"micromag-editor-menus-devices-button"};
916
-
917
917
  var _excluded$5 = ["id"];
918
918
  var propTypes$e = {
919
919
  items: core.PropTypes.menuItems,
@@ -933,7 +933,7 @@ var DevicesMenu = function DevicesMenu(_ref) {
933
933
  return /*#__PURE__*/React__default["default"].createElement(components.Tabs, {
934
934
  items: items,
935
935
  theme: "outline-secondary",
936
- className: classNames__default["default"]([styles$9.container, _defineProperty__default["default"]({}, className, className !== null)]),
936
+ className: classNames__default["default"]([styles$c.container, _defineProperty__default["default"]({}, className, className !== null)]),
937
937
  renderItemButton: function renderItemButton(item, index, props) {
938
938
  var id = item.id,
939
939
  itemProps = _objectWithoutProperties__default["default"](item, _excluded$5);
@@ -941,7 +941,7 @@ var DevicesMenu = function DevicesMenu(_ref) {
941
941
  return /*#__PURE__*/React__default["default"].createElement(DeviceButton, Object.assign({
942
942
  device: id
943
943
  }, props, itemProps, {
944
- className: styles$9.button,
944
+ className: styles$c.button,
945
945
  onClick: function onClick(e) {
946
946
  return onClickItem !== null ? onClickItem(e, item, index) : null;
947
947
  }
@@ -953,7 +953,7 @@ var DevicesMenu = function DevicesMenu(_ref) {
953
953
  DevicesMenu.propTypes = propTypes$e;
954
954
  DevicesMenu.defaultProps = defaultProps$e;
955
955
 
956
- var styles$8 = {"container":"micromag-editor-preview-container","noStory":"micromag-editor-preview-noStory","story":"micromag-editor-preview-story","inner":"micromag-editor-preview-inner","top":"micromag-editor-preview-top","bottom":"micromag-editor-preview-bottom","preview":"micromag-editor-preview-preview","viewerContainer":"micromag-editor-preview-viewerContainer","screen-medium":"micromag-editor-preview-screen-medium","withoutDevicesSizes":"micromag-editor-preview-withoutDevicesSizes"};
956
+ var styles$a = {"container":"micromag-editor-preview-container","noStory":"micromag-editor-preview-noStory","story":"micromag-editor-preview-story","inner":"micromag-editor-preview-inner","top":"micromag-editor-preview-top","bottom":"micromag-editor-preview-bottom","preview":"micromag-editor-preview-preview","viewerContainer":"micromag-editor-preview-viewerContainer","screen-medium":"micromag-editor-preview-screen-medium","withoutDevicesSizes":"micromag-editor-preview-withoutDevicesSizes"};
957
957
 
958
958
  var propTypes$d = {
959
959
  value: PropTypes__default["default"].oneOfType([core.PropTypes.story, core.PropTypes.theme]),
@@ -1055,13 +1055,13 @@ var EditorPreview = function EditorPreview(_ref) {
1055
1055
  };
1056
1056
  }, [device, contentRect, screen, withoutDevicesSizes]);
1057
1057
  return /*#__PURE__*/React__default["default"].createElement("div", {
1058
- className: classNames__default["default"]([styles$8.container, screens.map(function (screenName) {
1059
- return styles$8["screen-".concat(screenName)];
1060
- }), (_ref3 = {}, _defineProperty__default["default"](_ref3, className, className), _defineProperty__default["default"](_ref3, styles$8.withoutDevicesSizes, withoutDevicesSizes), _ref3)])
1058
+ className: classNames__default["default"]([styles$a.container, screens.map(function (screenName) {
1059
+ return styles$a["screen-".concat(screenName)];
1060
+ }), (_ref3 = {}, _defineProperty__default["default"](_ref3, className, className), _defineProperty__default["default"](_ref3, styles$a.withoutDevicesSizes, withoutDevicesSizes), _ref3)])
1061
1061
  }, /*#__PURE__*/React__default["default"].createElement("div", {
1062
- className: styles$8.inner
1062
+ className: styles$a.inner
1063
1063
  }, !withoutDevicesSizes ? /*#__PURE__*/React__default["default"].createElement("div", {
1064
- className: styles$8.top
1064
+ className: styles$a.top
1065
1065
  }, /*#__PURE__*/React__default["default"].createElement(DevicesMenu, {
1066
1066
  items: devices.map(function (it) {
1067
1067
  return _objectSpread__default["default"](_objectSpread__default["default"]({}, it), {}, {
@@ -1070,12 +1070,12 @@ var EditorPreview = function EditorPreview(_ref) {
1070
1070
  }),
1071
1071
  onClickItem: onClickDeviceItem
1072
1072
  })) : null, /*#__PURE__*/React__default["default"].createElement("div", {
1073
- className: styles$8.bottom
1073
+ className: styles$a.bottom
1074
1074
  }, /*#__PURE__*/React__default["default"].createElement("div", {
1075
- className: styles$8.inner,
1075
+ className: styles$a.inner,
1076
1076
  ref: bottomRef
1077
1077
  }, /*#__PURE__*/React__default["default"].createElement("div", {
1078
- className: styles$8.preview,
1078
+ className: styles$a.preview,
1079
1079
  style: previewStyle
1080
1080
  }, /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
1081
1081
  path: [routes.screen, routes.home],
@@ -1083,12 +1083,12 @@ var EditorPreview = function EditorPreview(_ref) {
1083
1083
  var _ref4$match$params$sc = _ref4.match.params.screen,
1084
1084
  screenId = _ref4$match$params$sc === void 0 ? null : _ref4$match$params$sc;
1085
1085
  return /*#__PURE__*/React__default["default"].createElement("div", {
1086
- className: styles$8.viewerContainer
1086
+ className: styles$a.viewerContainer
1087
1087
  }, /*#__PURE__*/React__default["default"].createElement(viewer.Viewer, {
1088
1088
  story: valueParsed,
1089
1089
  storyIsParsed: true,
1090
1090
  screen: screenId,
1091
- className: styles$8.story,
1091
+ className: styles$a.story,
1092
1092
  theme: viewerTheme,
1093
1093
  interactions: null,
1094
1094
  renderContext: "edit",
@@ -1101,13 +1101,13 @@ var EditorPreview = function EditorPreview(_ref) {
1101
1101
  EditorPreview.propTypes = propTypes$d;
1102
1102
  EditorPreview.defaultProps = defaultProps$d;
1103
1103
 
1104
- var styles$7 = {"container":"micromag-editor-screens-container","navbar":"micromag-editor-screens-navbar"};
1104
+ var styles$9 = {"container":"micromag-editor-screens-container","navbar":"micromag-editor-screens-navbar"};
1105
1105
 
1106
- var styles$6 = {"container":"micromag-editor-menus-screens-container","placeholder":"micromag-editor-menus-screens-placeholder","preview":"micromag-editor-menus-screens-preview","screen":"micromag-editor-menus-screens-screen","item":"micromag-editor-menus-screens-item","items":"micromag-editor-menus-screens-items","button":"micromag-editor-menus-screens-button","settings":"micromag-editor-menus-screens-settings","isVertical":"micromag-editor-menus-screens-isVertical","noWrap":"micromag-editor-menus-screens-noWrap","withPlaceholder":"micromag-editor-menus-screens-withPlaceholder"};
1106
+ var styles$8 = {"container":"micromag-editor-menus-screens-container","placeholder":"micromag-editor-menus-screens-placeholder","preview":"micromag-editor-menus-screens-preview","screen":"micromag-editor-menus-screens-screen","item":"micromag-editor-menus-screens-item","items":"micromag-editor-menus-screens-items","button":"micromag-editor-menus-screens-button","settings":"micromag-editor-menus-screens-settings","isVertical":"micromag-editor-menus-screens-isVertical","noWrap":"micromag-editor-menus-screens-noWrap","withPlaceholder":"micromag-editor-menus-screens-withPlaceholder"};
1107
1107
 
1108
- var styles$5 = {"button":"micromag-editor-buttons-screen-with-preview-button","placeholder":"micromag-editor-buttons-screen-with-preview-placeholder","preview":"micromag-editor-buttons-screen-with-preview-preview","screen":"micromag-editor-buttons-screen-with-preview-screen"};
1108
+ var styles$7 = {"button":"micromag-editor-buttons-screen-with-preview-button","placeholder":"micromag-editor-buttons-screen-with-preview-placeholder","preview":"micromag-editor-buttons-screen-with-preview-preview","screen":"micromag-editor-buttons-screen-with-preview-screen"};
1109
1109
 
1110
- var styles$4 = {"container":"micromag-editor-buttons-screen-container","button":"micromag-editor-buttons-screen-button","border":"micromag-editor-buttons-screen-border","screen":"micromag-editor-buttons-screen-screen","inner":"micromag-editor-buttons-screen-inner","icon":"micromag-editor-buttons-screen-icon","label":"micromag-editor-buttons-screen-label","active":"micromag-editor-buttons-screen-active"};
1110
+ var styles$6 = {"container":"micromag-editor-buttons-screen-container","button":"micromag-editor-buttons-screen-button","border":"micromag-editor-buttons-screen-border","screen":"micromag-editor-buttons-screen-screen","inner":"micromag-editor-buttons-screen-inner","icon":"micromag-editor-buttons-screen-icon","label":"micromag-editor-buttons-screen-label","active":"micromag-editor-buttons-screen-active"};
1111
1111
 
1112
1112
  var propTypes$c = {
1113
1113
  active: PropTypes__default["default"].bool,
@@ -1151,17 +1151,17 @@ var ScreenButton = function ScreenButton(_ref) {
1151
1151
  onClick = _ref.onClick,
1152
1152
  refButton = _ref.refButton;
1153
1153
  return /*#__PURE__*/React__default["default"].createElement("div", {
1154
- className: classNames__default["default"]([styles$4.container, 'rounded', (_ref2 = {}, _defineProperty__default["default"](_ref2, styles$4.active, active), _defineProperty__default["default"](_ref2, className, className !== null), _ref2)])
1154
+ className: classNames__default["default"]([styles$6.container, 'rounded', (_ref2 = {}, _defineProperty__default["default"](_ref2, styles$6.active, active), _defineProperty__default["default"](_ref2, className, className !== null), _ref2)])
1155
1155
  }, /*#__PURE__*/React__default["default"].createElement("div", {
1156
- className: styles$4.screen
1156
+ className: styles$6.screen
1157
1157
  }, children !== null ? children : /*#__PURE__*/React__default["default"].createElement("div", {
1158
- className: styles$4.inner
1158
+ className: styles$6.inner
1159
1159
  }, icon !== null ? /*#__PURE__*/React__default["default"].createElement("div", {
1160
- className: styles$4.icon
1160
+ className: styles$6.icon
1161
1161
  }, icon) : null, label !== null ? /*#__PURE__*/React__default["default"].createElement("div", {
1162
- className: styles$4.label
1162
+ className: styles$6.label
1163
1163
  }, label) : null)), /*#__PURE__*/React__default["default"].createElement(components.Button, {
1164
- className: styles$4.button,
1164
+ className: styles$6.button,
1165
1165
  withoutStyle: true,
1166
1166
  id: id,
1167
1167
  href: href,
@@ -1169,7 +1169,7 @@ var ScreenButton = function ScreenButton(_ref) {
1169
1169
  onClick: onClick,
1170
1170
  refButton: refButton
1171
1171
  }, /*#__PURE__*/React__default["default"].createElement("span", {
1172
- className: classNames__default["default"]([styles$4.border, 'rounded'])
1172
+ className: classNames__default["default"]([styles$6.border, 'rounded'])
1173
1173
  })));
1174
1174
  };
1175
1175
 
@@ -1230,7 +1230,7 @@ var ScreenWithPreview = function ScreenWithPreview(_ref) {
1230
1230
  height = _ref2$height === void 0 ? null : _ref2$height;
1231
1231
 
1232
1232
  return /*#__PURE__*/React__default["default"].createElement(ScreenButton$1, Object.assign({}, screen, {
1233
- className: classNames__default["default"]([styles$5.button, (_ref3 = {}, _defineProperty__default["default"](_ref3, buttonClassName, buttonClassName !== null), _defineProperty__default["default"](_ref3, className, className !== null), _ref3)]),
1233
+ className: classNames__default["default"]([styles$7.button, (_ref3 = {}, _defineProperty__default["default"](_ref3, buttonClassName, buttonClassName !== null), _defineProperty__default["default"](_ref3, className, className !== null), _ref3)]),
1234
1234
  title: utils.isMessage(title) ? intl.formatMessage(title) : null,
1235
1235
  onClick: function onClick() {
1236
1236
  if (_onClick !== null) {
@@ -1242,21 +1242,21 @@ var ScreenWithPreview = function ScreenWithPreview(_ref) {
1242
1242
  }
1243
1243
  }
1244
1244
  }), withPreview && !withPlaceholder ? /*#__PURE__*/React__default["default"].createElement("div", {
1245
- className: styles$5.preview,
1245
+ className: styles$7.preview,
1246
1246
  style: previewStyle
1247
1247
  }, /*#__PURE__*/React__default["default"].createElement(components.ScreenPreview, {
1248
1248
  screen: screen,
1249
1249
  width: width,
1250
1250
  height: height,
1251
- className: styles$5.screen
1251
+ className: styles$7.screen
1252
1252
  })) : null, withPlaceholder && !withPreview ? /*#__PURE__*/React__default["default"].createElement("div", {
1253
- className: styles$5.placeholder,
1253
+ className: styles$7.placeholder,
1254
1254
  style: previewStyle
1255
1255
  }, /*#__PURE__*/React__default["default"].createElement(components.ScreenPlaceholder, {
1256
1256
  screen: screen,
1257
1257
  width: width,
1258
1258
  height: height,
1259
- className: styles$5.screen
1259
+ className: styles$7.screen
1260
1260
  })) : null);
1261
1261
  };
1262
1262
 
@@ -1264,11 +1264,9 @@ ScreenWithPreview.propTypes = propTypes$b;
1264
1264
  ScreenWithPreview.defaultProps = defaultProps$b;
1265
1265
 
1266
1266
  var iOS = /iPad|iPhone|iPod/.test(navigator.platform);
1267
-
1268
1267
  function getDragDepth(offset, indentationWidth) {
1269
1268
  return Math.round(offset / indentationWidth);
1270
1269
  }
1271
-
1272
1270
  function getMaxDepth(_ref) {
1273
1271
  var previousItem = _ref.previousItem;
1274
1272
 
@@ -1279,7 +1277,6 @@ function getMaxDepth(_ref) {
1279
1277
 
1280
1278
  return 0;
1281
1279
  }
1282
-
1283
1280
  function getMinDepth(_ref2) {
1284
1281
  var nextItem = _ref2.nextItem;
1285
1282
 
@@ -1290,7 +1287,6 @@ function getMinDepth(_ref2) {
1290
1287
 
1291
1288
  return 0;
1292
1289
  }
1293
-
1294
1290
  function getProjection(items, activeId, overId, dragOffset, indentationWidth) {
1295
1291
  var overItemIndex = items.findIndex(function (_ref3) {
1296
1292
  var id = _ref3.id;
@@ -1364,49 +1360,54 @@ function flatten(items) {
1364
1360
  function flattenTree(items) {
1365
1361
  return flatten(items);
1366
1362
  }
1363
+ function findItem(items, itemId) {
1364
+ return items.find(function (_ref5) {
1365
+ var id = _ref5.id;
1366
+ return id === itemId;
1367
+ });
1368
+ }
1367
1369
  function buildTree(flattenedItems) {
1370
+ var root = {
1371
+ id: 'root',
1372
+ children: []
1373
+ };
1374
+
1375
+ var nodes = _defineProperty__default["default"]({}, root.id, root);
1376
+
1368
1377
  var items = flattenedItems.map(function (item) {
1369
1378
  return _objectSpread__default["default"](_objectSpread__default["default"]({}, item), {}, {
1370
1379
  children: []
1371
1380
  });
1372
- });
1373
- var nodeList = items.reduce(function (acc, item) {
1374
- var _item$parentId = item.parentId,
1375
- parentId = _item$parentId === void 0 ? null : _item$parentId;
1376
-
1377
- if (parentId) {
1378
- var found = false;
1379
- var newList = acc.map(function (it) {
1380
- if (it.id === parentId) {
1381
- found = true;
1382
- return _objectSpread__default["default"](_objectSpread__default["default"]({}, it), {}, {
1383
- children: [].concat(_toConsumableArray__default["default"](it.children), [_objectSpread__default["default"]({}, item)])
1384
- });
1385
- }
1381
+ }); // eslint-disable-next-line no-restricted-syntax
1386
1382
 
1387
- return it;
1388
- });
1383
+ var _iterator = _createForOfIteratorHelper__default["default"](items),
1384
+ _step;
1389
1385
 
1390
- if (found) {
1391
- return newList;
1392
- }
1386
+ try {
1387
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
1388
+ var _item$parentId, _nodes$parentId;
1393
1389
 
1394
- acc.push(_objectSpread__default["default"](_objectSpread__default["default"]({}, items.find(function (_ref5) {
1395
- var id = _ref5.id;
1396
- return id === parentId;
1397
- }) || null), {}, {
1398
- children: [item]
1399
- }));
1400
- return acc;
1390
+ var item = _step.value;
1391
+ var id = item.id,
1392
+ children = item.children;
1393
+ var parentId = (_item$parentId = item.parentId) !== null && _item$parentId !== void 0 ? _item$parentId : root.id;
1394
+ var parent = (_nodes$parentId = nodes[parentId]) !== null && _nodes$parentId !== void 0 ? _nodes$parentId : findItem(items, parentId);
1395
+ nodes[id] = {
1396
+ id: id,
1397
+ children: children
1398
+ };
1399
+ parent.children.push(item);
1401
1400
  }
1401
+ } catch (err) {
1402
+ _iterator.e(err);
1403
+ } finally {
1404
+ _iterator.f();
1405
+ }
1402
1406
 
1403
- acc.push(item);
1404
- return acc;
1405
- }, []);
1406
- return nodeList;
1407
+ return root.children;
1407
1408
  }
1408
1409
  function findItemDeep(items, itemId) {
1409
- for (var i = 0; i < items.length - 1; i += 1) {
1410
+ for (var i = 0; i < items.length; i += 1) {
1410
1411
  var item = items[i] || {};
1411
1412
  var id = item.id,
1412
1413
  _item$children = item.children,
@@ -1416,7 +1417,7 @@ function findItemDeep(items, itemId) {
1416
1417
  return item;
1417
1418
  }
1418
1419
 
1419
- if (children.length) {
1420
+ if (children.length > 0) {
1420
1421
  var child = findItemDeep(children, itemId);
1421
1422
 
1422
1423
  if (child) {
@@ -1428,65 +1429,57 @@ function findItemDeep(items, itemId) {
1428
1429
  return undefined;
1429
1430
  }
1430
1431
  function removeItem(items, id) {
1431
- var newItems = [];
1432
+ var newItems = []; // eslint-disable-next-line no-restricted-syntax
1432
1433
 
1433
- for (var i = 0; i < items.length - 1; i += 1) {
1434
- var item = items[i] || {};
1434
+ var _iterator2 = _createForOfIteratorHelper__default["default"](items),
1435
+ _step2;
1435
1436
 
1436
- if (item.id === id) {
1437
- // eslint-disable-next-line no-continue
1438
- continue;
1439
- }
1437
+ try {
1438
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
1439
+ var item = _step2.value;
1440
1440
 
1441
- if (item.children.length) {
1442
- item.children = removeItem(item.children || [], id);
1443
- }
1441
+ if (item.id === id) {
1442
+ // eslint-disable-next-line no-continue
1443
+ continue;
1444
+ }
1445
+
1446
+ if (item.children.length) {
1447
+ item.children = removeItem(item.children, id);
1448
+ }
1444
1449
 
1445
- newItems.push(item);
1450
+ newItems.push(item);
1451
+ }
1452
+ } catch (err) {
1453
+ _iterator2.e(err);
1454
+ } finally {
1455
+ _iterator2.f();
1446
1456
  }
1447
1457
 
1448
1458
  return newItems;
1449
1459
  }
1450
1460
  function setProperty(items, id, property, setter) {
1451
- // const item = items[i];
1452
- // if (item.id === id) {
1453
- // item[property] = setter(item[property]);
1454
- // newItems.push({ ...item });
1455
- // } else {
1456
- // const { children = [] } = item;
1457
- // let newChildren = [];
1458
- // if (children.length > 0) {
1459
- // newChildren = setProperty(children, id, property, setter);
1460
- // }
1461
- // newItems.push({ ...item, children: newChildren });
1462
- // }
1463
- // }
1464
-
1465
- var _iterator = _createForOfIteratorHelper__default["default"](items),
1466
- _step;
1461
+ // eslint-disable-next-line no-restricted-syntax
1462
+ var _iterator3 = _createForOfIteratorHelper__default["default"](items),
1463
+ _step3;
1467
1464
 
1468
1465
  try {
1469
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
1470
- var item = _step.value;
1466
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
1467
+ var item = _step3.value;
1471
1468
 
1472
1469
  if (item.id === id) {
1473
- item[property] = setter(item[property]);
1470
+ item[property] = setter(item[property]); // eslint-disable-next-line no-continue
1471
+
1474
1472
  continue;
1475
1473
  }
1476
1474
 
1477
- var _item$children2 = item.children,
1478
- children = _item$children2 === void 0 ? [] : _item$children2;
1479
-
1480
- if (children.length) {
1481
- children = setProperty(children, id, property, setter);
1475
+ if (item.children.length) {
1476
+ item.children = setProperty(item.children, id, property, setter);
1482
1477
  }
1483
- } // console.log('fubar', items, newItems);
1484
- // return newItems;
1485
-
1478
+ }
1486
1479
  } catch (err) {
1487
- _iterator.e(err);
1480
+ _iterator3.e(err);
1488
1481
  } finally {
1489
- _iterator.f();
1482
+ _iterator3.f();
1490
1483
  }
1491
1484
 
1492
1485
  return _toConsumableArray__default["default"](items);
@@ -1494,9 +1487,9 @@ function setProperty(items, id, property, setter) {
1494
1487
 
1495
1488
  function countChildren(items) {
1496
1489
  var count = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
1497
- return items.reduce(function (acc, _ref7) {
1498
- var _ref7$children = _ref7.children,
1499
- children = _ref7$children === void 0 ? [] : _ref7$children;
1490
+ return items.reduce(function (acc, _ref6) {
1491
+ var _ref6$children = _ref6.children,
1492
+ children = _ref6$children === void 0 ? [] : _ref6$children;
1500
1493
 
1501
1494
  if (children.length) {
1502
1495
  return countChildren(children, acc + 1);
@@ -1519,8 +1512,8 @@ function removeChildrenOf(items, ids) {
1519
1512
 
1520
1513
  return items.filter(function (item) {
1521
1514
  if (item.parentId && excludeParentIds.includes(item.parentId)) {
1522
- var _item$children3 = item.children,
1523
- children = _item$children3 === void 0 ? [] : _item$children3;
1515
+ var _item$children2 = item.children,
1516
+ children = _item$children2 === void 0 ? [] : _item$children2;
1524
1517
 
1525
1518
  if (children.length) {
1526
1519
  excludeParentIds.push(item.id);
@@ -1668,9 +1661,13 @@ var sortableTreeKeyboardCoordinates = function sortableTreeKeyboardCoordinates(c
1668
1661
  };
1669
1662
  };
1670
1663
 
1671
- var styles$3 = {"wrapper":"micromag-editor-sortable-tree-item-actions-wrapper","inner":"micromag-editor-sortable-tree-item-actions-inner","button":"micromag-editor-sortable-tree-item-actions-button","withChildren":"micromag-editor-sortable-tree-item-actions-withChildren","clone":"micromag-editor-sortable-tree-item-actions-clone","ghost":"micromag-editor-sortable-tree-item-actions-ghost","indicator":"micromag-editor-sortable-tree-item-actions-indicator","handle":"micromag-editor-sortable-tree-item-actions-handle","text":"micromag-editor-sortable-tree-item-actions-text","collapsedCount":"micromag-editor-sortable-tree-item-actions-collapsedCount","count":"micromag-editor-sortable-tree-item-actions-count","disableInteraction":"micromag-editor-sortable-tree-item-actions-disableInteraction","Count":"micromag-editor-sortable-tree-item-actions-Count","Text":"micromag-editor-sortable-tree-item-actions-Text","disableSelection":"micromag-editor-sortable-tree-item-actions-disableSelection","collapse":"micromag-editor-sortable-tree-item-actions-collapse","collapsed":"micromag-editor-sortable-tree-item-actions-collapsed","children":"micromag-editor-sortable-tree-item-actions-children"};
1664
+ var styles$5 = {"item":"micromag-editor-sortable-sortable-tree-item","parent":"micromag-editor-sortable-sortable-tree-parent","group":"micromag-editor-sortable-sortable-tree-group","isLastChild":"micromag-editor-sortable-sortable-tree-isLastChild"};
1665
+
1666
+ var styles$4 = {};
1667
+
1668
+ var styles$3 = {"wrapper":"micromag-editor-sortable-sortable-tree-item-actions-wrapper","inner":"micromag-editor-sortable-sortable-tree-item-actions-inner","button":"micromag-editor-sortable-sortable-tree-item-actions-button","handle":"micromag-editor-sortable-sortable-tree-item-actions-handle","icon":"micromag-editor-sortable-sortable-tree-item-actions-icon","text":"micromag-editor-sortable-sortable-tree-item-actions-text","collapsedCount":"micromag-editor-sortable-sortable-tree-item-actions-collapsedCount","count":"micromag-editor-sortable-sortable-tree-item-actions-count","disableInteraction":"micromag-editor-sortable-sortable-tree-item-actions-disableInteraction","clone":"micromag-editor-sortable-sortable-tree-item-actions-clone","disableSelection":"micromag-editor-sortable-sortable-tree-item-actions-disableSelection","collapse":"micromag-editor-sortable-sortable-tree-item-actions-collapse","collapsed":"micromag-editor-sortable-sortable-tree-item-actions-collapsed","children":"micromag-editor-sortable-sortable-tree-item-actions-children","withChildren":"micromag-editor-sortable-sortable-tree-item-actions-withChildren","ghost":"micromag-editor-sortable-sortable-tree-item-actions-ghost","indicator":"micromag-editor-sortable-sortable-tree-item-actions-indicator"};
1672
1669
 
1673
- var _excluded$4 = ["childCount", "clone", "depth", "disableSelection", "disableInteraction", "ghost", "handleProps", "indentationWidth", "indicator", "collapsed", "onCollapse", "onRemove", "onClick", "style", "value", "wrapperRef", "showId", "children"];
1670
+ var _excluded$4 = ["childCount", "clone", "depth", "disableSelection", "disableInteraction", "ghost", "handleProps", "indentationWidth", "indicator", "collapsed", "onCollapse", "onRemove", "onClick", "style", "value", "wrapperRef", "showId", "showCount", "children"];
1674
1671
  var propTypes$a = {
1675
1672
  childCount: PropTypes__default["default"].number,
1676
1673
  clone: PropTypes__default["default"].bool,
@@ -1695,6 +1692,7 @@ var propTypes$a = {
1695
1692
  transform: PropTypes__default["default"].string.isRequired
1696
1693
  }),
1697
1694
  showId: PropTypes__default["default"].bool,
1695
+ showCount: PropTypes__default["default"].bool,
1698
1696
  children: PropTypes__default["default"].node
1699
1697
  };
1700
1698
  var defaultProps$a = {
@@ -1713,6 +1711,7 @@ var defaultProps$a = {
1713
1711
  wrapperRef: null,
1714
1712
  style: null,
1715
1713
  showId: false,
1714
+ showCount: false,
1716
1715
  children: null
1717
1716
  };
1718
1717
  var SortableTreeItemActions = /*#__PURE__*/React.forwardRef(function (_ref, ref) {
@@ -1729,12 +1728,13 @@ var SortableTreeItemActions = /*#__PURE__*/React.forwardRef(function (_ref, ref)
1729
1728
  indicator = _ref.indicator,
1730
1729
  collapsed = _ref.collapsed,
1731
1730
  onCollapse = _ref.onCollapse,
1732
- onRemove = _ref.onRemove,
1733
- onClick = _ref.onClick,
1734
- style = _ref.style,
1735
- value = _ref.value,
1736
- wrapperRef = _ref.wrapperRef,
1737
- showId = _ref.showId,
1731
+ onRemove = _ref.onRemove;
1732
+ _ref.onClick;
1733
+ var style = _ref.style;
1734
+ _ref.value;
1735
+ var wrapperRef = _ref.wrapperRef;
1736
+ _ref.showId;
1737
+ var showCount = _ref.showCount,
1738
1738
  children = _ref.children,
1739
1739
  props = _objectWithoutProperties__default["default"](_ref, _excluded$4);
1740
1740
 
@@ -1746,42 +1746,26 @@ var SortableTreeItemActions = /*#__PURE__*/React.forwardRef(function (_ref, ref)
1746
1746
  }, style)
1747
1747
  }, props), /*#__PURE__*/React__default["default"].createElement("div", {
1748
1748
  className: styles$3.inner,
1749
- ref: ref,
1750
- style: {
1751
- width: style.width,
1752
- height: style.height
1753
- }
1749
+ ref: ref
1754
1750
  }, /*#__PURE__*/React__default["default"].createElement("button", Object.assign({
1755
1751
  className: classNames__default["default"]([styles$3.button, styles$3.handle]),
1756
1752
  type: "button"
1757
1753
  }, handleProps), /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
1754
+ className: styles$3.icon,
1758
1755
  icon: freeSolidSvgIcons.faGripLines
1759
- })), /*#__PURE__*/React__default["default"].createElement("button", {
1760
- className: classNames__default["default"]([styles$3.button, styles$3.full]),
1761
- type: "button",
1762
- onClick: onClick,
1763
- style: {
1764
- width: style.width,
1765
- height: style.height
1766
- }
1767
- }), showId ? /*#__PURE__*/React__default["default"].createElement("span", {
1768
- className: styles$3.text
1769
- }, value) : null, !clone && onRemove ? /*#__PURE__*/React__default["default"].createElement("button", {
1756
+ })), !clone && onRemove ? /*#__PURE__*/React__default["default"].createElement("button", {
1770
1757
  type: "button",
1771
1758
  onClick: onRemove
1772
1759
  }, /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
1773
1760
  icon: freeSolidSvgIcons.faTimes
1774
- })) : null, clone && childCount && childCount > 1 ? /*#__PURE__*/React__default["default"].createElement("span", {
1761
+ })) : null, clone && showCount && childCount && childCount > 1 ? /*#__PURE__*/React__default["default"].createElement("span", {
1775
1762
  className: styles$3.count
1776
- }, childCount) : null, onCollapse && childCount !== null && childCount > 0 ? /*#__PURE__*/React__default["default"].createElement("span", {
1763
+ }, childCount) : null, onCollapse && collapsed && childCount !== null && childCount > 0 ? /*#__PURE__*/React__default["default"].createElement("span", {
1777
1764
  className: styles$3.collapsedCount
1778
1765
  }, childCount) : null, onCollapse && depth === 0 ? /*#__PURE__*/React__default["default"].createElement("button", {
1779
1766
  type: "button",
1780
1767
  onClick: onCollapse,
1781
- className: classNames__default["default"](styles$3.button, styles$3.collapse, collapsed && styles$3.collapsed),
1782
- style: {
1783
- width: style.width
1784
- }
1768
+ className: classNames__default["default"](styles$3.button, styles$3.collapse, collapsed && styles$3.collapsed)
1785
1769
  }, /*#__PURE__*/React__default["default"].createElement(reactFontawesome.FontAwesomeIcon, {
1786
1770
  icon: freeSolidSvgIcons.faAngleDown
1787
1771
  })) : null), /*#__PURE__*/React__default["default"].createElement("div", {
@@ -1791,13 +1775,14 @@ var SortableTreeItemActions = /*#__PURE__*/React.forwardRef(function (_ref, ref)
1791
1775
  SortableTreeItemActions.propTypes = propTypes$a;
1792
1776
  SortableTreeItemActions.defaultProps = defaultProps$a;
1793
1777
 
1794
- var _excluded$3 = ["id", "depth", "component", "screenValue", "style", "onCollapse", "onClick"];
1778
+ var _excluded$3 = ["id", "index", "depth", "component", "value", "style", "smallScale", "collapsed", "onCollapse", "onClickItem", "isLastChild"];
1795
1779
  var propTypes$9 = {
1796
1780
  id: PropTypes__default["default"].string.isRequired,
1781
+ index: PropTypes__default["default"].number.isRequired,
1797
1782
  depth: PropTypes__default["default"].number.isRequired,
1798
1783
  component: PropTypes__default["default"].func,
1799
1784
  // eslint-disable-next-line react/forbid-prop-types
1800
- screenValue: PropTypes__default["default"].object,
1785
+ value: PropTypes__default["default"].object,
1801
1786
  style: PropTypes__default["default"].shape({
1802
1787
  width: PropTypes__default["default"].number.isRequired,
1803
1788
  height: PropTypes__default["default"].number.isRequired,
@@ -1806,15 +1791,21 @@ var propTypes$9 = {
1806
1791
  transform: PropTypes__default["default"].string.isRequired,
1807
1792
  scale: PropTypes__default["default"].number.isRequired
1808
1793
  }),
1794
+ smallScale: PropTypes__default["default"].number,
1795
+ collapsed: PropTypes__default["default"].bool,
1809
1796
  onCollapse: PropTypes__default["default"].func,
1810
- onClick: PropTypes__default["default"].func
1797
+ onClickItem: PropTypes__default["default"].func,
1798
+ isLastChild: PropTypes__default["default"].bool
1811
1799
  };
1812
1800
  var defaultProps$9 = {
1813
1801
  component: null,
1814
- screenValue: null,
1802
+ value: null,
1815
1803
  style: null,
1804
+ smallScale: 0.75,
1805
+ collapsed: false,
1816
1806
  onCollapse: null,
1817
- onClick: null
1807
+ onClickItem: null,
1808
+ isLastChild: false
1818
1809
  };
1819
1810
 
1820
1811
  var animateLayoutChanges = function animateLayoutChanges(_ref) {
@@ -1825,13 +1816,17 @@ var animateLayoutChanges = function animateLayoutChanges(_ref) {
1825
1816
 
1826
1817
  var SortableTreeItem = function SortableTreeItem(_ref2) {
1827
1818
  var id = _ref2.id,
1819
+ index = _ref2.index,
1828
1820
  depth = _ref2.depth,
1829
1821
  Component = _ref2.component,
1830
- screenValue = _ref2.screenValue,
1822
+ value = _ref2.value,
1831
1823
  itemStyle = _ref2.style,
1824
+ smallScale = _ref2.smallScale,
1825
+ collapsed = _ref2.collapsed,
1832
1826
  onCollapse = _ref2.onCollapse,
1833
- onClick = _ref2.onClick,
1834
- props = _objectWithoutProperties__default["default"](_ref2, _excluded$3);
1827
+ onClickItem = _ref2.onClickItem;
1828
+ _ref2.isLastChild;
1829
+ var props = _objectWithoutProperties__default["default"](_ref2, _excluded$3);
1835
1830
 
1836
1831
  var _useSortable = sortable.useSortable({
1837
1832
  id: id,
@@ -1855,18 +1850,32 @@ var SortableTreeItem = function SortableTreeItem(_ref2) {
1855
1850
  scale = _itemStyle$scale === void 0 ? 1 : _itemStyle$scale;
1856
1851
  var extraHeight = hasCollapse ? 30 : 0;
1857
1852
  var actionsStyle = {
1858
- width: depth === 0 ? scaledWidth : scaledWidth * 0.75,
1859
- height: depth === 0 ? scaledHeight + extraHeight : scaledHeight * 0.75,
1853
+ width: depth === 0 ? scaledWidth : scaledWidth * smallScale,
1854
+ height: depth === 0 ? scaledHeight + extraHeight : scaledHeight * smallScale,
1860
1855
  transform: utilities.CSS.Translate.toString(transform),
1861
1856
  transition: transition
1862
1857
  };
1863
1858
  var previewStyle = {
1864
1859
  width: itemStyle.width,
1865
1860
  height: itemStyle.height,
1866
- transform: depth === 0 ? itemStyle.transform : "scale(".concat(scale * 0.75, ", ").concat(scale * 0.75, ")"),
1867
- transformOrigin: 'top left'
1861
+ transform: depth === 0 ? itemStyle.transform : "scale(".concat(scale * smallScale, ", ").concat(scale * smallScale, ")")
1868
1862
  };
1869
- return /*#__PURE__*/React__default["default"].createElement(SortableTreeItemActions, Object.assign({
1863
+
1864
+ var _ref3 = listeners || {},
1865
+ onPointerDown = _ref3.onPointerDown;
1866
+
1867
+ var onClickAction = React.useCallback(function (e) {
1868
+ if (onClickItem !== null) {
1869
+ onClickItem(value, index);
1870
+ }
1871
+
1872
+ if (onPointerDown !== null) {
1873
+ onPointerDown(e);
1874
+ }
1875
+ }, [value, index, onClickItem, onPointerDown]);
1876
+ return /*#__PURE__*/React__default["default"].createElement("div", {
1877
+ className: classNames__default["default"]([styles$4.container])
1878
+ }, /*#__PURE__*/React__default["default"].createElement(SortableTreeItemActions, Object.assign({
1870
1879
  ref: setDraggableNodeRef,
1871
1880
  wrapperRef: setDroppableNodeRef,
1872
1881
  style: actionsStyle,
@@ -1874,12 +1883,14 @@ var SortableTreeItem = function SortableTreeItem(_ref2) {
1874
1883
  ghost: isDragging,
1875
1884
  disableSelection: iOS,
1876
1885
  disableInteraction: isSorting,
1877
- handleProps: _objectSpread__default["default"](_objectSpread__default["default"]({}, attributes), listeners),
1878
- onCollapse: onCollapse,
1879
- onClick: onClick
1880
- }, props), Component !== null ? /*#__PURE__*/React__default["default"].createElement(Component, Object.assign({}, screenValue, {
1886
+ handleProps: _objectSpread__default["default"](_objectSpread__default["default"](_objectSpread__default["default"]({}, attributes), listeners), {}, {
1887
+ onPointerDown: onClickAction
1888
+ }),
1889
+ collapsed: collapsed,
1890
+ onCollapse: onCollapse
1891
+ }, props), Component !== null ? /*#__PURE__*/React__default["default"].createElement(Component, Object.assign({}, value, {
1881
1892
  previewStyle: previewStyle
1882
- })) : null);
1893
+ })) : null));
1883
1894
  };
1884
1895
  SortableTreeItem.propTypes = propTypes$9;
1885
1896
  SortableTreeItem.defaultProps = defaultProps$9;
@@ -1997,7 +2008,8 @@ var SortableTree = function SortableTree(_ref2) {
1997
2008
  var flattenedTree = flattenTree(items); // console.log('yo', items, flattenedTree);
1998
2009
 
1999
2010
  var collapsedItems = flattenedTree.reduce(function (acc, _ref3) {
2000
- var children = _ref3.children,
2011
+ var _ref3$children = _ref3.children,
2012
+ children = _ref3$children === void 0 ? [] : _ref3$children,
2001
2013
  collapsed = _ref3.collapsed,
2002
2014
  id = _ref3.id;
2003
2015
  return collapsed && children.length ? [].concat(_toConsumableArray__default["default"](acc), [id]) : acc;
@@ -2054,11 +2066,14 @@ var SortableTree = function SortableTree(_ref2) {
2054
2066
  _ref6$children = _ref6.children,
2055
2067
  children = _ref6$children === void 0 ? [] : _ref6$children,
2056
2068
  _ref6$parentId = _ref6.parentId,
2057
- parentId = _ref6$parentId === void 0 ? null : _ref6$parentId;
2069
+ parentId = _ref6$parentId === void 0 ? null : _ref6$parentId,
2070
+ _ref6$collapsed = _ref6.collapsed,
2071
+ collapsed = _ref6$collapsed === void 0 ? false : _ref6$collapsed;
2058
2072
  return {
2059
2073
  id: itemId,
2060
2074
  props: _objectSpread__default["default"](_objectSpread__default["default"]({}, (children || []).length > 0 ? {
2061
2075
  group: {
2076
+ collapsed: collapsed,
2062
2077
  mergeNavItems: true
2063
2078
  }
2064
2079
  } : {
@@ -2078,11 +2093,17 @@ var SortableTree = function SortableTree(_ref2) {
2078
2093
  return "Moving was cancelled. ".concat(id, " was dropped in its original position.");
2079
2094
  }
2080
2095
  };
2081
- }, [flattenedItems, onChange]); // Note: this is quite brutal for perf
2082
-
2083
- React.useEffect(function () {// setItems(defaultItems);
2084
- }, [defaultItems, setItems]); // console.log('render: current id', activeId);
2096
+ }, [flattenedItems, onChange]); // Initial tree setup from list
2085
2097
 
2098
+ React.useEffect(function () {
2099
+ // console.log('fuck off');
2100
+ setItems(buildTree(defaultItems));
2101
+ }, []);
2102
+ var activeValue = defaultItems.find(function (_ref7) {
2103
+ var _ref7$id = _ref7.id,
2104
+ defaultId = _ref7$id === void 0 ? null : _ref7$id;
2105
+ return defaultId === activeId;
2106
+ });
2086
2107
  return /*#__PURE__*/React__default["default"].createElement(core$1.DndContext, {
2087
2108
  announcements: announcements,
2088
2109
  sensors: sensors,
@@ -2096,61 +2117,74 @@ var SortableTree = function SortableTree(_ref2) {
2096
2117
  }, /*#__PURE__*/React__default["default"].createElement(sortable.SortableContext, {
2097
2118
  items: sortedIds,
2098
2119
  strategy: sortable.verticalListSortingStrategy
2099
- }, flattenedItems.map(function (_ref7, idx) {
2100
- var id = _ref7.id,
2101
- _ref7$children = _ref7.children,
2102
- children = _ref7$children === void 0 ? [] : _ref7$children,
2103
- collapsed = _ref7.collapsed,
2104
- depth = _ref7.depth,
2105
- _ref7$screenValue = _ref7.screenValue,
2106
- screenValue = _ref7$screenValue === void 0 ? null : _ref7$screenValue;
2107
- return /*#__PURE__*/React__default["default"].createElement(SortableTreeItem, {
2120
+ }, flattenedItems.map(function (_ref8, idx) {
2121
+ var _flattenedItems, _ref10;
2122
+
2123
+ var id = _ref8.id,
2124
+ _ref8$children = _ref8.children,
2125
+ children = _ref8$children === void 0 ? [] : _ref8$children,
2126
+ collapsed = _ref8.collapsed,
2127
+ depth = _ref8.depth;
2128
+ var screenValue = defaultItems.find(function (_ref9) {
2129
+ var _ref9$id = _ref9.id,
2130
+ defaultId = _ref9$id === void 0 ? null : _ref9$id;
2131
+ return defaultId === id;
2132
+ });
2133
+ var next = ((_flattenedItems = flattenedItems[idx + 1]) === null || _flattenedItems === void 0 ? void 0 : _flattenedItems.parentId) || null;
2134
+ var isCollapsed = collapsed && children.length > 0;
2135
+ var onCollapse = collapsible && children.length ? function () {
2136
+ return handleCollapse(id);
2137
+ } : null;
2138
+ var currentDepth = id === activeId && projected ? projected.depth : depth;
2139
+ return /*#__PURE__*/React__default["default"].createElement("div", {
2140
+ className: classNames__default["default"]([styles$5.item, (_ref10 = {}, _defineProperty__default["default"](_ref10, styles$5.parent, onCollapse !== null && !collapsed), _defineProperty__default["default"](_ref10, styles$5.group, depth === 1), _defineProperty__default["default"](_ref10, styles$5.isLastChild, next === null), _ref10)]),
2141
+ key: id
2142
+ }, /*#__PURE__*/React__default["default"].createElement(SortableTreeItem, {
2108
2143
  key: id,
2109
2144
  id: id,
2110
- value: id,
2111
- depth: id === activeId && projected ? projected.depth : depth,
2145
+ depth: currentDepth,
2112
2146
  indentationWidth: indentationWidth,
2113
2147
  indicator: indicator,
2114
- collapsed: Boolean(collapsed && children.length),
2115
- onCollapse: collapsible && children.length ? function () {
2116
- return handleCollapse(id);
2117
- } : undefined,
2148
+ collapsed: isCollapsed,
2149
+ onCollapse: onCollapse,
2118
2150
  onRemove: removable ? function () {
2119
2151
  return handleRemove(id);
2120
2152
  } : undefined,
2121
2153
  childCount: getChildCount(items, id),
2122
2154
  component: component,
2123
- screenValue: screenValue,
2155
+ value: (screenValue === null || screenValue === void 0 ? void 0 : screenValue.value) || null,
2124
2156
  style: itemStyle,
2125
- onClick: function onClick() {
2126
- if (onClickItem !== null) {
2127
- onClickItem({
2128
- id: id
2129
- }, idx);
2130
- }
2131
- }
2132
- });
2157
+ onClickItem: onClickItem,
2158
+ index: idx
2159
+ }));
2133
2160
  }), /*#__PURE__*/reactDom.createPortal( /*#__PURE__*/React__default["default"].createElement(core$1.DragOverlay, {
2134
2161
  dropAnimation: dropAnimation,
2135
2162
  modifiers: indicator ? [adjustTranslate] : undefined
2136
- }, activeId && activeItem ? /*#__PURE__*/React__default["default"].createElement(SortableTreeItem, {
2163
+ }, activeId && activeItem ? /*#__PURE__*/React__default["default"].createElement("div", {
2164
+ className: styles$5.item,
2165
+ key: activeId
2166
+ }, /*#__PURE__*/React__default["default"].createElement(SortableTreeItem, {
2137
2167
  id: activeId,
2138
2168
  depth: activeItem.depth,
2139
2169
  clone: true,
2140
2170
  childCount: getChildCount(items, activeId) + 1,
2141
- value: activeId,
2142
2171
  indentationWidth: indentationWidth,
2143
2172
  component: component,
2144
- screenValue: activeItem === null || activeItem === void 0 ? void 0 : activeItem.screenValue,
2173
+ value: activeValue === null || activeValue === void 0 ? void 0 : activeValue.value,
2174
+ onClickItem: onClickItem,
2175
+ index: flattenedItems.findIndex(function (_ref11) {
2176
+ var id = _ref11.id;
2177
+ return activeId === id;
2178
+ }),
2145
2179
  style: itemStyle
2146
- }) : null), document.body)));
2180
+ })) : null), document.body)));
2147
2181
 
2148
- function handleDragStart(_ref8) {
2149
- var newActiveId = _ref8.active.id;
2182
+ function handleDragStart(_ref12) {
2183
+ var newActiveId = _ref12.active.id;
2150
2184
  setActiveId(newActiveId);
2151
2185
  setOverId(newActiveId);
2152
- var newActiveItem = flattenedItems.find(function (_ref9) {
2153
- var id = _ref9.id;
2186
+ var newActiveItem = flattenedItems.find(function (_ref13) {
2187
+ var id = _ref13.id;
2154
2188
  return id === newActiveId;
2155
2189
  });
2156
2190
 
@@ -2164,15 +2198,15 @@ var SortableTree = function SortableTree(_ref2) {
2164
2198
  document.body.style.setProperty('cursor', 'grabbing');
2165
2199
  }
2166
2200
 
2167
- function handleDragMove(_ref10) {
2168
- var delta = _ref10.delta;
2201
+ function handleDragMove(_ref14) {
2202
+ var delta = _ref14.delta;
2169
2203
  setOffsetLeft(delta.x);
2170
2204
  }
2171
2205
 
2172
- function handleDragOver(_ref11) {
2206
+ function handleDragOver(_ref15) {
2173
2207
  var _over$id;
2174
2208
 
2175
- var over = _ref11.over;
2209
+ var over = _ref15.over;
2176
2210
  setOverId((_over$id = over === null || over === void 0 ? void 0 : over.id) !== null && _over$id !== void 0 ? _over$id : null);
2177
2211
  }
2178
2212
 
@@ -2184,24 +2218,44 @@ var SortableTree = function SortableTree(_ref2) {
2184
2218
  document.body.style.setProperty('cursor', '');
2185
2219
  }
2186
2220
 
2187
- function handleDragEnd(_ref12) {
2188
- var active = _ref12.active,
2189
- over = _ref12.over;
2221
+ function handleDragEnd(_ref16) {
2222
+ var active = _ref16.active,
2223
+ over = _ref16.over;
2190
2224
  resetState();
2191
2225
 
2192
2226
  if (projected && over) {
2193
2227
  var depth = projected.depth,
2194
2228
  parentId = projected.parentId;
2195
2229
  var clonedItems = JSON.parse(JSON.stringify(flattenTree(items)));
2196
- var overIndex = clonedItems.findIndex(function (_ref13) {
2197
- var id = _ref13.id;
2230
+ var overIndex = clonedItems.findIndex(function (_ref17) {
2231
+ var id = _ref17.id;
2198
2232
  return id === over.id;
2199
2233
  });
2200
- var activeIndex = clonedItems.findIndex(function (_ref14) {
2201
- var id = _ref14.id;
2234
+ var activeIndex = clonedItems.findIndex(function (_ref18) {
2235
+ var id = _ref18.id;
2202
2236
  return id === active.id;
2203
2237
  });
2204
2238
  var activeTreeItem = clonedItems[activeIndex];
2239
+ var maxDepth = getMaxDepth(activeTreeItem); // Un-merge and flatten
2240
+
2241
+ if (depth > 0 && depth >= maxDepth && (activeTreeItem === null || activeTreeItem === void 0 ? void 0 : activeTreeItem.children) !== null && activeTreeItem.children.length > 0) {
2242
+ var _loop = function _loop(i) {
2243
+ var childId = activeTreeItem.children[i].id;
2244
+ var childIndex = clonedItems.findIndex(function (_ref19) {
2245
+ var id = _ref19.id;
2246
+ return id === childId;
2247
+ });
2248
+ clonedItems[childIndex].parentId = parentId;
2249
+ clonedItems[childIndex].depth = depth;
2250
+ };
2251
+
2252
+ for (var i = 0; i < activeTreeItem.children.length; i += 1) {
2253
+ _loop(i);
2254
+ }
2255
+
2256
+ activeTreeItem.children = [];
2257
+ }
2258
+
2205
2259
  clonedItems[activeIndex] = _objectSpread__default["default"](_objectSpread__default["default"]({}, activeTreeItem), {}, {
2206
2260
  depth: depth,
2207
2261
  parentId: parentId
@@ -2244,12 +2298,12 @@ var SortableTree = function SortableTree(_ref2) {
2244
2298
  }
2245
2299
 
2246
2300
  var clonedItems = JSON.parse(JSON.stringify(flattenTree(items)));
2247
- var overIndex = clonedItems.findIndex(function (_ref15) {
2248
- var id = _ref15.id;
2301
+ var overIndex = clonedItems.findIndex(function (_ref20) {
2302
+ var id = _ref20.id;
2249
2303
  return id === currentOverId;
2250
2304
  });
2251
- var activeIndex = clonedItems.findIndex(function (_ref16) {
2252
- var id = _ref16.id;
2305
+ var activeIndex = clonedItems.findIndex(function (_ref21) {
2306
+ var id = _ref21.id;
2253
2307
  return id === currentActiveId;
2254
2308
  });
2255
2309
  var sortedItems = sortable.arrayMove(clonedItems, activeIndex, overIndex);
@@ -2266,17 +2320,17 @@ var SortableTree = function SortableTree(_ref2) {
2266
2320
  } else {
2267
2321
  var previousSibling = previousItem;
2268
2322
 
2269
- var _loop = function _loop() {
2323
+ var _loop2 = function _loop2() {
2270
2324
  var _previousSibling = previousSibling,
2271
2325
  parentId = _previousSibling.parentId;
2272
- previousSibling = sortedItems.find(function (_ref17) {
2273
- var id = _ref17.id;
2326
+ previousSibling = sortedItems.find(function (_ref22) {
2327
+ var id = _ref22.id;
2274
2328
  return id === parentId;
2275
2329
  });
2276
2330
  };
2277
2331
 
2278
2332
  while (previousSibling && projected.depth < previousSibling.depth) {
2279
- _loop();
2333
+ _loop2();
2280
2334
  }
2281
2335
 
2282
2336
  if (previousSibling) {
@@ -2292,13 +2346,13 @@ var SortableTree = function SortableTree(_ref2) {
2292
2346
  SortableTree.propTypes = propTypes$8;
2293
2347
  SortableTree.defaultProps = defaultProps$8;
2294
2348
 
2295
- var _excluded$2 = ["className", "screen", "type"],
2349
+ var _excluded$2 = ["className", "screen", "type", "onClick"],
2296
2350
  _excluded2 = ["id", "screen"];
2297
2351
  var propTypes$7 = {
2298
2352
  items: core.PropTypes.menuItems,
2299
2353
  withPreview: PropTypes__default["default"].bool,
2300
2354
  withPlaceholder: PropTypes__default["default"].bool,
2301
- settings: PropTypes__default["default"].node,
2355
+ settings: PropTypes__default["default"].oneOfType([PropTypes__default["default"].node, PropTypes__default["default"].func]),
2302
2356
  previewMinWidth: PropTypes__default["default"].number,
2303
2357
  sortable: PropTypes__default["default"].bool,
2304
2358
  isTree: PropTypes__default["default"].bool,
@@ -2330,7 +2384,7 @@ var defaultProps$7 = {
2330
2384
  };
2331
2385
 
2332
2386
  var ScreensMenu = function ScreensMenu(_ref) {
2333
- var _ref9;
2387
+ var _ref10;
2334
2388
 
2335
2389
  var items = _ref.items,
2336
2390
  withPreview = _ref.withPreview,
@@ -2403,11 +2457,13 @@ var ScreensMenu = function ScreensMenu(_ref) {
2403
2457
  itemCustomClassName = _ref4$className === void 0 ? null : _ref4$className,
2404
2458
  screen = _ref4.screen,
2405
2459
  type = _ref4.type,
2460
+ _ref4$onClick = _ref4.onClick,
2461
+ onClick = _ref4$onClick === void 0 ? null : _ref4$onClick,
2406
2462
  item = _objectWithoutProperties__default["default"](_ref4, _excluded$2);
2407
2463
 
2408
2464
  return /*#__PURE__*/React__default["default"].createElement("li", {
2409
2465
  key: item.id,
2410
- className: classNames__default["default"]([styles$6.item, (_ref5 = {}, _defineProperty__default["default"](_ref5, itemClassName, itemClassName !== null), _defineProperty__default["default"](_ref5, itemCustomClassName, itemCustomClassName !== null), _ref5)]),
2466
+ className: classNames__default["default"]([styles$8.item, (_ref5 = {}, _defineProperty__default["default"](_ref5, itemClassName, itemClassName !== null), _defineProperty__default["default"](_ref5, itemCustomClassName, itemCustomClassName !== null), _ref5)]),
2411
2467
  "data-screen-id": item.id,
2412
2468
  ref: index === 0 ? containerRef : null
2413
2469
  }, /*#__PURE__*/React__default["default"].createElement(ScreenWithPreview, {
@@ -2419,44 +2475,46 @@ var ScreensMenu = function ScreensMenu(_ref) {
2419
2475
  previewStyle: previewStyle,
2420
2476
  withPreview: withPreview,
2421
2477
  withPlaceholder: withPlaceholder,
2422
- onClick: onClickItem
2478
+ onClick: onClick,
2479
+ onClickItem: onClickItem
2423
2480
  }), settings !== null ? /*#__PURE__*/React__default["default"].createElement("div", {
2424
- className: classNames__default["default"]([_defineProperty__default["default"]({}, settingsClassName, settingsClassName !== null), styles$6.settings, 'p-2'])
2481
+ className: classNames__default["default"]([_defineProperty__default["default"]({}, settingsClassName, settingsClassName !== null), styles$8.settings, 'p-2'])
2425
2482
  }, isFunction__default["default"](settings) ? settings(index) : settings) : null);
2426
2483
  }) : [];
2427
2484
  var sortableItems = React.useMemo(function () {
2428
- return isTree ? items.reduce(function (acc, _ref7) {
2485
+ return isTree ? items.map(function (_ref7) {
2429
2486
  var id = _ref7.id,
2430
2487
  _ref7$screen = _ref7.screen,
2431
2488
  screen = _ref7$screen === void 0 ? {} : _ref7$screen,
2432
2489
  props = _objectWithoutProperties__default["default"](_ref7, _excluded2);
2433
2490
 
2434
2491
  var _screen$parentId = screen.parentId,
2435
- parentId = _screen$parentId === void 0 ? null : _screen$parentId; // console.log('hey', id, screen, parentId, props);
2436
- // const children =
2437
- // items.filter(({ screen: { parentId: cpid = null } }) => cpid === id) ||
2438
- // [];
2439
- // console.log('children', children);
2492
+ parentId = _screen$parentId === void 0 ? null : _screen$parentId,
2493
+ _screen$group = screen.group,
2494
+ group = _screen$group === void 0 ? {} : _screen$group;
2440
2495
 
2441
- acc.push(_objectSpread__default["default"]({
2496
+ var _ref8 = group || {},
2497
+ _ref8$collapsed = _ref8.collapsed,
2498
+ collapsed = _ref8$collapsed === void 0 ? true : _ref8$collapsed;
2499
+
2500
+ return _objectSpread__default["default"]({
2442
2501
  id: id,
2443
2502
  parentId: parentId,
2444
- screenValue: {
2503
+ collapsed: collapsed,
2504
+ value: {
2445
2505
  id: id,
2446
2506
  screen: screen
2447
2507
  }
2448
- }, props));
2449
- return acc;
2450
- }, []) : items.map(function (_ref8) {
2451
- var id = _ref8.id;
2508
+ }, props);
2509
+ }, []) : items.map(function (_ref9) {
2510
+ var id = _ref9.id;
2452
2511
  return {
2453
2512
  id: id
2454
2513
  };
2455
2514
  });
2456
- }, [items, isTree]); // console.log('screens menu items/sitems', items, sortableItems);
2457
-
2515
+ }, [items, isTree]);
2458
2516
  return /*#__PURE__*/React__default["default"].createElement("div", {
2459
- className: classNames__default["default"]([styles$6.container, (_ref9 = {}, _defineProperty__default["default"](_ref9, styles$6.noWrap, noWrap), _defineProperty__default["default"](_ref9, styles$6.isVertical, isVertical), _defineProperty__default["default"](_ref9, styles$6.isTree, isTree), _defineProperty__default["default"](_ref9, styles$6.withPlaceholder, withPlaceholder), _defineProperty__default["default"](_ref9, className, className), _ref9)]),
2517
+ className: classNames__default["default"]([styles$8.container, (_ref10 = {}, _defineProperty__default["default"](_ref10, styles$8.noWrap, noWrap), _defineProperty__default["default"](_ref10, styles$8.isVertical, isVertical), _defineProperty__default["default"](_ref10, styles$8.isTree, isTree), _defineProperty__default["default"](_ref10, styles$8.withPlaceholder, withPlaceholder), _defineProperty__default["default"](_ref10, className, className), _ref10)]),
2460
2518
  ref: columnRef
2461
2519
  }, isTree && !sortable ? /*#__PURE__*/React__default["default"].createElement(SortableTree, {
2462
2520
  items: sortableItems,
@@ -2471,9 +2529,9 @@ var ScreensMenu = function ScreensMenu(_ref) {
2471
2529
  delayOnTouchStart: true,
2472
2530
  delay: 2,
2473
2531
  tag: "ul",
2474
- className: styles$6.items
2532
+ className: styles$8.items
2475
2533
  }, itemsElements) : null, !isTree && (!sortable || items.length < 1) ? /*#__PURE__*/React__default["default"].createElement("ul", {
2476
- className: styles$6.items
2534
+ className: styles$8.items
2477
2535
  }, itemsElements) : null);
2478
2536
  };
2479
2537
 
@@ -2726,60 +2784,54 @@ var EditorScreens = function EditorScreens(_ref) {
2726
2784
  return newScreen;
2727
2785
  }, [value, onChange, isTheme, screens, currentScreenId, setCreateModalOpened]);
2728
2786
  var onOrderChange = React.useCallback(function (listItems) {
2729
- var ids = listItems.map(function (_ref7) {
2730
- var id = _ref7.id;
2731
- return id;
2732
- });
2733
- var screenProps = listItems.map(function (_ref8) {
2734
- var id = _ref8.id,
2735
- _ref8$props = _ref8.props,
2736
- props = _ref8$props === void 0 ? null : _ref8$props;
2787
+ // const ids = listItems.map(({ id }) => id);
2788
+ var screenProps = listItems.map(function (_ref7) {
2789
+ var id = _ref7.id,
2790
+ _ref7$props = _ref7.props,
2791
+ props = _ref7$props === void 0 ? null : _ref7$props;
2737
2792
  return {
2738
2793
  id: id,
2739
2794
  props: props
2740
2795
  };
2741
2796
  });
2742
- var hasScreenProps = (screenProps.filter(function (_ref9) {
2743
- var props = _ref9.props;
2797
+ var hasScreenProps = (screenProps.filter(function (_ref8) {
2798
+ var props = _ref8.props;
2744
2799
  return props !== null;
2745
2800
  }) || []).length > 0;
2746
2801
 
2747
- var _ref10 = value || {},
2748
- _ref10$components = _ref10.components,
2749
- currentScreens = _ref10$components === void 0 ? [] : _ref10$components;
2802
+ var _ref9 = value || {},
2803
+ _ref9$components = _ref9.components,
2804
+ currentScreens = _ref9$components === void 0 ? [] : _ref9$components;
2750
2805
 
2751
- var currentIds = currentScreens.map(function (_ref11) {
2752
- var id = _ref11.id;
2806
+ var currentIds = currentScreens.map(function (_ref10) {
2807
+ var id = _ref10.id;
2753
2808
  return id;
2754
2809
  });
2755
- var sameOrder = listItems.reduce(function (same, _ref12, index) {
2756
- var id = _ref12.id;
2810
+ var sameOrder = listItems.reduce(function (same, _ref11, index) {
2811
+ var id = _ref11.id;
2757
2812
  return same && id === currentIds[index];
2758
2813
  }, true);
2759
2814
 
2760
2815
  if (!sameOrder || hasScreenProps) {
2761
2816
  var newValue = _objectSpread__default["default"](_objectSpread__default["default"]({}, value), {}, {
2762
- components: _toConsumableArray__default["default"](currentScreens).sort(function (_ref13, _ref14) {
2763
- var idA = _ref13.id;
2764
- var idB = _ref14.id;
2765
- var indexA = ids.indexOf(idA);
2766
- var indexB = ids.indexOf(idB);
2767
-
2768
- if (indexA === indexB) {
2769
- return 0;
2770
- }
2771
-
2772
- return indexA > indexB ? 1 : -1;
2773
- }).map(function (_ref15) {
2817
+ components: _toConsumableArray__default["default"](currentScreens) // .sort(({ id: idA }, { id: idB }) => {
2818
+ // const indexA = ids.indexOf(idA);
2819
+ // const indexB = ids.indexOf(idB);
2820
+ // if (indexA === indexB) {
2821
+ // return 0;
2822
+ // }
2823
+ // return indexA > indexB ? 1 : -1;
2824
+ // })
2825
+ .map(function (_ref12) {
2774
2826
  var _screenProps$find;
2775
2827
 
2776
- var id = _ref15.id,
2777
- props = _objectWithoutProperties__default["default"](_ref15, _excluded$1);
2828
+ var id = _ref12.id,
2829
+ props = _objectWithoutProperties__default["default"](_ref12, _excluded$1);
2778
2830
 
2779
2831
  return _objectSpread__default["default"](_objectSpread__default["default"]({
2780
2832
  id: id
2781
- }, props), (_screenProps$find = screenProps.find(function (_ref16) {
2782
- var propsId = _ref16.id;
2833
+ }, props), (_screenProps$find = screenProps.find(function (_ref13) {
2834
+ var propsId = _ref13.id;
2783
2835
  return propsId === id;
2784
2836
  })) === null || _screenProps$find === void 0 ? void 0 : _screenProps$find.props);
2785
2837
  })
@@ -2792,8 +2844,8 @@ var EditorScreens = function EditorScreens(_ref) {
2792
2844
  }, [value, onChange]);
2793
2845
  var onClickScreenType = React.useCallback(function (definition) {
2794
2846
  setCreateModalOpened(false);
2795
- var currentScreen = isTheme ? screens.find(function (_ref17) {
2796
- var type = _ref17.type;
2847
+ var currentScreen = isTheme ? screens.find(function (_ref14) {
2848
+ var type = _ref14.type;
2797
2849
  return type === definition.id;
2798
2850
  }) || null : null;
2799
2851
 
@@ -2813,12 +2865,12 @@ var EditorScreens = function EditorScreens(_ref) {
2813
2865
  return setCreateModalOpened(false);
2814
2866
  }, [setCreateModalOpened]);
2815
2867
  return /*#__PURE__*/React__default["default"].createElement("div", {
2816
- className: classNames__default["default"](['d-flex', 'flex-column', styles$7.container, className])
2868
+ className: classNames__default["default"](['d-flex', 'flex-column', styles$9.container, className])
2817
2869
  }, /*#__PURE__*/React__default["default"].createElement(components.Navbar, {
2818
2870
  compact: true,
2819
2871
  noWrap: true,
2820
2872
  withoutCollapse: true,
2821
- className: classNames__default["default"](['sticky-top', styles$7.navbar])
2873
+ className: classNames__default["default"](['sticky-top', styles$9.navbar])
2822
2874
  }, /*#__PURE__*/React__default["default"].createElement("strong", {
2823
2875
  className: "mb-0 mr-auto"
2824
2876
  }, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, {
@@ -2838,9 +2890,9 @@ var EditorScreens = function EditorScreens(_ref) {
2838
2890
  className: "flex-grow-1 d-flex w-100 p-2"
2839
2891
  }, /*#__PURE__*/React__default["default"].createElement(reactRouter.Route, {
2840
2892
  path: [routes.screen, routes.home],
2841
- render: function render(_ref18) {
2842
- var _ref18$match$params$s = _ref18.match.params.screen,
2843
- screenId = _ref18$match$params$s === void 0 ? null : _ref18$match$params$s;
2893
+ render: function render(_ref15) {
2894
+ var _ref15$match$params$s = _ref15.match.params.screen,
2895
+ screenId = _ref15$match$params$s === void 0 ? null : _ref15$match$params$s;
2844
2896
  return screens.length > 0 ? /*#__PURE__*/React__default["default"].createElement(ScreensMenu, {
2845
2897
  items: screens.map(function (it) {
2846
2898
  return {
@@ -2873,8 +2925,8 @@ var EditorScreens = function EditorScreens(_ref) {
2873
2925
  })));
2874
2926
  }
2875
2927
  })), createModalOpened ? /*#__PURE__*/React__default["default"].createElement(ScreenTypesModal, {
2876
- selectedTypes: isTheme ? screens.map(function (_ref19) {
2877
- var type = _ref19.type;
2928
+ selectedTypes: isTheme ? screens.map(function (_ref16) {
2929
+ var type = _ref16.type;
2878
2930
  return type;
2879
2931
  }) : [],
2880
2932
  onClickScreenType: onClickScreenType,
@@ -3020,16 +3072,16 @@ var Editor = function Editor(_ref) {
3020
3072
  return /*#__PURE__*/React__default["default"].createElement(contexts.ModalsProvider, null, /*#__PURE__*/React__default["default"].createElement(contexts.PanelsProvider, null, /*#__PURE__*/React__default["default"].createElement(contexts.ScreenSizeProvider, {
3021
3073
  size: screenSize
3022
3074
  }, /*#__PURE__*/React__default["default"].createElement("div", {
3023
- className: classNames__default["default"]([styles$f.container, screenSize !== null ? screenSize.screens.map(function (screenName) {
3024
- return styles$f["screen-".concat(screenName)];
3025
- }) : null, (_ref5 = {}, _defineProperty__default["default"](_ref5, styles$f.fullscreen, fullscreen), _defineProperty__default["default"](_ref5, className, className), _ref5)]),
3075
+ className: classNames__default["default"]([styles$h.container, screenSize !== null ? screenSize.screens.map(function (screenName) {
3076
+ return styles$h["screen-".concat(screenName)];
3077
+ }) : null, (_ref5 = {}, _defineProperty__default["default"](_ref5, styles$h.fullscreen, fullscreen), _defineProperty__default["default"](_ref5, className, className), _ref5)]),
3026
3078
  ref: refContainer
3027
3079
  }, /*#__PURE__*/React__default["default"].createElement(components.Navbar, {
3028
3080
  theme: "light",
3029
3081
  compact: true,
3030
3082
  noWrap: true,
3031
3083
  withoutCollapse: true,
3032
- className: styles$f.top
3084
+ className: styles$h.top
3033
3085
  }, mobileView !== 'screens' ? /*#__PURE__*/React__default["default"].createElement(components.Button, {
3034
3086
  size: "sm",
3035
3087
  theme: "secondary",
@@ -3062,9 +3114,9 @@ var Editor = function Editor(_ref) {
3062
3114
  "value": "View screen"
3063
3115
  }]
3064
3116
  })) : null), /*#__PURE__*/React__default["default"].createElement("div", {
3065
- className: styles$f.inner
3117
+ className: styles$h.inner
3066
3118
  }, /*#__PURE__*/React__default["default"].createElement("div", {
3067
- className: classNames__default["default"]([styles$f.left, _defineProperty__default["default"]({}, styles$f.visible, !isMobile || mobileView === 'screens')]),
3119
+ className: classNames__default["default"]([styles$h.left, _defineProperty__default["default"]({}, styles$h.visible, !isMobile || mobileView === 'screens')]),
3068
3120
  ref: refScreensContainer
3069
3121
  }, /*#__PURE__*/React__default["default"].createElement(EditorScreens, {
3070
3122
  value: story,
@@ -3074,23 +3126,24 @@ var Editor = function Editor(_ref) {
3074
3126
  onChange: onStoryChange,
3075
3127
  onClickScreen: onClickScreen,
3076
3128
  isVertical: !isMobile,
3077
- className: styles$f.inner
3129
+ className: styles$h.inner,
3130
+ isTree: true
3078
3131
  })), /*#__PURE__*/React__default["default"].createElement("div", {
3079
- className: classNames__default["default"]([styles$f.center, _defineProperty__default["default"]({}, styles$f.visible, !isMobile || mobileView === 'preview')])
3132
+ className: classNames__default["default"]([styles$h.center, _defineProperty__default["default"]({}, styles$h.visible, !isMobile || mobileView === 'preview')])
3080
3133
  }, /*#__PURE__*/React__default["default"].createElement(EditorPreview, {
3081
3134
  value: story,
3082
3135
  isTheme: isTheme,
3083
3136
  viewerTheme: viewerTheme,
3084
- className: styles$f.preview,
3137
+ className: styles$h.preview,
3085
3138
  onScreenChange: onPreviewScreenChange
3086
3139
  })), /*#__PURE__*/React__default["default"].createElement("div", {
3087
- className: classNames__default["default"]([styles$f.right, _defineProperty__default["default"]({}, styles$f.visible, !isMobile || mobileView === 'form')])
3140
+ className: classNames__default["default"]([styles$h.right, _defineProperty__default["default"]({}, styles$h.visible, !isMobile || mobileView === 'form')])
3088
3141
  }, /*#__PURE__*/React__default["default"].createElement(EditForm, {
3089
3142
  key: screenId,
3090
3143
  value: story,
3091
3144
  isTheme: isTheme,
3092
3145
  onChange: onStoryChange,
3093
- className: styles$f.inner
3146
+ className: styles$h.inner
3094
3147
  }))), /*#__PURE__*/React__default["default"].createElement(components.Modals, null)))));
3095
3148
  };
3096
3149