@micromag/core 0.3.506 → 0.3.507

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
@@ -926,6 +926,52 @@ var getComponentFromName = function getComponentFromName() {
926
926
  return components[pascalName] || components[name] || defaultComponent;
927
927
  };
928
928
 
929
+ function getScreenFieldsWithStates(definition) {
930
+ var _ref = definition || {},
931
+ _ref$fields = _ref.fields,
932
+ screenFields = _ref$fields === void 0 ? null : _ref$fields,
933
+ _ref$states = _ref.states,
934
+ states = _ref$states === void 0 ? null : _ref$states;
935
+ if (states === null) {
936
+ return screenFields;
937
+ }
938
+ var extraFields = states.reduce(function (statesFields, current) {
939
+ var _ref2 = current || {},
940
+ id = _ref2.id,
941
+ _ref2$fields = _ref2.fields,
942
+ fields = _ref2$fields === void 0 ? [] : _ref2$fields,
943
+ _ref2$repeatable = _ref2.repeatable,
944
+ repeatable = _ref2$repeatable === void 0 ? false : _ref2$repeatable,
945
+ _ref2$fieldName = _ref2.fieldName,
946
+ fieldName = _ref2$fieldName === void 0 ? null : _ref2$fieldName,
947
+ label = _ref2.label,
948
+ _ref2$defaultValue = _ref2.defaultValue,
949
+ defaultValue = _ref2$defaultValue === void 0 ? null : _ref2$defaultValue;
950
+ return [].concat(_toConsumableArray(statesFields), _toConsumableArray(repeatable ? [{
951
+ type: 'items',
952
+ name: fieldName || id,
953
+ label: label,
954
+ defaultValue: defaultValue,
955
+ stateId: id,
956
+ itemsField: {
957
+ label: label,
958
+ type: 'fields',
959
+ fields: fields
960
+ }
961
+ }] : []), _toConsumableArray(!repeatable && fieldName !== null ? [{
962
+ type: 'fields',
963
+ name: fieldName,
964
+ stateId: id,
965
+ fields: fields
966
+ }] : []), _toConsumableArray(!repeatable && fieldName === null ? fields.map(function (it) {
967
+ return _objectSpread(_objectSpread({}, it), {}, {
968
+ stateId: id
969
+ });
970
+ }) : []));
971
+ }, []);
972
+ return [].concat(_toConsumableArray(extraFields), _toConsumableArray(screenFields));
973
+ }
974
+
929
975
  var ComponentsManager = /*#__PURE__*/function (_EventEmitter) {
930
976
  function ComponentsManager() {
931
977
  var _this;
@@ -1188,9 +1234,7 @@ var MediasParser = /*#__PURE__*/function () {
1188
1234
  key: "getFieldsPatternByScreen",
1189
1235
  value: function getFieldsPatternByScreen(type) {
1190
1236
  if (typeof this.fieldsPatternCache[type] === 'undefined') {
1191
- var _ref2 = this.screensManager.getDefinition(type) || {},
1192
- _ref2$fields = _ref2.fields,
1193
- fields = _ref2$fields === void 0 ? [] : _ref2$fields;
1237
+ var fields = getScreenFieldsWithStates(this.screensManager.getDefinition(type) || {});
1194
1238
  this.fieldsPatternCache[type] = this.getFieldsPattern(fields);
1195
1239
  }
1196
1240
  return this.fieldsPatternCache[type];
@@ -1204,16 +1248,16 @@ var MediasParser = /*#__PURE__*/function () {
1204
1248
  if (story === null) {
1205
1249
  return story;
1206
1250
  }
1207
- var _ref3 = story || {},
1208
- _ref3$id = _ref3.id,
1209
- storyId = _ref3$id === void 0 ? null : _ref3$id,
1210
- _ref3$theme = _ref3.theme,
1211
- theme = _ref3$theme === void 0 ? null : _ref3$theme,
1212
- _ref3$components = _ref3.components,
1213
- components = _ref3$components === void 0 ? [] : _ref3$components;
1214
- var _components$reduce = components.reduce(function (_ref4, screen) {
1215
- var previousComponents = _ref4.components,
1216
- currentMedias = _ref4.medias;
1251
+ var _ref2 = story || {},
1252
+ _ref2$id = _ref2.id,
1253
+ storyId = _ref2$id === void 0 ? null : _ref2$id,
1254
+ _ref2$theme = _ref2.theme,
1255
+ theme = _ref2$theme === void 0 ? null : _ref2$theme,
1256
+ _ref2$components = _ref2.components,
1257
+ components = _ref2$components === void 0 ? [] : _ref2$components;
1258
+ var _components$reduce = components.reduce(function (_ref3, screen) {
1259
+ var previousComponents = _ref3.components,
1260
+ currentMedias = _ref3.medias;
1217
1261
  var type = screen.type;
1218
1262
  var fieldsPattern = _this.getFieldsPatternByScreen(type);
1219
1263
  var _MediasParser$replace = MediasParser.replaceMediasWithPaths(screen, fieldsPattern),
@@ -1253,13 +1297,13 @@ var MediasParser = /*#__PURE__*/function () {
1253
1297
  if (story === null) {
1254
1298
  return story;
1255
1299
  }
1256
- var _ref5 = story || {},
1257
- _ref5$theme = _ref5.theme,
1258
- theme = _ref5$theme === void 0 ? null : _ref5$theme,
1259
- _ref5$components = _ref5.components,
1260
- components = _ref5$components === void 0 ? [] : _ref5$components,
1261
- _ref5$medias = _ref5.medias,
1262
- medias = _ref5$medias === void 0 ? defaultMedias : _ref5$medias;
1300
+ var _ref4 = story || {},
1301
+ _ref4$theme = _ref4.theme,
1302
+ theme = _ref4$theme === void 0 ? null : _ref4$theme,
1303
+ _ref4$components = _ref4.components,
1304
+ components = _ref4$components === void 0 ? [] : _ref4$components,
1305
+ _ref4$medias = _ref4.medias,
1306
+ medias = _ref4$medias === void 0 ? defaultMedias : _ref4$medias;
1263
1307
  if (medias === null && theme === null) {
1264
1308
  return story;
1265
1309
  }
@@ -1317,16 +1361,16 @@ var MediasParser = /*#__PURE__*/function () {
1317
1361
  }
1318
1362
  }], [{
1319
1363
  key: "fieldIsMedia",
1320
- value: function fieldIsMedia(_ref6) {
1321
- var _ref6$media = _ref6.media,
1322
- media = _ref6$media === void 0 ? false : _ref6$media;
1364
+ value: function fieldIsMedia(_ref5) {
1365
+ var _ref5$media = _ref5.media,
1366
+ media = _ref5$media === void 0 ? false : _ref5$media;
1323
1367
  return media;
1324
1368
  }
1325
1369
  }, {
1326
1370
  key: "fieldIsFontFamily",
1327
- value: function fieldIsFontFamily(_ref7) {
1328
- var _ref7$id = _ref7.id,
1329
- id = _ref7$id === void 0 ? null : _ref7$id;
1371
+ value: function fieldIsFontFamily(_ref6) {
1372
+ var _ref6$id = _ref6.id,
1373
+ id = _ref6$id === void 0 ? null : _ref6$id;
1330
1374
  return id === 'font-family';
1331
1375
  }
1332
1376
  }, {
@@ -1353,9 +1397,9 @@ var MediasParser = /*#__PURE__*/function () {
1353
1397
  }
1354
1398
  }, {
1355
1399
  key: "getMediaPath",
1356
- value: function getMediaPath(_ref8) {
1357
- var _ref8$id = _ref8.id,
1358
- id = _ref8$id === void 0 ? null : _ref8$id;
1400
+ value: function getMediaPath(_ref7) {
1401
+ var _ref7$id = _ref7.id,
1402
+ id = _ref7$id === void 0 ? null : _ref7$id;
1359
1403
  return id !== null ? "media://".concat(id) : null;
1360
1404
  }
1361
1405
  }, {
@@ -1365,9 +1409,9 @@ var MediasParser = /*#__PURE__*/function () {
1365
1409
  var keyPrefix = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
1366
1410
  var dataIsArray = isArray(data);
1367
1411
  var dataKeys = MediasParser.keys(data);
1368
- return dataKeys.reduce(function (_ref9, key) {
1369
- var currentData = _ref9.data,
1370
- currentMedias = _ref9.medias;
1412
+ return dataKeys.reduce(function (_ref8, key) {
1413
+ var currentData = _ref8.data,
1414
+ currentMedias = _ref8.medias;
1371
1415
  var path = [keyPrefix, key].filter(function (it) {
1372
1416
  return it !== null;
1373
1417
  }).join('.');
@@ -1502,9 +1546,7 @@ var FontsParser = /*#__PURE__*/function () {
1502
1546
  key: "getFieldsPatternByScreen",
1503
1547
  value: function getFieldsPatternByScreen(type) {
1504
1548
  if (typeof this.fieldsPatternCache[type] === 'undefined') {
1505
- var _ref2 = this.screensManager.getDefinition(type) || {},
1506
- _ref2$fields = _ref2.fields,
1507
- fields = _ref2$fields === void 0 ? [] : _ref2$fields;
1549
+ var fields = getScreenFieldsWithStates(this.screensManager.getDefinition(type) || {});
1508
1550
  this.fieldsPatternCache[type] = this.getFieldsPattern(fields);
1509
1551
  }
1510
1552
  return this.fieldsPatternCache[type];
@@ -1520,11 +1562,11 @@ var FontsParser = /*#__PURE__*/function () {
1520
1562
  }
1521
1563
 
1522
1564
  // Extract fonts from screen
1523
- var _ref3 = story || {},
1524
- _ref3$theme = _ref3.theme,
1525
- theme = _ref3$theme === void 0 ? null : _ref3$theme,
1526
- _ref3$components = _ref3.components,
1527
- components = _ref3$components === void 0 ? [] : _ref3$components;
1565
+ var _ref2 = story || {},
1566
+ _ref2$theme = _ref2.theme,
1567
+ theme = _ref2$theme === void 0 ? null : _ref2$theme,
1568
+ _ref2$components = _ref2.components,
1569
+ components = _ref2$components === void 0 ? [] : _ref2$components;
1528
1570
  var fonts = uniq(components.reduce(function (currentFonts, screen) {
1529
1571
  var type = screen.type;
1530
1572
  var fieldsPattern = _this.getFieldsPatternByScreen(type);
@@ -1574,16 +1616,16 @@ var FontsParser = /*#__PURE__*/function () {
1574
1616
  }
1575
1617
  }], [{
1576
1618
  key: "fieldIsFontFamily",
1577
- value: function fieldIsFontFamily(_ref4) {
1578
- var _ref4$id = _ref4.id,
1579
- id = _ref4$id === void 0 ? null : _ref4$id;
1619
+ value: function fieldIsFontFamily(_ref3) {
1620
+ var _ref3$id = _ref3.id,
1621
+ id = _ref3$id === void 0 ? null : _ref3$id;
1580
1622
  return id === 'font-family';
1581
1623
  }
1582
1624
  }, {
1583
1625
  key: "valueIsFont",
1584
- value: function valueIsFont(_ref5) {
1585
- var _ref5$type = _ref5.type,
1586
- type = _ref5$type === void 0 ? null : _ref5$type;
1626
+ value: function valueIsFont(_ref4) {
1627
+ var _ref4$type = _ref4.type,
1628
+ type = _ref4$type === void 0 ? null : _ref4$type;
1587
1629
  return type === 'custom' || type === 'google';
1588
1630
  }
1589
1631
  }, {
package/es/utils.js CHANGED
@@ -1,5 +1,7 @@
1
1
  import _regeneratorRuntime from '@babel/runtime/helpers/regeneratorRuntime';
2
2
  import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
3
+ import _objectSpread from '@babel/runtime/helpers/objectSpread2';
4
+ import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
3
5
  import { paramCase, pascalCase, snakeCase } from 'change-case';
4
6
  export { camelCase, pascalCase, snakeCase } from 'change-case';
5
7
  import isNumber from 'lodash/isNumber';
@@ -7,8 +9,6 @@ import isObject from 'lodash/isObject';
7
9
  import { useEffect, useMemo } from 'react';
8
10
  import isString from 'lodash/isString';
9
11
  import tinycolor from 'tinycolor2';
10
- import _toConsumableArray from '@babel/runtime/helpers/toConsumableArray';
11
- import _objectSpread from '@babel/runtime/helpers/objectSpread2';
12
12
  import isArray from 'lodash/isArray';
13
13
  import _objectWithoutProperties from '@babel/runtime/helpers/objectWithoutProperties';
14
14
  import _defineProperty from '@babel/runtime/helpers/defineProperty';
@@ -634,6 +634,52 @@ var getScreenExtraField = function getScreenExtraField(intl) {
634
634
  };
635
635
  var getScreenExtraField$1 = getScreenExtraField;
636
636
 
637
+ function getScreenFieldsWithStates(definition) {
638
+ var _ref = definition || {},
639
+ _ref$fields = _ref.fields,
640
+ screenFields = _ref$fields === void 0 ? null : _ref$fields,
641
+ _ref$states = _ref.states,
642
+ states = _ref$states === void 0 ? null : _ref$states;
643
+ if (states === null) {
644
+ return screenFields;
645
+ }
646
+ var extraFields = states.reduce(function (statesFields, current) {
647
+ var _ref2 = current || {},
648
+ id = _ref2.id,
649
+ _ref2$fields = _ref2.fields,
650
+ fields = _ref2$fields === void 0 ? [] : _ref2$fields,
651
+ _ref2$repeatable = _ref2.repeatable,
652
+ repeatable = _ref2$repeatable === void 0 ? false : _ref2$repeatable,
653
+ _ref2$fieldName = _ref2.fieldName,
654
+ fieldName = _ref2$fieldName === void 0 ? null : _ref2$fieldName,
655
+ label = _ref2.label,
656
+ _ref2$defaultValue = _ref2.defaultValue,
657
+ defaultValue = _ref2$defaultValue === void 0 ? null : _ref2$defaultValue;
658
+ return [].concat(_toConsumableArray(statesFields), _toConsumableArray(repeatable ? [{
659
+ type: 'items',
660
+ name: fieldName || id,
661
+ label: label,
662
+ defaultValue: defaultValue,
663
+ stateId: id,
664
+ itemsField: {
665
+ label: label,
666
+ type: 'fields',
667
+ fields: fields
668
+ }
669
+ }] : []), _toConsumableArray(!repeatable && fieldName !== null ? [{
670
+ type: 'fields',
671
+ name: fieldName,
672
+ stateId: id,
673
+ fields: fields
674
+ }] : []), _toConsumableArray(!repeatable && fieldName === null ? fields.map(function (it) {
675
+ return _objectSpread(_objectSpread({}, it), {}, {
676
+ stateId: id
677
+ });
678
+ }) : []));
679
+ }, []);
680
+ return [].concat(_toConsumableArray(extraFields), _toConsumableArray(screenFields));
681
+ }
682
+
637
683
  function getShadowCoords(angle, distance) {
638
684
  var x = (Math.cos(angle) * distance).toFixed(3);
639
685
  var y = (Math.sin(angle) * distance).toFixed(3);
@@ -1164,4 +1210,4 @@ var getContrastingColor = function getContrastingColor(backgroundColor) {
1164
1210
  };
1165
1211
  var getContrastingColor$1 = getContrastingColor;
1166
1212
 
1167
- export { convertStyleToString$1 as convertStyleToString, copyToClipboard, createNullableOnChange$1 as createNullableOnChange, createUseEvent$1 as createUseEvent, easings$1 as easings, getColorAsString$1 as getColorAsString, getComponentFromName$1 as getComponentFromName, getContrastingColor$1 as getContrastingColor, getDeviceScreens$1 as getDeviceScreens, getDisplayName$1 as getDisplayName, getFieldByName$1 as getFieldByName, getFieldFromPath$1 as getFieldFromPath, getFileName$1 as getFileName, getFontFamilyFromFont, getFooterProps$1 as getFooterProps, getGridLayoutName$1 as getGridLayoutName, largestRemainderRound$1 as getLargestRemainderRound, getLayersFromBackground$1 as getLayersFromBackground, getLayoutParts$1 as getLayoutParts, getMediaFilesAsArray$1 as getMediaFilesAsArray, getOptimalImageUrl$1 as getOptimalImageUrl, getScreenExtraField$1 as getScreenExtraField, getSecondsFromTime$1 as getSecondsFromTime, getShadowCoords, getStyleFromAlignment$1 as getStyleFromAlignment, getStyleFromBorder$1 as getStyleFromBorder, getStyleFromBox$1 as getStyleFromBox, getStyleFromColor$1 as getStyleFromColor, getStyleFromContainer$1 as getStyleFromContainer, getStyleFromHighlight$1 as getStyleFromHighlight, getStyleFromImage$1 as getStyleFromImage, getStyleFromLink$1 as getStyleFromLink, getStyleFromMargin$1 as getStyleFromMargin, getStyleFromText$1 as getStyleFromText, getVideoSupportedMimes, isFooterFilled$1 as isFooterFilled, isHeaderFilled$1 as isHeaderFilled, isImageFilled$1 as isImageFilled, isIos$1 as isIos, isTextFilled$3 as isLabelFilled, isMessage$1 as isMessage, isTextFilled$1 as isTextFilled, isValidUrl$1 as isValidUrl, schemaId$1 as schemaId, setValue$1 as setFieldValue, slug$1 as slug, unique$1 as unique, validateFields$1 as validateFields };
1213
+ export { convertStyleToString$1 as convertStyleToString, copyToClipboard, createNullableOnChange$1 as createNullableOnChange, createUseEvent$1 as createUseEvent, easings$1 as easings, getColorAsString$1 as getColorAsString, getComponentFromName$1 as getComponentFromName, getContrastingColor$1 as getContrastingColor, getDeviceScreens$1 as getDeviceScreens, getDisplayName$1 as getDisplayName, getFieldByName$1 as getFieldByName, getFieldFromPath$1 as getFieldFromPath, getFileName$1 as getFileName, getFontFamilyFromFont, getFooterProps$1 as getFooterProps, getGridLayoutName$1 as getGridLayoutName, largestRemainderRound$1 as getLargestRemainderRound, getLayersFromBackground$1 as getLayersFromBackground, getLayoutParts$1 as getLayoutParts, getMediaFilesAsArray$1 as getMediaFilesAsArray, getOptimalImageUrl$1 as getOptimalImageUrl, getScreenExtraField$1 as getScreenExtraField, getScreenFieldsWithStates, getSecondsFromTime$1 as getSecondsFromTime, getShadowCoords, getStyleFromAlignment$1 as getStyleFromAlignment, getStyleFromBorder$1 as getStyleFromBorder, getStyleFromBox$1 as getStyleFromBox, getStyleFromColor$1 as getStyleFromColor, getStyleFromContainer$1 as getStyleFromContainer, getStyleFromHighlight$1 as getStyleFromHighlight, getStyleFromImage$1 as getStyleFromImage, getStyleFromLink$1 as getStyleFromLink, getStyleFromMargin$1 as getStyleFromMargin, getStyleFromText$1 as getStyleFromText, getVideoSupportedMimes, isFooterFilled$1 as isFooterFilled, isHeaderFilled$1 as isHeaderFilled, isImageFilled$1 as isImageFilled, isIos$1 as isIos, isTextFilled$3 as isLabelFilled, isMessage$1 as isMessage, isTextFilled$1 as isTextFilled, isValidUrl$1 as isValidUrl, schemaId$1 as schemaId, setValue$1 as setFieldValue, slug$1 as slug, unique$1 as unique, validateFields$1 as validateFields };
package/lib/index.js CHANGED
@@ -1012,6 +1012,52 @@ var getComponentFromName = function getComponentFromName() {
1012
1012
  return components[pascalName] || components[name] || defaultComponent;
1013
1013
  };
1014
1014
 
1015
+ function getScreenFieldsWithStates(definition) {
1016
+ var _ref = definition || {},
1017
+ _ref$fields = _ref.fields,
1018
+ screenFields = _ref$fields === void 0 ? null : _ref$fields,
1019
+ _ref$states = _ref.states,
1020
+ states = _ref$states === void 0 ? null : _ref$states;
1021
+ if (states === null) {
1022
+ return screenFields;
1023
+ }
1024
+ var extraFields = states.reduce(function (statesFields, current) {
1025
+ var _ref2 = current || {},
1026
+ id = _ref2.id,
1027
+ _ref2$fields = _ref2.fields,
1028
+ fields = _ref2$fields === void 0 ? [] : _ref2$fields,
1029
+ _ref2$repeatable = _ref2.repeatable,
1030
+ repeatable = _ref2$repeatable === void 0 ? false : _ref2$repeatable,
1031
+ _ref2$fieldName = _ref2.fieldName,
1032
+ fieldName = _ref2$fieldName === void 0 ? null : _ref2$fieldName,
1033
+ label = _ref2.label,
1034
+ _ref2$defaultValue = _ref2.defaultValue,
1035
+ defaultValue = _ref2$defaultValue === void 0 ? null : _ref2$defaultValue;
1036
+ return [].concat(_toConsumableArray(statesFields), _toConsumableArray(repeatable ? [{
1037
+ type: 'items',
1038
+ name: fieldName || id,
1039
+ label: label,
1040
+ defaultValue: defaultValue,
1041
+ stateId: id,
1042
+ itemsField: {
1043
+ label: label,
1044
+ type: 'fields',
1045
+ fields: fields
1046
+ }
1047
+ }] : []), _toConsumableArray(!repeatable && fieldName !== null ? [{
1048
+ type: 'fields',
1049
+ name: fieldName,
1050
+ stateId: id,
1051
+ fields: fields
1052
+ }] : []), _toConsumableArray(!repeatable && fieldName === null ? fields.map(function (it) {
1053
+ return _objectSpread(_objectSpread({}, it), {}, {
1054
+ stateId: id
1055
+ });
1056
+ }) : []));
1057
+ }, []);
1058
+ return [].concat(_toConsumableArray(extraFields), _toConsumableArray(screenFields));
1059
+ }
1060
+
1015
1061
  var ComponentsManager = /*#__PURE__*/function (_EventEmitter) {
1016
1062
  function ComponentsManager() {
1017
1063
  var _this;
@@ -1274,9 +1320,7 @@ var MediasParser = /*#__PURE__*/function () {
1274
1320
  key: "getFieldsPatternByScreen",
1275
1321
  value: function getFieldsPatternByScreen(type) {
1276
1322
  if (typeof this.fieldsPatternCache[type] === 'undefined') {
1277
- var _ref2 = this.screensManager.getDefinition(type) || {},
1278
- _ref2$fields = _ref2.fields,
1279
- fields = _ref2$fields === void 0 ? [] : _ref2$fields;
1323
+ var fields = getScreenFieldsWithStates(this.screensManager.getDefinition(type) || {});
1280
1324
  this.fieldsPatternCache[type] = this.getFieldsPattern(fields);
1281
1325
  }
1282
1326
  return this.fieldsPatternCache[type];
@@ -1290,16 +1334,16 @@ var MediasParser = /*#__PURE__*/function () {
1290
1334
  if (story === null) {
1291
1335
  return story;
1292
1336
  }
1293
- var _ref3 = story || {},
1294
- _ref3$id = _ref3.id,
1295
- storyId = _ref3$id === void 0 ? null : _ref3$id,
1296
- _ref3$theme = _ref3.theme,
1297
- theme = _ref3$theme === void 0 ? null : _ref3$theme,
1298
- _ref3$components = _ref3.components,
1299
- components = _ref3$components === void 0 ? [] : _ref3$components;
1300
- var _components$reduce = components.reduce(function (_ref4, screen) {
1301
- var previousComponents = _ref4.components,
1302
- currentMedias = _ref4.medias;
1337
+ var _ref2 = story || {},
1338
+ _ref2$id = _ref2.id,
1339
+ storyId = _ref2$id === void 0 ? null : _ref2$id,
1340
+ _ref2$theme = _ref2.theme,
1341
+ theme = _ref2$theme === void 0 ? null : _ref2$theme,
1342
+ _ref2$components = _ref2.components,
1343
+ components = _ref2$components === void 0 ? [] : _ref2$components;
1344
+ var _components$reduce = components.reduce(function (_ref3, screen) {
1345
+ var previousComponents = _ref3.components,
1346
+ currentMedias = _ref3.medias;
1303
1347
  var type = screen.type;
1304
1348
  var fieldsPattern = _this.getFieldsPatternByScreen(type);
1305
1349
  var _MediasParser$replace = MediasParser.replaceMediasWithPaths(screen, fieldsPattern),
@@ -1339,13 +1383,13 @@ var MediasParser = /*#__PURE__*/function () {
1339
1383
  if (story === null) {
1340
1384
  return story;
1341
1385
  }
1342
- var _ref5 = story || {},
1343
- _ref5$theme = _ref5.theme,
1344
- theme = _ref5$theme === void 0 ? null : _ref5$theme,
1345
- _ref5$components = _ref5.components,
1346
- components = _ref5$components === void 0 ? [] : _ref5$components,
1347
- _ref5$medias = _ref5.medias,
1348
- medias = _ref5$medias === void 0 ? defaultMedias : _ref5$medias;
1386
+ var _ref4 = story || {},
1387
+ _ref4$theme = _ref4.theme,
1388
+ theme = _ref4$theme === void 0 ? null : _ref4$theme,
1389
+ _ref4$components = _ref4.components,
1390
+ components = _ref4$components === void 0 ? [] : _ref4$components,
1391
+ _ref4$medias = _ref4.medias,
1392
+ medias = _ref4$medias === void 0 ? defaultMedias : _ref4$medias;
1349
1393
  if (medias === null && theme === null) {
1350
1394
  return story;
1351
1395
  }
@@ -1403,16 +1447,16 @@ var MediasParser = /*#__PURE__*/function () {
1403
1447
  }
1404
1448
  }], [{
1405
1449
  key: "fieldIsMedia",
1406
- value: function fieldIsMedia(_ref6) {
1407
- var _ref6$media = _ref6.media,
1408
- media = _ref6$media === void 0 ? false : _ref6$media;
1450
+ value: function fieldIsMedia(_ref5) {
1451
+ var _ref5$media = _ref5.media,
1452
+ media = _ref5$media === void 0 ? false : _ref5$media;
1409
1453
  return media;
1410
1454
  }
1411
1455
  }, {
1412
1456
  key: "fieldIsFontFamily",
1413
- value: function fieldIsFontFamily(_ref7) {
1414
- var _ref7$id = _ref7.id,
1415
- id = _ref7$id === void 0 ? null : _ref7$id;
1457
+ value: function fieldIsFontFamily(_ref6) {
1458
+ var _ref6$id = _ref6.id,
1459
+ id = _ref6$id === void 0 ? null : _ref6$id;
1416
1460
  return id === 'font-family';
1417
1461
  }
1418
1462
  }, {
@@ -1439,9 +1483,9 @@ var MediasParser = /*#__PURE__*/function () {
1439
1483
  }
1440
1484
  }, {
1441
1485
  key: "getMediaPath",
1442
- value: function getMediaPath(_ref8) {
1443
- var _ref8$id = _ref8.id,
1444
- id = _ref8$id === void 0 ? null : _ref8$id;
1486
+ value: function getMediaPath(_ref7) {
1487
+ var _ref7$id = _ref7.id,
1488
+ id = _ref7$id === void 0 ? null : _ref7$id;
1445
1489
  return id !== null ? "media://".concat(id) : null;
1446
1490
  }
1447
1491
  }, {
@@ -1451,9 +1495,9 @@ var MediasParser = /*#__PURE__*/function () {
1451
1495
  var keyPrefix = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;
1452
1496
  var dataIsArray = isArray(data);
1453
1497
  var dataKeys = MediasParser.keys(data);
1454
- return dataKeys.reduce(function (_ref9, key) {
1455
- var currentData = _ref9.data,
1456
- currentMedias = _ref9.medias;
1498
+ return dataKeys.reduce(function (_ref8, key) {
1499
+ var currentData = _ref8.data,
1500
+ currentMedias = _ref8.medias;
1457
1501
  var path = [keyPrefix, key].filter(function (it) {
1458
1502
  return it !== null;
1459
1503
  }).join('.');
@@ -1588,9 +1632,7 @@ var FontsParser = /*#__PURE__*/function () {
1588
1632
  key: "getFieldsPatternByScreen",
1589
1633
  value: function getFieldsPatternByScreen(type) {
1590
1634
  if (typeof this.fieldsPatternCache[type] === 'undefined') {
1591
- var _ref2 = this.screensManager.getDefinition(type) || {},
1592
- _ref2$fields = _ref2.fields,
1593
- fields = _ref2$fields === void 0 ? [] : _ref2$fields;
1635
+ var fields = getScreenFieldsWithStates(this.screensManager.getDefinition(type) || {});
1594
1636
  this.fieldsPatternCache[type] = this.getFieldsPattern(fields);
1595
1637
  }
1596
1638
  return this.fieldsPatternCache[type];
@@ -1606,11 +1648,11 @@ var FontsParser = /*#__PURE__*/function () {
1606
1648
  }
1607
1649
 
1608
1650
  // Extract fonts from screen
1609
- var _ref3 = story || {},
1610
- _ref3$theme = _ref3.theme,
1611
- theme = _ref3$theme === void 0 ? null : _ref3$theme,
1612
- _ref3$components = _ref3.components,
1613
- components = _ref3$components === void 0 ? [] : _ref3$components;
1651
+ var _ref2 = story || {},
1652
+ _ref2$theme = _ref2.theme,
1653
+ theme = _ref2$theme === void 0 ? null : _ref2$theme,
1654
+ _ref2$components = _ref2.components,
1655
+ components = _ref2$components === void 0 ? [] : _ref2$components;
1614
1656
  var fonts = uniq(components.reduce(function (currentFonts, screen) {
1615
1657
  var type = screen.type;
1616
1658
  var fieldsPattern = _this.getFieldsPatternByScreen(type);
@@ -1660,16 +1702,16 @@ var FontsParser = /*#__PURE__*/function () {
1660
1702
  }
1661
1703
  }], [{
1662
1704
  key: "fieldIsFontFamily",
1663
- value: function fieldIsFontFamily(_ref4) {
1664
- var _ref4$id = _ref4.id,
1665
- id = _ref4$id === void 0 ? null : _ref4$id;
1705
+ value: function fieldIsFontFamily(_ref3) {
1706
+ var _ref3$id = _ref3.id,
1707
+ id = _ref3$id === void 0 ? null : _ref3$id;
1666
1708
  return id === 'font-family';
1667
1709
  }
1668
1710
  }, {
1669
1711
  key: "valueIsFont",
1670
- value: function valueIsFont(_ref5) {
1671
- var _ref5$type = _ref5.type,
1672
- type = _ref5$type === void 0 ? null : _ref5$type;
1712
+ value: function valueIsFont(_ref4) {
1713
+ var _ref4$type = _ref4.type,
1714
+ type = _ref4$type === void 0 ? null : _ref4$type;
1673
1715
  return type === 'custom' || type === 'google';
1674
1716
  }
1675
1717
  }, {
package/lib/utils.js CHANGED
@@ -2,14 +2,14 @@
2
2
 
3
3
  var _regeneratorRuntime = require('@babel/runtime/helpers/regeneratorRuntime');
4
4
  var _asyncToGenerator = require('@babel/runtime/helpers/asyncToGenerator');
5
+ var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
6
+ var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
5
7
  var tslib = require('tslib');
6
8
  var isNumber = require('lodash/isNumber');
7
9
  var isObject = require('lodash/isObject');
8
10
  var react = require('react');
9
11
  var isString = require('lodash/isString');
10
12
  var tinycolor = require('tinycolor2');
11
- var _toConsumableArray = require('@babel/runtime/helpers/toConsumableArray');
12
- var _objectSpread = require('@babel/runtime/helpers/objectSpread2');
13
13
  var isArray = require('lodash/isArray');
14
14
  var _objectWithoutProperties = require('@babel/runtime/helpers/objectWithoutProperties');
15
15
  var _defineProperty = require('@babel/runtime/helpers/defineProperty');
@@ -741,6 +741,52 @@ var getScreenExtraField = function getScreenExtraField(intl) {
741
741
  };
742
742
  var getScreenExtraField$1 = getScreenExtraField;
743
743
 
744
+ function getScreenFieldsWithStates(definition) {
745
+ var _ref = definition || {},
746
+ _ref$fields = _ref.fields,
747
+ screenFields = _ref$fields === void 0 ? null : _ref$fields,
748
+ _ref$states = _ref.states,
749
+ states = _ref$states === void 0 ? null : _ref$states;
750
+ if (states === null) {
751
+ return screenFields;
752
+ }
753
+ var extraFields = states.reduce(function (statesFields, current) {
754
+ var _ref2 = current || {},
755
+ id = _ref2.id,
756
+ _ref2$fields = _ref2.fields,
757
+ fields = _ref2$fields === void 0 ? [] : _ref2$fields,
758
+ _ref2$repeatable = _ref2.repeatable,
759
+ repeatable = _ref2$repeatable === void 0 ? false : _ref2$repeatable,
760
+ _ref2$fieldName = _ref2.fieldName,
761
+ fieldName = _ref2$fieldName === void 0 ? null : _ref2$fieldName,
762
+ label = _ref2.label,
763
+ _ref2$defaultValue = _ref2.defaultValue,
764
+ defaultValue = _ref2$defaultValue === void 0 ? null : _ref2$defaultValue;
765
+ return [].concat(_toConsumableArray(statesFields), _toConsumableArray(repeatable ? [{
766
+ type: 'items',
767
+ name: fieldName || id,
768
+ label: label,
769
+ defaultValue: defaultValue,
770
+ stateId: id,
771
+ itemsField: {
772
+ label: label,
773
+ type: 'fields',
774
+ fields: fields
775
+ }
776
+ }] : []), _toConsumableArray(!repeatable && fieldName !== null ? [{
777
+ type: 'fields',
778
+ name: fieldName,
779
+ stateId: id,
780
+ fields: fields
781
+ }] : []), _toConsumableArray(!repeatable && fieldName === null ? fields.map(function (it) {
782
+ return _objectSpread(_objectSpread({}, it), {}, {
783
+ stateId: id
784
+ });
785
+ }) : []));
786
+ }, []);
787
+ return [].concat(_toConsumableArray(extraFields), _toConsumableArray(screenFields));
788
+ }
789
+
744
790
  function getShadowCoords(angle, distance) {
745
791
  var x = (Math.cos(angle) * distance).toFixed(3);
746
792
  var y = (Math.sin(angle) * distance).toFixed(3);
@@ -1294,6 +1340,7 @@ exports.getLayoutParts = getLayoutParts$1;
1294
1340
  exports.getMediaFilesAsArray = getMediaFilesAsArray$1;
1295
1341
  exports.getOptimalImageUrl = getOptimalImageUrl$1;
1296
1342
  exports.getScreenExtraField = getScreenExtraField$1;
1343
+ exports.getScreenFieldsWithStates = getScreenFieldsWithStates;
1297
1344
  exports.getSecondsFromTime = getSecondsFromTime$1;
1298
1345
  exports.getShadowCoords = getShadowCoords;
1299
1346
  exports.getStyleFromAlignment = getStyleFromAlignment$1;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/core",
3
- "version": "0.3.506",
3
+ "version": "0.3.507",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "keywords": [
@@ -155,5 +155,5 @@
155
155
  "access": "public",
156
156
  "registry": "https://registry.npmjs.org/"
157
157
  },
158
- "gitHead": "b3bc0905b6e926384f26f5807551c772ccc55452"
158
+ "gitHead": "117b7fb2035672f22c544f6ad2d002ccae35f03a"
159
159
  }