@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/es/index.js CHANGED
@@ -71,7 +71,7 @@ var useRouteParams = function useRouteParams() {
71
71
  return routeParams;
72
72
  };
73
73
 
74
- 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"};
74
+ 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"};
75
75
 
76
76
  var createScreen = function createScreen(definition) {
77
77
  var data = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};
@@ -245,7 +245,7 @@ var SettingsButton = function SettingsButton(_ref) {
245
245
  SettingsButton.propTypes = propTypes$n;
246
246
  SettingsButton.defaultProps = defaultProps$n;
247
247
 
248
- var styles$e = {"container":"micromag-editor-menus-breadcrumb-container"};
248
+ var styles$g = {"container":"micromag-editor-menus-breadcrumb-container"};
249
249
 
250
250
  var propTypes$m = {
251
251
  story: PropTypes$1.story,
@@ -395,14 +395,14 @@ var Breadcrumb = function Breadcrumb(_ref) {
395
395
  theme: "secondary",
396
396
  withoutBar: true,
397
397
  noWrap: true,
398
- className: classNames([styles$e.container, 'text-truncate', _defineProperty({}, className, className !== null)])
398
+ className: classNames([styles$g.container, 'text-truncate', _defineProperty({}, className, className !== null)])
399
399
  }));
400
400
  };
401
401
 
402
402
  Breadcrumb.propTypes = propTypes$m;
403
403
  Breadcrumb.defaultProps = defaultProps$m;
404
404
 
405
- var styles$d = {"container":"micromag-editor-forms-screen-container","inner":"micromag-editor-forms-screen-inner"};
405
+ var styles$f = {"container":"micromag-editor-forms-screen-container","inner":"micromag-editor-forms-screen-inner"};
406
406
 
