@micromag/editor 0.3.150 → 0.3.154

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,12 +3,12 @@
3
3
  .micromag-editor-forms-screen-container{position:relative;padding:.5rem}.micromag-editor-forms-screen-container .micromag-editor-forms-screen-inner{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column}
4
4
  .micromag-editor-menus-breadcrumb-container li{overflow:hidden;-o-text-overflow:ellipsis;text-overflow:ellipsis;white-space:nowrap}.micromag-editor-menus-breadcrumb-container li:before{float:none}.micromag-editor-menus-breadcrumb-container li:last-child{-webkit-flex-shrink:0;-ms-flex-negative:0;flex-shrink:0}
5
5
  .micromag-editor-modals-delete-screen-container .micromag-editor-modals-delete-screen-description{margin-bottom:10px}.micromag-editor-modals-delete-screen-container .micromag-editor-modals-delete-screen-actions{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-align-items:center;-ms-flex-align:center;align-items:center}
6
- .micromag-editor-preview-container .micromag-editor-preview-noStory,.micromag-editor-preview-container .micromag-editor-preview-story{position:absolute;top:0;left:0;width:100%;height:100%}.micromag-editor-preview-container{position:relative}.micromag-editor-preview-container>.micromag-editor-preview-inner{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100%}.micromag-editor-preview-container .micromag-editor-preview-top{display:none;width:100%;padding:20px 0}.micromag-editor-preview-container .micromag-editor-preview-bottom{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;width:100%;max-width:100%;padding:0;overflow:hidden}.micromag-editor-preview-container .micromag-editor-preview-bottom>.micromag-editor-preview-inner{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:100%;margin:0 auto;overflow:hidden}.micromag-editor-preview-container .micromag-editor-preview-preview{width:100%;-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%}.micromag-editor-preview-container .micromag-editor-preview-preview,.micromag-editor-preview-container .micromag-editor-preview-viewerContainer{position:relative;height:100%}.micromag-editor-preview-container .micromag-editor-preview-devices{position:absolute;right:10px;bottom:10px}.micromag-editor-preview-screen-medium .micromag-editor-preview-top{display:block;width:100%;overflow-x:auto;text-align:center}.micromag-editor-preview-screen-medium .micromag-editor-preview-bottom{padding:50px 20px}
7
6
  .micromag-editor-menus-devices-container{display:inline-block;position:relative}.micromag-editor-menus-devices-container .micromag-editor-menus-devices-button{display:block;width:40px;height:30px;padding:5px}
8
7
  .micromag-editor-buttons-device-container .micromag-editor-buttons-device-icon{display:block;width:100%;height:auto;max-height:100%}
