@micromag/core 0.3.606 → 0.3.608

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
@@ -803,16 +803,16 @@ var ColorsParser = /*#__PURE__*/function () {
803
803
  }
804
804
  var _ref2 = story || {},
805
805
  _ref2$theme = _ref2.theme,
806
- theme = _ref2$theme === void 0 ? null : _ref2$theme,
806
+ theme = _ref2$theme === undefined ? null : _ref2$theme,
807
807
  _ref2$components = _ref2.components,
808
- components = _ref2$components === void 0 ? [] : _ref2$components;
808
+ components = _ref2$components === undefined ? [] : _ref2$components;
809
809
  var _components$reduce = components.reduce(function (_ref3, screen) {
810
810
  var _ref3$colors = _ref3.colors,
811
- currentColors = _ref3$colors === void 0 ? null : _ref3$colors;
811
+ currentColors = _ref3$colors === undefined ? null : _ref3$colors;
812
812
  var type = screen.type;
813
813
  var _ref4 = _this.screensManager.getDefinition(type) || {},
814
814
  _ref4$fields = _ref4.fields,
815
- fields = _ref4$fields === void 0 ? [] : _ref4$fields;
815
+ fields = _ref4$fields === undefined ? [] : _ref4$fields;
816
816
  var fieldsPattern = _this.getColorFieldPatterns(fields);
817
817
  var _ColorsParser$getColo = ColorsParser.getColorsFromPath(screen, fieldsPattern),
818
818
  newColors = _ColorsParser$getColo.colors;
@@ -836,20 +836,20 @@ var ColorsParser = /*#__PURE__*/function () {
836
836
  var namePrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
837
837
  return fields.reduce(function (patterns, field) {
838
838
  var _field$name = field.name,
839
- name = _field$name === void 0 ? null : _field$name,
839
+ name = _field$name === undefined ? null : _field$name,
840
840
  _field$type = field.type,
841
- type = _field$type === void 0 ? null : _field$type;
841
+ type = _field$type === undefined ? null : _field$type;
842
842
  var path = [namePrefix, name].filter(function (it) {
843
843
  return it !== null;
844
844
  }).join('\\.');
845
845
  var fieldDefinition = _objectSpread(_objectSpread({}, type !== null ? _this2.fieldsManager.getDefinition(type) : null), field);
846
846
  // also check settings fields
847
847
  var _fieldDefinition$fiel = fieldDefinition.fields,
848
- subFields = _fieldDefinition$fiel === void 0 ? [] : _fieldDefinition$fiel,
848
+ subFields = _fieldDefinition$fiel === undefined ? [] : _fieldDefinition$fiel,
849
849
  _fieldDefinition$item = fieldDefinition.itemsField,
850
- itemsField = _fieldDefinition$item === void 0 ? null : _fieldDefinition$item,
850
+ itemsField = _fieldDefinition$item === undefined ? null : _fieldDefinition$item,
851
851
  _fieldDefinition$sett = fieldDefinition.settings,
852
- settings = _fieldDefinition$sett === void 0 ? [] : _fieldDefinition$sett;
852
+ settings = _fieldDefinition$sett === undefined ? [] : _fieldDefinition$sett;
853
853
  return [].concat(_toConsumableArray(patterns), _toConsumableArray(ColorsParser.fieldIsColor(fieldDefinition) ? [new RegExp("^".concat(path, "$"))] : []), _toConsumableArray(_this2.getColorFieldPatterns(subFields, path)), _toConsumableArray(_this2.getColorFieldPatterns(settings, path)), _toConsumableArray(itemsField !== null ? _this2.getColorFieldPatterns([itemsField], "".concat(path, "\\.[0-9]+")) : []));
854
854
  }, []);
855
855
  }
@@ -857,7 +857,7 @@ var ColorsParser = /*#__PURE__*/function () {
857
857
  key: "fieldIsColor",
858
858
  value: function fieldIsColor(_ref5) {
859
859
  var _ref5$id = _ref5.id,
860
- id = _ref5$id === void 0 ? null : _ref5$id;
860
+ id = _ref5$id === undefined ? null : _ref5$id;
861
861
  return id === 'color';
862
862
  }
863
863
  }, {
@@ -870,7 +870,7 @@ var ColorsParser = /*#__PURE__*/function () {
870
870
  return keys.reduce(function (_ref6, key) {
871
871
  var currentData = _ref6.data,
872
872
  _ref6$colors = _ref6.colors,
873
- currentColors = _ref6$colors === void 0 ? null : _ref6$colors;
873
+ currentColors = _ref6$colors === undefined ? null : _ref6$colors;
874
874
  var path = [keyPrefix, key].filter(function (it) {
875
875
  return it !== null;
876
876
  }).join('.');
@@ -929,9 +929,9 @@ var getComponentFromName = function getComponentFromName() {
929
929
  function getScreenFieldsWithStates(definition) {
930
930
  var _ref = definition || {},
931
931
  _ref$fields = _ref.fields,
932
- screenFields = _ref$fields === void 0 ? null : _ref$fields,
932
+ screenFields = _ref$fields === undefined ? null : _ref$fields,
933
933
  _ref$states = _ref.states,
934
- states = _ref$states === void 0 ? null : _ref$states;
934
+ states = _ref$states === undefined ? null : _ref$states;
935
935
  if (states === null) {
936
936
  return screenFields;
937
937
  }
@@ -939,14 +939,14 @@ function getScreenFieldsWithStates(definition) {
939
939
  var _ref2 = current || {},
940
940
  id = _ref2.id,
941
941
  _ref2$fields = _ref2.fields,
942
- fields = _ref2$fields === void 0 ? [] : _ref2$fields,
942
+ fields = _ref2$fields === undefined ? [] : _ref2$fields,
943
943
  _ref2$repeatable = _ref2.repeatable,
944
- repeatable = _ref2$repeatable === void 0 ? false : _ref2$repeatable,
944
+ repeatable = _ref2$repeatable === undefined ? false : _ref2$repeatable,
945
945
  _ref2$fieldName = _ref2.fieldName,
946
- fieldName = _ref2$fieldName === void 0 ? null : _ref2$fieldName,
946
+ fieldName = _ref2$fieldName === undefined ? null : _ref2$fieldName,
947
947
  label = _ref2.label,
948
948
  _ref2$defaultValue = _ref2.defaultValue,
949
- defaultValue = _ref2$defaultValue === void 0 ? null : _ref2$defaultValue;
949
+ defaultValue = _ref2$defaultValue === undefined ? null : _ref2$defaultValue;
950
950
  return [].concat(_toConsumableArray(statesFields), _toConsumableArray(repeatable ? [{
951
951
  type: 'items',
952
952
  name: fieldName || id,
@@ -1106,7 +1106,7 @@ var DefinitionsManager = /*#__PURE__*/function (_EventEmitter) {
1106
1106
  value: function getComponent(id) {
1107
1107
  var _ref = this.getDefinition(id) || {},
1108
1108
  _ref$component = _ref.component,
1109
- component = _ref$component === void 0 ? null : _ref$component;
1109
+ component = _ref$component === undefined ? null : _ref$component;
1110
1110
  return component;
1111
1111
  }
1112
1112
  }, {
@@ -1115,7 +1115,7 @@ var DefinitionsManager = /*#__PURE__*/function (_EventEmitter) {
1115
1115
  return this.definitions.reduce(function (allComponents, _ref2) {
1116
1116
  var id = _ref2.id,
1117
1117
  _ref2$component = _ref2.component,
1118
- component = _ref2$component === void 0 ? null : _ref2$component;
1118
+ component = _ref2$component === undefined ? null : _ref2$component;
1119
1119
  return component !== null ? _objectSpread(_objectSpread({}, allComponents), {}, _defineProperty({}, id, component)) : allComponents;
1120
1120
  }, {});
1121
1121
  }
@@ -1198,14 +1198,14 @@ var FieldsManager = /*#__PURE__*/function (_DefinitionsManager) {
1198
1198
  }]);
1199
1199
  }(DefinitionsManager);
1200
1200
 
1201
- var _excluded$4 = ["medias"],
1202
- _excluded2$2 = ["medias"];
1201
+ var _excluded$5 = ["medias"],
1202
+ _excluded2$1 = ["medias"];
1203
1203
  var MediasParser = /*#__PURE__*/function () {
1204
1204
  function MediasParser(_ref) {
1205
1205
  var fieldsManager = _ref.fieldsManager,
1206
1206
  screensManager = _ref.screensManager,
1207
1207
  _ref$fieldsPattern = _ref.fieldsPattern,
1208
- fieldsPattern = _ref$fieldsPattern === void 0 ? {} : _ref$fieldsPattern;
1208
+ fieldsPattern = _ref$fieldsPattern === undefined ? {} : _ref$fieldsPattern;
1209
1209
  _classCallCheck(this, MediasParser);
1210
1210
  this.fieldsManager = fieldsManager;
1211
1211
  this.screensManager = screensManager;
@@ -1218,7 +1218,7 @@ var MediasParser = /*#__PURE__*/function () {
1218
1218
  if (typeof this.parsedThemesCache[storyId] === 'undefined') {
1219
1219
  var _this$toPath = this.toPath(theme),
1220
1220
  themeMedias = _this$toPath.medias,
1221
- newTheme = _objectWithoutProperties(_this$toPath, _excluded$4);
1221
+ newTheme = _objectWithoutProperties(_this$toPath, _excluded$5);
1222
1222
  this.parsedThemesCache[storyId] = {
1223
1223
  themeMedias: themeMedias,
1224
1224
  newTheme: newTheme
@@ -1246,11 +1246,11 @@ var MediasParser = /*#__PURE__*/function () {
1246
1246
  }
1247
1247
  var _ref2 = story || {},
1248
1248
  _ref2$id = _ref2.id,
1249
- storyId = _ref2$id === void 0 ? null : _ref2$id,
1249
+ storyId = _ref2$id === undefined ? null : _ref2$id,
1250
1250
  _ref2$theme = _ref2.theme,
1251
- theme = _ref2$theme === void 0 ? null : _ref2$theme,
1251
+ theme = _ref2$theme === undefined ? null : _ref2$theme,
1252
1252
  _ref2$components = _ref2.components,
1253
- components = _ref2$components === void 0 ? [] : _ref2$components;
1253
+ components = _ref2$components === undefined ? [] : _ref2$components;
1254
1254
  var _components$reduce = components.reduce(function (_ref3, screen) {
1255
1255
  var previousComponents = _ref3.components,
1256
1256
  currentMedias = _ref3.medias;
@@ -1272,7 +1272,7 @@ var MediasParser = /*#__PURE__*/function () {
1272
1272
  if (theme !== null) {
1273
1273
  var _this$getParsedStoryT = this.getParsedStoryTheme(storyId, theme),
1274
1274
  themeMedias = _this$getParsedStoryT.medias,
1275
- newTheme = _objectWithoutProperties(_this$getParsedStoryT, _excluded2$2);
1275
+ newTheme = _objectWithoutProperties(_this$getParsedStoryT, _excluded2$1);
1276
1276
  return medias !== null || themeMedias !== null ? _objectSpread(_objectSpread({}, story), {}, {
1277
1277
  theme: newTheme,
1278
1278
  components: newComponents,
@@ -1295,11 +1295,11 @@ var MediasParser = /*#__PURE__*/function () {
1295
1295
  }
1296
1296
  var _ref4 = story || {},
1297
1297
  _ref4$theme = _ref4.theme,
1298
- theme = _ref4$theme === void 0 ? null : _ref4$theme,
1298
+ theme = _ref4$theme === undefined ? null : _ref4$theme,
1299
1299
  _ref4$components = _ref4.components,
1300
- components = _ref4$components === void 0 ? [] : _ref4$components,
1300
+ components = _ref4$components === undefined ? [] : _ref4$components,
1301
1301
  _ref4$medias = _ref4.medias,
1302
- medias = _ref4$medias === void 0 ? defaultMedias : _ref4$medias;
1302
+ medias = _ref4$medias === undefined ? defaultMedias : _ref4$medias;
1303
1303
  if (medias === null && theme === null) {
1304
1304
  return story;
1305
1305
  }
@@ -1337,9 +1337,9 @@ var MediasParser = /*#__PURE__*/function () {
1337
1337
  var namePrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1338
1338
  return (fields || []).reduce(function (patterns, field) {
1339
1339
  var _field$name = field.name,
1340
- name = _field$name === void 0 ? null : _field$name,
1340
+ name = _field$name === undefined ? null : _field$name,
1341
1341
  _field$type = field.type,
1342
- type = _field$type === void 0 ? null : _field$type;
1342
+ type = _field$type === undefined ? null : _field$type;
1343
1343
  var path = [namePrefix, name].filter(function (it) {
1344
1344
  return it !== null && it !== '';
1345
1345
  }).join('\\.');
@@ -1347,11 +1347,11 @@ var MediasParser = /*#__PURE__*/function () {
1347
1347
 
1348
1348
  // also check settings fields
1349
1349
  var _fieldDefinition$fiel = fieldDefinition.fields,
1350
- subFields = _fieldDefinition$fiel === void 0 ? [] : _fieldDefinition$fiel,
1350
+ subFields = _fieldDefinition$fiel === undefined ? [] : _fieldDefinition$fiel,
1351
1351
  _fieldDefinition$item = fieldDefinition.itemsField,
1352
- itemsField = _fieldDefinition$item === void 0 ? null : _fieldDefinition$item,
1352
+ itemsField = _fieldDefinition$item === undefined ? null : _fieldDefinition$item,
1353
1353
  _fieldDefinition$sett = fieldDefinition.settings,
1354
- settings = _fieldDefinition$sett === void 0 ? [] : _fieldDefinition$sett;
1354
+ settings = _fieldDefinition$sett === undefined ? [] : _fieldDefinition$sett;
1355
1355
  return [].concat(_toConsumableArray(patterns), _toConsumableArray(MediasParser.fieldIsMedia(fieldDefinition) ? [new RegExp("^".concat(path, "$"))] : []), _toConsumableArray(MediasParser.fieldIsFontFamily(fieldDefinition) ? [new RegExp("^".concat(path, "\\.media$")), new RegExp("^".concat(path, "\\.variants\\.[0-9]+\\.media$"))] : []), _toConsumableArray(_this2.getFieldsPattern(subFields, path)), _toConsumableArray(_this2.getFieldsPattern(settings, path)), _toConsumableArray(itemsField !== null ? _this2.getFieldsPattern([itemsField], "".concat(path, "\\.[0-9]+")) : []));
1356
1356
  }, []);
1357
1357
  }
@@ -1359,14 +1359,14 @@ var MediasParser = /*#__PURE__*/function () {
1359
1359
  key: "fieldIsMedia",
1360
1360
  value: function fieldIsMedia(_ref5) {
1361
1361
  var _ref5$media = _ref5.media,
1362
- media = _ref5$media === void 0 ? false : _ref5$media;
1362
+ media = _ref5$media === undefined ? false : _ref5$media;
1363
1363
  return media;
1364
1364
  }
1365
1365
  }, {
1366
1366
  key: "fieldIsFontFamily",
1367
1367
  value: function fieldIsFontFamily(_ref6) {
1368
1368
  var _ref6$id = _ref6.id,
1369
- id = _ref6$id === void 0 ? null : _ref6$id;
1369
+ id = _ref6$id === undefined ? null : _ref6$id;
1370
1370
  return id === 'font-family';
1371
1371
  }
1372
1372
  }, {
@@ -1395,7 +1395,7 @@ var MediasParser = /*#__PURE__*/function () {
1395
1395
  key: "getMediaPath",
1396
1396
  value: function getMediaPath(_ref7) {
1397
1397
  var _ref7$id = _ref7.id,
1398
- id = _ref7$id === void 0 ? null : _ref7$id;
1398
+ id = _ref7$id === undefined ? null : _ref7$id;
1399
1399
  return id !== null ? "media://".concat(id) : null;
1400
1400
  }
1401
1401
  }, {
@@ -1484,7 +1484,7 @@ var ScreensManager = /*#__PURE__*/function (_DefinitionsManager) {
1484
1484
  value: function getFields(id) {
1485
1485
  var _ref = this.getDefinition(id) || {},
1486
1486
  _ref$fields = _ref.fields,
1487
- fields = _ref$fields === void 0 ? null : _ref$fields;
1487
+ fields = _ref$fields === undefined ? null : _ref$fields;
1488
1488
  return fields;
1489
1489
  }
1490
1490
  }, {
@@ -1492,7 +1492,7 @@ var ScreensManager = /*#__PURE__*/function (_DefinitionsManager) {
1492
1492
  value: function getLayouts(id) {
1493
1493
  var _ref2 = this.getDefinition(id) || {},
1494
1494
  _ref2$layouts = _ref2.layouts,
1495
- layouts = _ref2$layouts === void 0 ? null : _ref2$layouts;
1495
+ layouts = _ref2$layouts === undefined ? null : _ref2$layouts;
1496
1496
  return layouts;
1497
1497
  }
1498
1498
  }, {
@@ -1524,13 +1524,13 @@ var ScreensManager = /*#__PURE__*/function (_DefinitionsManager) {
1524
1524
  }]);
1525
1525
  }(DefinitionsManager);
1526
1526
 
1527
- var _excluded$3 = ["fonts"];
1527
+ var _excluded$4 = ["fonts"];
1528
1528
  var FontsParser = /*#__PURE__*/function () {
1529
1529
  function FontsParser(_ref) {
1530
1530
  var fieldsManager = _ref.fieldsManager,
1531
1531
  screensManager = _ref.screensManager,
1532
1532
  _ref$fieldsPattern = _ref.fieldsPattern,
1533
- fieldsPattern = _ref$fieldsPattern === void 0 ? {} : _ref$fieldsPattern;
1533
+ fieldsPattern = _ref$fieldsPattern === undefined ? {} : _ref$fieldsPattern;
1534
1534
  _classCallCheck(this, FontsParser);
1535
1535
  this.fieldsManager = fieldsManager;
1536
1536
  this.screensManager = screensManager;
@@ -1558,9 +1558,9 @@ var FontsParser = /*#__PURE__*/function () {
1558
1558
  // Extract fonts from screen
1559
1559
  var _ref2 = story || {},
1560
1560
  _ref2$theme = _ref2.theme,
1561
- theme = _ref2$theme === void 0 ? null : _ref2$theme,
1561
+ theme = _ref2$theme === undefined ? null : _ref2$theme,
1562
1562
  _ref2$components = _ref2.components,
1563
- components = _ref2$components === void 0 ? [] : _ref2$components;
1563
+ components = _ref2$components === undefined ? [] : _ref2$components;
1564
1564
  var fonts = uniq(components.reduce(function (currentFonts, screen) {
1565
1565
  var type = screen.type;
1566
1566
  var fieldsPattern = _this.getFieldsPatternByScreen(type);
@@ -1572,8 +1572,8 @@ var FontsParser = /*#__PURE__*/function () {
1572
1572
  if (theme !== null) {
1573
1573
  var _this$parse = this.parse(theme),
1574
1574
  _this$parse$fonts = _this$parse.fonts,
1575
- themeFonts = _this$parse$fonts === void 0 ? [] : _this$parse$fonts,
1576
- newTheme = _objectWithoutProperties(_this$parse, _excluded$3);
1575
+ themeFonts = _this$parse$fonts === undefined ? [] : _this$parse$fonts,
1576
+ newTheme = _objectWithoutProperties(_this$parse, _excluded$4);
1577
1577
  return fonts.length > 0 || themeFonts.length > 0 ? _objectSpread(_objectSpread({}, story), {}, {
1578
1578
  theme: newTheme,
1579
1579
  fonts: uniq([].concat(_toConsumableArray(themeFonts), _toConsumableArray(fonts)), 'name')
@@ -1590,9 +1590,9 @@ var FontsParser = /*#__PURE__*/function () {
1590
1590
  var namePrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
1591
1591
  return (fields || []).reduce(function (patterns, field) {
1592
1592
  var _field$name = field.name,
1593
- name = _field$name === void 0 ? null : _field$name,
1593
+ name = _field$name === undefined ? null : _field$name,
1594
1594
  _field$type = field.type,
1595
- type = _field$type === void 0 ? null : _field$type;
1595
+ type = _field$type === undefined ? null : _field$type;
1596
1596
  var path = [namePrefix, name].filter(function (it) {
1597
1597
  return it !== null && it !== '';
1598
1598
  }).join('\\.');
@@ -1600,11 +1600,11 @@ var FontsParser = /*#__PURE__*/function () {
1600
1600
 
1601
1601
  // also check settings fields
1602
1602
  var _fieldDefinition$fiel = fieldDefinition.fields,
1603
- subFields = _fieldDefinition$fiel === void 0 ? [] : _fieldDefinition$fiel,
1603
+ subFields = _fieldDefinition$fiel === undefined ? [] : _fieldDefinition$fiel,
1604
1604
  _fieldDefinition$item = fieldDefinition.itemsField,
1605
- itemsField = _fieldDefinition$item === void 0 ? null : _fieldDefinition$item,
1605
+ itemsField = _fieldDefinition$item === undefined ? null : _fieldDefinition$item,
1606
1606
  _fieldDefinition$sett = fieldDefinition.settings,
1607
- settings = _fieldDefinition$sett === void 0 ? [] : _fieldDefinition$sett;
1607
+ settings = _fieldDefinition$sett === undefined ? [] : _fieldDefinition$sett;
1608
1608
  return [].concat(_toConsumableArray(patterns), _toConsumableArray(FontsParser.fieldIsFontFamily(fieldDefinition) ? [new RegExp("^".concat(path, "$"))] : []), _toConsumableArray(_this2.getFieldsPattern(subFields, path)), _toConsumableArray(_this2.getFieldsPattern(settings, path)), _toConsumableArray(itemsField !== null ? _this2.getFieldsPattern([itemsField], "".concat(path, "\\.[0-9]+")) : []));
1609
1609
  }, []);
1610
1610
  }
@@ -1612,14 +1612,14 @@ var FontsParser = /*#__PURE__*/function () {
1612
1612
  key: "fieldIsFontFamily",
1613
1613
  value: function fieldIsFontFamily(_ref3) {
1614
1614
  var _ref3$id = _ref3.id,
1615
- id = _ref3$id === void 0 ? null : _ref3$id;
1615
+ id = _ref3$id === undefined ? null : _ref3$id;
1616
1616
  return id === 'font-family';
1617
1617
  }
1618
1618
  }, {
1619
1619
  key: "valueIsFont",
1620
1620
  value: function valueIsFont(_ref4) {
1621
1621
  var _ref4$type = _ref4.type,
1622
- type = _ref4$type === void 0 ? null : _ref4$type;
1622
+ type = _ref4$type === undefined ? null : _ref4$type;
1623
1623
  return type === 'custom' || type === 'google';
1624
1624
  }
1625
1625
  }, {
@@ -1649,58 +1649,96 @@ var FontsParser = /*#__PURE__*/function () {
1649
1649
  }]);
1650
1650
  }();
1651
1651
 
1652
- var _excluded$2 = ["components"],
1653
- _excluded2$1 = ["shareIncentive", "callToAction"];
1652
+ var _excluded$3 = ["shareIncentive", "callToAction"];
1653
+ /* eslint-disable class-methods-use-this */
1654
+ var ShareCall = /*#__PURE__*/function () {
1655
+ function ShareCall() {
1656
+ _classCallCheck(this, ShareCall);
1657
+ }
1658
+ return _createClass(ShareCall, [{
1659
+ key: "test",
1660
+ value: function test(screen) {
1661
+ var _ref = screen || {},
1662
+ _ref$shareIncentive = _ref.shareIncentive,
1663
+ shareIncentive = _ref$shareIncentive === undefined ? null : _ref$shareIncentive,
1664
+ _ref$callToAction = _ref.callToAction,
1665
+ callToAction = _ref$callToAction === undefined ? null : _ref$callToAction;
1666
+ if (shareIncentive === null && callToAction === null) {
1667
+ return false;
1668
+ }
1669
+ return true;
1670
+ }
1671
+ }, {
1672
+ key: "parse",
1673
+ value: function parse(screen) {
1674
+ var _ref2 = screen || {},
1675
+ _ref2$shareIncentive = _ref2.shareIncentive,
1676
+ shareIncentive = _ref2$shareIncentive === undefined ? null : _ref2$shareIncentive,
1677
+ _ref2$callToAction = _ref2.callToAction,
1678
+ callToAction = _ref2$callToAction === undefined ? null : _ref2$callToAction,
1679
+ restScreen = _objectWithoutProperties(_ref2, _excluded$3);
1680
+ var _ref3 = screen || {},
1681
+ _ref3$header = _ref3.header,
1682
+ header = _ref3$header === undefined ? null : _ref3$header,
1683
+ _ref3$footer = _ref3.footer,
1684
+ footer = _ref3$footer === undefined ? null : _ref3$footer;
1685
+
1686
+ // Carful for recursivity here cause same key name
1687
+ var newHeader = shareIncentive !== null ? _objectSpread(_objectSpread({}, shareIncentive !== null ? {
1688
+ shareIncentive: shareIncentive
1689
+ } : null), header !== null ? {
1690
+ header: header
1691
+ } : null) : header;
1692
+ var newFooter = callToAction !== null ? _objectSpread(_objectSpread({}, callToAction !== null ? {
1693
+ callToAction: callToAction
1694
+ } : null), footer !== null ? {
1695
+ footer: footer
1696
+ } : null) : footer;
1697
+ var newScreen = _objectSpread(_objectSpread(_objectSpread({}, restScreen), newHeader !== null ? {
1698
+ header: newHeader
1699
+ } : null), newFooter !== null ? {
1700
+ footer: newFooter
1701
+ } : null);
1702
+ return newScreen;
1703
+ }
1704
+ }]);
1705
+ }();
1706
+
1707
+ var migrations = /*#__PURE__*/Object.freeze({
1708
+ __proto__: null,
1709
+ ShareCall: ShareCall
1710
+ });
1711
+
1712
+ var _excluded$2 = ["components"];
1654
1713
  var MigrationsParser = /*#__PURE__*/function () {
1655
1714
  function MigrationsParser(_ref) {
1656
1715
  var screensManager = _ref.screensManager;
1657
1716
  _classCallCheck(this, MigrationsParser);
1658
1717
  this.screensManager = screensManager;
1718
+ this.parsers = Object.keys(migrations).map(function (migration) {
1719
+ return new migrations[migration]();
1720
+ });
1659
1721
  }
1660
1722
 
1661
1723
  // eslint-disable-next-line class-methods-use-this
1662
1724
  return _createClass(MigrationsParser, [{
1663
1725
  key: "parse",
1664
1726
  value: function parse(story) {
1727
+ var _this = this;
1665
1728
  if (story === null) {
1666
1729
  return story;
1667
1730
  }
1668
1731
  var _ref2 = story || {},
1669
1732
  _ref2$components = _ref2.components,
1670
- components = _ref2$components === void 0 ? [] : _ref2$components,
1733
+ components = _ref2$components === undefined ? [] : _ref2$components,
1671
1734
  restStory = _objectWithoutProperties(_ref2, _excluded$2);
1672
1735
  var finalComponents = components.reduce(function (currentComponents, screen) {
1673
- var _ref3 = screen || {},
1674
- _ref3$shareIncentive = _ref3.shareIncentive,
1675
- shareIncentive = _ref3$shareIncentive === void 0 ? null : _ref3$shareIncentive,
1676
- _ref3$callToAction = _ref3.callToAction,
1677
- callToAction = _ref3$callToAction === void 0 ? null : _ref3$callToAction,
1678
- restScreen = _objectWithoutProperties(_ref3, _excluded2$1);
1679
- if (shareIncentive === null && callToAction === null) {
1680
- return [].concat(_toConsumableArray(currentComponents), [restScreen]);
1681
- }
1682
- var _ref4 = screen || {},
1683
- _ref4$header = _ref4.header,
1684
- header = _ref4$header === void 0 ? null : _ref4$header,
1685
- _ref4$footer = _ref4.footer,
1686
- footer = _ref4$footer === void 0 ? null : _ref4$footer;
1687
-
1688
- // Carful for recursivity here cause same key name
1689
- var newHeader = shareIncentive !== null ? _objectSpread(_objectSpread({}, shareIncentive !== null ? {
1690
- shareIncentive: shareIncentive
1691
- } : null), header !== null ? {
1692
- header: header
1693
- } : null) : header;
1694
- var newFooter = callToAction !== null ? _objectSpread(_objectSpread({}, callToAction !== null ? {
1695
- callToAction: callToAction
1696
- } : null), footer !== null ? {
1697
- footer: footer
1698
- } : null) : footer;
1699
- var newScreen = _objectSpread(_objectSpread(_objectSpread({}, restScreen), newHeader !== null ? {
1700
- header: newHeader
1701
- } : null), newFooter !== null ? {
1702
- footer: newFooter
1703
- } : null);
1736
+ var newScreen = _this.parsers.reduce(function (currentScreen, parser) {
1737
+ if (parser.test(currentScreen)) {
1738
+ return parser.parse(currentScreen);
1739
+ }
1740
+ return currentScreen;
1741
+ }, screen);
1704
1742
  return [].concat(_toConsumableArray(currentComponents), [newScreen]);
1705
1743
  }, []);
1706
1744
  return _objectSpread(_objectSpread({}, restStory), {}, {
@@ -1739,11 +1777,11 @@ var ThemeParser = /*#__PURE__*/function () {
1739
1777
  value: function getFieldsForDefinition(definition) {
1740
1778
  var _ref2 = definition || {},
1741
1779
  _ref2$id = _ref2.id,
1742
- definitionId = _ref2$id === void 0 ? null : _ref2$id,
1780
+ definitionId = _ref2$id === undefined ? null : _ref2$id,
1743
1781
  _ref2$fields = _ref2.fields,
1744
- fields = _ref2$fields === void 0 ? [] : _ref2$fields,
1782
+ fields = _ref2$fields === undefined ? [] : _ref2$fields,
1745
1783
  _ref2$states = _ref2.states,
1746
- states = _ref2$states === void 0 ? [] : _ref2$states;
1784
+ states = _ref2$states === undefined ? [] : _ref2$states;
1747
1785
  if (typeof this.fieldsCache[definitionId] === 'undefined') {
1748
1786
  if (states === null || states.length === 0) {
1749
1787
  this.fieldsCache[definitionId] = {
@@ -1756,18 +1794,18 @@ var ThemeParser = /*#__PURE__*/function () {
1756
1794
  if (states !== null && states.length > 0) {
1757
1795
  var nonRepetableStates = states.filter(function (_ref3) {
1758
1796
  var _ref3$repeatable = _ref3.repeatable,
1759
- repeatable = _ref3$repeatable === void 0 ? false : _ref3$repeatable;
1797
+ repeatable = _ref3$repeatable === undefined ? false : _ref3$repeatable;
1760
1798
  return repeatable === false;
1761
1799
  });
1762
1800
  repetableStates = states.filter(function (_ref4) {
1763
1801
  var _ref4$repeatable = _ref4.repeatable,
1764
- repeatable = _ref4$repeatable === void 0 ? false : _ref4$repeatable;
1802
+ repeatable = _ref4$repeatable === undefined ? false : _ref4$repeatable;
1765
1803
  return repeatable === true;
1766
1804
  });
1767
1805
  finalFields = nonRepetableStates.reduce(function (acc, it) {
1768
1806
  var _ref5 = it || {},
1769
1807
  _ref5$fields = _ref5.fields,
1770
- itemFields = _ref5$fields === void 0 ? [] : _ref5$fields;
1808
+ itemFields = _ref5$fields === undefined ? [] : _ref5$fields;
1771
1809
  if (itemFields !== null && itemFields.length > 0) {
1772
1810
  return acc.concat(itemFields);
1773
1811
  }
@@ -1791,22 +1829,22 @@ var ThemeParser = /*#__PURE__*/function () {
1791
1829
  }
1792
1830
  var _ref6 = story || {},
1793
1831
  _ref6$theme = _ref6.theme,
1794
- theme = _ref6$theme === void 0 ? null : _ref6$theme,
1832
+ theme = _ref6$theme === undefined ? null : _ref6$theme,
1795
1833
  _ref6$components = _ref6.components,
1796
- components = _ref6$components === void 0 ? null : _ref6$components;
1834
+ components = _ref6$components === undefined ? null : _ref6$components;
1797
1835
  if (theme === null || components === null) {
1798
1836
  return story;
1799
1837
  }
1800
1838
  var _theme$components = theme.components,
1801
- themeComponents = _theme$components === void 0 ? [] : _theme$components,
1839
+ themeComponents = _theme$components === undefined ? [] : _theme$components,
1802
1840
  _theme$background = theme.background,
1803
- themeBackground = _theme$background === void 0 ? null : _theme$background,
1841
+ themeBackground = _theme$background === undefined ? null : _theme$background,
1804
1842
  _theme$colors = theme.colors,
1805
- themeColors = _theme$colors === void 0 ? {} : _theme$colors,
1843
+ themeColors = _theme$colors === undefined ? {} : _theme$colors,
1806
1844
  _theme$textStyles = theme.textStyles,
1807
- themeTextStyles = _theme$textStyles === void 0 ? null : _theme$textStyles,
1845
+ themeTextStyles = _theme$textStyles === undefined ? null : _theme$textStyles,
1808
1846
  _theme$boxStyles = theme.boxStyles,
1809
- themeBoxStyles = _theme$boxStyles === void 0 ? null : _theme$boxStyles;
1847
+ themeBoxStyles = _theme$boxStyles === undefined ? null : _theme$boxStyles;
1810
1848
 
1811
1849
  // Speed test
1812
1850
  // const newComponents = [...components];
@@ -1854,9 +1892,9 @@ var ThemeParser = /*#__PURE__*/function () {
1854
1892
  var _this2 = this;
1855
1893
  var _this$getFieldsForDef = this.getFieldsForDefinition(definition),
1856
1894
  _this$getFieldsForDef2 = _this$getFieldsForDef.fields,
1857
- fields = _this$getFieldsForDef2 === void 0 ? null : _this$getFieldsForDef2,
1895
+ fields = _this$getFieldsForDef2 === undefined ? null : _this$getFieldsForDef2,
1858
1896
  _this$getFieldsForDef3 = _this$getFieldsForDef.repetableStates,
1859
- repetableStates = _this$getFieldsForDef3 === void 0 ? null : _this$getFieldsForDef3;
1897
+ repetableStates = _this$getFieldsForDef3 === undefined ? null : _this$getFieldsForDef3;
1860
1898
  var newThemeValue = themeValue === null && themeBackground !== null ? {} : themeValue;
1861
1899
  if (themeBackground !== null && typeof newThemeValue.background !== 'undefined') {
1862
1900
  newThemeValue.background = _objectSpread(_objectSpread({}, themeBackground), newThemeValue.background);
@@ -1868,7 +1906,7 @@ var ThemeParser = /*#__PURE__*/function () {
1868
1906
  if (repetableStates !== null && repetableStates.length > 0) {
1869
1907
  repetableState = repetableStates.find(function (_ref7) {
1870
1908
  var _ref7$id = _ref7.id,
1871
- stateId = _ref7$id === void 0 ? null : _ref7$id;
1909
+ stateId = _ref7$id === undefined ? null : _ref7$id;
1872
1910
  return stateId !== null && stateId === key;
1873
1911
  }) || null;
1874
1912
  }
@@ -1879,9 +1917,9 @@ var ThemeParser = /*#__PURE__*/function () {
1879
1917
  var fieldThemeValue = newThemeValue !== null ? newThemeValue[key] || null : null;
1880
1918
 
1881
1919
  // Try for early return
1882
- var _ref8 = fieldDefinition || {},
1920
+ var _ref8 = fieldDefinition,
1883
1921
  _ref8$theme = _ref8.theme,
1884
- theme = _ref8$theme === void 0 ? null : _ref8$theme;
1922
+ theme = _ref8$theme === undefined ? null : _ref8$theme;
1885
1923
  if ((theme === null || !isObject(theme)) && fields === null) {
1886
1924
  return _objectSpread(_objectSpread({}, currentValue), {}, _defineProperty({}, key, fieldValue));
1887
1925
  }
@@ -1904,9 +1942,9 @@ var ThemeParser = /*#__PURE__*/function () {
1904
1942
  value: function parseField(value, fieldDefinition, themeValue, themeColors, themeTextStyles, themeBoxStyles) {
1905
1943
  var _this3 = this;
1906
1944
  var _fieldDefinition$them = fieldDefinition.theme,
1907
- fieldTheme = _fieldDefinition$them === void 0 ? null : _fieldDefinition$them,
1945
+ fieldTheme = _fieldDefinition$them === undefined ? null : _fieldDefinition$them,
1908
1946
  _fieldDefinition$fiel = fieldDefinition.fields,
1909
- definitionFields = _fieldDefinition$fiel === void 0 ? null : _fieldDefinition$fiel;
1947
+ definitionFields = _fieldDefinition$fiel === undefined ? null : _fieldDefinition$fiel;
1910
1948
 
1911
1949
  // There are sub-fields in this definition
1912
1950
  if (definitionFields !== null && value !== null) {
@@ -1933,11 +1971,11 @@ var ThemeParser = /*#__PURE__*/function () {
1933
1971
  }
1934
1972
  var _ref9 = fieldTheme[innerFieldName] || {},
1935
1973
  _ref9$textStyle = _ref9.textStyle,
1936
- innerFieldTextStyle = _ref9$textStyle === void 0 ? null : _ref9$textStyle,
1974
+ innerFieldTextStyle = _ref9$textStyle === undefined ? null : _ref9$textStyle,
1937
1975
  _ref9$color = _ref9.color,
1938
- innerFieldColor = _ref9$color === void 0 ? null : _ref9$color,
1976
+ innerFieldColor = _ref9$color === undefined ? null : _ref9$color,
1939
1977
  _ref9$boxStyle = _ref9.boxStyle,
1940
- innerFieldBoxStyle = _ref9$boxStyle === void 0 ? null : _ref9$boxStyle;
1978
+ innerFieldBoxStyle = _ref9$boxStyle === undefined ? null : _ref9$boxStyle;
1941
1979
 
1942
1980
  // Early return, no theme
1943
1981
  if (innerFieldTextStyle === null && innerFieldColor === null && innerFieldBoxStyle === null) {
@@ -1979,7 +2017,7 @@ var ThemeParser = /*#__PURE__*/function () {
1979
2017
  }) || null : fieldsOrDefinition;
1980
2018
  var _ref10 = innerDefinition || {},
1981
2019
  _ref10$theme = _ref10.theme,
1982
- idfTheme = _ref10$theme === void 0 ? null : _ref10$theme;
2020
+ idfTheme = _ref10$theme === undefined ? null : _ref10$theme;
1983
2021
  var innerValue = value[innerFieldName];
1984
2022
 
1985
2023
  // For items fields
@@ -2012,11 +2050,11 @@ var ThemeParser = /*#__PURE__*/function () {
2012
2050
  var value = initialValue || null;
2013
2051
  var _ref11 = fieldTheme || {},
2014
2052
  _ref11$textStyle = _ref11.textStyle,
2015
- fieldTextStyleName = _ref11$textStyle === void 0 ? null : _ref11$textStyle,
2053
+ fieldTextStyleName = _ref11$textStyle === undefined ? null : _ref11$textStyle,
2016
2054
  _ref11$color = _ref11.color,
2017
- fieldColorName = _ref11$color === void 0 ? null : _ref11$color,
2055
+ fieldColorName = _ref11$color === undefined ? null : _ref11$color,
2018
2056
  _ref11$boxStyle = _ref11.boxStyle,
2019
- fieldBoxStyleName = _ref11$boxStyle === void 0 ? null : _ref11$boxStyle,
2057
+ fieldBoxStyleName = _ref11$boxStyle === undefined ? null : _ref11$boxStyle,
2020
2058
  otherProps = _objectWithoutProperties(_ref11, _excluded$1);
2021
2059
  if (fieldTextStyleName === null && fieldColorName === null && fieldBoxStyleName === null && isEmpty(otherProps) && !isObject(fieldTheme)) {
2022
2060
  return value;
@@ -2031,9 +2069,9 @@ var ThemeParser = /*#__PURE__*/function () {
2031
2069
  }
2032
2070
  var _ref13 = value || {},
2033
2071
  _ref13$textStyle = _ref13.textStyle,
2034
- valueTextStyle = _ref13$textStyle === void 0 ? null : _ref13$textStyle,
2072
+ valueTextStyle = _ref13$textStyle === undefined ? null : _ref13$textStyle,
2035
2073
  _ref13$boxStyle = _ref13.boxStyle,
2036
- valueBoxStyle = _ref13$boxStyle === void 0 ? null : _ref13$boxStyle;
2074
+ valueBoxStyle = _ref13$boxStyle === undefined ? null : _ref13$boxStyle;
2037
2075
 
2038
2076
  // Color
2039
2077
  var fieldColor = fieldColorName !== null && themeColors !== null ? themeColors[fieldColorName] || null : null;
@@ -2071,9 +2109,9 @@ var StoryParser = /*#__PURE__*/function () {
2071
2109
  _classCallCheck(this, StoryParser);
2072
2110
  var _ref2 = fieldsPattern || {},
2073
2111
  _ref2$medias = _ref2.medias,
2074
- mediasPattern = _ref2$medias === void 0 ? null : _ref2$medias,
2112
+ mediasPattern = _ref2$medias === undefined ? null : _ref2$medias,
2075
2113
  _ref2$fonts = _ref2.fonts,
2076
- fontsPattern = _ref2$fonts === void 0 ? null : _ref2$fonts;
2114
+ fontsPattern = _ref2$fonts === undefined ? null : _ref2$fonts;
2077
2115
  this.themeParser = new ThemeParser({
2078
2116
  screensManager: screensManager
2079
2117
  });
@@ -2097,13 +2135,13 @@ var StoryParser = /*#__PURE__*/function () {
2097
2135
  var _this = this;
2098
2136
  var _ref3 = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
2099
2137
  _ref3$withTheme = _ref3.withTheme,
2100
- withTheme = _ref3$withTheme === void 0 ? true : _ref3$withTheme,
2138
+ withTheme = _ref3$withTheme === undefined ? true : _ref3$withTheme,
2101
2139
  _ref3$withMedias = _ref3.withMedias,
2102
- withMedias = _ref3$withMedias === void 0 ? true : _ref3$withMedias,
2140
+ withMedias = _ref3$withMedias === undefined ? true : _ref3$withMedias,
2103
2141
  _ref3$withFonts = _ref3.withFonts,
2104
- withFonts = _ref3$withFonts === void 0 ? true : _ref3$withFonts,
2142
+ withFonts = _ref3$withFonts === undefined ? true : _ref3$withFonts,
2105
2143
  _ref3$withMigrations = _ref3.withMigrations,
2106
- withMigrations = _ref3$withMigrations === void 0 ? true : _ref3$withMigrations;
2144
+ withMigrations = _ref3$withMigrations === undefined ? true : _ref3$withMigrations;
2107
2145
  if (story === null) {
2108
2146
  return story;
2109
2147
  }
@@ -2143,14 +2181,14 @@ var Tracking = /*#__PURE__*/function (_BaseTracking) {
2143
2181
  value: function trackScreenView(screen, screenIndex) {
2144
2182
  var _ref = this.variables || {},
2145
2183
  _ref$screensCount = _ref.screensCount,
2146
- screensCount = _ref$screensCount === void 0 ? null : _ref$screensCount;
2184
+ screensCount = _ref$screensCount === undefined ? null : _ref$screensCount;
2147
2185
  var _ref2 = screen || {},
2148
2186
  _ref2$id = _ref2.id,
2149
- screenId = _ref2$id === void 0 ? null : _ref2$id,
2187
+ screenId = _ref2$id === undefined ? null : _ref2$id,
2150
2188
  _ref2$type = _ref2.type,
2151
- screenType = _ref2$type === void 0 ? null : _ref2$type,
2189
+ screenType = _ref2$type === undefined ? null : _ref2$type,
2152
2190
  _ref2$metadata = _ref2.metadata,
2153
- metadata = _ref2$metadata === void 0 ? {} : _ref2$metadata;
2191
+ metadata = _ref2$metadata === undefined ? {} : _ref2$metadata;
2154
2192
  var _ref3 = metadata || {},
2155
2193
  screenTitle = _ref3.title;
2156
2194
  if (this.screensViewed.indexOf(screenId || screenIndex) !== -1) {
@@ -2173,7 +2211,7 @@ var Tracking = /*#__PURE__*/function (_BaseTracking) {
2173
2211
  value: function trackEvent(category, action, label) {
2174
2212
  var _ref4 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {},
2175
2213
  _ref4$value = _ref4.value,
2176
- value = _ref4$value === void 0 ? null : _ref4$value,
2214
+ value = _ref4$value === undefined ? null : _ref4$value,
2177
2215
  opts = _objectWithoutProperties(_ref4, _excluded);
2178
2216
  var data = _objectSpread(_objectSpread({}, opts), {}, {
2179
2217
  event: 'eventInteraction',
@@ -2189,24 +2227,24 @@ var Tracking = /*#__PURE__*/function (_BaseTracking) {
2189
2227
  value: function trackMedia(type, media, action) {
2190
2228
  var _ref5 = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {},
2191
2229
  _ref5$value = _ref5.value,
2192
- value = _ref5$value === void 0 ? null : _ref5$value,
2230
+ value = _ref5$value === undefined ? null : _ref5$value,
2193
2231
  _ref5$currentTime = _ref5.currentTime,
2194
- optsCurrentTime = _ref5$currentTime === void 0 ? null : _ref5$currentTime,
2232
+ optsCurrentTime = _ref5$currentTime === undefined ? null : _ref5$currentTime,
2195
2233
  opts = _objectWithoutProperties(_ref5, _excluded2);
2196
2234
  var _ref6 = media || {},
2197
2235
  _ref6$id = _ref6.id,
2198
- mediaId = _ref6$id === void 0 ? null : _ref6$id,
2236
+ mediaId = _ref6$id === undefined ? null : _ref6$id,
2199
2237
  _ref6$name = _ref6.name,
2200
- name = _ref6$name === void 0 ? null : _ref6$name,
2238
+ name = _ref6$name === undefined ? null : _ref6$name,
2201
2239
  _ref6$duration = _ref6.duration,
2202
- rootDuration = _ref6$duration === void 0 ? null : _ref6$duration,
2240
+ rootDuration = _ref6$duration === undefined ? null : _ref6$duration,
2203
2241
  _ref6$currentTime = _ref6.currentTime,
2204
- currentTime = _ref6$currentTime === void 0 ? optsCurrentTime : _ref6$currentTime,
2242
+ currentTime = _ref6$currentTime === undefined ? optsCurrentTime : _ref6$currentTime,
2205
2243
  _ref6$metadata = _ref6.metadata,
2206
- metadata = _ref6$metadata === void 0 ? {} : _ref6$metadata;
2244
+ metadata = _ref6$metadata === undefined ? {} : _ref6$metadata;
2207
2245
  var _ref7 = metadata || {},
2208
2246
  _ref7$duration = _ref7.duration,
2209
- duration = _ref7$duration === void 0 ? rootDuration : _ref7$duration;
2247
+ duration = _ref7$duration === undefined ? rootDuration : _ref7$duration;
2210
2248
  var label = name;
2211
2249
  var data = _objectSpread(_objectSpread({}, opts), {}, {
2212
2250
  event: 'eventInteraction',