407
407
  var propTypes$l = {
408
408
  value: PropTypes$1.component,
@@ -445,9 +445,9 @@ var ScreenForm = function ScreenForm(_ref) {
445
445
 
446
446
 
447
447
  return /*#__PURE__*/React.createElement("div", {
448
- className: classNames([styles$d.container, _defineProperty({}, className, className)])
448
+ className: classNames([styles$f.container, _defineProperty({}, className, className)])
449
449
  }, /*#__PURE__*/React.createElement("div", {
450
- className: styles$d.inner
450
+ className: styles$f.inner
451
451
  }, /*#__PURE__*/React.createElement(Fields, {
452
452
  fields: fields,
453
453
  value: value,
@@ -485,7 +485,7 @@ var FieldWithContexts = function FieldWithContexts(props) {
485
485
  FieldWithContexts.propTypes = propTypes$k;
486
486
  FieldWithContexts.defaultProps = defaultProps$k;
487
487
 
488
- var styles$c = {"container":"micromag-editor-modals-delete-screen-container","description":"micromag-editor-modals-delete-screen-description","actions":"micromag-editor-modals-delete-screen-actions"};
488
+ var styles$e = {"container":"micromag-editor-modals-delete-screen-container","description":"micromag-editor-modals-delete-screen-description","actions":"micromag-editor-modals-delete-screen-actions"};
489
489
 
490
490
  var propTypes$j = {
491
491
  className: PropTypes.string,
@@ -510,10 +510,10 @@ var DeleteScreenModal = function DeleteScreenModal(_ref) {
510
510
  "value": "Delete screen"
511
511
  }]
512
512
  }),
513
- className: classNames([styles$c.container, _defineProperty({}, className, className)]),
513
+ className: classNames([styles$e.container, _defineProperty({}, className, className)]),
514
514
  onClickClose: onCancel
515
515
  }, /*#__PURE__*/React.createElement("div", {
516
- className: styles$c.description
516
+ className: styles$e.description
517
517
  }, /*#__PURE__*/React.createElement(Label, null, /*#__PURE__*/React.createElement(FormattedMessage, {
518
518
  id: "q/tLk0",
519
519
  defaultMessage: [{
@@ -521,7 +521,7 @@ var DeleteScreenModal = function DeleteScreenModal(_ref) {
521
521
  "value": "Are you sure you want to delete this screen?"
522
522
  }]
523
523
  }))), /*#__PURE__*/React.createElement("div", {
524
- className: styles$c.actions
524
+ className: styles$e.actions
525
525
  }, /*#__PURE__*/React.createElement(Button, {
526
526
  onClick: onCancel,
527
527
  className: "btn-outline-secondary mr-2"
@@ -547,7 +547,7 @@ var DeleteScreenModal = function DeleteScreenModal(_ref) {
547
547
  DeleteScreenModal.propTypes = propTypes$j;
548
548
  DeleteScreenModal.defaultProps = defaultProps$j;
549
549
 
550
- 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"};
550
+ 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"};
551
551
 
552
552
  var propTypes$i = {
553
553
  value: PropTypes.oneOfType([PropTypes$1.story, PropTypes$1.theme]),
@@ -590,7 +590,7 @@ var EditForm = function EditForm(_ref) {
590
590
  });
591
591
  var screen = screenIndex !== -1 ? screens[screenIndex] : null; // Get transition value
592
592
 
593
- var _useFormTransition = useFormTransition(url, screenIndex, styles$b),
593
+ var _useFormTransition = useFormTransition(url, screenIndex, styles$d),
594
594
  transitionName = _useFormTransition.name,
595
595
  transitionTimeout = _useFormTransition.timeout;
596
596
 
@@ -706,7 +706,7 @@ var EditForm = function EditForm(_ref) {
706
706
  compact: true,
707
707
  noWrap: true,
708
708
  withoutCollapse: true,
709
- className: classNames(['sticky-top', 'border-bottom', 'border-dark', styles$b.navbar])
709
+ className: classNames(['sticky-top', 'border-bottom', 'border-dark', styles$d.navbar])
710
710
  }, /*#__PURE__*/React.createElement(Breadcrumb, {
711
711
  story: value,
712
712
  url: url,
@@ -722,14 +722,14 @@ var EditForm = function EditForm(_ref) {
722
722
  align: "right",
723
723
  onClickOutside: onDropdownClickOutside
724
724
  })) : null) : null, /*#__PURE__*/React.createElement("div", {
725
- className: classNames(['flex-grow-1', 'd-flex', 'w-100', styles$b.content])
725
+ className: classNames(['flex-grow-1', 'd-flex', 'w-100', styles$d.content])
726
726
  }, screen !== null ? /*#__PURE__*/React.createElement(CSSTransitionGroup, {
727
727
  transitionName: transitionName,
728
728
  transitionEnterTimeout: transitionTimeout,
729
729
  transitionLeaveTimeout: transitionTimeout,
730
730
  className: "w-100 flex-grow-1"
731
731
  }, fieldParams !== null ? /*#__PURE__*/React.createElement("div", {
732
- className: classNames(['w-100', styles$b.panel]),
732
+ className: classNames(['w-100', styles$d.panel]),
733
733
  key: "field-".concat(fieldParams, "-").concat(formParams)
734
734
  }, /*#__PURE__*/React.createElement(ScreenProvider, {
735
735
  data: screen
@@ -737,19 +737,19 @@ var EditForm = function EditForm(_ref) {
737
737
  name: fieldParams.replace(/\//g, '.'),
738
738
  value: screen,
739
739
  form: formParams,
740
- className: styles$b.form,
740
+ className: styles$d.form,
741
741
  gotoFieldForm: gotoFieldForm,
742
742
  closeFieldForm: closeFieldForm,
743
743
  fieldContext: fieldContext,
744
744
  onChange: onScreenFormChange
745
745
  }))) : /*#__PURE__*/React.createElement("div", {
746
- className: classNames(['w-100', styles$b.panel]),
746
+ className: classNames(['w-100', styles$d.panel]),
747
747
  key: "screen-".concat(screen.id)
748
748
  }, /*#__PURE__*/React.createElement(ScreenProvider, {
749
749
  data: screen
750
750
  }, /*#__PURE__*/React.createElement(ScreenForm, {
751
751
  value: screen,
752
- className: styles$b.form,
752
+ className: styles$d.form,
753
753
  onChange: onScreenFormChange,
754
754
  gotoFieldForm: gotoFieldForm,
755
755
  closeFieldForm: closeFieldForm
@@ -791,6 +791,8 @@ var useThemeValue = function useThemeValue(value) {
791
791
  return valueWithTheme;
792
792
  };
793
793
 
794
+ var styles$c = {"container":"micromag-editor-menus-devices-container","button":"micromag-editor-menus-devices-button"};
795
+
794
796
  /* eslint-disable react/button-has-type, react/jsx-props-no-spreading */
795
797
  var propTypes$h = {
796
798
  color: PropTypes.string,
@@ -863,7 +865,7 @@ var DeviceIcons = /*#__PURE__*/Object.freeze({
863
865
  Mobile: MobileIcon
864
866
  });
865
867
 
866
- var styles$a = {"container":"micromag-editor-buttons-device-container","icon":"micromag-editor-buttons-device-icon"};
868
+ var styles$b = {"container":"micromag-editor-buttons-device-container","icon":"micromag-editor-buttons-device-icon"};
867
869
 
868
870
  var _excluded$6 = ["device", "className", "iconComponents"];
869
871
  var propTypes$f = {
@@ -884,17 +886,15 @@ var DeviceButton = function DeviceButton(_ref) {
884
886
 
885
887
  var DeviceIcon = getComponentFromName(device, iconComponents, DesktopIcon);
886
888
  return /*#__PURE__*/React.createElement(Button, Object.assign({
887
- className: classNames([styles$a.container, _defineProperty({}, className, className !== null)])
889
+ className: classNames([styles$b.container, _defineProperty({}, className, className !== null)])
888
890
  }, props), /*#__PURE__*/React.createElement(DeviceIcon, {
889
- className: styles$a.icon
891
+ className: styles$b.icon
890
892
  }));
891
893
  };
892
894
 
893
895
  DeviceButton.propTypes = propTypes$f;
894
896
  DeviceButton.defaultProps = defaultProps$f;
895
897
 
896
- var styles$9 = {"container":"micromag-editor-menus-devices-container","button":"micromag-editor-menus-devices-button"};
897
-
898
898
  var _excluded$5 = ["id"];
899
899
  var propTypes$e = {
900
900
  items: PropTypes$1.menuItems,
@@ -914,7 +914,7 @@ var DevicesMenu = function DevicesMenu(_ref) {
914
914
  return /*#__PURE__*/React.createElement(Tabs, {
915
915
  items: items,
916
916
  theme: "outline-secondary",
917
- className: classNames([styles$9.container, _defineProperty({}, className, className !== null)]),
917
+ className: classNames([styles$c.container, _defineProperty({}, className, className !== null)]),
918
918
  renderItemButton: function renderItemButton(item, index, props) {
919
919
  var id = item.id,
920
920
  itemProps = _objectWithoutProperties(item, _excluded$5);
@@ -922,7 +922,7 @@ var DevicesMenu = function DevicesMenu(_ref) {
922
922
  return /*#__PURE__*/React.createElement(DeviceButton, Object.assign({
923
923
  device: id
924
924
  }, props, itemProps, {
925
- className: styles$9.button,
925
+ className: styles$c.button,
926
926
  onClick: function onClick(e) {
927
927
  return onClickItem !== null ? onClickItem(e, item, index) : null;
928
928
  }
@@ -934,7 +934,7 @@ var DevicesMenu = function DevicesMenu(_ref) {
934
934
  DevicesMenu.propTypes = propTypes$e;
935
935
  DevicesMenu.defaultProps = defaultProps$e;
936
936
 
937
- 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"};
937
+ 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"};
938
938
 
939
939
  var propTypes$d = {
940
940
  value: PropTypes.oneOfType([PropTypes$1.story, PropTypes$1.theme]),
@@ -1036,13 +1036,13 @@ var EditorPreview = function EditorPreview(_ref) {
1036
1036
  };
1037
1037
  }, [device, contentRect, screen, withoutDevicesSizes]);
1038
1038
  return /*#__PURE__*/React.createElement("div", {
1039
- className: classNames([styles$8.container, screens.map(function (screenName) {
1040
- return styles$8["screen-".concat(screenName)];
1041
- }), (_ref3 = {}, _defineProperty(_ref3, className, className), _defineProperty(_ref3, styles$8.withoutDevicesSizes, withoutDevicesSizes), _ref3)])
1039
+ className: classNames([styles$a.container, screens.map(function (screenName) {
1040
+ return styles$a["screen-".concat(screenName)];
1041
+ }), (_ref3 = {}, _defineProperty(_ref3, className, className), _defineProperty(_ref3, styles$a.withoutDevicesSizes, withoutDevicesSizes), _ref3)])
1042
1042
  }, /*#__PURE__*/React.createElement("div", {
1043
- className: styles$8.inner
1043
+ className: styles$a.inner
1044
1044
  }, !withoutDevicesSizes ? /*#__PURE__*/React.createElement("div", {
1045
- className: styles$8.top
1045
+ className: styles$a.top
1046
1046
  }, /*#__PURE__*/React.createElement(DevicesMenu, {
1047
1047
  items: devices.map(function (it) {
1048
1048
  return _objectSpread(_objectSpread({}, it), {}, {
@@ -1051,12 +1051,12 @@ var EditorPreview = function EditorPreview(_ref) {
1051
1051
  }),
1052
1052
  onClickItem: onClickDeviceItem
1053
1053
  })) : null, /*#__PURE__*/React.createElement("div", {
1054
- className: styles$8.bottom
1054
+ className: styles$a.bottom
1055
1055
  }, /*#__PURE__*/React.createElement("div", {
1056
- className: styles$8.inner,
1056
+ className: styles$a.inner,
1057
1057
  ref: bottomRef
1058
1058
  }, /*#__PURE__*/React.createElement("div", {
1059
- className: styles$8.preview,
1059
+ className: styles$a.preview,
1060
1060
  style: previewStyle
1061
1061
  }, /*#__PURE__*/React.createElement(Route, {
1062
1062
  path: [routes.screen, routes.home],
@@ -1064,12 +1064,12 @@ var EditorPreview = function EditorPreview(_ref) {
1064
1064
  var _ref4$match$params$sc = _ref4.match.params.screen,
1065
1065
  screenId = _ref4$match$params$sc === void 0 ? null : _ref4$match$params$sc;
1066
1066
  return /*#__PURE__*/React.createElement("div", {
1067
- className: styles$8.viewerContainer
1067
+ className: styles$a.viewerContainer
1068
1068
  }, /*#__PURE__*/React.createElement(Viewer, {
1069
1069
  story: valueParsed,
1070
1070
  storyIsParsed: true,
1071
1071
  screen: screenId,
1072
- className: styles$8.story,
1072
+ className: styles$a.story,
1073
1073
  theme: viewerTheme,
1074
1074
  interactions: null,
1075
1075
  renderContext: "edit",
@@ -1082,13 +1082,13 @@ var EditorPreview = function EditorPreview(_ref) {
1082
1082
  EditorPreview.propTypes = propTypes$d;
1083
1083
  EditorPreview.defaultProps = defaultProps$d;
1084
1084
 
1085
- var styles$7 = {"container":"micromag-editor-screens-container","navbar":"micromag-editor-screens-navbar"};
1085
+ var styles$9 = {"container":"micromag-editor-screens-container","navbar":"micromag-editor-screens-navbar"};
1086
1086
 
1087
- 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"};
1087
+ 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"};
1088
1088
 
1089
- 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"};
1089
+ 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"};
1090
1090
 
1091
- 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"};
1091
+ 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"};
1092
1092
 
1093
1093
  var propTypes$c = {
1094
1094
  active: PropTypes.bool,
@@ -1132,17 +1132,17 @@ var ScreenButton = function ScreenButton(_ref) {
1132
1132
  onClick = _ref.onClick,
1133
1133
  refButton = _ref.refButton;
1134
1134
  return /*#__PURE__*/React.createElement("div", {
1135
- className: classNames([styles$4.container, 'rounded', (_ref2 = {}, _defineProperty(_ref2, styles$4.active, active), _defineProperty(_ref2, className, className !== null), _ref2)])
1135
+ className: classNames([styles$6.container, 'rounded', (_ref2 = {}, _defineProperty(_ref2, styles$6.active, active), _defineProperty(_ref2, className, className !== null), _ref2)])
1136
1136
  }, /*#__PURE__*/React.createElement("div", {
1137
- className: styles$4.screen
1137
+ className: styles$6.screen
1138
1138
  }, children !== null ? children : /*#__PURE__*/React.createElement("div", {
1139
- className: styles$4.inner
1139
+ className: styles$6.inner
1140
1140
  }, icon !== null ? /*#__PURE__*/React.createElement("div", {
1141
- className: styles$4.icon
1141
+ className: styles$6.icon
1142
1142
  }, icon) : null, label !== null ? /*#__PURE__*/React.createElement("div", {
1143
- className: styles$4.label
1143
+ className: styles$6.label
1144
1144
  }, label) : null)), /*#__PURE__*/React.createElement(Button, {
1145
- className: styles$4.button,
1145
+ className: styles$6.button,
1146
1146
  withoutStyle: true,
1147
1147
  id: id,
1148
1148
  href: href,
@@ -1150,7 +1150,7 @@ var ScreenButton = function ScreenButton(_ref) {
1150
1150
  onClick: onClick,
1151
1151
  refButton: refButton
1152
1152
  }, /*#__PURE__*/React.createElement("span", {
1153
- className: classNames([styles$4.border, 'rounded'])
1153
+ className: classNames([styles$6.border, 'rounded'])
1154
1154
  })));
1155
1155
  };
1156
1156
 
@@ -1211,7 +1211,7 @@ var ScreenWithPreview = function ScreenWithPreview(_ref) {
1211
1211
  height = _ref2$height === void 0 ? null : _ref2$height;
1212
1212
 
1213
1213
  return /*#__PURE__*/React.createElement(ScreenButton$1, Object.assign({}, screen, {
1214
- className: classNames([styles$5.button, (_ref3 = {}, _defineProperty(_ref3, buttonClassName, buttonClassName !== null), _defineProperty(_ref3, className, className !== null), _ref3)]),
1214
+ className: classNames([styles$7.button, (_ref3 = {}, _defineProperty(_ref3, buttonClassName, buttonClassName !== null), _defineProperty(_ref3, className, className !== null), _ref3)]),
1215
1215
  title: isMessage(title) ? intl.formatMessage(title) : null,
1216
1216
  onClick: function onClick() {
1217
1217
  if (_onClick !== null) {
@@ -1223,21 +1223,21 @@ var ScreenWithPreview = function ScreenWithPreview(_ref) {
1223
1223
  }
1224
1224
  }
1225
1225
  }), withPreview && !withPlaceholder ? /*#__PURE__*/React.createElement("div", {
1226
- className: styles$5.preview,
1226
+ className: styles$7.preview,
1227
1227
  style: previewStyle
1228
1228
  }, /*#__PURE__*/React.createElement(ScreenPreview, {
1229
1229
  screen: screen,
1230
1230
  width: width,
1231
1231
  height: height,
1232
- className: styles$5.screen
1232
+ className: styles$7.screen
1233
1233
  })) : null, withPlaceholder && !withPreview ? /*#__PURE__*/React.createElement("div", {
1234
- className: styles$5.placeholder,
1234
+ className: styles$7.placeholder,
1235
1235
  style: previewStyle
1236
1236
  }, /*#__PURE__*/React.createElement(ScreenPlaceholder, {
1237
1237
  screen: screen,
1238
1238
  width: width,
1239
1239
  height: height,
1240
- className: styles$5.screen
1240
+ className: styles$7.screen
1241
1241
  })) : null);
1242
1242
  };
1243
1243
 
@@ -1245,11 +1245,9 @@ ScreenWithPreview.propTypes = propTypes$b;
1245
1245
  ScreenWithPreview.defaultProps = defaultProps$b;
1246
1246
 
1247
1247
  var iOS = /iPad|iPhone|iPod/.test(navigator.platform);
1248
-
1249
1248
  function getDragDepth(offset, indentationWidth) {
1250
1249
  return Math.round(offset / indentationWidth);
1251
1250
  }
1252
-
1253
1251
  function getMaxDepth(_ref) {
1254
1252
  var previousItem = _ref.previousItem;
1255
1253
 
@@ -1260,7 +1258,6 @@ function getMaxDepth(_ref) {
1260
1258
 
1261
1259
  return 0;
1262
1260
  }
1263
-
1264
1261
  function getMinDepth(_ref2) {
1265
1262
  var nextItem = _ref2.nextItem;
1266
1263
 
@@ -1271,7 +1268,6 @@ function getMinDepth(_ref2) {
1271
1268
 
1272
1269
  return 0;
1273
1270
  }
1274
-
1275
1271
  function getProjection(items, activeId, overId, dragOffset, indentationWidth) {
1276
1272
  var overItemIndex = items.findIndex(function (_ref3) {
1277
1273
  var id = _ref3.id;
@@ -1345,49 +1341,54 @@ function flatten(items) {
1345
1341
  function flattenTree(items) {
1346
1342
  return flatten(items);
1347
1343
  }
1344
+ function findItem(items, itemId) {
1345
+ return items.find(function (_ref5) {
1346
+ var id = _ref5.id;
1347
+ return id === itemId;
1348
+ });
1349
+ }
1348
1350
  function buildTree(flattenedItems) {
1351
+ var root = {
1352
+ id: 'root',
1353
+ children: []
1354
+ };
1355
+
1356
+ var nodes = _defineProperty({}, root.id, root);
1357
+
1349
1358
  var items = flattenedItems.map(function (item) {
1350
1359
  return _objectSpread(_objectSpread({}, item), {}, {
1351
1360
  children: []
1352
1361
  });
1353
- });
1354
- var nodeList = items.reduce(function (acc, item) {
1355
- var _item$parentId = item.parentId,
1356
- parentId = _item$parentId === void 0 ? null : _item$parentId;
1357
-
1358
- if (parentId) {
1359
- var found = false;
1360
- var newList = acc.map(function (it) {
1361
- if (it.id === parentId) {
1362
- found = true;
1363
- return _objectSpread(_objectSpread({}, it), {}, {
1364
- children: [].concat(_toConsumableArray(it.children), [_objectSpread({}, item)])
1365
- });
1366
- }
1362
+ }); // eslint-disable-next-line no-restricted-syntax
1367
1363
 
1368
- return it;
1369
- });
1364
+ var _iterator = _createForOfIteratorHelper(items),
1365
+ _step;
1370
1366
 
1371
- if (found) {
1372
- return newList;
1373
- }
1367
+ try {
1368
+ for (_iterator.s(); !(_step = _iterator.n()).done;) {
1369
+ var _item$parentId, _nodes$parentId;
1374
1370
 
1375
- acc.push(_objectSpread(_objectSpread({}, items.find(function (_ref5) {
1376
- var id = _ref5.id;
1377
- return id === parentId;
1378
- }) || null), {}, {
1379
- children: [item]
1380
- }));
1381
- return acc;
1371
+ var item = _step.value;
1372
+ var id = item.id,
1373
+ children = item.children;
1374
+ var parentId = (_item$parentId = item.parentId) !== null && _item$parentId !== void 0 ? _item$parentId : root.id;
1375
+ var parent = (_nodes$parentId = nodes[parentId]) !== null && _nodes$parentId !== void 0 ? _nodes$parentId : findItem(items, parentId);
1376
+ nodes[id] = {
1377
+ id: id,
1378
+ children: children
1379
+ };
1380
+ parent.children.push(item);
1382
1381
  }
1382
+ } catch (err) {
1383
+ _iterator.e(err);
1384
+ } finally {
1385
+ _iterator.f();
1386
+ }
1383
1387
 
1384
- acc.push(item);
1385
- return acc;
1386
- }, []);
1387
- return nodeList;
1388
+ return root.children;
1388
1389
  }
1389
1390
  function findItemDeep(items, itemId) {
1390
- for (var i = 0; i < items.length - 1; i += 1) {
1391
+ for (var i = 0; i < items.length; i += 1) {
1391
1392
  var item = items[i] || {};
1392
1393
  var id = item.id,
1393
1394
  _item$children = item.children,
@@ -1397,7 +1398,7 @@ function findItemDeep(items, itemId) {
1397
1398
  return item;
1398
1399
  }
1399
1400
 
1400
- if (children.length) {
1401
+ if (children.length > 0) {
1401
1402
  var child = findItemDeep(children, itemId);
1402
1403
 
1403
1404
  if (child) {
@@ -1409,65 +1410,57 @@ function findItemDeep(items, itemId) {
1409
1410
  return undefined;
1410
1411
  }
1411
1412
  function removeItem(items, id) {
1412
- var newItems = [];
1413
+ var newItems = []; // eslint-disable-next-line no-restricted-syntax
1413
1414
 
1414
- for (var i = 0; i < items.length - 1; i += 1) {
1415
- var item = items[i] || {};
1415
+ var _iterator2 = _createForOfIteratorHelper(items),
1416
+ _step2;
1416
1417
 
1417
- if (item.id === id) {
1418
- // eslint-disable-next-line no-continue
1419
- continue;
1420
- }
1418
+ try {
1419
+ for (_iterator2.s(); !(_step2 = _iterator2.n()).done;) {
1420
+ var item = _step2.value;
1421
1421
 
1422
- if (item.children.length) {
1423
- item.children = removeItem(item.children || [], id);
1424
- }
1422
+ if (item.id === id) {
1423
+ // eslint-disable-next-line no-continue
1424
+ continue;
1425
+ }
1426
+
1427
+ if (item.children.length) {
1428
+ item.children = removeItem(item.children, id);
1429
+ }
1425
1430
 
1426
- newItems.push(item);
1431
+ newItems.push(item);
1432
+ }
1433
+ } catch (err) {
1434
+ _iterator2.e(err);
1435
+ } finally {
1436
+ _iterator2.f();
1427
1437
  }
1428
1438
 
1429
1439
  return newItems;
1430
1440
  }
1431
1441
  function setProperty(items, id, property, setter) {
1432
- // const item = items[i];
1433
- // if (item.id === id) {
1434
- // item[property] = setter(item[property]);
1435
- // newItems.push({ ...item });
1436
- // } else {
1437
- // const { children = [] } = item;
1438
- // let newChildren = [];
1439
- // if (children.length > 0) {
1440
- // newChildren = setProperty(children, id, property, setter);
1441
- // }
1442
- // newItems.push({ ...item, children: newChildren });
1443
- // }
1444
- // }
1445
-
1446
- var _iterator = _createForOfIteratorHelper(items),
1447
- _step;
1442
+ // eslint-disable-next-line no-restricted-syntax
1443
+ var _iterator3 = _createForOfIteratorHelper(items),
1444
+ _step3;
1448
1445
 
1449
1446
  try {
1450
- for (_iterator.s(); !(_step = _iterator.n()).done;) {
1451
- var item = _step.value;
1447
+ for (_iterator3.s(); !(_step3 = _iterator3.n()).done;) {
1448
+ var item = _step3.value;
1452
1449
 
1453
1450
  if (item.id === id) {
1454
- item[property] = setter(item[property]);
1451
+ item[property] = setter(item[property]); // eslint-disable-next-line no-continue
1452
+
1455
1453
  continue;
1456
1454
  }
1457
1455
 
1458
- var _item$children2 = item.children,
1459
- children = _item$children2 === void 0 ? [] : _item$children2;
1460
-
1461
- if (children.length) {
1462
- children = setProperty(children, id, property, setter);
1456
+ if (item.children.length) {
1457
+ item.children = setProperty(item.children, id, property, setter);
1463
1458
  }
1464
- } // console.log('fubar', items, newItems);
1465
- // return newItems;
1466
-
1459
+ }
1467
1460
  } catch (err) {
1468
- _iterator.e(err);
1461
+ _iterator3.e(err);
1469
1462
  } finally {
1470
- _iterator.f();
1463
+ _iterator3.f();
1471
1464
  }
1472
1465
 
1473
1466
  return _toConsumableArray(items);
@@ -1475,9 +1468,9 @@ function setProperty(items, id, property, setter) {
1475
1468
 
1476
1469
  function countChildren(items) {
1477
1470
  var count = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 0;
1478
- return items.reduce(function (acc, _ref7) {
1479
- var _ref7$children = _ref7.children,
1480
- children = _ref7$children === void 0 ? [] : _ref7$children;
1471
+ return items.reduce(function (acc, _ref6) {
1472
+ var _ref6$children = _ref6.children,
1473
+ children = _ref6$children === void 0 ? [] : _ref6$children;
1481
1474
 
1482
1475
  if (children.length) {
1483
1476
  return countChildren(children, acc + 1);
@@ -1500,8 +1493,8 @@ function removeChildrenOf(items, ids) {
1500
1493
 
1501
1494
  return items.filter(function (item) {
1502
1495
  if (item.parentId && excludeParentIds.includes(item.parentId)) {
1503
- var _item$children3 = item.children,
1504
- children = _item$children3 === void 0 ? [] : _item$children3;
1496
+ var _item$children2 = item.children,
1497
+ children = _item$children2 === void 0 ? [] : _item$children2;
1505
1498
 
1506
1499
  if (children.length) {
1507
1500
  excludeParentIds.push(item.id);
@@ -1649,9 +1642,13 @@ var sortableTreeKeyboardCoordinates = function sortableTreeKeyboardCoordinates(c
1649
1642
  };
1650
1643
  };
1651
1644
 
1652
- 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"};
1645
+ 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"};
1646
+
1647
+ var styles$4 = {};
1648
+
1649
+ 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"};
1653
1650
 
1654
- var _excluded$4 = ["childCount", "clone", "depth", "disableSelection", "disableInteraction", "ghost", "handleProps", "indentationWidth", "indicator", "collapsed", "onCollapse", "onRemove", "onClick", "style", "value", "wrapperRef", "showId", "children"];
1651
+ var _excluded$4 = ["childCount", "clone", "depth", "disableSelection", "disableInteraction", "ghost", "handleProps", "indentationWidth", "indicator", "collapsed", "onCollapse", "onRemove", "onClick", "style", "value", "wrapperRef", "showId", "showCount", "children"];
1655
1652
  var propTypes$a = {
1656
1653
  childCount: PropTypes.number,
1657
1654
  clone: PropTypes.bool,
@@ -1676,6 +1673,7 @@ var propTypes$a = {
1676
1673
  transform: PropTypes.string.isRequired
1677
1674
  }),
1678
1675
  showId: PropTypes.bool,
1676
+ showCount: PropTypes.bool,
1679
1677
  children: PropTypes.node
1680
1678
  };
1681
1679
  var defaultProps$a = {
@@ -1694,6 +1692,7 @@ var defaultProps$a = {
1694
1692
  wrapperRef: null,
1695
1693
  style: null,
1696
1694
  showId: false,
1695
+ showCount: false,
1697
1696
  children: null
1698
1697
  };
1699
1698
  var SortableTreeItemActions = /*#__PURE__*/forwardRef(function (_ref, ref) {
@@ -1710,12 +1709,13 @@ var SortableTreeItemActions = /*#__PURE__*/forwardRef(function (_ref, ref) {
1710
1709
  indicator = _ref.indicator,
1711
1710
  collapsed = _ref.collapsed,
1712
1711
  onCollapse = _ref.onCollapse,
1713
- onRemove = _ref.onRemove,
1714
- onClick = _ref.onClick,
1715
- style = _ref.style,
1716
- value = _ref.value,
1717
- wrapperRef = _ref.wrapperRef,
1718
- showId = _ref.showId,
1712
+ onRemove = _ref.onRemove;
1713
+ _ref.onClick;
1714
+ var style = _ref.style;
1715
+ _ref.value;
1716
+ var wrapperRef = _ref.wrapperRef;
1717
+ _ref.showId;
1718
+ var showCount = _ref.showCount,
1719
1719
  children = _ref.children,
1720
1720
  props = _objectWithoutProperties(_ref, _excluded$4);
1721
1721
 
@@ -1727,42 +1727,26 @@ var SortableTreeItemActions = /*#__PURE__*/forwardRef(function (_ref, ref) {
1727
1727
  }, style)
1728
1728
  }, props), /*#__PURE__*/React.createElement("div", {
1729
1729
  className: styles$3.inner,
1730
- ref: ref,
1731
- style: {
1732
- width: style.width,
1733
- height: style.height
1734
- }
1730
+ ref: ref
1735
1731
  }, /*#__PURE__*/React.createElement("button", Object.assign({
1736
1732
  className: classNames([styles$3.button, styles$3.handle]),
1737
1733
  type: "button"
1738
1734
  }, handleProps), /*#__PURE__*/React.createElement(FontAwesomeIcon, {
1735
+ className: styles$3.icon,
1739
1736
  icon: faGripLines
1740
- })), /*#__PURE__*/React.createElement("button", {
1741
- className: classNames([styles$3.button, styles$3.full]),
1742
- type: "button",
1743
- onClick: onClick,
1744
- style: {
1745
- width: style.width,
1746
- height: style.height
1747
- }
1748
- }), showId ? /*#__PURE__*/React.createElement("span", {
1749
- className: styles$3.text
1750
- }, value) : null, !clone && onRemove ? /*#__PURE__*/React.createElement("button", {
1737
+ })), !clone && onRemove ? /*#__PURE__*/React.createElement("button", {
1751
1738
  type: "button",
1752
1739
  onClick: onRemove
1753
1740
  }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
1754
1741
  icon: faTimes
1755
- })) : null, clone && childCount && childCount > 1 ? /*#__PURE__*/React.createElement("span", {
1742
+ })) : null, clone && showCount && childCount && childCount > 1 ? /*#__PURE__*/React.createElement("span", {
1756
1743
  className: styles$3.count
1757
- }, childCount) : null, onCollapse && childCount !== null && childCount > 0 ? /*#__PURE__*/React.createElement("span", {
1744
+ }, childCount) : null, onCollapse && collapsed && childCount !== null && childCount > 0 ? /*#__PURE__*/React.createElement("span", {
1758
1745
  className: styles$3.collapsedCount
1759
1746
  }, childCount) : null, onCollapse && depth === 0 ? /*#__PURE__*/React.createElement("button", {
1760
1747
  type: "button",
1761
1748
  onClick: onCollapse,
1762
- className: classNames(styles$3.button, styles$3.collapse, collapsed && styles$3.collapsed),
1763
- style: {
1764
- width: style.width
1765
- }
1749
+ className: classNames(styles$3.button, styles$3.collapse, collapsed && styles$3.collapsed)
1766
1750
  }, /*#__PURE__*/React.createElement(FontAwesomeIcon, {
1767
1751
  icon: faAngleDown
1768
1752
  })) : null), /*#__PURE__*/React.createElement("div", {
@@ -1772,13 +1756,14 @@ var SortableTreeItemActions = /*#__PURE__*/forwardRef(function (_ref, ref) {
1772
1756
  SortableTreeItemActions.propTypes = propTypes$a;
1773
1757
  SortableTreeItemActions.defaultProps = defaultProps$a;
1774
1758
 
1775
- var _excluded$3 = ["id", "depth", "component", "screenValue", "style", "onCollapse", "onClick"];
1759
+ var _excluded$3 = ["id", "index", "depth", "component", "value", "style", "smallScale", "collapsed", "onCollapse", "onClickItem", "isLastChild"];
1776
1760
  var propTypes$9 = {
1777
1761
  id: PropTypes.string.isRequired,
1762
+ index: PropTypes.number.isRequired,
1778
1763
  depth: PropTypes.number.isRequired,
1779
1764
  component: PropTypes.func,
1780
1765
  // eslint-disable-next-line react/forbid-prop-types
1781
- screenValue: PropTypes.object,
1766
+ value: PropTypes.object,
1782
1767
  style: PropTypes.shape({
1783
1768
  width: PropTypes.number.isRequired,
1784
1769
  height: PropTypes.number.isRequired,
@@ -1787,15 +1772,21 @@ var propTypes$9 = {
1787
1772
  transform: PropTypes.string.isRequired,
1788
1773
  scale: PropTypes.number.isRequired
1789
1774
  }),
1775
+ smallScale: PropTypes.number,
1776
+ collapsed: PropTypes.bool,
1790
1777
  onCollapse: PropTypes.func,
1791
- onClick: PropTypes.func
1778
+ onClickItem: PropTypes.func,
1779
+ isLastChild: PropTypes.bool
1792
1780
  };
1793
1781
  var defaultProps$9 = {
1794
1782
  component: null,
1795
- screenValue: null,
1783
+ value: null,
1796
1784
  style: null,
1785
+ smallScale: 0.75,
1786
+ collapsed: false,
1797
1787
  onCollapse: null,
1798
- onClick: null
1788
+ onClickItem: null,
1789
+ isLastChild: false
1799
1790
  };
1800
1791
 
1801
1792
  var animateLayoutChanges = function animateLayoutChanges(_ref) {
@@ -1806,13 +1797,17 @@ var animateLayoutChanges = function animateLayoutChanges(_ref) {
1806
1797
 
1807
1798
  var SortableTreeItem = function SortableTreeItem(_ref2) {
1808
1799
  var id = _ref2.id,
1800
+ index = _ref2.index,
1809
1801
  depth = _ref2.depth,
1810
1802
  Component = _ref2.component,
1811
- screenValue = _ref2.screenValue,
1803
+ value = _ref2.value,
1812
1804
  itemStyle = _ref2.style,
1805
+ smallScale = _ref2.smallScale,
1806
+ collapsed = _ref2.collapsed,
1813
1807
  onCollapse = _ref2.onCollapse,
1814
- onClick = _ref2.onClick,
1815
- props = _objectWithoutProperties(_ref2, _excluded$3);
1808
+ onClickItem = _ref2.onClickItem;
1809
+ _ref2.isLastChild;
1810
+ var props = _objectWithoutProperties(_ref2, _excluded$3);
1816
1811
 
1817
1812
  var _useSortable = useSortable({
1818
1813
  id: id,
@@ -1836,18 +1831,32 @@ var SortableTreeItem = function SortableTreeItem(_ref2) {
1836
1831
  scale = _itemStyle$scale === void 0 ? 1 : _itemStyle$scale;
1837
1832
  var extraHeight = hasCollapse ? 30 : 0;
1838
1833
  var actionsStyle = {
1839
- width: depth === 0 ? scaledWidth : scaledWidth * 0.75,
1840
- height: depth === 0 ? scaledHeight + extraHeight : scaledHeight * 0.75,
1834
+ width: depth === 0 ? scaledWidth : scaledWidth * smallScale,
1835
+ height: depth === 0 ? scaledHeight + extraHeight : scaledHeight * smallScale,
1841
1836
  transform: CSS.Translate.toString(transform),
1842
1837
  transition: transition
1843
1838
  };
1844
1839
  var previewStyle = {
1845
1840
  width: itemStyle.width,
1846
1841
  height: itemStyle.height,
1847
- transform: depth === 0 ? itemStyle.transform : "scale(".concat(scale * 0.75, ", ").concat(scale * 0.75, ")"),
1848
- transformOrigin: 'top left'
1842
+ transform: depth === 0 ? itemStyle.transform : "scale(".concat(scale * smallScale, ", ").concat(scale * smallScale, ")")
1849
1843
  };
1850
- return /*#__PURE__*/React.createElement(SortableTreeItemActions, Object.assign({
1844
+
1845
+ var _ref3 = listeners || {},
1846
+ onPointerDown = _ref3.onPointerDown;
1847
+
1848
+ var onClickAction = useCallback(function (e) {
1849
+ if (onClickItem !== null) {
1850
+ onClickItem(value, index);
1851
+ }
1852
+
1853
+ if (onPointerDown !== null) {
1854
+ onPointerDown(e);
1855
+ }
1856
+ }, [value, index, onClickItem, onPointerDown]);
1857
+ return /*#__PURE__*/React.createElement("div", {
1858
+ className: classNames([styles$4.container])
1859
+ }, /*#__PURE__*/React.createElement(SortableTreeItemActions, Object.assign({
1851
1860
  ref: setDraggableNodeRef,
1852
1861
  wrapperRef: setDroppableNodeRef,
1853
1862
  style: actionsStyle,
@@ -1855,12 +1864,14 @@ var SortableTreeItem = function SortableTreeItem(_ref2) {
1855
1864
  ghost: isDragging,
1856
1865
  disableSelection: iOS,
1857
1866
  disableInteraction: isSorting,
1858
- handleProps: _objectSpread(_objectSpread({}, attributes), listeners),
1859
- onCollapse: onCollapse,
1860
- onClick: onClick
1861
- }, props), Component !== null ? /*#__PURE__*/React.createElement(Component, Object.assign({}, screenValue, {
1867
+ handleProps: _objectSpread(_objectSpread(_objectSpread({}, attributes), listeners), {}, {
1868
+ onPointerDown: onClickAction
1869
+ }),
1870
+ collapsed: collapsed,
1871
+ onCollapse: onCollapse
1872
+ }, props), Component !== null ? /*#__PURE__*/React.createElement(Component, Object.assign({}, value, {
1862
1873
  previewStyle: previewStyle
1863
- })) : null);
1874
+ })) : null));
1864
1875
  };
1865
1876
  SortableTreeItem.propTypes = propTypes$9;
1866
1877
  SortableTreeItem.defaultProps = defaultProps$9;
@@ -1978,7 +1989,8 @@ var SortableTree = function SortableTree(_ref2) {
1978
1989
  var flattenedTree = flattenTree(items); // console.log('yo', items, flattenedTree);
1979
1990
 
1980
1991
  var collapsedItems = flattenedTree.reduce(function (acc, _ref3) {
1981
- var children = _ref3.children,
1992
+ var _ref3$children = _ref3.children,
1993
+ children = _ref3$children === void 0 ? [] : _ref3$children,
1982
1994
  collapsed = _ref3.collapsed,
1983
1995
  id = _ref3.id;
1984
1996
  return collapsed && children.length ? [].concat(_toConsumableArray(acc), [id]) : acc;
@@ -2035,11 +2047,14 @@ var SortableTree = function SortableTree(_ref2) {
2035
2047
  _ref6$children = _ref6.children,
2036
2048
  children = _ref6$children === void 0 ? [] : _ref6$children,
2037
2049
  _ref6$parentId = _ref6.parentId,
2038
- parentId = _ref6$parentId === void 0 ? null : _ref6$parentId;
2050
+ parentId = _ref6$parentId === void 0 ? null : _ref6$parentId,
2051
+ _ref6$collapsed = _ref6.collapsed,
2052
+ collapsed = _ref6$collapsed === void 0 ? false : _ref6$collapsed;
2039
2053
  return {
2040
2054
  id: itemId,
2041
2055
  props: _objectSpread(_objectSpread({}, (children || []).length > 0 ? {
2042
2056
  group: {
2057
+ collapsed: collapsed,
2043
2058
  mergeNavItems: true
2044
2059
  }
2045
2060
  } : {
@@ -2059,11 +2074,17 @@ var SortableTree = function SortableTree(_ref2) {
2059
2074
  return "Moving was cancelled. ".concat(id, " was dropped in its original position.");
2060
2075
  }
2061
2076
  };
2062
- }, [flattenedItems, onChange]); // Note: this is quite brutal for perf
2063
-
2064
- useEffect(function () {// setItems(defaultItems);
2065
- }, [defaultItems, setItems]); // console.log('render: current id', activeId);
2077
+ }, [flattenedItems, onChange]); // Initial tree setup from list
2066
2078
 
2079
+ useEffect(function () {
2080
+ // console.log('fuck off');
2081
+ setItems(buildTree(defaultItems));
2082
+ }, []);
2083
+ var activeValue = defaultItems.find(function (_ref7) {
2084
+ var _ref7$id = _ref7.id,
2085
+ defaultId = _ref7$id === void 0 ? null : _ref7$id;
2086
+ return defaultId === activeId;
2087
+ });
2067
2088
  return /*#__PURE__*/React.createElement(DndContext, {
2068
2089
  announcements: announcements,
2069
2090
  sensors: sensors,
@@ -2077,61 +2098,74 @@ var SortableTree = function SortableTree(_ref2) {
2077
2098
  }, /*#__PURE__*/React.createElement(SortableContext, {
2078
2099
  items: sortedIds,
2079
2100
  strategy: verticalListSortingStrategy
2080
- }, flattenedItems.map(function (_ref7, idx) {
2081
- var id = _ref7.id,
2082
- _ref7$children = _ref7.children,
2083
- children = _ref7$children === void 0 ? [] : _ref7$children,
2084
- collapsed = _ref7.collapsed,
2085
- depth = _ref7.depth,
2086
- _ref7$screenValue = _ref7.screenValue,
2087
- screenValue = _ref7$screenValue === void 0 ? null : _ref7$screenValue;
2088
- return /*#__PURE__*/React.createElement(SortableTreeItem, {
2101
+ }, flattenedItems.map(function (_ref8, idx) {
2102
+ var _flattenedItems, _ref10;
2103
+
2104
+ var id = _ref8.id,
2105
+ _ref8$children = _ref8.children,
2106
+ children = _ref8$children === void 0 ? [] : _ref8$children,
2107
+ collapsed = _ref8.collapsed,
2108
+ depth = _ref8.depth;
2109
+ var screenValue = defaultItems.find(function (_ref9) {
2110
+ var _ref9$id = _ref9.id,
2111
+ defaultId = _ref9$id === void 0 ? null : _ref9$id;
2112
+ return defaultId === id;
2113
+ });
2114
+ var next = ((_flattenedItems = flattenedItems[idx + 1]) === null || _flattenedItems === void 0 ? void 0 : _flattenedItems.parentId) || null;
2115
+ var isCollapsed = collapsed && children.length > 0;
2116
+ var onCollapse = collapsible && children.length ? function () {
2117
+ return handleCollapse(id);
2118
+ } : null;
2119
+ var currentDepth = id === activeId && projected ? projected.depth : depth;
2120
+ return /*#__PURE__*/React.createElement("div", {
2121
+ className: classNames([styles$5.item, (_ref10 = {}, _defineProperty(_ref10, styles$5.parent, onCollapse !== null && !collapsed), _defineProperty(_ref10, styles$5.group, depth === 1), _defineProperty(_ref10, styles$5.isLastChild, next === null), _ref10)]),
2122
+ key: id
2123
+ }, /*#__PURE__*/React.createElement(SortableTreeItem, {
2089
2124
  key: id,
2090
2125
  id: id,
2091
- value: id,
2092
- depth: id === activeId && projected ? projected.depth : depth,
2126
+ depth: currentDepth,
2093
2127
  indentationWidth: indentationWidth,
2094
2128
  indicator: indicator,
2095
- collapsed: Boolean(collapsed && children.length),
2096
- onCollapse: collapsible && children.length ? function () {
2097
- return handleCollapse(id);
2098
- } : undefined,
2129
+ collapsed: isCollapsed,
2130
+ onCollapse: onCollapse,
2099
2131
  onRemove: removable ? function () {
2100
2132
  return handleRemove(id);
2101
2133
  } : undefined,
2102
2134
  childCount: getChildCount(items, id),
2103
2135
  component: component,
2104
- screenValue: screenValue,
2136
+ value: (screenValue === null || screenValue === void 0 ? void 0 : screenValue.value) || null,
2105
2137
  style: itemStyle,
2106
- onClick: function onClick() {
2107
- if (onClickItem !== null) {
2108
- onClickItem({
2109
- id: id
2110
- }, idx);
2111
- }
2112
- }
2113
- });
2138
+ onClickItem: onClickItem,
2139
+ index: idx
2140
+ }));
2114
2141
  }), /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(DragOverlay, {
2115
2142
  dropAnimation: dropAnimation,
2116
2143
  modifiers: indicator ? [adjustTranslate] : undefined
2117
- }, activeId && activeItem ? /*#__PURE__*/React.createElement(SortableTreeItem, {
2144
+ }, activeId && activeItem ? /*#__PURE__*/React.createElement("div", {
2145
+ className: styles$5.item,
2146
+ key: activeId
2147
+ }, /*#__PURE__*/React.createElement(SortableTreeItem, {
2118
2148
  id: activeId,
2119
2149
  depth: activeItem.depth,
2120
2150
  clone: true,
2121
2151
  childCount: getChildCount(items, activeId) + 1,
2122
- value: activeId,
2123
2152
  indentationWidth: indentationWidth,
2124
2153
  component: component,
2125
- screenValue: activeItem === null || activeItem === void 0 ? void 0 : activeItem.screenValue,
2154
+ value: activeValue === null || activeValue === void 0 ? void 0 : activeValue.value,
2155
+ onClickItem: onClickItem,
2156
+ index: flattenedItems.findIndex(function (_ref11) {
2157
+ var id = _ref11.id;
2158
+ return activeId === id;
2159
+ }),
2126
2160
  style: itemStyle
2127
- }) : null), document.body)));
2161
+ })) : null), document.body)));
2128
2162
 
2129
- function handleDragStart(_ref8) {
2130
- var newActiveId = _ref8.active.id;
2163
+ function handleDragStart(_ref12) {
2164
+ var newActiveId = _ref12.active.id;
2131
2165
  setActiveId(newActiveId);
2132
2166
  setOverId(newActiveId);
2133
- var newActiveItem = flattenedItems.find(function (_ref9) {
2134
- var id = _ref9.id;
2167
+ var newActiveItem = flattenedItems.find(function (_ref13) {
2168
+ var id = _ref13.id;
2135
2169
  return id === newActiveId;
2136
2170
  });
2137
2171
 
@@ -2145,15 +2179,15 @@ var SortableTree = function SortableTree(_ref2) {
2145
2179
  document.body.style.setProperty('cursor', 'grabbing');
2146
2180
  }
2147
2181
 
2148
- function handleDragMove(_ref10) {
2149
- var delta = _ref10.delta;
2182
+ function handleDragMove(_ref14) {
2183
+ var delta = _ref14.delta;
2150
2184
  setOffsetLeft(delta.x);
2151
2185
  }
2152
2186
 
2153
- function handleDragOver(_ref11) {
2187
+ function handleDragOver(_ref15) {
2154
2188
  var _over$id;
2155
2189
 
2156
- var over = _ref11.over;
2190
+ var over = _ref15.over;
2157
2191
  setOverId((_over$id = over === null || over === void 0 ? void 0 : over.id) !== null && _over$id !== void 0 ? _over$id : null);
2158
2192
  }
2159
2193
 
@@ -2165,24 +2199,44 @@ var SortableTree = function SortableTree(_ref2) {
2165
2199
  document.body.style.setProperty('cursor', '');
2166
2200
  }
2167
2201
 
2168
- function handleDragEnd(_ref12) {
2169
- var active = _ref12.active,
2170
- over = _ref12.over;
2202
+ function handleDragEnd(_ref16) {
2203
+ var active = _ref16.active,
2204
+ over = _ref16.over;
2171
2205
  resetState();
2172
2206
 
2173
2207
  if (projected && over) {
2174
2208
  var depth = projected.depth,
2175
2209
  parentId = projected.parentId;
2176
2210
  var clonedItems = JSON.parse(JSON.stringify(flattenTree(items)));
2177
- var overIndex = clonedItems.findIndex(function (_ref13) {
2178
- var id = _ref13.id;
2211
+ var overIndex = clonedItems.findIndex(function (_ref17) {
2212
+ var id = _ref17.id;
2179
2213
  return id === over.id;
2180
2214
  });
2181
- var activeIndex = clonedItems.findIndex(function (_ref14) {
2182
- var id = _ref14.id;
2215
+ var activeIndex = clonedItems.findIndex(function (_ref18) {
2216
+ var id = _ref18.id;
2183
2217
  return id === active.id;
2184
2218
  });
2185
2219
  var activeTreeItem = clonedItems[activeIndex];
2220
+ var maxDepth = getMaxDepth(activeTreeItem); // Un-merge and flatten
2221
+
2222
+ if (depth > 0 && depth >= maxDepth && (activeTreeItem === null || activeTreeItem === void 0 ? void 0 : activeTreeItem.children) !== null && activeTreeItem.children.length > 0) {
2223
+ var _loop = function _loop(i) {
2224
+ var childId = activeTreeItem.children[i].id;
2225
+ var childIndex = clonedItems.findIndex(function (_ref19) {
2226
+ var id = _ref19.id;
2227
+ return id === childId;
2228
+ });
2229
+ clonedItems[childIndex].parentId = parentId;
2230
+ clonedItems[childIndex].depth = depth;
2231
+ };
2232
+
2233
+ for (var i = 0; i < activeTreeItem.children.length; i += 1) {
2234
+ _loop(i);
2235
+ }
2236
+
2237
+ activeTreeItem.children = [];
2238
+ }
2239
+
2186
2240
  clonedItems[activeIndex] = _objectSpread(_objectSpread({}, activeTreeItem), {}, {
2187
2241
  depth: depth,
2188
2242
  parentId: parentId
@@ -2225,12 +2279,12 @@ var SortableTree = function SortableTree(_ref2) {
2225
2279
  }
2226
2280
 
2227
2281
  var clonedItems = JSON.parse(JSON.stringify(flattenTree(items)));
2228
- var overIndex = clonedItems.findIndex(function (_ref15) {
2229
- var id = _ref15.id;
2282
+ var overIndex = clonedItems.findIndex(function (_ref20) {
2283
+ var id = _ref20.id;
2230
2284
  return id === currentOverId;
2231
2285
  });
2232
- var activeIndex = clonedItems.findIndex(function (_ref16) {
2233
- var id = _ref16.id;
2286
+ var activeIndex = clonedItems.findIndex(function (_ref21) {
2287
+ var id = _ref21.id;
2234
2288
  return id === currentActiveId;
2235
2289
  });
2236
2290
  var sortedItems = arrayMove(clonedItems, activeIndex, overIndex);
@@ -2247,17 +2301,17 @@ var SortableTree = function SortableTree(_ref2) {
2247
2301
  } else {
2248
2302
  var previousSibling = previousItem;
2249
2303
 
2250
- var _loop = function _loop() {
2304
+ var _loop2 = function _loop2() {
2251
2305
  var _previousSibling = previousSibling,
2252
2306
  parentId = _previousSibling.parentId;
2253
- previousSibling = sortedItems.find(function (_ref17) {
2254
- var id = _ref17.id;
2307
+ previousSibling = sortedItems.find(function (_ref22) {
2308
+ var id = _ref22.id;
2255
2309
  return id === parentId;
2256
2310
  });
2257
2311
  };
2258
2312
 
2259
2313
  while (previousSibling && projected.depth < previousSibling.depth) {
2260
- _loop();
2314
+ _loop2();
2261
2315
  }
2262
2316
 
2263
2317
  if (previousSibling) {
@@ -2273,13 +2327,13 @@ var SortableTree = function SortableTree(_ref2) {
2273
2327
  SortableTree.propTypes = propTypes$8;
2274
2328
  SortableTree.defaultProps = defaultProps$8;
2275
2329
 
2276
- var _excluded$2 = ["className", "screen", "type"],
2330
+ var _excluded$2 = ["className", "screen", "type", "onClick"],
2277
2331
  _excluded2 = ["id", "screen"];
2278
2332
  var propTypes$7 = {
2279
2333
  items: PropTypes$1.menuItems,
2280
2334
  withPreview: PropTypes.bool,
2281
2335
  withPlaceholder: PropTypes.bool,
2282
- settings: PropTypes.node,
2336
+ settings: PropTypes.oneOfType([PropTypes.node, PropTypes.func]),
2283
2337
  previewMinWidth: PropTypes.number,
2284
2338
  sortable: PropTypes.bool,
2285
2339
  isTree: PropTypes.bool,
@@ -2311,7 +2365,7 @@ var defaultProps$7 = {
2311
2365
  };
2312
2366
 
2313
2367
  var ScreensMenu = function ScreensMenu(_ref) {
2314
- var _ref9;
2368
+ var _ref10;
2315
2369
 
2316
2370
  var items = _ref.items,
2317
2371
  withPreview = _ref.withPreview,
@@ -2384,11 +2438,13 @@ var ScreensMenu = function ScreensMenu(_ref) {
2384
2438
  itemCustomClassName = _ref4$className === void 0 ? null : _ref4$className,
2385
2439
  screen = _ref4.screen,
2386
2440
  type = _ref4.type,
2441
+ _ref4$onClick = _ref4.onClick,
2442
+ onClick = _ref4$onClick === void 0 ? null : _ref4$onClick,
2387
2443
  item = _objectWithoutProperties(_ref4, _excluded$2);
2388
2444
 
2389
2445
  return /*#__PURE__*/React.createElement("li", {
2390
2446
  key: item.id,
2391
- className: classNames([styles$6.item, (_ref5 = {}, _defineProperty(_ref5, itemClassName, itemClassName !== null), _defineProperty(_ref5, itemCustomClassName, itemCustomClassName !== null), _ref5)]),
2447
+ className: classNames([styles$8.item, (_ref5 = {}, _defineProperty(_ref5, itemClassName, itemClassName !== null), _defineProperty(_ref5, itemCustomClassName, itemCustomClassName !== null), _ref5)]),
2392
2448
  "data-screen-id": item.id,
2393
2449
  ref: index === 0 ? containerRef : null
2394
2450
  }, /*#__PURE__*/React.createElement(ScreenWithPreview, {
@@ -2400,44 +2456,46 @@ var ScreensMenu = function ScreensMenu(_ref) {
2400
2456
  previewStyle: previewStyle,
2401
2457
  withPreview: withPreview,
2402
2458
  withPlaceholder: withPlaceholder,
2403
- onClick: onClickItem
2459
+ onClick: onClick,
2460
+ onClickItem: onClickItem
2404
2461
  }), settings !== null ? /*#__PURE__*/React.createElement("div", {
2405
- className: classNames([_defineProperty({}, settingsClassName, settingsClassName !== null), styles$6.settings, 'p-2'])
2462
+ className: classNames([_defineProperty({}, settingsClassName, settingsClassName !== null), styles$8.settings, 'p-2'])
2406
2463
  }, isFunction(settings) ? settings(index) : settings) : null);
2407
2464
  }) : [];
2408
2465
  var sortableItems = useMemo(function () {
2409
- return isTree ? items.reduce(function (acc, _ref7) {
2466
+ return isTree ? items.map(function (_ref7) {
2410
2467
  var id = _ref7.id,
2411
2468
  _ref7$screen = _ref7.screen,
2412
2469
  screen = _ref7$screen === void 0 ? {} : _ref7$screen,
2413
2470
  props = _objectWithoutProperties(_ref7, _excluded2);
2414
2471
 
2415
2472
  var _screen$parentId = screen.parentId,
2416
- parentId = _screen$parentId === void 0 ? null : _screen$parentId; // console.log('hey', id, screen, parentId, props);
2417
- // const children =
2418
- // items.filter(({ screen: { parentId: cpid = null } }) => cpid === id) ||
2419
- // [];
2420
- // console.log('children', children);
2473
+ parentId = _screen$parentId === void 0 ? null : _screen$parentId,
2474
+ _screen$group = screen.group,
2475
+ group = _screen$group === void 0 ? {} : _screen$group;
2421
2476
 
2422
- acc.push(_objectSpread({
2477
+ var _ref8 = group || {},
2478
+ _ref8$collapsed = _ref8.collapsed,
2479
+ collapsed = _ref8$collapsed === void 0 ? true : _ref8$collapsed;
2480
+
2481
+ return _objectSpread({
2423
2482
  id: id,
2424
2483
  parentId: parentId,
2425
- screenValue: {
2484
+ collapsed: collapsed,
2485
+ value: {
2426
2486
  id: id,
2427
2487
  screen: screen
2428
2488
  }
2429
- }, props));
2430
- return acc;
2431
- }, []) : items.map(function (_ref8) {
2432
- var id = _ref8.id;
2489
+ }, props);
2490
+ }, []) : items.map(function (_ref9) {
2491
+ var id = _ref9.id;
2433
2492
  return {
2434
2493
  id: id
2435
2494
  };
2436
2495
  });
2437
- }, [items, isTree]); // console.log('screens menu items/sitems', items, sortableItems);
2438
-
2496
+ }, [items, isTree]);
2439
2497
  return /*#__PURE__*/React.createElement("div", {
2440
- className: classNames([styles$6.container, (_ref9 = {}, _defineProperty(_ref9, styles$6.noWrap, noWrap), _defineProperty(_ref9, styles$6.isVertical, isVertical), _defineProperty(_ref9, styles$6.isTree, isTree), _defineProperty(_ref9, styles$6.withPlaceholder, withPlaceholder), _defineProperty(_ref9, className, className), _ref9)]),
2498
+ className: classNames([styles$8.container, (_ref10 = {}, _defineProperty(_ref10, styles$8.noWrap, noWrap), _defineProperty(_ref10, styles$8.isVertical, isVertical), _defineProperty(_ref10, styles$8.isTree, isTree), _defineProperty(_ref10, styles$8.withPlaceholder, withPlaceholder), _defineProperty(_ref10, className, className), _ref10)]),
2441
2499
  ref: columnRef
2442
2500
  }, isTree && !sortable ? /*#__PURE__*/React.createElement(SortableTree, {
2443
2501
  items: sortableItems,
@@ -2452,9 +2510,9 @@ var ScreensMenu = function ScreensMenu(_ref) {
2452
2510
  delayOnTouchStart: true,
2453
2511
  delay: 2,
2454
2512
  tag: "ul",
2455
- className: styles$6.items
2513
+ className: styles$8.items
2456
2514
  }, itemsElements) : null, !isTree && (!sortable || items.length < 1) ? /*#__PURE__*/React.createElement("ul", {
2457
- className: styles$6.items
2515
+ className: styles$8.items
2458
2516
  }, itemsElements) : null);
2459
2517
  };
2460
2518
 
@@ -2707,60 +2765,54 @@ var EditorScreens = function EditorScreens(_ref) {
2707
2765
  return newScreen;
2708
2766
  }, [value, onChange, isTheme, screens, currentScreenId, setCreateModalOpened]);
2709
2767
  var onOrderChange = useCallback(function (listItems) {
2710
- var ids = listItems.map(function (_ref7) {
2711
- var id = _ref7.id;
2712
- return id;
2713
- });
2714
- var screenProps = listItems.map(function (_ref8) {
2715
- var id = _ref8.id,
2716
- _ref8$props = _ref8.props,
2717
- props = _ref8$props === void 0 ? null : _ref8$props;
2768
+ // const ids = listItems.map(({ id }) => id);
2769
+ var screenProps = listItems.map(function (_ref7) {
2770
+ var id = _ref7.id,
2771
+ _ref7$props = _ref7.props,
2772
+ props = _ref7$props === void 0 ? null : _ref7$props;
2718
2773
  return {
2719
2774
  id: id,
2720
2775
  props: props
2721
2776
  };
2722
2777
  });
2723
- var hasScreenProps = (screenProps.filter(function (_ref9) {
2724
- var props = _ref9.props;
2778
+ var hasScreenProps = (screenProps.filter(function (_ref8) {
2779
+ var props = _ref8.props;
2725
2780
  return props !== null;
2726
2781
  }) || []).length > 0;
2727
2782
 
2728
- var _ref10 = value || {},
2729
- _ref10$components = _ref10.components,
2730
- currentScreens = _ref10$components === void 0 ? [] : _ref10$components;
2783
+ var _ref9 = value || {},
2784
+ _ref9$components = _ref9.components,
2785
+ currentScreens = _ref9$components === void 0 ? [] : _ref9$components;
2731
2786
 
2732
- var currentIds = currentScreens.map(function (_ref11) {
2733
- var id = _ref11.id;
2787
+ var currentIds = currentScreens.map(function (_ref10) {
2788
+ var id = _ref10.id;
2734
2789
  return id;
2735
2790
  });
2736
- var sameOrder = listItems.reduce(function (same, _ref12, index) {
2737
- var id = _ref12.id;
2791
+ var sameOrder = listItems.reduce(function (same, _ref11, index) {
2792
+ var id = _ref11.id;
2738
2793
  return same && id === currentIds[index];
2739
2794
  }, true);
2740
2795
 
2741
2796
  if (!sameOrder || hasScreenProps) {
2742
2797
  var newValue = _objectSpread(_objectSpread({}, value), {}, {
2743
- components: _toConsumableArray(currentScreens).sort(function (_ref13, _ref14) {
2744
- var idA = _ref13.id;
2745
- var idB = _ref14.id;
2746
- var indexA = ids.indexOf(idA);
2747
- var indexB = ids.indexOf(idB);
2748
-
2749
- if (indexA === indexB) {
2750
- return 0;
2751
- }
2752
-
2753
- return indexA > indexB ? 1 : -1;
2754
- }).map(function (_ref15) {
2798
+ components: _toConsumableArray(currentScreens) // .sort(({ id: idA }, { id: idB }) => {
2799
+ // const indexA = ids.indexOf(idA);
2800
+ // const indexB = ids.indexOf(idB);
2801
+ // if (indexA === indexB) {
2802
+ // return 0;
2803
+ // }
2804
+ // return indexA > indexB ? 1 : -1;
2805
+ // })
2806
+ .map(function (_ref12) {
2755
2807
  var _screenProps$find;
2756
2808
 
2757
- var id = _ref15.id,
2758
- props = _objectWithoutProperties(_ref15, _excluded$1);
2809
+ var id = _ref12.id,
2810
+ props = _objectWithoutProperties(_ref12, _excluded$1);
2759
2811
 
2760
2812
  return _objectSpread(_objectSpread({
2761
2813
  id: id
2762
- }, props), (_screenProps$find = screenProps.find(function (_ref16) {
2763
- var propsId = _ref16.id;
2814
+ }, props), (_screenProps$find = screenProps.find(function (_ref13) {
2815
+ var propsId = _ref13.id;
2764
2816
  return propsId === id;
2765
2817
  })) === null || _screenProps$find === void 0 ? void 0 : _screenProps$find.props);
2766
2818
  })
@@ -2773,8 +2825,8 @@ var EditorScreens = function EditorScreens(_ref) {
2773
2825
  }, [value, onChange]);
2774
2826
  var onClickScreenType = useCallback(function (definition) {
2775
2827
  setCreateModalOpened(false);
2776
- var currentScreen = isTheme ? screens.find(function (_ref17) {
2777
- var type = _ref17.type;
2828
+ var currentScreen = isTheme ? screens.find(function (_ref14) {
2829
+ var type = _ref14.type;
2778
2830
  return type === definition.id;
2779
2831
  }) || null : null;
2780
2832
 
@@ -2794,12 +2846,12 @@ var EditorScreens = function EditorScreens(_ref) {
2794
2846
  return setCreateModalOpened(false);
2795
2847
  }, [setCreateModalOpened]);
2796
2848
  return /*#__PURE__*/React.createElement("div", {
2797
- className: classNames(['d-flex', 'flex-column', styles$7.container, className])
2849
+ className: classNames(['d-flex', 'flex-column', styles$9.container, className])
2798
2850
  }, /*#__PURE__*/React.createElement(Navbar, {
2799
2851
  compact: true,
2800
2852
  noWrap: true,
2801
2853
  withoutCollapse: true,
2802
- className: classNames(['sticky-top', styles$7.navbar])
2854
+ className: classNames(['sticky-top', styles$9.navbar])
2803
2855
  }, /*#__PURE__*/React.createElement("strong", {
2804
2856
  className: "mb-0 mr-auto"
2805
2857
  }, /*#__PURE__*/React.createElement(FormattedMessage, {
@@ -2819,9 +2871,9 @@ var EditorScreens = function EditorScreens(_ref) {
2819
2871
  className: "flex-grow-1 d-flex w-100 p-2"
2820
2872
  }, /*#__PURE__*/React.createElement(Route, {
2821
2873
  path: [routes.screen, routes.home],
2822
- render: function render(_ref18) {
2823
- var _ref18$match$params$s = _ref18.match.params.screen,
2824
- screenId = _ref18$match$params$s === void 0 ? null : _ref18$match$params$s;
2874
+ render: function render(_ref15) {
2875
+ var _ref15$match$params$s = _ref15.match.params.screen,
2876
+ screenId = _ref15$match$params$s === void 0 ? null : _ref15$match$params$s;
2825
2877
  return screens.length > 0 ? /*#__PURE__*/React.createElement(ScreensMenu, {
2826
2878
  items: screens.map(function (it) {
2827
2879
  return {
@@ -2854,8 +2906,8 @@ var EditorScreens = function EditorScreens(_ref) {
2854
2906
  })));
2855
2907
  }
2856
2908
  })), createModalOpened ? /*#__PURE__*/React.createElement(ScreenTypesModal, {
2857
- selectedTypes: isTheme ? screens.map(function (_ref19) {
2858
- var type = _ref19.type;
2909
+ selectedTypes: isTheme ? screens.map(function (_ref16) {
2910
+ var type = _ref16.type;
2859
2911
  return type;
2860
2912
  }) : [],
2861
2913
  onClickScreenType: onClickScreenType,
@@ -3001,16 +3053,16 @@ var Editor = function Editor(_ref) {
3001
3053
  return /*#__PURE__*/React.createElement(ModalsProvider, null, /*#__PURE__*/React.createElement(PanelsProvider, null, /*#__PURE__*/React.createElement(ScreenSizeProvider, {
3002
3054
  size: screenSize
3003
3055
  }, /*#__PURE__*/React.createElement("div", {
3004
- className: classNames([styles$f.container, screenSize !== null ? screenSize.screens.map(function (screenName) {
3005
- return styles$f["screen-".concat(screenName)];
3006
- }) : null, (_ref5 = {}, _defineProperty(_ref5, styles$f.fullscreen, fullscreen), _defineProperty(_ref5, className, className), _ref5)]),
3056
+ className: classNames([styles$h.container, screenSize !== null ? screenSize.screens.map(function (screenName) {
3057
+ return styles$h["screen-".concat(screenName)];
3058
+ }) : null, (_ref5 = {}, _defineProperty(_ref5, styles$h.fullscreen, fullscreen), _defineProperty(_ref5, className, className), _ref5)]),
3007
3059
  ref: refContainer
3008
3060
  }, /*#__PURE__*/React.createElement(Navbar, {
3009
3061
  theme: "light",
3010
3062
  compact: true,
3011
3063
  noWrap: true,
3012
3064
  withoutCollapse: true,
3013
- className: styles$f.top
3065
+ className: styles$h.top
3014
3066
  }, mobileView !== 'screens' ? /*#__PURE__*/React.createElement(Button, {
3015
3067
  size: "sm",
3016
3068
  theme: "secondary",
@@ -3043,9 +3095,9 @@ var Editor = function Editor(_ref) {
3043
3095
  "value": "View screen"
3044
3096
  }]
3045
3097
  })) : null), /*#__PURE__*/React.createElement("div", {
3046
- className: styles$f.inner
3098
+ className: styles$h.inner
3047
3099
  }, /*#__PURE__*/React.createElement("div", {
3048
- className: classNames([styles$f.left, _defineProperty({}, styles$f.visible, !isMobile || mobileView === 'screens')]),
3100
+ className: classNames([styles$h.left, _defineProperty({}, styles$h.visible, !isMobile || mobileView === 'screens')]),
3049
3101
  ref: refScreensContainer
3050
3102
  }, /*#__PURE__*/React.createElement(EditorScreens, {
3051
3103
  value: story,
@@ -3055,23 +3107,24 @@ var Editor = function Editor(_ref) {
3055
3107
  onChange: onStoryChange,
3056
3108
  onClickScreen: onClickScreen,
3057
3109
  isVertical: !isMobile,
3058
- className: styles$f.inner
3110
+ className: styles$h.inner,
3111
+ isTree: true
3059
3112
  })), /*#__PURE__*/React.createElement("div", {
3060
- className: classNames([styles$f.center, _defineProperty({}, styles$f.visible, !isMobile || mobileView === 'preview')])
3113
+ className: classNames([styles$h.center, _defineProperty({}, styles$h.visible, !isMobile || mobileView === 'preview')])
3061
3114
  }, /*#__PURE__*/React.createElement(EditorPreview, {
3062
3115
  value: story,
3063
3116
  isTheme: isTheme,
3064
3117
  viewerTheme: viewerTheme,
3065
- className: styles$f.preview,
3118
+ className: styles$h.preview,
3066
3119
  onScreenChange: onPreviewScreenChange
3067
3120
  })), /*#__PURE__*/React.createElement("div", {
3068
- className: classNames([styles$f.right, _defineProperty({}, styles$f.visible, !isMobile || mobileView === 'form')])
3121
+ className: classNames([styles$h.right, _defineProperty({}, styles$h.visible, !isMobile || mobileView === 'form')])
3069
3122
  }, /*#__PURE__*/React.createElement(EditForm, {
3070
3123
  key: screenId,
3071
3124
  value: story,
3072
3125
  isTheme: isTheme,
3073
3126
  onChange: onStoryChange,
3074
- className: styles$f.inner
3127
+ className: styles$h.inner
3075
3128
  }))), /*#__PURE__*/React.createElement(Modals, null)))));
3076
3129
  };
3077
3130