9
8
  .micromag-editor-partials-screen-states-container{display:inline-block}.micromag-editor-partials-screen-states-button{width:50px;min-height:75px}.micromag-editor-partials-screen-states-button.btn-outline-secondary{border-color:#6c6c6c;color:#6c6c6c}.micromag-editor-partials-screen-states-button.btn-outline-secondary:hover{border-color:#e9e9e9;background:rgba(0,0,0,0);color:#e9e9e9}.micromag-editor-partials-screen-states-addButton{border-style:dashed}.micromag-editor-partials-screen-states-title{padding:0 .2em;font-size:.75em;text-align:left}
10
9
  .micromag-editor-buttons-screen-with-preview-button{display:block;position:relative}
11
10
  .micromag-editor-buttons-screen-container .micromag-editor-buttons-screen-button{position:relative;padding:0;border:0;background:rgba(0,0,0,0);color:inherit;font-family:inherit;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none}.micromag-editor-buttons-screen-container .micromag-editor-buttons-screen-border,.micromag-editor-buttons-screen-container .micromag-editor-buttons-screen-button,.micromag-editor-buttons-screen-container .micromag-editor-buttons-screen-screen .micromag-editor-buttons-screen-inner{position:absolute;top:0;left:0;width:100%;height:100%}.micromag-editor-buttons-screen-container{position:relative;overflow:hidden}.micromag-editor-buttons-screen-container .micromag-editor-buttons-screen-button{display:inline-block}.micromag-editor-buttons-screen-container .micromag-editor-buttons-screen-border{display:block}.micromag-editor-buttons-screen-container .micromag-editor-buttons-screen-screen{display:block;position:relative;width:100%;height:0;padding-bottom:150%;pointer-events:none}.micromag-editor-buttons-screen-container .micromag-editor-buttons-screen-screen .micromag-editor-buttons-screen-inner{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center}.micromag-editor-buttons-screen-container .micromag-editor-buttons-screen-screen .micromag-editor-buttons-screen-icon{position:relative;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;width:100%}.micromag-editor-buttons-screen-container .micromag-editor-buttons-screen-screen .micromag-editor-buttons-screen-label{padding:5px 0;font-size:.75rem;font-weight:700}.micromag-editor-buttons-screen-container.micromag-editor-buttons-screen-active .micromag-editor-buttons-screen-border{z-index:2;border:3px solid #a13dff}
11
+ .micromag-editor-preview-container .micromag-editor-preview-noStory,.micromag-editor-preview-container .micromag-editor-preview-story{position:absolute;top:0;left:0;width:100%;height:100%}.micromag-editor-preview-container{position:relative}.micromag-editor-preview-container>.micromag-editor-preview-inner{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;height:100%}.micromag-editor-preview-container .micromag-editor-preview-top{display:none;width:100%;padding:20px 0}.micromag-editor-preview-container .micromag-editor-preview-bottom{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;width:100%;max-width:100%;padding:0;overflow:hidden}.micromag-editor-preview-container .micromag-editor-preview-bottom>.micromag-editor-preview-inner{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-grow:1;-ms-flex-positive:1;flex-grow:1;-webkit-align-items:center;-ms-flex-align:center;align-items:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;width:100%;margin:0 auto;overflow:hidden}.micromag-editor-preview-container .micromag-editor-preview-preview{width:100%;-webkit-transform-origin:50% 50%;-ms-transform-origin:50% 50%;transform-origin:50% 50%}.micromag-editor-preview-container .micromag-editor-preview-preview,.micromag-editor-preview-container .micromag-editor-preview-viewerContainer{position:relative;height:100%}.micromag-editor-preview-container .micromag-editor-preview-devices{position:absolute;right:10px;bottom:10px}.micromag-editor-preview-screen-medium .micromag-editor-preview-top{display:block;width:100%;overflow-x:auto;text-align:center}.micromag-editor-preview-screen-medium .micromag-editor-preview-bottom{padding:50px 20px}
12
12
  .micromag-editor-screens-container .micromag-editor-screens-navbar{z-index:999;background-color:#1c1c1c}.micromag-editor-screens-container .micromag-editor-screens-navbar>div{padding:0}
13
13
  .micromag-editor-menus-screens-container .micromag-editor-menus-screens-placeholder,.micromag-editor-menus-screens-container .micromag-editor-menus-screens-preview,.micromag-editor-menus-screens-container .micromag-editor-menus-screens-screen{position:absolute;top:0;left:0;width:100%;height:100%}.micromag-editor-menus-screens-item,.micromag-editor-menus-screens-items{margin:0;padding:0;list-style:none}.micromag-editor-menus-screens-container{position:relative}.micromag-editor-menus-screens-container .micromag-editor-menus-screens-items{display:-webkit-flex;display:-ms-flexbox;display:flex;-webkit-flex-direction:row;-ms-flex-direction:row;flex-direction:row;-webkit-flex-wrap:wrap;-ms-flex-wrap:wrap;flex-wrap:wrap;margin:-5px;padding:0}.micromag-editor-menus-screens-container .micromag-editor-menus-screens-item{display:block;position:relative;z-index:2;width:33.3%;padding:5px}@media screen and (min-width:540px){.micromag-editor-menus-screens-container .micromag-editor-menus-screens-item{width:20%}}.micromag-editor-menus-screens-container .micromag-editor-menus-screens-button{display:block}.micromag-editor-menus-screens-container .micromag-editor-menus-screens-placeholder,.micromag-editor-menus-screens-container .micromag-editor-menus-screens-preview{-webkit-transform-origin:0 0;-ms-transform-origin:0 0;transform-origin:0 0}.micromag-editor-menus-screens-container .micromag-editor-menus-screens-preview{background:rgba(0,0,0,.9)}.micromag-editor-menus-screens-container .micromag-editor-menus-screens-settings{position:absolute;top:0;right:0}.micromag-editor-menus-screens-container.micromag-editor-menus-screens-noWrap .micromag-editor-menus-screens-items{-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.micromag-editor-menus-screens-container.micromag-editor-menus-screens-isVertical .micromag-editor-menus-screens-items{-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;-webkit-flex-wrap:nowrap;-ms-flex-wrap:nowrap;flex-wrap:nowrap}.micromag-editor-menus-screens-container.micromag-editor-menus-screens-isVertical .micromag-editor-menus-screens-item{width:100%}.micromag-editor-menus-screens-container.micromag-editor-menus-screens-withPlaceholder .micromag-editor-menus-screens-item{margin:5px;padding:0}.micromag-editor-menus-screens-container.micromag-editor-menus-screens-withPlaceholder .micromag-editor-menus-screens-button{width:100px}
14
14
  .micromag-editor-sortable-sortable-tree-item{padding-bottom:3px}.micromag-editor-sortable-sortable-tree-item.micromag-editor-sortable-sortable-tree-parent{padding-bottom:0;background-color:#494949}.micromag-editor-sortable-sortable-tree-item.micromag-editor-sortable-sortable-tree-group{padding-top:3px;background-color:#494949}.micromag-editor-sortable-sortable-tree-item.micromag-editor-sortable-sortable-tree-group.micromag-editor-sortable-sortable-tree-isLastChild{margin-bottom:4px;padding-bottom:6px;border-bottom-right-radius:4px;border-bottom-left-radius:4px}
package/es/index.js CHANGED
@@ -8,7 +8,7 @@ import { useIntl, FormattedMessage } from 'react-intl';
8
8
  import { PropTypes as PropTypes$1 } from '@micromag/core';
9
9
  import { Button, FieldForm, BackButton, Breadcrumb as Breadcrumb$1, Modal, ModalDialog, Label, Navbar, DropdownMenu, Empty, Tabs, ScreenPlaceholder, ScreenPreview, Modals } from '@micromag/core/components';
10
10
  import { useRoutes, useScreenDefinition, useFormsComponents, useScreensManager, useFieldsManager, useUrlGenerator, useRoutePush, ScreenProvider, useScreenSize, ModalsProvider, PanelsProvider, ScreenSizeProvider, useFieldComponent, ComponentsProvider, FORMS_NAMESPACE, UppyProvider, StoryProvider, GoogleKeysProvider, GoogleMapsClientProvider, FontsProvider, EditorProvider, ComponentsContext, RoutesProvider } from '@micromag/core/contexts';
11
- import { useParsedStory, useResizeObserver, useScreenSizeFromElement, useMediasParser } from '@micromag/core/hooks';
11
+ import { useParsedStory, useDimensionObserver, useScreenSizeFromElement, useMediasParser } from '@micromag/core/hooks';
12
12
  import { getScreenExtraField, isMessage, slug, getComponentFromName, getDeviceScreens } from '@micromag/core/utils';
13
13
  import { useRouteMatch, useHistory, Route, MemoryRouter } from 'react-router';
14
14
  import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
@@ -1049,9 +1049,7 @@ var useThemeValue = function useThemeValue(value) {
1049
1049
  return valueWithTheme;
1050
1050
  };
1051
1051
 
1052
- var styles$d = {"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","devices":"micromag-editor-preview-devices","screen-medium":"micromag-editor-preview-screen-medium"};
1053
-
1054
- var styles$c = {"container":"micromag-editor-menus-devices-container","button":"micromag-editor-menus-devices-button"};
1052
+ var styles$d = {"container":"micromag-editor-menus-devices-container","button":"micromag-editor-menus-devices-button"};
1055
1053
 
1056
1054
  /* eslint-disable react/button-has-type, react/jsx-props-no-spreading */
1057
1055
  var propTypes$i = {
@@ -1125,7 +1123,7 @@ var DeviceIcons = /*#__PURE__*/Object.freeze({
1125
1123
  Mobile: MobileIcon
1126
1124
  });
1127
1125
 
1128
- var styles$b = {"container":"micromag-editor-buttons-device-container","icon":"micromag-editor-buttons-device-icon"};
1126
+ var styles$c = {"container":"micromag-editor-buttons-device-container","icon":"micromag-editor-buttons-device-icon"};
1129
1127
 
1130
1128
  var _excluded$6 = ["device", "className", "iconComponents"];
1131
1129
  var propTypes$g = {
@@ -1146,9 +1144,9 @@ var DeviceButton = function DeviceButton(_ref) {
1146
1144
 
1147
1145
  var DeviceIcon = getComponentFromName(device, iconComponents, DesktopIcon);
1148
1146
  return /*#__PURE__*/React.createElement(Button, Object.assign({
1149
- className: classNames([styles$b.container, _defineProperty({}, className, className !== null)])
1147
+ className: classNames([styles$c.container, _defineProperty({}, className, className !== null)])
1150
1148
  }, props), /*#__PURE__*/React.createElement(DeviceIcon, {
1151
- className: styles$b.icon
1149
+ className: styles$c.icon
1152
1150
  }));
1153
1151
  };
1154
1152
 
@@ -1174,7 +1172,7 @@ var DevicesMenu = function DevicesMenu(_ref) {
1174
1172
  return /*#__PURE__*/React.createElement(Tabs, {
1175
1173
  items: items,
1176
1174
  theme: "outline-secondary",
1177
- className: classNames([styles$c.container, _defineProperty({}, className, className !== null)]),
1175
+ className: classNames([styles$d.container, _defineProperty({}, className, className !== null)]),
1178
1176
  renderItemButton: function renderItemButton(item, index, props) {
1179
1177
  var id = item.id,
1180
1178
  itemProps = _objectWithoutProperties(item, _excluded$5);
@@ -1182,7 +1180,7 @@ var DevicesMenu = function DevicesMenu(_ref) {
1182
1180
  return /*#__PURE__*/React.createElement(DeviceButton, Object.assign({
1183
1181
  device: id
1184
1182
  }, props, itemProps, {
1185
- className: styles$c.button,
1183
+ className: styles$d.button,
1186
1184
  onClick: function onClick(e) {
1187
1185
  return onClickItem !== null ? onClickItem(e, item, index) : null;
1188
1186
  }
@@ -1194,11 +1192,11 @@ var DevicesMenu = function DevicesMenu(_ref) {
1194
1192
  DevicesMenu.propTypes = propTypes$f;
1195
1193
  DevicesMenu.defaultProps = defaultProps$f;
1196
1194
 
1197
- var styles$a = {"container":"micromag-editor-partials-screen-states-container","button":"micromag-editor-partials-screen-states-button","addButton":"micromag-editor-partials-screen-states-addButton","title":"micromag-editor-partials-screen-states-title"};
1195
+ var styles$b = {"container":"micromag-editor-partials-screen-states-container","button":"micromag-editor-partials-screen-states-button","addButton":"micromag-editor-partials-screen-states-addButton","title":"micromag-editor-partials-screen-states-title"};
1198
1196
 
1199
- var styles$9 = {"button":"micromag-editor-buttons-screen-with-preview-button"};
1197
+ var styles$a = {"button":"micromag-editor-buttons-screen-with-preview-button"};
1200
1198
 
1201
- var styles$8 = {"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"};
1199
+ var styles$9 = {"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"};
1202
1200
 
1203
1201
  var propTypes$e = {
1204
1202
  active: PropTypes.bool,
@@ -1242,17 +1240,17 @@ var ScreenButton = function ScreenButton(_ref) {
1242
1240
  onClick = _ref.onClick,
1243
1241
  refButton = _ref.refButton;
1244
1242
  return /*#__PURE__*/React.createElement("div", {
1245
- className: classNames([styles$8.container, 'rounded', (_ref2 = {}, _defineProperty(_ref2, styles$8.active, active), _defineProperty(_ref2, className, className !== null), _ref2)])
1243
+ className: classNames([styles$9.container, 'rounded', (_ref2 = {}, _defineProperty(_ref2, styles$9.active, active), _defineProperty(_ref2, className, className !== null), _ref2)])
1246
1244
  }, children !== null ? children : /*#__PURE__*/React.createElement("div", {
1247
- className: styles$8.screen
1245
+ className: styles$9.screen
1248
1246
  }, /*#__PURE__*/React.createElement("div", {
1249
- className: styles$8.inner
1247
+ className: styles$9.inner
1250
1248
  }, icon !== null ? /*#__PURE__*/React.createElement("div", {
1251
- className: styles$8.icon
1249
+ className: styles$9.icon
1252
1250
  }, icon) : null, label !== null ? /*#__PURE__*/React.createElement("div", {
1253
- className: styles$8.label
1251
+ className: styles$9.label
1254
1252
  }, label) : null)), /*#__PURE__*/React.createElement(Button, {
1255
- className: styles$8.button,
1253
+ className: styles$9.button,
1256
1254
  withoutStyle: true,
1257
1255
  id: id,
1258
1256
  href: href,
@@ -1260,7 +1258,7 @@ var ScreenButton = function ScreenButton(_ref) {
1260
1258
  onClick: onClick,
1261
1259
  refButton: refButton
1262
1260
  }, /*#__PURE__*/React.createElement("span", {
1263
- className: classNames([styles$8.border, 'rounded'])
1261
+ className: classNames([styles$9.border, 'rounded'])
1264
1262
  })));
1265
1263
  };
1266
1264
 
@@ -1312,7 +1310,7 @@ var ScreenWithPreview = function ScreenWithPreview(_ref) {
1312
1310
  return /*#__PURE__*/React.createElement(ScreenButton$1, {
1313
1311
  href: href,
1314
1312
  active: active,
1315
- className: classNames([styles$9.button, _defineProperty({}, className, className !== null)]),
1313
+ className: classNames([styles$a.button, _defineProperty({}, className, className !== null)]),
1316
1314
  title: isMessage(title) ? intl.formatMessage(title) : null,
1317
1315
  onClick: function onClick() {
1318
1316
  if (_onClick !== null) {
@@ -1326,7 +1324,7 @@ var ScreenWithPreview = function ScreenWithPreview(_ref) {
1326
1324
  }, /*#__PURE__*/React.createElement(ScreenComponent, {
1327
1325
  screen: screen,
1328
1326
  screenState: screenState,
1329
- className: styles$9.screen,
1327
+ className: styles$a.screen,
1330
1328
  withSize: true
1331
1329
  }));
1332
1330
  };
@@ -1377,15 +1375,15 @@ function ScreenStates(_ref) {
1377
1375
  return id === stateParam;
1378
1376
  }) !== -1 ? stateParam : null;
1379
1377
  return /*#__PURE__*/React.createElement("div", {
1380
- className: classNames([styles$a.container, _defineProperty({}, className, className !== null)])
1378
+ className: classNames([styles$b.container, _defineProperty({}, className, className !== null)])
1381
1379
  }, /*#__PURE__*/React.createElement("div", {
1382
1380
  className: "d-flex align-items-end m-n1"
1383
1381
  }, /*#__PURE__*/React.createElement("div", {
1384
1382
  className: "p-1 align-self-stretch d-flex flex-column"
1385
1383
  }, /*#__PURE__*/React.createElement("h6", {
1386
- className: classNames(['fw-normal', 'invisible', styles$a.title])
1384
+ className: classNames(['fw-normal', 'invisible', styles$b.title])
1387
1385
  }, "Settings"), /*#__PURE__*/React.createElement(Button, {
1388
- className: classNames([styles$a.button, 'p-0', 'flex-grow-1', 'justify-content-center']),
1386
+ className: classNames([styles$b.button, 'p-0', 'flex-grow-1', 'justify-content-center']),
1389
1387
  theme: screenParam !== null && field === null ? 'primary' : 'secondary',
1390
1388
  outline: screenParam === null || field !== null,
1391
1389
  size: "lg",
@@ -1436,7 +1434,7 @@ function ScreenStates(_ref) {
1436
1434
  return /*#__PURE__*/React.createElement("div", {
1437
1435
  className: "p-1 align-self-stretch d-flex flex-column"
1438
1436
  }, /*#__PURE__*/React.createElement("h6", {
1439
- className: classNames(['fw-normal', 'text-muted', styles$a.title])
1437
+ className: classNames(['fw-normal', 'text-muted', styles$b.title])
1440
1438
  }, /*#__PURE__*/React.createElement(FormattedMessage, label)), repeatable ? /*#__PURE__*/React.createElement("ul", {
1441
1439
  className: "d-flex list-unstyled m-n1 flex-grow-1"
1442
1440
  }, repeatableItems.map(function (item, index) {
@@ -1446,7 +1444,7 @@ function ScreenStates(_ref) {
1446
1444
  index: index,
1447
1445
  screen: screen,
1448
1446
  screenState: "".concat(id, ".").concat(index),
1449
- className: styles$a.button,
1447
+ className: styles$b.button,
1450
1448
  active: currentState !== null && id === currentState.split('.')[0] && stateIndex !== null && parseInt(stateIndex, 10) === index,
1451
1449
  href: url('screen.field', {
1452
1450
  screen: screen.id,
@@ -1456,7 +1454,7 @@ function ScreenStates(_ref) {
1456
1454
  }), !withoutCreate ? /*#__PURE__*/React.createElement("li", {
1457
1455
  className: "p-1"
1458
1456
  }, /*#__PURE__*/React.createElement(Button, {
1459
- className: classNames([styles$a.button, styles$a.addButton, 'h-100', 'p-0', 'justify-content-center']),
1457
+ className: classNames([styles$b.button, styles$b.addButton, 'h-100', 'p-0', 'justify-content-center']),
1460
1458
  theme: "secondary",
1461
1459
  outline: true,
1462
1460
  size: "lg",
@@ -1467,7 +1465,7 @@ function ScreenStates(_ref) {
1467
1465
  })) : null) : /*#__PURE__*/React.createElement(ScreenWithPreview, {
1468
1466
  screen: screen,
1469
1467
  screenState: id,
1470
- className: styles$a.button,
1468
+ className: styles$b.button,
1471
1469
  active: id === currentState,
1472
1470
  href: url('screen.field', {
1473
1471
  screen: screen.id,
@@ -1485,6 +1483,8 @@ function ScreenStates(_ref) {
1485
1483
  ScreenStates.propTypes = propTypes$c;
1486
1484
  ScreenStates.defaultProps = defaultProps$c;
1487
1485
 
1486
+ 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","devices":"micromag-editor-preview-devices","screen-medium":"micromag-editor-preview-screen-medium"};
1487
+
1488
1488
  var propTypes$b = {
1489
1489
  value: PropTypes.oneOfType([PropTypes$1.story, PropTypes$1.theme]),
1490
1490
  devices: PropTypes$1.devices,
@@ -1517,7 +1517,7 @@ var defaultProps$b = {
1517
1517
  };
1518
1518
 
1519
1519
  var EditorPreview = function EditorPreview(_ref) {
1520
- var _ref9;
1520
+ var _ref8;
1521
1521
 
1522
1522
  var value = _ref.value,
1523
1523
  viewerTheme = _ref.viewerTheme,
@@ -1562,9 +1562,12 @@ var EditorPreview = function EditorPreview(_ref) {
1562
1562
  });
1563
1563
  }, [devices, deviceId]); // Calculate preview style
1564
1564
 
1565
- var _useResizeObserver = useResizeObserver(),
1566
- bottomRef = _useResizeObserver.ref,
1567
- contentRect = _useResizeObserver.entry.contentRect;
1565
+ var _useDimensionObserver = useDimensionObserver(),
1566
+ bottomRef = _useDimensionObserver.ref,
1567
+ _useDimensionObserver2 = _useDimensionObserver.width,
1568
+ bottomWidth = _useDimensionObserver2 === void 0 ? 0 : _useDimensionObserver2,
1569
+ _useDimensionObserver3 = _useDimensionObserver.height,
1570
+ bottomHeight = _useDimensionObserver3 === void 0 ? 0 : _useDimensionObserver3;
1568
1571
 
1569
1572
  var previewStyle = useMemo(function () {
1570
1573
  if (withoutDevicesSizes && initialDevice === null) {
@@ -1573,13 +1576,6 @@ var EditorPreview = function EditorPreview(_ref) {
1573
1576
 
1574
1577
  var deviceWidth = device.width,
1575
1578
  deviceHeight = device.height;
1576
-
1577
- var _ref2 = contentRect || {},
1578
- _ref2$width = _ref2.width,
1579
- bottomWidth = _ref2$width === void 0 ? 0 : _ref2$width,
1580
- _ref2$height = _ref2.height,
1581
- bottomHeight = _ref2$height === void 0 ? 0 : _ref2$height;
1582
-
1583
1579
  var maxWidth = screen === 'mobile' ? bottomWidth : deviceWidth;
1584
1580
  var maxHeight = screen === 'mobile' ? bottomHeight : deviceHeight;
1585
1581
 
@@ -1591,73 +1587,73 @@ var EditorPreview = function EditorPreview(_ref) {
1591
1587
  height: maxHeight,
1592
1588
  transform: "scale(".concat(previewScale, ", ").concat(previewScale, ")")
1593
1589
  };
1594
- }, [device, contentRect, screen, withoutDevicesSizes, initialDevice]);
1590
+ }, [device, bottomWidth, bottomHeight, screen, withoutDevicesSizes, initialDevice]);
1595
1591
  var currentScreen = useMemo(function () {
1596
- var _ref3 = valueParsed || {},
1597
- _ref3$components = _ref3.components,
1598
- components = _ref3$components === void 0 ? [] : _ref3$components;
1592
+ var _ref2 = valueParsed || {},
1593
+ _ref2$components = _ref2.components,
1594
+ components = _ref2$components === void 0 ? [] : _ref2$components;
1599
1595
 
1600
- return (screenId !== null ? components.find(function (_ref4) {
1601
- var id = _ref4.id;
1596
+ return (screenId !== null ? components.find(function (_ref3) {
1597
+ var id = _ref3.id;
1602
1598
  return id === screenId;
1603
1599
  }) : components[0]) || null;
1604
1600
  }, [valueParsed, screenId]);
1605
1601
  var currentScreenStates = useScreenStates(currentScreen);
1606
1602
 
1607
- var _ref5 = fieldParam !== null && currentScreenStates !== null ? fieldParam.split('/') : [],
1608
- _ref6 = _slicedToArray(_ref5, 1),
1609
- _ref6$ = _ref6[0],
1610
- screenStateParam = _ref6$ === void 0 ? null : _ref6$;
1603
+ var _ref4 = fieldParam !== null && currentScreenStates !== null ? fieldParam.split('/') : [],
1604
+ _ref5 = _slicedToArray(_ref4, 1),
1605
+ _ref5$ = _ref5[0],
1606
+ screenStateParam = _ref5$ === void 0 ? null : _ref5$;
1611
1607
 
1612
- var currentScreenState = screenStateParam !== null ? currentScreenStates.find(function (_ref7) {
1613
- var id = _ref7.id;
1608
+ var currentScreenState = screenStateParam !== null ? currentScreenStates.find(function (_ref6) {
1609
+ var id = _ref6.id;
1614
1610
  return id === screenStateParam;
1615
1611
  }) || null : null;
1616
1612
 
1617
- var _ref8 = currentScreenState || {},
1618
- _ref8$id = _ref8.id,
1619
- screenStateId = _ref8$id === void 0 ? null : _ref8$id,
1620
- _ref8$repeatable = _ref8.repeatable,
1621
- repeatable = _ref8$repeatable === void 0 ? false : _ref8$repeatable;
1613
+ var _ref7 = currentScreenState || {},
1614
+ _ref7$id = _ref7.id,
1615
+ screenStateId = _ref7$id === void 0 ? null : _ref7$id,
1616
+ _ref7$repeatable = _ref7.repeatable,
1617
+ repeatable = _ref7$repeatable === void 0 ? false : _ref7$repeatable;
1622
1618
 
1623
1619
  var currentScreenStateId = currentScreenState !== null && repeatable ? "".concat(screenStateId, ".").concat(fieldParam.split('/').find(function (it) {
1624
1620
  return it.match(/^[0-9]+$/) !== null;
1625
1621
  }) || 0) : screenStateId;
1626
1622
  return /*#__PURE__*/React.createElement("div", {
1627
- className: classNames([styles$d.container, screens.map(function (screenName) {
1628
- return styles$d["screen-".concat(screenName)];
1629
- }), (_ref9 = {}, _defineProperty(_ref9, className, className), _defineProperty(_ref9, styles$d.withoutDevicesSizes, withoutDevicesSizes), _ref9)])
1623
+ className: classNames([styles$8.container, screens.map(function (screenName) {
1624
+ return styles$8["screen-".concat(screenName)];
1625
+ }), (_ref8 = {}, _defineProperty(_ref8, className, className), _defineProperty(_ref8, styles$8.withoutDevicesSizes, withoutDevicesSizes), _ref8)])
1630
1626
  }, /*#__PURE__*/React.createElement("div", {
1631
- className: styles$d.inner
1627
+ className: styles$8.inner
1632
1628
  }, currentScreenStates !== null && currentScreen !== null ? /*#__PURE__*/React.createElement("div", {
1633
- className: classNames([styles$d.top, 'px-1'])
1629
+ className: classNames([styles$8.top, 'px-1'])
1634
1630
  }, /*#__PURE__*/React.createElement(ScreenStates, {
1635
1631
  screen: currentScreen,
1636
1632
  screenState: currentScreenStateId,
1637
1633
  value: value,
1638
1634
  onChange: onChange
1639
1635
  })) : null, /*#__PURE__*/React.createElement("div", {
1640
- className: styles$d.bottom
1636
+ className: styles$8.bottom
1641
1637
  }, /*#__PURE__*/React.createElement("div", {
1642
- className: styles$d.inner,
1638
+ className: styles$8.inner,
1643
1639
  ref: bottomRef
1644
1640
  }, /*#__PURE__*/React.createElement("div", {
1645
- className: styles$d.preview,
1641
+ className: styles$8.preview,
1646
1642
  style: previewStyle
1647
1643
  }, /*#__PURE__*/React.createElement("div", {
1648
- className: styles$d.viewerContainer
1644
+ className: styles$8.viewerContainer
1649
1645
  }, /*#__PURE__*/React.createElement(Viewer, {
1650
1646
  story: valueParsed,
1651
1647
  storyIsParsed: true,
1652
1648
  screen: screenId,
1653
1649
  screenState: currentScreenStateId,
1654
- className: styles$d.story,
1650
+ className: styles$8.story,
1655
1651
  theme: viewerTheme,
1656
1652
  interactions: null,
1657
1653
  renderContext: "edit",
1658
1654
  onScreenChange: onScreenChange
1659
1655
  }))))), !withoutDevicesSizes ? /*#__PURE__*/React.createElement("div", {
1660
- className: styles$d.deviceMenu
1656
+ className: styles$8.deviceMenu
1661
1657
  }, /*#__PURE__*/React.createElement(DevicesMenu, {
1662
1658
  items: devices.map(function (it) {
1663
1659
  return _objectSpread(_objectSpread({}, it), {}, {
@@ -1665,7 +1661,7 @@ var EditorPreview = function EditorPreview(_ref) {
1665
1661
  });
1666
1662
  }),
1667
1663
  onClickItem: onClickDeviceItem,
1668
- className: styles$d.devices
1664
+ className: styles$8.devices
1669
1665
  })) : null));
1670
1666
  };
1671
1667
 
package/lib/index.js CHANGED
@@ -1069,9 +1069,7 @@ var useThemeValue = function useThemeValue(value) {
1069
1069
  return valueWithTheme;
1070
1070
  };
1071
1071
 
1072
- var styles$d = {"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","devices":"micromag-editor-preview-devices","screen-medium":"micromag-editor-preview-screen-medium"};
1073
-
1074
- var styles$c = {"container":"micromag-editor-menus-devices-container","button":"micromag-editor-menus-devices-button"};
1072
+ var styles$d = {"container":"micromag-editor-menus-devices-container","button":"micromag-editor-menus-devices-button"};
1075
1073
 
1076
1074
  /* eslint-disable react/button-has-type, react/jsx-props-no-spreading */
1077
1075
  var propTypes$i = {
@@ -1145,7 +1143,7 @@ var DeviceIcons = /*#__PURE__*/Object.freeze({
1145
1143
  Mobile: MobileIcon
1146
1144
  });
1147
1145
 
1148
- var styles$b = {"container":"micromag-editor-buttons-device-container","icon":"micromag-editor-buttons-device-icon"};
1146
+ var styles$c = {"container":"micromag-editor-buttons-device-container","icon":"micromag-editor-buttons-device-icon"};
1149
1147
 
1150
1148
  var _excluded$6 = ["device", "className", "iconComponents"];
1151
1149
  var propTypes$g = {
@@ -1166,9 +1164,9 @@ var DeviceButton = function DeviceButton(_ref) {
1166
1164
 
1167
1165
  var DeviceIcon = utils.getComponentFromName(device, iconComponents, DesktopIcon);
1168
1166
  return /*#__PURE__*/React__default["default"].createElement(components.Button, Object.assign({
1169
- className: classNames__default["default"]([styles$b.container, _defineProperty__default["default"]({}, className, className !== null)])
1167
+ className: classNames__default["default"]([styles$c.container, _defineProperty__default["default"]({}, className, className !== null)])
1170
1168
  }, props), /*#__PURE__*/React__default["default"].createElement(DeviceIcon, {
1171
- className: styles$b.icon
1169
+ className: styles$c.icon
1172
1170
  }));
1173
1171
  };
1174
1172
 
@@ -1194,7 +1192,7 @@ var DevicesMenu = function DevicesMenu(_ref) {
1194
1192
  return /*#__PURE__*/React__default["default"].createElement(components.Tabs, {
1195
1193
  items: items,
1196
1194
  theme: "outline-secondary",
1197
- className: classNames__default["default"]([styles$c.container, _defineProperty__default["default"]({}, className, className !== null)]),
1195
+ className: classNames__default["default"]([styles$d.container, _defineProperty__default["default"]({}, className, className !== null)]),
1198
1196
  renderItemButton: function renderItemButton(item, index, props) {
1199
1197
  var id = item.id,
1200
1198
  itemProps = _objectWithoutProperties__default["default"](item, _excluded$5);
@@ -1202,7 +1200,7 @@ var DevicesMenu = function DevicesMenu(_ref) {
1202
1200
  return /*#__PURE__*/React__default["default"].createElement(DeviceButton, Object.assign({
1203
1201
  device: id
1204
1202
  }, props, itemProps, {
1205
- className: styles$c.button,
1203
+ className: styles$d.button,
1206
1204
  onClick: function onClick(e) {
1207
1205
  return onClickItem !== null ? onClickItem(e, item, index) : null;
1208
1206
  }
@@ -1214,11 +1212,11 @@ var DevicesMenu = function DevicesMenu(_ref) {
1214
1212
  DevicesMenu.propTypes = propTypes$f;
1215
1213
  DevicesMenu.defaultProps = defaultProps$f;
1216
1214
 
1217
- var styles$a = {"container":"micromag-editor-partials-screen-states-container","button":"micromag-editor-partials-screen-states-button","addButton":"micromag-editor-partials-screen-states-addButton","title":"micromag-editor-partials-screen-states-title"};
1215
+ var styles$b = {"container":"micromag-editor-partials-screen-states-container","button":"micromag-editor-partials-screen-states-button","addButton":"micromag-editor-partials-screen-states-addButton","title":"micromag-editor-partials-screen-states-title"};
1218
1216
 
1219
- var styles$9 = {"button":"micromag-editor-buttons-screen-with-preview-button"};
1217
+ var styles$a = {"button":"micromag-editor-buttons-screen-with-preview-button"};
1220
1218
 
1221
- var styles$8 = {"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"};
1219
+ var styles$9 = {"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"};
1222
1220
 
1223
1221
  var propTypes$e = {
1224
1222
  active: PropTypes__default["default"].bool,
@@ -1262,17 +1260,17 @@ var ScreenButton = function ScreenButton(_ref) {
1262
1260
  onClick = _ref.onClick,
1263
1261
  refButton = _ref.refButton;
1264
1262
  return /*#__PURE__*/React__default["default"].createElement("div", {
1265
- className: classNames__default["default"]([styles$8.container, 'rounded', (_ref2 = {}, _defineProperty__default["default"](_ref2, styles$8.active, active), _defineProperty__default["default"](_ref2, className, className !== null), _ref2)])
1263
+ className: classNames__default["default"]([styles$9.container, 'rounded', (_ref2 = {}, _defineProperty__default["default"](_ref2, styles$9.active, active), _defineProperty__default["default"](_ref2, className, className !== null), _ref2)])
1266
1264
  }, children !== null ? children : /*#__PURE__*/React__default["default"].createElement("div", {
1267
- className: styles$8.screen
1265
+ className: styles$9.screen
1268
1266
  }, /*#__PURE__*/React__default["default"].createElement("div", {
1269
- className: styles$8.inner
1267
+ className: styles$9.inner
1270
1268
  }, icon !== null ? /*#__PURE__*/React__default["default"].createElement("div", {
1271
- className: styles$8.icon
1269
+ className: styles$9.icon
1272
1270
  }, icon) : null, label !== null ? /*#__PURE__*/React__default["default"].createElement("div", {
1273
- className: styles$8.label
1271
+ className: styles$9.label
1274
1272
  }, label) : null)), /*#__PURE__*/React__default["default"].createElement(components.Button, {
1275
- className: styles$8.button,
1273
+ className: styles$9.button,
1276
1274
  withoutStyle: true,
1277
1275
  id: id,
1278
1276
  href: href,
@@ -1280,7 +1278,7 @@ var ScreenButton = function ScreenButton(_ref) {
1280
1278
  onClick: onClick,
1281
1279
  refButton: refButton
1282
1280
  }, /*#__PURE__*/React__default["default"].createElement("span", {
1283
- className: classNames__default["default"]([styles$8.border, 'rounded'])
1281
+ className: classNames__default["default"]([styles$9.border, 'rounded'])
1284
1282
  })));
1285
1283
  };
1286
1284
 
@@ -1332,7 +1330,7 @@ var ScreenWithPreview = function ScreenWithPreview(_ref) {
1332
1330
  return /*#__PURE__*/React__default["default"].createElement(ScreenButton$1, {
1333
1331
  href: href,
1334
1332
  active: active,
1335
- className: classNames__default["default"]([styles$9.button, _defineProperty__default["default"]({}, className, className !== null)]),
1333
+ className: classNames__default["default"]([styles$a.button, _defineProperty__default["default"]({}, className, className !== null)]),
1336
1334
  title: utils.isMessage(title) ? intl.formatMessage(title) : null,
1337
1335
  onClick: function onClick() {
1338
1336
  if (_onClick !== null) {
@@ -1346,7 +1344,7 @@ var ScreenWithPreview = function ScreenWithPreview(_ref) {
1346
1344
  }, /*#__PURE__*/React__default["default"].createElement(ScreenComponent, {
1347
1345
  screen: screen,
1348
1346
  screenState: screenState,
1349
- className: styles$9.screen,
1347
+ className: styles$a.screen,
1350
1348
  withSize: true
1351
1349
  }));
1352
1350
  };
@@ -1397,15 +1395,15 @@ function ScreenStates(_ref) {
1397
1395
  return id === stateParam;
1398
1396
  }) !== -1 ? stateParam : null;
1399
1397
  return /*#__PURE__*/React__default["default"].createElement("div", {
1400
- className: classNames__default["default"]([styles$a.container, _defineProperty__default["default"]({}, className, className !== null)])
1398
+ className: classNames__default["default"]([styles$b.container, _defineProperty__default["default"]({}, className, className !== null)])
1401
1399
  }, /*#__PURE__*/React__default["default"].createElement("div", {
1402
1400
  className: "d-flex align-items-end m-n1"
1403
1401
  }, /*#__PURE__*/React__default["default"].createElement("div", {
1404
1402
  className: "p-1 align-self-stretch d-flex flex-column"
1405
1403
  }, /*#__PURE__*/React__default["default"].createElement("h6", {
1406
- className: classNames__default["default"](['fw-normal', 'invisible', styles$a.title])
1404
+ className: classNames__default["default"](['fw-normal', 'invisible', styles$b.title])
1407
1405
  }, "Settings"), /*#__PURE__*/React__default["default"].createElement(components.Button, {
1408
- className: classNames__default["default"]([styles$a.button, 'p-0', 'flex-grow-1', 'justify-content-center']),
1406
+ className: classNames__default["default"]([styles$b.button, 'p-0', 'flex-grow-1', 'justify-content-center']),
1409
1407
  theme: screenParam !== null && field === null ? 'primary' : 'secondary',
1410
1408
  outline: screenParam === null || field !== null,
1411
1409
  size: "lg",
@@ -1456,7 +1454,7 @@ function ScreenStates(_ref) {
1456
1454
  return /*#__PURE__*/React__default["default"].createElement("div", {
1457
1455
  className: "p-1 align-self-stretch d-flex flex-column"
1458
1456
  }, /*#__PURE__*/React__default["default"].createElement("h6", {
1459
- className: classNames__default["default"](['fw-normal', 'text-muted', styles$a.title])
1457
+ className: classNames__default["default"](['fw-normal', 'text-muted', styles$b.title])
1460
1458
  }, /*#__PURE__*/React__default["default"].createElement(reactIntl.FormattedMessage, label)), repeatable ? /*#__PURE__*/React__default["default"].createElement("ul", {
1461
1459
  className: "d-flex list-unstyled m-n1 flex-grow-1"
1462
1460
  }, repeatableItems.map(function (item, index) {
@@ -1466,7 +1464,7 @@ function ScreenStates(_ref) {
1466
1464
  index: index,
1467
1465
  screen: screen,
1468
1466
  screenState: "".concat(id, ".").concat(index),
1469
- className: styles$a.button,
1467
+ className: styles$b.button,
1470
1468
  active: currentState !== null && id === currentState.split('.')[0] && stateIndex !== null && parseInt(stateIndex, 10) === index,
1471
1469
  href: url('screen.field', {
1472
1470
  screen: screen.id,
@@ -1476,7 +1474,7 @@ function ScreenStates(_ref) {
1476
1474
  }), !withoutCreate ? /*#__PURE__*/React__default["default"].createElement("li", {
1477
1475
  className: "p-1"
1478
1476
  }, /*#__PURE__*/React__default["default"].createElement(components.Button, {
1479
- className: classNames__default["default"]([styles$a.button, styles$a.addButton, 'h-100', 'p-0', 'justify-content-center']),
1477
+ className: classNames__default["default"]([styles$b.button, styles$b.addButton, 'h-100', 'p-0', 'justify-content-center']),
1480
1478
  theme: "secondary",
1481
1479
  outline: true,
1482
1480
  size: "lg",
@@ -1487,7 +1485,7 @@ function ScreenStates(_ref) {
1487
1485
  })) : null) : /*#__PURE__*/React__default["default"].createElement(ScreenWithPreview, {
1488
1486
  screen: screen,
1489
1487
  screenState: id,
1490
- className: styles$a.button,
1488
+ className: styles$b.button,
1491
1489
  active: id === currentState,
1492
1490
  href: url('screen.field', {
1493
1491
  screen: screen.id,
@@ -1505,6 +1503,8 @@ function ScreenStates(_ref) {
1505
1503
  ScreenStates.propTypes = propTypes$c;
1506
1504
  ScreenStates.defaultProps = defaultProps$c;
1507
1505
 
1506
+ 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","devices":"micromag-editor-preview-devices","screen-medium":"micromag-editor-preview-screen-medium"};
1507
+
1508
1508
  var propTypes$b = {
1509
1509
  value: PropTypes__default["default"].oneOfType([core.PropTypes.story, core.PropTypes.theme]),
1510
1510
  devices: core.PropTypes.devices,
@@ -1537,7 +1537,7 @@ var defaultProps$b = {
1537
1537
  };
1538
1538
 
1539
1539
  var EditorPreview = function EditorPreview(_ref) {
1540
- var _ref9;
1540
+ var _ref8;
1541
1541
 
1542
1542
  var value = _ref.value,
1543
1543
  viewerTheme = _ref.viewerTheme,
@@ -1582,9 +1582,12 @@ var EditorPreview = function EditorPreview(_ref) {
1582
1582
  });
1583
1583
  }, [devices, deviceId]); // Calculate preview style
1584
1584
 
1585
- var _useResizeObserver = hooks.useResizeObserver(),
1586
- bottomRef = _useResizeObserver.ref,
1587
- contentRect = _useResizeObserver.entry.contentRect;
1585
+ var _useDimensionObserver = hooks.useDimensionObserver(),
1586
+ bottomRef = _useDimensionObserver.ref,
1587
+ _useDimensionObserver2 = _useDimensionObserver.width,
1588
+ bottomWidth = _useDimensionObserver2 === void 0 ? 0 : _useDimensionObserver2,
1589
+ _useDimensionObserver3 = _useDimensionObserver.height,
1590
+ bottomHeight = _useDimensionObserver3 === void 0 ? 0 : _useDimensionObserver3;
1588
1591
 
1589
1592
  var previewStyle = React.useMemo(function () {
1590
1593
  if (withoutDevicesSizes && initialDevice === null) {
@@ -1593,13 +1596,6 @@ var EditorPreview = function EditorPreview(_ref) {
1593
1596
 
1594
1597
  var deviceWidth = device.width,
1595
1598
  deviceHeight = device.height;
1596
-
1597
- var _ref2 = contentRect || {},
1598
- _ref2$width = _ref2.width,
1599
- bottomWidth = _ref2$width === void 0 ? 0 : _ref2$width,
1600
- _ref2$height = _ref2.height,
1601
- bottomHeight = _ref2$height === void 0 ? 0 : _ref2$height;
1602
-
1603
1599
  var maxWidth = screen === 'mobile' ? bottomWidth : deviceWidth;
1604
1600
  var maxHeight = screen === 'mobile' ? bottomHeight : deviceHeight;
1605
1601
 
@@ -1611,73 +1607,73 @@ var EditorPreview = function EditorPreview(_ref) {
1611
1607
  height: maxHeight,
1612
1608
  transform: "scale(".concat(previewScale, ", ").concat(previewScale, ")")
1613
1609
  };
1614
- }, [device, contentRect, screen, withoutDevicesSizes, initialDevice]);
1610
+ }, [device, bottomWidth, bottomHeight, screen, withoutDevicesSizes, initialDevice]);
1615
1611
  var currentScreen = React.useMemo(function () {
1616
- var _ref3 = valueParsed || {},
1617
- _ref3$components = _ref3.components,
1618
- components = _ref3$components === void 0 ? [] : _ref3$components;
1612
+ var _ref2 = valueParsed || {},
1613
+ _ref2$components = _ref2.components,
1614
+ components = _ref2$components === void 0 ? [] : _ref2$components;
1619
1615
 
1620
- return (screenId !== null ? components.find(function (_ref4) {
1621
- var id = _ref4.id;
1616
+ return (screenId !== null ? components.find(function (_ref3) {
1617
+ var id = _ref3.id;
1622
1618
  return id === screenId;
1623
1619
  }) : components[0]) || null;
1624
1620
  }, [valueParsed, screenId]);
1625
1621
  var currentScreenStates = useScreenStates(currentScreen);
1626
1622
 
1627
- var _ref5 = fieldParam !== null && currentScreenStates !== null ? fieldParam.split('/') : [],
1628
- _ref6 = _slicedToArray__default["default"](_ref5, 1),
1629
- _ref6$ = _ref6[0],
1630
- screenStateParam = _ref6$ === void 0 ? null : _ref6$;
1623
+ var _ref4 = fieldParam !== null && currentScreenStates !== null ? fieldParam.split('/') : [],
1624
+ _ref5 = _slicedToArray__default["default"](_ref4, 1),
1625
+ _ref5$ = _ref5[0],
1626
+ screenStateParam = _ref5$ === void 0 ? null : _ref5$;
1631
1627
 
1632
- var currentScreenState = screenStateParam !== null ? currentScreenStates.find(function (_ref7) {
1633
- var id = _ref7.id;
1628
+ var currentScreenState = screenStateParam !== null ? currentScreenStates.find(function (_ref6) {
1629
+ var id = _ref6.id;
1634
1630
  return id === screenStateParam;
1635
1631
  }) || null : null;
1636
1632
 
1637
- var _ref8 = currentScreenState || {},
1638
- _ref8$id = _ref8.id,
1639
- screenStateId = _ref8$id === void 0 ? null : _ref8$id,
1640
- _ref8$repeatable = _ref8.repeatable,
1641
- repeatable = _ref8$repeatable === void 0 ? false : _ref8$repeatable;
1633
+ var _ref7 = currentScreenState || {},
1634
+ _ref7$id = _ref7.id,
1635
+ screenStateId = _ref7$id === void 0 ? null : _ref7$id,
1636
+ _ref7$repeatable = _ref7.repeatable,
1637
+ repeatable = _ref7$repeatable === void 0 ? false : _ref7$repeatable;
1642
1638
 
1643
1639
  var currentScreenStateId = currentScreenState !== null && repeatable ? "".concat(screenStateId, ".").concat(fieldParam.split('/').find(function (it) {
1644
1640
  return it.match(/^[0-9]+$/) !== null;
1645
1641
  }) || 0) : screenStateId;
1646
1642
  return /*#__PURE__*/React__default["default"].createElement("div", {
1647
- className: classNames__default["default"]([styles$d.container, screens.map(function (screenName) {
1648
- return styles$d["screen-".concat(screenName)];
1649
- }), (_ref9 = {}, _defineProperty__default["default"](_ref9, className, className), _defineProperty__default["default"](_ref9, styles$d.withoutDevicesSizes, withoutDevicesSizes), _ref9)])
1643
+ className: classNames__default["default"]([styles$8.container, screens.map(function (screenName) {
1644
+ return styles$8["screen-".concat(screenName)];
1645
+ }), (_ref8 = {}, _defineProperty__default["default"](_ref8, className, className), _defineProperty__default["default"](_ref8, styles$8.withoutDevicesSizes, withoutDevicesSizes), _ref8)])
1650
1646
  }, /*#__PURE__*/React__default["default"].createElement("div", {
1651
- className: styles$d.inner
1647
+ className: styles$8.inner
1652
1648
  }, currentScreenStates !== null && currentScreen !== null ? /*#__PURE__*/React__default["default"].createElement("div", {
1653
- className: classNames__default["default"]([styles$d.top, 'px-1'])
1649
+ className: classNames__default["default"]([styles$8.top, 'px-1'])
1654
1650
  }, /*#__PURE__*/React__default["default"].createElement(ScreenStates, {
1655
1651
  screen: currentScreen,
1656
1652
  screenState: currentScreenStateId,
1657
1653
  value: value,
1658
1654
  onChange: onChange
1659
1655
  })) : null, /*#__PURE__*/React__default["default"].createElement("div", {
1660
- className: styles$d.bottom
1656
+ className: styles$8.bottom
1661
1657
  }, /*#__PURE__*/React__default["default"].createElement("div", {
1662
- className: styles$d.inner,
1658
+ className: styles$8.inner,
1663
1659
  ref: bottomRef
1664
1660
  }, /*#__PURE__*/React__default["default"].createElement("div", {
1665
- className: styles$d.preview,
1661
+ className: styles$8.preview,
1666
1662
  style: previewStyle
1667
1663
  }, /*#__PURE__*/React__default["default"].createElement("div", {
1668
- className: styles$d.viewerContainer
1664
+ className: styles$8.viewerContainer
1669
1665
  }, /*#__PURE__*/React__default["default"].createElement(viewer.Viewer, {
1670
1666
  story: valueParsed,
1671
1667
  storyIsParsed: true,
1672
1668
  screen: screenId,
1673
1669
  screenState: currentScreenStateId,
1674
- className: styles$d.story,
1670
+ className: styles$8.story,
1675
1671
  theme: viewerTheme,
1676
1672
  interactions: null,
1677
1673
  renderContext: "edit",
1678
1674
  onScreenChange: onScreenChange
1679
1675
  }))))), !withoutDevicesSizes ? /*#__PURE__*/React__default["default"].createElement("div", {
1680
- className: styles$d.deviceMenu
1676
+ className: styles$8.deviceMenu
1681
1677
  }, /*#__PURE__*/React__default["default"].createElement(DevicesMenu, {
1682
1678
  items: devices.map(function (it) {
1683
1679
  return _objectSpread__default["default"](_objectSpread__default["default"]({}, it), {}, {
@@ -1685,7 +1681,7 @@ var EditorPreview = function EditorPreview(_ref) {
1685
1681
  });
1686
1682
  }),
1687
1683
  onClickItem: onClickDeviceItem,
1688
- className: styles$d.devices
1684
+ className: styles$8.devices
1689
1685
  })) : null));
1690
1686
  };
1691
1687
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/editor",
3
- "version": "0.3.150",
3
+ "version": "0.3.154",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -62,11 +62,11 @@
62
62
  "@fortawesome/fontawesome-svg-core": "^1.2.32",
63
63
  "@fortawesome/free-solid-svg-icons": "^5.15.1",
64
64
  "@fortawesome/react-fontawesome": "^0.1.13",
65
- "@micromag/core": "^0.3.150",
66
- "@micromag/elements": "^0.3.150",
67
- "@micromag/fields": "^0.3.150",
68
- "@micromag/screens": "^0.3.150",
69
- "@micromag/viewer": "^0.3.150",
65
+ "@micromag/core": "^0.3.153",
66
+ "@micromag/elements": "^0.3.153",
67
+ "@micromag/fields": "^0.3.153",
68
+ "@micromag/screens": "^0.3.154",
69
+ "@micromag/viewer": "^0.3.154",
70
70
  "classnames": "^2.2.6",
71
71
  "lodash": "^4.17.21",
72
72
  "prop-types": "^15.7.2",
@@ -81,5 +81,5 @@
81
81
  "publishConfig": {
82
82
  "access": "public"
83
83
  },
84
- "gitHead": "c9441be7a115a52416883e404feeca422af4f2da"
84
+ "gitHead": "334e86f5f89e7fae922eddbd68352c7865e234d8"
85
85
  }