@micromag/core 0.3.348 → 0.3.359
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/components.js +7 -2
- package/es/hooks.js +5 -2
- package/es/index.js +216 -135
- package/es/utils.js +68 -2
- package/lib/components.js +7 -2
- package/lib/hooks.js +5 -2
- package/lib/index.js +217 -136
- package/lib/utils.js +69 -0
- package/package.json +2 -2
package/es/components.js
CHANGED
|
@@ -1292,8 +1292,9 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
1292
1292
|
onClickItem(e);
|
|
1293
1293
|
}
|
|
1294
1294
|
} : null;
|
|
1295
|
-
return ItemComponent !== null ? /*#__PURE__*/React.createElement("div",
|
|
1296
|
-
key: "item-".concat(index, "-").concat(label, "-").concat(type)
|
|
1295
|
+
return ItemComponent !== null ? /*#__PURE__*/React.createElement("div", {
|
|
1296
|
+
key: "item-".concat(index, "-").concat(label, "-").concat(type)
|
|
1297
|
+
}, /*#__PURE__*/React.createElement(ItemComponent, Object.assign({
|
|
1297
1298
|
className: classNames([(_ref3 = {
|
|
1298
1299
|
'dropdown-item': type === 'link' || type === 'button',
|
|
1299
1300
|
'dropdown-divider': type === 'divider',
|
|
@@ -3101,6 +3102,10 @@ PropTypes$1.shape({
|
|
|
3101
3102
|
id: PropTypes$1.oneOfType([PropTypes$1.string, PropTypes$1.number]),
|
|
3102
3103
|
name: PropTypes$1.string
|
|
3103
3104
|
});
|
|
3105
|
+
PropTypes$1.shape({
|
|
3106
|
+
label: textElement,
|
|
3107
|
+
buttonStyle: boxStyle
|
|
3108
|
+
});
|
|
3104
3109
|
|
|
3105
3110
|
/* eslint-disable react/no-array-index-key */
|
|
3106
3111
|
var propTypes$d = {
|
package/es/hooks.js
CHANGED
|
@@ -1599,7 +1599,9 @@ var useParsedStory = function useParsedStory(story) {
|
|
|
1599
1599
|
_ref$withMedias = _ref.withMedias,
|
|
1600
1600
|
withMedias = _ref$withMedias === void 0 ? true : _ref$withMedias,
|
|
1601
1601
|
_ref$withFonts = _ref.withFonts,
|
|
1602
|
-
withFonts = _ref$withFonts === void 0 ? true : _ref$withFonts
|
|
1602
|
+
withFonts = _ref$withFonts === void 0 ? true : _ref$withFonts,
|
|
1603
|
+
_ref$withMigrations = _ref.withMigrations,
|
|
1604
|
+
withMigrations = _ref$withMigrations === void 0 ? true : _ref$withMigrations;
|
|
1603
1605
|
var screensManager = useScreensManager();
|
|
1604
1606
|
var fieldsManager = useFieldsManager();
|
|
1605
1607
|
var parser = useMemo(function () {
|
|
@@ -1615,7 +1617,8 @@ var useParsedStory = function useParsedStory(story) {
|
|
|
1615
1617
|
return parser.parse(story, {
|
|
1616
1618
|
withMedias: withMedias,
|
|
1617
1619
|
withTheme: withTheme,
|
|
1618
|
-
withFonts: withFonts
|
|
1620
|
+
withFonts: withFonts,
|
|
1621
|
+
withMigrations: withMigrations
|
|
1619
1622
|
});
|
|
1620
1623
|
}, [parser, disabled, withMedias, withTheme, withFonts, story]);
|
|
1621
1624
|
return newStory;
|
package/es/index.js
CHANGED
|
@@ -25,8 +25,8 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
|
25
25
|
import 'slugify';
|
|
26
26
|
import uniqBy from 'lodash/uniqBy';
|
|
27
27
|
import _typeof from '@babel/runtime/helpers/typeof';
|
|
28
|
-
import isEmpty from 'lodash/isEmpty';
|
|
29
28
|
import uniq from 'lodash/uniq';
|
|
29
|
+
import isEmpty from 'lodash/isEmpty';
|
|
30
30
|
import { Tracking as Tracking$1 } from '@folklore/tracking';
|
|
31
31
|
|
|
32
32
|
/**
|
|
@@ -605,6 +605,10 @@ var visitor = PropTypes$1.shape({
|
|
|
605
605
|
id: PropTypes$1.oneOfType([PropTypes$1.string, PropTypes$1.number]),
|
|
606
606
|
name: PropTypes$1.string
|
|
607
607
|
});
|
|
608
|
+
var badge = PropTypes$1.shape({
|
|
609
|
+
label: textElement,
|
|
610
|
+
buttonStyle: boxStyle
|
|
611
|
+
});
|
|
608
612
|
|
|
609
613
|
var PropTypes = /*#__PURE__*/Object.freeze({
|
|
610
614
|
__proto__: null,
|
|
@@ -749,7 +753,8 @@ var PropTypes = /*#__PURE__*/Object.freeze({
|
|
|
749
753
|
paymentItems: paymentItems,
|
|
750
754
|
pageMetadata: pageMetadata,
|
|
751
755
|
authorElement: authorElement,
|
|
752
|
-
visitor: visitor
|
|
756
|
+
visitor: visitor,
|
|
757
|
+
badge: badge
|
|
753
758
|
});
|
|
754
759
|
|
|
755
760
|
var sortedColors = function sortedColors(colors) {
|
|
@@ -1137,7 +1142,7 @@ var FieldsManager = /*#__PURE__*/function (_DefinitionsManager) {
|
|
|
1137
1142
|
return FieldsManager;
|
|
1138
1143
|
}(DefinitionsManager);
|
|
1139
1144
|
|
|
1140
|
-
var _excluded$
|
|
1145
|
+
var _excluded$4 = ["medias"];
|
|
1141
1146
|
var MediasParser = /*#__PURE__*/function () {
|
|
1142
1147
|
function MediasParser(_ref) {
|
|
1143
1148
|
var fieldsManager = _ref.fieldsManager,
|
|
@@ -1193,7 +1198,7 @@ var MediasParser = /*#__PURE__*/function () {
|
|
|
1193
1198
|
if (theme !== null) {
|
|
1194
1199
|
var _this$toPath = this.toPath(theme),
|
|
1195
1200
|
themeMedias = _this$toPath.medias,
|
|
1196
|
-
newTheme = _objectWithoutProperties(_this$toPath, _excluded$
|
|
1201
|
+
newTheme = _objectWithoutProperties(_this$toPath, _excluded$4);
|
|
1197
1202
|
return medias !== null || themeMedias !== null ? _objectSpread(_objectSpread({}, story), {}, {
|
|
1198
1203
|
theme: newTheme,
|
|
1199
1204
|
components: newComponents,
|
|
@@ -1425,7 +1430,197 @@ var ScreensManager = /*#__PURE__*/function (_DefinitionsManager) {
|
|
|
1425
1430
|
return ScreensManager;
|
|
1426
1431
|
}(DefinitionsManager);
|
|
1427
1432
|
|
|
1428
|
-
var _excluded$
|
|
1433
|
+
var _excluded$3 = ["fonts"];
|
|
1434
|
+
var FontsParser = /*#__PURE__*/function () {
|
|
1435
|
+
function FontsParser(_ref) {
|
|
1436
|
+
var fieldsManager = _ref.fieldsManager,
|
|
1437
|
+
screensManager = _ref.screensManager;
|
|
1438
|
+
_classCallCheck(this, FontsParser);
|
|
1439
|
+
this.fieldsManager = fieldsManager;
|
|
1440
|
+
this.screensManager = screensManager;
|
|
1441
|
+
this.fieldsPatternCache = {};
|
|
1442
|
+
}
|
|
1443
|
+
_createClass(FontsParser, [{
|
|
1444
|
+
key: "getFieldsPatternByScreen",
|
|
1445
|
+
value: function getFieldsPatternByScreen(type) {
|
|
1446
|
+
if (typeof this.fieldsPatternCache[type] === 'undefined') {
|
|
1447
|
+
var _ref2 = this.screensManager.getDefinition(type) || {},
|
|
1448
|
+
_ref2$fields = _ref2.fields,
|
|
1449
|
+
fields = _ref2$fields === void 0 ? [] : _ref2$fields;
|
|
1450
|
+
this.fieldsPatternCache[type] = this.getFieldsPattern(fields);
|
|
1451
|
+
}
|
|
1452
|
+
return this.fieldsPatternCache[type];
|
|
1453
|
+
}
|
|
1454
|
+
|
|
1455
|
+
// Extract fonts
|
|
1456
|
+
}, {
|
|
1457
|
+
key: "parse",
|
|
1458
|
+
value: function parse(story) {
|
|
1459
|
+
var _this = this;
|
|
1460
|
+
if (story === null) {
|
|
1461
|
+
return story;
|
|
1462
|
+
}
|
|
1463
|
+
|
|
1464
|
+
// Extract fonts from screen
|
|
1465
|
+
var _ref3 = story || {},
|
|
1466
|
+
_ref3$theme = _ref3.theme,
|
|
1467
|
+
theme = _ref3$theme === void 0 ? null : _ref3$theme,
|
|
1468
|
+
_ref3$components = _ref3.components,
|
|
1469
|
+
components = _ref3$components === void 0 ? [] : _ref3$components;
|
|
1470
|
+
var fonts = uniq(components.reduce(function (currentFonts, screen) {
|
|
1471
|
+
var type = screen.type;
|
|
1472
|
+
var fieldsPattern = _this.getFieldsPatternByScreen(type);
|
|
1473
|
+
var newFonts = FontsParser.extractFontsWithPaths(screen, fieldsPattern);
|
|
1474
|
+
return newFonts.length > 0 ? [].concat(_toConsumableArray(currentFonts), _toConsumableArray(newFonts)) : currentFonts;
|
|
1475
|
+
}, []), 'name');
|
|
1476
|
+
|
|
1477
|
+
// Extract fonts from theme
|
|
1478
|
+
if (theme !== null) {
|
|
1479
|
+
var _this$parse = this.parse(theme),
|
|
1480
|
+
_this$parse$fonts = _this$parse.fonts,
|
|
1481
|
+
themeFonts = _this$parse$fonts === void 0 ? [] : _this$parse$fonts,
|
|
1482
|
+
newTheme = _objectWithoutProperties(_this$parse, _excluded$3);
|
|
1483
|
+
return fonts.length > 0 || themeFonts.length > 0 ? _objectSpread(_objectSpread({}, story), {}, {
|
|
1484
|
+
theme: newTheme,
|
|
1485
|
+
fonts: uniq([].concat(_toConsumableArray(themeFonts), _toConsumableArray(fonts)), 'name')
|
|
1486
|
+
}) : story;
|
|
1487
|
+
}
|
|
1488
|
+
return fonts.length > 0 ? _objectSpread(_objectSpread({}, story), {}, {
|
|
1489
|
+
fonts: fonts
|
|
1490
|
+
}) : story;
|
|
1491
|
+
}
|
|
1492
|
+
}, {
|
|
1493
|
+
key: "getFieldsPattern",
|
|
1494
|
+
value: function getFieldsPattern(fields) {
|
|
1495
|
+
var _this2 = this;
|
|
1496
|
+
var namePrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
1497
|
+
return fields.reduce(function (patterns, field) {
|
|
1498
|
+
var _field$name = field.name,
|
|
1499
|
+
name = _field$name === void 0 ? null : _field$name,
|
|
1500
|
+
_field$type = field.type,
|
|
1501
|
+
type = _field$type === void 0 ? null : _field$type;
|
|
1502
|
+
var path = [namePrefix, name].filter(function (it) {
|
|
1503
|
+
return it !== null;
|
|
1504
|
+
}).join('\\.');
|
|
1505
|
+
var fieldDefinition = _objectSpread(_objectSpread({}, type !== null ? _this2.fieldsManager.getDefinition(type) : null), field);
|
|
1506
|
+
|
|
1507
|
+
// also check settings fields
|
|
1508
|
+
var _fieldDefinition$fiel = fieldDefinition.fields,
|
|
1509
|
+
subFields = _fieldDefinition$fiel === void 0 ? [] : _fieldDefinition$fiel,
|
|
1510
|
+
_fieldDefinition$item = fieldDefinition.itemsField,
|
|
1511
|
+
itemsField = _fieldDefinition$item === void 0 ? null : _fieldDefinition$item,
|
|
1512
|
+
_fieldDefinition$sett = fieldDefinition.settings,
|
|
1513
|
+
settings = _fieldDefinition$sett === void 0 ? [] : _fieldDefinition$sett;
|
|
1514
|
+
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]+")) : []));
|
|
1515
|
+
}, []);
|
|
1516
|
+
}
|
|
1517
|
+
}], [{
|
|
1518
|
+
key: "fieldIsFontFamily",
|
|
1519
|
+
value: function fieldIsFontFamily(_ref4) {
|
|
1520
|
+
var _ref4$id = _ref4.id,
|
|
1521
|
+
id = _ref4$id === void 0 ? null : _ref4$id;
|
|
1522
|
+
return id === 'font-family';
|
|
1523
|
+
}
|
|
1524
|
+
}, {
|
|
1525
|
+
key: "valueIsFont",
|
|
1526
|
+
value: function valueIsFont(_ref5) {
|
|
1527
|
+
var _ref5$type = _ref5.type,
|
|
1528
|
+
type = _ref5$type === void 0 ? null : _ref5$type;
|
|
1529
|
+
return type === 'custom' || type === 'google';
|
|
1530
|
+
}
|
|
1531
|
+
}, {
|
|
1532
|
+
key: "extractFontsWithPaths",
|
|
1533
|
+
value: function extractFontsWithPaths(data, patterns) {
|
|
1534
|
+
var keyPrefix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
1535
|
+
var dataIsArray = isArray(data);
|
|
1536
|
+
var keys = dataIsArray ? _toConsumableArray(data.keys()) : Object.keys(data);
|
|
1537
|
+
return keys.reduce(function (currentFonts, key) {
|
|
1538
|
+
var path = [keyPrefix, key].filter(function (it) {
|
|
1539
|
+
return it !== null;
|
|
1540
|
+
}).join('.');
|
|
1541
|
+
var patternMatch = patterns.reduce(function (found, pattern) {
|
|
1542
|
+
return found || pattern.test(path);
|
|
1543
|
+
}, false);
|
|
1544
|
+
var value = data[key];
|
|
1545
|
+
var font = null;
|
|
1546
|
+
var subFonts = null;
|
|
1547
|
+
if (patternMatch && isObject(value) && FontsParser.valueIsFont(value)) {
|
|
1548
|
+
font = value;
|
|
1549
|
+
} else if (isObject(value) || isArray(value)) {
|
|
1550
|
+
subFonts = FontsParser.extractFontsWithPaths(value, patterns, path);
|
|
1551
|
+
}
|
|
1552
|
+
return subFonts !== null || font !== null ? [].concat(_toConsumableArray(currentFonts), _toConsumableArray(subFonts || []), _toConsumableArray(font !== null ? [font] : [])) : currentFonts;
|
|
1553
|
+
}, []);
|
|
1554
|
+
}
|
|
1555
|
+
}]);
|
|
1556
|
+
return FontsParser;
|
|
1557
|
+
}();
|
|
1558
|
+
|
|
1559
|
+
var _excluded$2 = ["components"],
|
|
1560
|
+
_excluded2$1 = ["shareIncentive", "callToAction"];
|
|
1561
|
+
var MigrationsParser = /*#__PURE__*/function () {
|
|
1562
|
+
function MigrationsParser(_ref) {
|
|
1563
|
+
var fieldsManager = _ref.fieldsManager,
|
|
1564
|
+
screensManager = _ref.screensManager;
|
|
1565
|
+
_classCallCheck(this, MigrationsParser);
|
|
1566
|
+
this.fieldsManager = fieldsManager;
|
|
1567
|
+
this.screensManager = screensManager;
|
|
1568
|
+
}
|
|
1569
|
+
|
|
1570
|
+
// eslint-disable-next-line class-methods-use-this
|
|
1571
|
+
_createClass(MigrationsParser, [{
|
|
1572
|
+
key: "parse",
|
|
1573
|
+
value: function parse(story) {
|
|
1574
|
+
if (story === null) {
|
|
1575
|
+
return story;
|
|
1576
|
+
}
|
|
1577
|
+
var _ref2 = story || {},
|
|
1578
|
+
_ref2$components = _ref2.components,
|
|
1579
|
+
components = _ref2$components === void 0 ? [] : _ref2$components,
|
|
1580
|
+
restStory = _objectWithoutProperties(_ref2, _excluded$2);
|
|
1581
|
+
var finalComponents = components.reduce(function (currentComponents, screen) {
|
|
1582
|
+
var _ref3 = screen || {},
|
|
1583
|
+
_ref3$shareIncentive = _ref3.shareIncentive,
|
|
1584
|
+
shareIncentive = _ref3$shareIncentive === void 0 ? null : _ref3$shareIncentive,
|
|
1585
|
+
_ref3$callToAction = _ref3.callToAction,
|
|
1586
|
+
callToAction = _ref3$callToAction === void 0 ? null : _ref3$callToAction,
|
|
1587
|
+
restScreen = _objectWithoutProperties(_ref3, _excluded2$1);
|
|
1588
|
+
if (shareIncentive === null && callToAction === null) {
|
|
1589
|
+
return [].concat(_toConsumableArray(currentComponents), [restScreen]);
|
|
1590
|
+
}
|
|
1591
|
+
var _ref4 = screen || {},
|
|
1592
|
+
_ref4$header = _ref4.header,
|
|
1593
|
+
header = _ref4$header === void 0 ? null : _ref4$header,
|
|
1594
|
+
_ref4$footer = _ref4.footer,
|
|
1595
|
+
footer = _ref4$footer === void 0 ? null : _ref4$footer;
|
|
1596
|
+
|
|
1597
|
+
// Carful for recursivity here cause same key name
|
|
1598
|
+
var newHeader = shareIncentive !== null ? _objectSpread(_objectSpread({}, shareIncentive !== null ? {
|
|
1599
|
+
shareIncentive: shareIncentive
|
|
1600
|
+
} : null), header !== null ? {
|
|
1601
|
+
header: header
|
|
1602
|
+
} : null) : header;
|
|
1603
|
+
var newFooter = callToAction !== null ? _objectSpread(_objectSpread({}, callToAction !== null ? {
|
|
1604
|
+
callToAction: callToAction
|
|
1605
|
+
} : null), footer !== null ? {
|
|
1606
|
+
footer: footer
|
|
1607
|
+
} : null) : footer;
|
|
1608
|
+
var newScreen = _objectSpread(_objectSpread(_objectSpread({}, restScreen), newHeader !== null ? {
|
|
1609
|
+
header: newHeader
|
|
1610
|
+
} : null), newFooter !== null ? {
|
|
1611
|
+
footer: newFooter
|
|
1612
|
+
} : null);
|
|
1613
|
+
return [].concat(_toConsumableArray(currentComponents), [newScreen]);
|
|
1614
|
+
}, []);
|
|
1615
|
+
return _objectSpread(_objectSpread({}, restStory), {}, {
|
|
1616
|
+
components: finalComponents
|
|
1617
|
+
});
|
|
1618
|
+
}
|
|
1619
|
+
}]);
|
|
1620
|
+
return MigrationsParser;
|
|
1621
|
+
}();
|
|
1622
|
+
|
|
1623
|
+
var _excluded$1 = ["textStyle", "color", "boxStyle"];
|
|
1429
1624
|
var ThemeParser = /*#__PURE__*/function () {
|
|
1430
1625
|
function ThemeParser(_ref) {
|
|
1431
1626
|
var screensManager = _ref.screensManager;
|
|
@@ -1519,6 +1714,7 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1519
1714
|
value: function parseField(key, definition, value, themeValue, themeColors, themeTextStyles, themeBoxStyles) {
|
|
1520
1715
|
var _definition$theme = definition.theme,
|
|
1521
1716
|
fieldTheme = _definition$theme === void 0 ? null : _definition$theme;
|
|
1717
|
+
// console.log('fieldTheme', id, fieldTheme);
|
|
1522
1718
|
|
|
1523
1719
|
// Early return
|
|
1524
1720
|
if (fieldTheme === null || !isObject(fieldTheme)) {
|
|
@@ -1529,6 +1725,7 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1529
1725
|
if (isArray(value)) {
|
|
1530
1726
|
var newFieldValue = value.map(function (innerField) {
|
|
1531
1727
|
return innerField !== null ? Object.keys(innerField).reduce(function (newInnerField, innerFieldName) {
|
|
1728
|
+
// console.log('innerField', innerField);
|
|
1532
1729
|
// Early return
|
|
1533
1730
|
if (!isObject(innerField[innerFieldName])) {
|
|
1534
1731
|
return newInnerField;
|
|
@@ -1588,15 +1785,15 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1588
1785
|
fieldColorName = _ref4$color === void 0 ? null : _ref4$color,
|
|
1589
1786
|
_ref4$boxStyle = _ref4.boxStyle,
|
|
1590
1787
|
fieldBoxStyleName = _ref4$boxStyle === void 0 ? null : _ref4$boxStyle,
|
|
1591
|
-
otherProps = _objectWithoutProperties(_ref4, _excluded$
|
|
1788
|
+
otherProps = _objectWithoutProperties(_ref4, _excluded$1);
|
|
1592
1789
|
if (fieldTextStyleName === null && fieldColorName === null && fieldBoxStyleName === null && isEmpty(otherProps) && !isObject(fieldTheme)) {
|
|
1593
1790
|
return value;
|
|
1594
1791
|
}
|
|
1595
1792
|
var complexValue = null;
|
|
1596
1793
|
if (!isEmpty(otherProps)) {
|
|
1597
|
-
complexValue = Object.keys(
|
|
1794
|
+
complexValue = Object.keys(otherProps).reduce(function (newObject, key) {
|
|
1598
1795
|
var innerValue = value !== null ? value[key] || null : null;
|
|
1599
|
-
var newValue = _this3.parseValue(innerValue,
|
|
1796
|
+
var newValue = _this3.parseValue(innerValue, otherProps[key], themeValue, themeColors, themeTextStyles, themeBoxStyles);
|
|
1600
1797
|
return _objectSpread(_objectSpread({}, newObject), newValue !== null ? _defineProperty({}, key, newValue) : null);
|
|
1601
1798
|
}, {});
|
|
1602
1799
|
}
|
|
@@ -1626,6 +1823,8 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1626
1823
|
boxStyle: _objectSpread(_objectSpread(_objectSpread({}, fieldBoxStyle), fieldThemeComponentBoxStyle), valueBoxStyle || null)
|
|
1627
1824
|
} : null;
|
|
1628
1825
|
|
|
1826
|
+
// console.log('hell', boxStyleValue, complexValue);
|
|
1827
|
+
|
|
1629
1828
|
// Only change value if something is overrided
|
|
1630
1829
|
return colorValue !== null || themeValue !== null || textStyleValue !== null || boxStyleValue !== null || complexValue !== null ? _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, colorValue), themeValue), value), boxStyleValue), textStyleValue), complexValue) : value;
|
|
1631
1830
|
}
|
|
@@ -1635,132 +1834,6 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1635
1834
|
return ThemeParser;
|
|
1636
1835
|
}();
|
|
1637
1836
|
|
|
1638
|
-
var _excluded$1 = ["fonts"];
|
|
1639
|
-
var FontsParser = /*#__PURE__*/function () {
|
|
1640
|
-
function FontsParser(_ref) {
|
|
1641
|
-
var fieldsManager = _ref.fieldsManager,
|
|
1642
|
-
screensManager = _ref.screensManager;
|
|
1643
|
-
_classCallCheck(this, FontsParser);
|
|
1644
|
-
this.fieldsManager = fieldsManager;
|
|
1645
|
-
this.screensManager = screensManager;
|
|
1646
|
-
this.fieldsPatternCache = {};
|
|
1647
|
-
}
|
|
1648
|
-
_createClass(FontsParser, [{
|
|
1649
|
-
key: "getFieldsPatternByScreen",
|
|
1650
|
-
value: function getFieldsPatternByScreen(type) {
|
|
1651
|
-
if (typeof this.fieldsPatternCache[type] === 'undefined') {
|
|
1652
|
-
var _ref2 = this.screensManager.getDefinition(type) || {},
|
|
1653
|
-
_ref2$fields = _ref2.fields,
|
|
1654
|
-
fields = _ref2$fields === void 0 ? [] : _ref2$fields;
|
|
1655
|
-
this.fieldsPatternCache[type] = this.getFieldsPattern(fields);
|
|
1656
|
-
}
|
|
1657
|
-
return this.fieldsPatternCache[type];
|
|
1658
|
-
}
|
|
1659
|
-
|
|
1660
|
-
// Extract fonts
|
|
1661
|
-
}, {
|
|
1662
|
-
key: "parse",
|
|
1663
|
-
value: function parse(story) {
|
|
1664
|
-
var _this = this;
|
|
1665
|
-
if (story === null) {
|
|
1666
|
-
return story;
|
|
1667
|
-
}
|
|
1668
|
-
|
|
1669
|
-
// Extract fonts from screen
|
|
1670
|
-
var _ref3 = story || {},
|
|
1671
|
-
_ref3$theme = _ref3.theme,
|
|
1672
|
-
theme = _ref3$theme === void 0 ? null : _ref3$theme,
|
|
1673
|
-
_ref3$components = _ref3.components,
|
|
1674
|
-
components = _ref3$components === void 0 ? [] : _ref3$components;
|
|
1675
|
-
var fonts = uniq(components.reduce(function (currentFonts, screen) {
|
|
1676
|
-
var type = screen.type;
|
|
1677
|
-
var fieldsPattern = _this.getFieldsPatternByScreen(type);
|
|
1678
|
-
var newFonts = FontsParser.extractFontsWithPaths(screen, fieldsPattern);
|
|
1679
|
-
return newFonts.length > 0 ? [].concat(_toConsumableArray(currentFonts), _toConsumableArray(newFonts)) : currentFonts;
|
|
1680
|
-
}, []), 'name');
|
|
1681
|
-
|
|
1682
|
-
// Extract fonts from theme
|
|
1683
|
-
if (theme !== null) {
|
|
1684
|
-
var _this$parse = this.parse(theme),
|
|
1685
|
-
_this$parse$fonts = _this$parse.fonts,
|
|
1686
|
-
themeFonts = _this$parse$fonts === void 0 ? [] : _this$parse$fonts,
|
|
1687
|
-
newTheme = _objectWithoutProperties(_this$parse, _excluded$1);
|
|
1688
|
-
return fonts.length > 0 || themeFonts.length > 0 ? _objectSpread(_objectSpread({}, story), {}, {
|
|
1689
|
-
theme: newTheme,
|
|
1690
|
-
fonts: uniq([].concat(_toConsumableArray(themeFonts), _toConsumableArray(fonts)), 'name')
|
|
1691
|
-
}) : story;
|
|
1692
|
-
}
|
|
1693
|
-
return fonts.length > 0 ? _objectSpread(_objectSpread({}, story), {}, {
|
|
1694
|
-
fonts: fonts
|
|
1695
|
-
}) : story;
|
|
1696
|
-
}
|
|
1697
|
-
}, {
|
|
1698
|
-
key: "getFieldsPattern",
|
|
1699
|
-
value: function getFieldsPattern(fields) {
|
|
1700
|
-
var _this2 = this;
|
|
1701
|
-
var namePrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
1702
|
-
return fields.reduce(function (patterns, field) {
|
|
1703
|
-
var _field$name = field.name,
|
|
1704
|
-
name = _field$name === void 0 ? null : _field$name,
|
|
1705
|
-
_field$type = field.type,
|
|
1706
|
-
type = _field$type === void 0 ? null : _field$type;
|
|
1707
|
-
var path = [namePrefix, name].filter(function (it) {
|
|
1708
|
-
return it !== null;
|
|
1709
|
-
}).join('\\.');
|
|
1710
|
-
var fieldDefinition = _objectSpread(_objectSpread({}, type !== null ? _this2.fieldsManager.getDefinition(type) : null), field);
|
|
1711
|
-
|
|
1712
|
-
// also check settings fields
|
|
1713
|
-
var _fieldDefinition$fiel = fieldDefinition.fields,
|
|
1714
|
-
subFields = _fieldDefinition$fiel === void 0 ? [] : _fieldDefinition$fiel,
|
|
1715
|
-
_fieldDefinition$item = fieldDefinition.itemsField,
|
|
1716
|
-
itemsField = _fieldDefinition$item === void 0 ? null : _fieldDefinition$item,
|
|
1717
|
-
_fieldDefinition$sett = fieldDefinition.settings,
|
|
1718
|
-
settings = _fieldDefinition$sett === void 0 ? [] : _fieldDefinition$sett;
|
|
1719
|
-
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]+")) : []));
|
|
1720
|
-
}, []);
|
|
1721
|
-
}
|
|
1722
|
-
}], [{
|
|
1723
|
-
key: "fieldIsFontFamily",
|
|
1724
|
-
value: function fieldIsFontFamily(_ref4) {
|
|
1725
|
-
var _ref4$id = _ref4.id,
|
|
1726
|
-
id = _ref4$id === void 0 ? null : _ref4$id;
|
|
1727
|
-
return id === 'font-family';
|
|
1728
|
-
}
|
|
1729
|
-
}, {
|
|
1730
|
-
key: "valueIsFont",
|
|
1731
|
-
value: function valueIsFont(_ref5) {
|
|
1732
|
-
var _ref5$type = _ref5.type,
|
|
1733
|
-
type = _ref5$type === void 0 ? null : _ref5$type;
|
|
1734
|
-
return type === 'custom' || type === 'google';
|
|
1735
|
-
}
|
|
1736
|
-
}, {
|
|
1737
|
-
key: "extractFontsWithPaths",
|
|
1738
|
-
value: function extractFontsWithPaths(data, patterns) {
|
|
1739
|
-
var keyPrefix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
1740
|
-
var dataIsArray = isArray(data);
|
|
1741
|
-
var keys = dataIsArray ? _toConsumableArray(data.keys()) : Object.keys(data);
|
|
1742
|
-
return keys.reduce(function (currentFonts, key) {
|
|
1743
|
-
var path = [keyPrefix, key].filter(function (it) {
|
|
1744
|
-
return it !== null;
|
|
1745
|
-
}).join('.');
|
|
1746
|
-
var patternMatch = patterns.reduce(function (found, pattern) {
|
|
1747
|
-
return found || pattern.test(path);
|
|
1748
|
-
}, false);
|
|
1749
|
-
var value = data[key];
|
|
1750
|
-
var font = null;
|
|
1751
|
-
var subFonts = null;
|
|
1752
|
-
if (patternMatch && isObject(value) && FontsParser.valueIsFont(value)) {
|
|
1753
|
-
font = value;
|
|
1754
|
-
} else if (isObject(value) || isArray(value)) {
|
|
1755
|
-
subFonts = FontsParser.extractFontsWithPaths(value, patterns, path);
|
|
1756
|
-
}
|
|
1757
|
-
return subFonts !== null || font !== null ? [].concat(_toConsumableArray(currentFonts), _toConsumableArray(subFonts || []), _toConsumableArray(font !== null ? [font] : [])) : currentFonts;
|
|
1758
|
-
}, []);
|
|
1759
|
-
}
|
|
1760
|
-
}]);
|
|
1761
|
-
return FontsParser;
|
|
1762
|
-
}();
|
|
1763
|
-
|
|
1764
1837
|
var StoryParser = /*#__PURE__*/function () {
|
|
1765
1838
|
function StoryParser(_ref) {
|
|
1766
1839
|
var screensManager = _ref.screensManager,
|
|
@@ -1777,6 +1850,10 @@ var StoryParser = /*#__PURE__*/function () {
|
|
|
1777
1850
|
screensManager: screensManager,
|
|
1778
1851
|
fieldsManager: fieldsManager
|
|
1779
1852
|
});
|
|
1853
|
+
this.migrationsParser = new MigrationsParser({
|
|
1854
|
+
screensManager: screensManager,
|
|
1855
|
+
fieldsManager: fieldsManager
|
|
1856
|
+
});
|
|
1780
1857
|
}
|
|
1781
1858
|
_createClass(StoryParser, [{
|
|
1782
1859
|
key: "parse",
|
|
@@ -1788,7 +1865,9 @@ var StoryParser = /*#__PURE__*/function () {
|
|
|
1788
1865
|
_ref2$withMedias = _ref2.withMedias,
|
|
1789
1866
|
withMedias = _ref2$withMedias === void 0 ? true : _ref2$withMedias,
|
|
1790
1867
|
_ref2$withFonts = _ref2.withFonts,
|
|
1791
|
-
withFonts = _ref2$withFonts === void 0 ? true : _ref2$withFonts
|
|
1868
|
+
withFonts = _ref2$withFonts === void 0 ? true : _ref2$withFonts,
|
|
1869
|
+
_ref2$withMigrations = _ref2.withMigrations,
|
|
1870
|
+
withMigrations = _ref2$withMigrations === void 0 ? true : _ref2$withMigrations;
|
|
1792
1871
|
if (story === null) {
|
|
1793
1872
|
return story;
|
|
1794
1873
|
}
|
|
@@ -1798,6 +1877,8 @@ var StoryParser = /*#__PURE__*/function () {
|
|
|
1798
1877
|
return _this.themeParser.parse(newStory);
|
|
1799
1878
|
}], [withFonts, function (newStory) {
|
|
1800
1879
|
return _this.fontsParser.parse(newStory);
|
|
1880
|
+
}], [withMigrations, function (newStory) {
|
|
1881
|
+
return _this.migrationsParser.parse(newStory);
|
|
1801
1882
|
}]];
|
|
1802
1883
|
return parsers.reduce(function (parsedStory, _ref3) {
|
|
1803
1884
|
var _ref4 = _slicedToArray(_ref3, 2),
|
package/es/utils.js
CHANGED
|
@@ -3,7 +3,7 @@ import { paramCase } from 'param-case';
|
|
|
3
3
|
import _regeneratorRuntime from '@babel/runtime/helpers/regeneratorRuntime';
|
|
4
4
|
import _asyncToGenerator from '@babel/runtime/helpers/asyncToGenerator';
|
|
5
5
|
import isObject from 'lodash/isObject';
|
|
6
|
-
import { useEffect } from 'react';
|
|
6
|
+
import { useEffect, useMemo } from 'react';
|
|
7
7
|
import isString from 'lodash/isString';
|
|
8
8
|
import tinycolor from 'tinycolor2';
|
|
9
9
|
import { pascalCase, paramCase as paramCase$1, snakeCase } from 'change-case';
|
|
@@ -393,6 +393,40 @@ var getFontFamily = function getFontFamily(value) {
|
|
|
393
393
|
}).join(', ');
|
|
394
394
|
};
|
|
395
395
|
|
|
396
|
+
var _excluded$1 = ["isPreview", "isView", "current", "openWebView", "enableInteraction", "disableInteraction"];
|
|
397
|
+
var getFooterProps = function getFooterProps() {
|
|
398
|
+
var footer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
399
|
+
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
400
|
+
_ref$isPreview = _ref.isPreview,
|
|
401
|
+
isPreview = _ref$isPreview === void 0 ? false : _ref$isPreview,
|
|
402
|
+
_ref$isView = _ref.isView,
|
|
403
|
+
isView = _ref$isView === void 0 ? false : _ref$isView,
|
|
404
|
+
_ref$current = _ref.current,
|
|
405
|
+
current = _ref$current === void 0 ? false : _ref$current,
|
|
406
|
+
_ref$openWebView = _ref.openWebView,
|
|
407
|
+
openWebView = _ref$openWebView === void 0 ? false : _ref$openWebView,
|
|
408
|
+
_ref$enableInteractio = _ref.enableInteraction,
|
|
409
|
+
enableInteraction = _ref$enableInteractio === void 0 ? true : _ref$enableInteractio,
|
|
410
|
+
_ref$disableInteracti = _ref.disableInteraction,
|
|
411
|
+
disableInteraction = _ref$disableInteracti === void 0 ? false : _ref$disableInteracti,
|
|
412
|
+
otherProps = _objectWithoutProperties(_ref, _excluded$1);
|
|
413
|
+
var _ref2 = footer || {},
|
|
414
|
+
_ref2$callToAction = _ref2.callToAction,
|
|
415
|
+
callToAction = _ref2$callToAction === void 0 ? null : _ref2$callToAction;
|
|
416
|
+
var footerProps = useMemo(function () {
|
|
417
|
+
return {
|
|
418
|
+
callToAction: _objectSpread(_objectSpread({}, callToAction), {}, {
|
|
419
|
+
animationDisabled: isPreview,
|
|
420
|
+
focusable: current && isView,
|
|
421
|
+
openWebView: openWebView,
|
|
422
|
+
enableInteraction: enableInteraction,
|
|
423
|
+
disableInteraction: disableInteraction
|
|
424
|
+
}, otherProps)
|
|
425
|
+
};
|
|
426
|
+
}, [callToAction, isPreview, isView, current, enableInteraction, disableInteraction, otherProps]);
|
|
427
|
+
return footerProps;
|
|
428
|
+
};
|
|
429
|
+
|
|
396
430
|
var getGridLayoutName = function getGridLayoutName(layout) {
|
|
397
431
|
return layout.map(function (it) {
|
|
398
432
|
return "".concat(it.rows, "_").concat(it.columns.join('_'));
|
|
@@ -912,6 +946,38 @@ var getLayoutParts = function getLayoutParts() {
|
|
|
912
946
|
};
|
|
913
947
|
};
|
|
914
948
|
|
|
949
|
+
var isHeaderFilled = function isHeaderFilled() {
|
|
950
|
+
var header = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
951
|
+
var _ref = header || {},
|
|
952
|
+
_ref$badge = _ref.badge,
|
|
953
|
+
badge = _ref$badge === void 0 ? null : _ref$badge;
|
|
954
|
+
var _ref2 = badge || {},
|
|
955
|
+
_ref2$active = _ref2.active,
|
|
956
|
+
badgeActive = _ref2$active === void 0 ? false : _ref2$active,
|
|
957
|
+
_ref2$label = _ref2.label,
|
|
958
|
+
label = _ref2$label === void 0 ? null : _ref2$label;
|
|
959
|
+
var _ref3 = label || {},
|
|
960
|
+
_ref3$body = _ref3.body,
|
|
961
|
+
body = _ref3$body === void 0 ? null : _ref3$body;
|
|
962
|
+
return badgeActive && body !== null;
|
|
963
|
+
};
|
|
964
|
+
|
|
965
|
+
var isFooterFilled = function isFooterFilled() {
|
|
966
|
+
var footer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
967
|
+
var _ref = footer || {},
|
|
968
|
+
_ref$callToAction = _ref.callToAction,
|
|
969
|
+
callToAction = _ref$callToAction === void 0 ? null : _ref$callToAction;
|
|
970
|
+
var _ref2 = callToAction || {},
|
|
971
|
+
_ref2$active = _ref2.active,
|
|
972
|
+
callToActionActive = _ref2$active === void 0 ? false : _ref2$active,
|
|
973
|
+
_ref2$label = _ref2.label,
|
|
974
|
+
label = _ref2$label === void 0 ? null : _ref2$label;
|
|
975
|
+
var _ref3 = label || {},
|
|
976
|
+
_ref3$body = _ref3.body,
|
|
977
|
+
body = _ref3$body === void 0 ? null : _ref3$body;
|
|
978
|
+
return callToActionActive && body !== null;
|
|
979
|
+
};
|
|
980
|
+
|
|
915
981
|
var isMessage = function isMessage(message) {
|
|
916
982
|
return isObject(message) && typeof message.defaultMessage !== 'undefined';
|
|
917
983
|
};
|
|
@@ -1043,4 +1109,4 @@ var getContrastingColor = function getContrastingColor(backgroundColor) {
|
|
|
1043
1109
|
return tinycolor(color).spin(30).toString();
|
|
1044
1110
|
};
|
|
1045
1111
|
|
|
1046
|
-
export { convertStyleToString, copyToClipboard, createNullableOnChange, createUseEvent, easings, getColorAsString, getComponentFromName, getContrastingColor, getDeviceScreens, getDisplayName, getFieldByName, getFieldFromPath, getFileName, getFontFamily as getFontFamilyFromFont, getGridLayoutName, largestRemainderRound as getLargestRemainderRound, getLayersFromBackground, getLayoutParts, getMediaFilesAsArray, getOptimalImageUrl, getScreenExtraField, getSecondsFromTime, getShadowCoords, getStyleFromAlignment, getStyleFromBorder, getStyleFromBox, getStyleFromColor, getStyleFromContainer, getStyleFromHighlight, getStyleFromImage, getStyleFromLink, getStyleFromMargin, getStyleFromText, getVideoSupportedMimes, isImageFilled, isIos, isTextFilled$1 as isLabelFilled, isMessage, isTextFilled, isValidUrl, schemaId, setValue as setFieldValue, slug, unique, validateFields };
|
|
1112
|
+
export { convertStyleToString, copyToClipboard, createNullableOnChange, createUseEvent, easings, getColorAsString, getComponentFromName, getContrastingColor, getDeviceScreens, getDisplayName, getFieldByName, getFieldFromPath, getFileName, getFontFamily as getFontFamilyFromFont, getFooterProps, getGridLayoutName, largestRemainderRound as getLargestRemainderRound, getLayersFromBackground, getLayoutParts, getMediaFilesAsArray, getOptimalImageUrl, getScreenExtraField, getSecondsFromTime, getShadowCoords, getStyleFromAlignment, getStyleFromBorder, getStyleFromBox, getStyleFromColor, getStyleFromContainer, getStyleFromHighlight, getStyleFromImage, getStyleFromLink, getStyleFromMargin, getStyleFromText, getVideoSupportedMimes, isFooterFilled, isHeaderFilled, isImageFilled, isIos, isTextFilled$1 as isLabelFilled, isMessage, isTextFilled, isValidUrl, schemaId, setValue as setFieldValue, slug, unique, validateFields };
|
package/lib/components.js
CHANGED
|
@@ -1333,8 +1333,9 @@ var Dropdown = function Dropdown(_ref) {
|
|
|
1333
1333
|
onClickItem(e);
|
|
1334
1334
|
}
|
|
1335
1335
|
} : null;
|
|
1336
|
-
return ItemComponent !== null ? /*#__PURE__*/React__default["default"].createElement("div",
|
|
1337
|
-
key: "item-".concat(index, "-").concat(label, "-").concat(type)
|
|
1336
|
+
return ItemComponent !== null ? /*#__PURE__*/React__default["default"].createElement("div", {
|
|
1337
|
+
key: "item-".concat(index, "-").concat(label, "-").concat(type)
|
|
1338
|
+
}, /*#__PURE__*/React__default["default"].createElement(ItemComponent, Object.assign({
|
|
1338
1339
|
className: classNames__default["default"]([(_ref3 = {
|
|
1339
1340
|
'dropdown-item': type === 'link' || type === 'button',
|
|
1340
1341
|
'dropdown-divider': type === 'divider',
|
|
@@ -3142,6 +3143,10 @@ PropTypes__default["default"].shape({
|
|
|
3142
3143
|
id: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number]),
|
|
3143
3144
|
name: PropTypes__default["default"].string
|
|
3144
3145
|
});
|
|
3146
|
+
PropTypes__default["default"].shape({
|
|
3147
|
+
label: textElement,
|
|
3148
|
+
buttonStyle: boxStyle
|
|
3149
|
+
});
|
|
3145
3150
|
|
|
3146
3151
|
/* eslint-disable react/no-array-index-key */
|
|
3147
3152
|
var propTypes$d = {
|
package/lib/hooks.js
CHANGED
|
@@ -1637,7 +1637,9 @@ var useParsedStory = function useParsedStory(story) {
|
|
|
1637
1637
|
_ref$withMedias = _ref.withMedias,
|
|
1638
1638
|
withMedias = _ref$withMedias === void 0 ? true : _ref$withMedias,
|
|
1639
1639
|
_ref$withFonts = _ref.withFonts,
|
|
1640
|
-
withFonts = _ref$withFonts === void 0 ? true : _ref$withFonts
|
|
1640
|
+
withFonts = _ref$withFonts === void 0 ? true : _ref$withFonts,
|
|
1641
|
+
_ref$withMigrations = _ref.withMigrations,
|
|
1642
|
+
withMigrations = _ref$withMigrations === void 0 ? true : _ref$withMigrations;
|
|
1641
1643
|
var screensManager = contexts.useScreensManager();
|
|
1642
1644
|
var fieldsManager = contexts.useFieldsManager();
|
|
1643
1645
|
var parser = react.useMemo(function () {
|
|
@@ -1653,7 +1655,8 @@ var useParsedStory = function useParsedStory(story) {
|
|
|
1653
1655
|
return parser.parse(story, {
|
|
1654
1656
|
withMedias: withMedias,
|
|
1655
1657
|
withTheme: withTheme,
|
|
1656
|
-
withFonts: withFonts
|
|
1658
|
+
withFonts: withFonts,
|
|
1659
|
+
withMigrations: withMigrations
|
|
1657
1660
|
});
|
|
1658
1661
|
}, [parser, disabled, withMedias, withTheme, withFonts, story]);
|
|
1659
1662
|
return newStory;
|
package/lib/index.js
CHANGED
|
@@ -29,8 +29,8 @@ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
|
29
29
|
require('slugify');
|
|
30
30
|
var uniqBy = require('lodash/uniqBy');
|
|
31
31
|
var _typeof = require('@babel/runtime/helpers/typeof');
|
|
32
|
-
var isEmpty = require('lodash/isEmpty');
|
|
33
32
|
var uniq = require('lodash/uniq');
|
|
33
|
+
var isEmpty = require('lodash/isEmpty');
|
|
34
34
|
var tracking = require('@folklore/tracking');
|
|
35
35
|
|
|
36
36
|
function _interopDefaultLegacy (e) { return e && typeof e === 'object' && 'default' in e ? e : { 'default': e }; }
|
|
@@ -53,8 +53,8 @@ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_obje
|
|
|
53
53
|
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
54
54
|
var uniqBy__default = /*#__PURE__*/_interopDefaultLegacy(uniqBy);
|
|
55
55
|
var _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);
|
|
56
|
-
var isEmpty__default = /*#__PURE__*/_interopDefaultLegacy(isEmpty);
|
|
57
56
|
var uniq__default = /*#__PURE__*/_interopDefaultLegacy(uniq);
|
|
57
|
+
var isEmpty__default = /*#__PURE__*/_interopDefaultLegacy(isEmpty);
|
|
58
58
|
|
|
59
59
|
/**
|
|
60
60
|
* Core
|
|
@@ -632,6 +632,10 @@ var visitor = PropTypes__default["default"].shape({
|
|
|
632
632
|
id: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number]),
|
|
633
633
|
name: PropTypes__default["default"].string
|
|
634
634
|
});
|
|
635
|
+
var badge = PropTypes__default["default"].shape({
|
|
636
|
+
label: textElement,
|
|
637
|
+
buttonStyle: boxStyle
|
|
638
|
+
});
|
|
635
639
|
|
|
636
640
|
var PropTypes = /*#__PURE__*/Object.freeze({
|
|
637
641
|
__proto__: null,
|
|
@@ -776,7 +780,8 @@ var PropTypes = /*#__PURE__*/Object.freeze({
|
|
|
776
780
|
paymentItems: paymentItems,
|
|
777
781
|
pageMetadata: pageMetadata,
|
|
778
782
|
authorElement: authorElement,
|
|
779
|
-
visitor: visitor
|
|
783
|
+
visitor: visitor,
|
|
784
|
+
badge: badge
|
|
780
785
|
});
|
|
781
786
|
|
|
782
787
|
var sortedColors = function sortedColors(colors) {
|
|
@@ -1164,7 +1169,7 @@ var FieldsManager = /*#__PURE__*/function (_DefinitionsManager) {
|
|
|
1164
1169
|
return FieldsManager;
|
|
1165
1170
|
}(DefinitionsManager);
|
|
1166
1171
|
|
|
1167
|
-
var _excluded$
|
|
1172
|
+
var _excluded$4 = ["medias"];
|
|
1168
1173
|
var MediasParser = /*#__PURE__*/function () {
|
|
1169
1174
|
function MediasParser(_ref) {
|
|
1170
1175
|
var fieldsManager = _ref.fieldsManager,
|
|
@@ -1220,7 +1225,7 @@ var MediasParser = /*#__PURE__*/function () {
|
|
|
1220
1225
|
if (theme !== null) {
|
|
1221
1226
|
var _this$toPath = this.toPath(theme),
|
|
1222
1227
|
themeMedias = _this$toPath.medias,
|
|
1223
|
-
newTheme = _objectWithoutProperties__default["default"](_this$toPath, _excluded$
|
|
1228
|
+
newTheme = _objectWithoutProperties__default["default"](_this$toPath, _excluded$4);
|
|
1224
1229
|
return medias !== null || themeMedias !== null ? _objectSpread__default["default"](_objectSpread__default["default"]({}, story), {}, {
|
|
1225
1230
|
theme: newTheme,
|
|
1226
1231
|
components: newComponents,
|
|
@@ -1452,7 +1457,197 @@ var ScreensManager = /*#__PURE__*/function (_DefinitionsManager) {
|
|
|
1452
1457
|
return ScreensManager;
|
|
1453
1458
|
}(DefinitionsManager);
|
|
1454
1459
|
|
|
1455
|
-
var _excluded$
|
|
1460
|
+
var _excluded$3 = ["fonts"];
|
|
1461
|
+
var FontsParser = /*#__PURE__*/function () {
|
|
1462
|
+
function FontsParser(_ref) {
|
|
1463
|
+
var fieldsManager = _ref.fieldsManager,
|
|
1464
|
+
screensManager = _ref.screensManager;
|
|
1465
|
+
_classCallCheck__default["default"](this, FontsParser);
|
|
1466
|
+
this.fieldsManager = fieldsManager;
|
|
1467
|
+
this.screensManager = screensManager;
|
|
1468
|
+
this.fieldsPatternCache = {};
|
|
1469
|
+
}
|
|
1470
|
+
_createClass__default["default"](FontsParser, [{
|
|
1471
|
+
key: "getFieldsPatternByScreen",
|
|
1472
|
+
value: function getFieldsPatternByScreen(type) {
|
|
1473
|
+
if (typeof this.fieldsPatternCache[type] === 'undefined') {
|
|
1474
|
+
var _ref2 = this.screensManager.getDefinition(type) || {},
|
|
1475
|
+
_ref2$fields = _ref2.fields,
|
|
1476
|
+
fields = _ref2$fields === void 0 ? [] : _ref2$fields;
|
|
1477
|
+
this.fieldsPatternCache[type] = this.getFieldsPattern(fields);
|
|
1478
|
+
}
|
|
1479
|
+
return this.fieldsPatternCache[type];
|
|
1480
|
+
}
|
|
1481
|
+
|
|
1482
|
+
// Extract fonts
|
|
1483
|
+
}, {
|
|
1484
|
+
key: "parse",
|
|
1485
|
+
value: function parse(story) {
|
|
1486
|
+
var _this = this;
|
|
1487
|
+
if (story === null) {
|
|
1488
|
+
return story;
|
|
1489
|
+
}
|
|
1490
|
+
|
|
1491
|
+
// Extract fonts from screen
|
|
1492
|
+
var _ref3 = story || {},
|
|
1493
|
+
_ref3$theme = _ref3.theme,
|
|
1494
|
+
theme = _ref3$theme === void 0 ? null : _ref3$theme,
|
|
1495
|
+
_ref3$components = _ref3.components,
|
|
1496
|
+
components = _ref3$components === void 0 ? [] : _ref3$components;
|
|
1497
|
+
var fonts = uniq__default["default"](components.reduce(function (currentFonts, screen) {
|
|
1498
|
+
var type = screen.type;
|
|
1499
|
+
var fieldsPattern = _this.getFieldsPatternByScreen(type);
|
|
1500
|
+
var newFonts = FontsParser.extractFontsWithPaths(screen, fieldsPattern);
|
|
1501
|
+
return newFonts.length > 0 ? [].concat(_toConsumableArray__default["default"](currentFonts), _toConsumableArray__default["default"](newFonts)) : currentFonts;
|
|
1502
|
+
}, []), 'name');
|
|
1503
|
+
|
|
1504
|
+
// Extract fonts from theme
|
|
1505
|
+
if (theme !== null) {
|
|
1506
|
+
var _this$parse = this.parse(theme),
|
|
1507
|
+
_this$parse$fonts = _this$parse.fonts,
|
|
1508
|
+
themeFonts = _this$parse$fonts === void 0 ? [] : _this$parse$fonts,
|
|
1509
|
+
newTheme = _objectWithoutProperties__default["default"](_this$parse, _excluded$3);
|
|
1510
|
+
return fonts.length > 0 || themeFonts.length > 0 ? _objectSpread__default["default"](_objectSpread__default["default"]({}, story), {}, {
|
|
1511
|
+
theme: newTheme,
|
|
1512
|
+
fonts: uniq__default["default"]([].concat(_toConsumableArray__default["default"](themeFonts), _toConsumableArray__default["default"](fonts)), 'name')
|
|
1513
|
+
}) : story;
|
|
1514
|
+
}
|
|
1515
|
+
return fonts.length > 0 ? _objectSpread__default["default"](_objectSpread__default["default"]({}, story), {}, {
|
|
1516
|
+
fonts: fonts
|
|
1517
|
+
}) : story;
|
|
1518
|
+
}
|
|
1519
|
+
}, {
|
|
1520
|
+
key: "getFieldsPattern",
|
|
1521
|
+
value: function getFieldsPattern(fields) {
|
|
1522
|
+
var _this2 = this;
|
|
1523
|
+
var namePrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
1524
|
+
return fields.reduce(function (patterns, field) {
|
|
1525
|
+
var _field$name = field.name,
|
|
1526
|
+
name = _field$name === void 0 ? null : _field$name,
|
|
1527
|
+
_field$type = field.type,
|
|
1528
|
+
type = _field$type === void 0 ? null : _field$type;
|
|
1529
|
+
var path = [namePrefix, name].filter(function (it) {
|
|
1530
|
+
return it !== null;
|
|
1531
|
+
}).join('\\.');
|
|
1532
|
+
var fieldDefinition = _objectSpread__default["default"](_objectSpread__default["default"]({}, type !== null ? _this2.fieldsManager.getDefinition(type) : null), field);
|
|
1533
|
+
|
|
1534
|
+
// also check settings fields
|
|
1535
|
+
var _fieldDefinition$fiel = fieldDefinition.fields,
|
|
1536
|
+
subFields = _fieldDefinition$fiel === void 0 ? [] : _fieldDefinition$fiel,
|
|
1537
|
+
_fieldDefinition$item = fieldDefinition.itemsField,
|
|
1538
|
+
itemsField = _fieldDefinition$item === void 0 ? null : _fieldDefinition$item,
|
|
1539
|
+
_fieldDefinition$sett = fieldDefinition.settings,
|
|
1540
|
+
settings = _fieldDefinition$sett === void 0 ? [] : _fieldDefinition$sett;
|
|
1541
|
+
return [].concat(_toConsumableArray__default["default"](patterns), _toConsumableArray__default["default"](FontsParser.fieldIsFontFamily(fieldDefinition) ? [new RegExp("^".concat(path, "$"))] : []), _toConsumableArray__default["default"](_this2.getFieldsPattern(subFields, path)), _toConsumableArray__default["default"](_this2.getFieldsPattern(settings, path)), _toConsumableArray__default["default"](itemsField !== null ? _this2.getFieldsPattern([itemsField], "".concat(path, "\\.[0-9]+")) : []));
|
|
1542
|
+
}, []);
|
|
1543
|
+
}
|
|
1544
|
+
}], [{
|
|
1545
|
+
key: "fieldIsFontFamily",
|
|
1546
|
+
value: function fieldIsFontFamily(_ref4) {
|
|
1547
|
+
var _ref4$id = _ref4.id,
|
|
1548
|
+
id = _ref4$id === void 0 ? null : _ref4$id;
|
|
1549
|
+
return id === 'font-family';
|
|
1550
|
+
}
|
|
1551
|
+
}, {
|
|
1552
|
+
key: "valueIsFont",
|
|
1553
|
+
value: function valueIsFont(_ref5) {
|
|
1554
|
+
var _ref5$type = _ref5.type,
|
|
1555
|
+
type = _ref5$type === void 0 ? null : _ref5$type;
|
|
1556
|
+
return type === 'custom' || type === 'google';
|
|
1557
|
+
}
|
|
1558
|
+
}, {
|
|
1559
|
+
key: "extractFontsWithPaths",
|
|
1560
|
+
value: function extractFontsWithPaths(data, patterns) {
|
|
1561
|
+
var keyPrefix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
1562
|
+
var dataIsArray = isArray__default["default"](data);
|
|
1563
|
+
var keys = dataIsArray ? _toConsumableArray__default["default"](data.keys()) : Object.keys(data);
|
|
1564
|
+
return keys.reduce(function (currentFonts, key) {
|
|
1565
|
+
var path = [keyPrefix, key].filter(function (it) {
|
|
1566
|
+
return it !== null;
|
|
1567
|
+
}).join('.');
|
|
1568
|
+
var patternMatch = patterns.reduce(function (found, pattern) {
|
|
1569
|
+
return found || pattern.test(path);
|
|
1570
|
+
}, false);
|
|
1571
|
+
var value = data[key];
|
|
1572
|
+
var font = null;
|
|
1573
|
+
var subFonts = null;
|
|
1574
|
+
if (patternMatch && isObject__default["default"](value) && FontsParser.valueIsFont(value)) {
|
|
1575
|
+
font = value;
|
|
1576
|
+
} else if (isObject__default["default"](value) || isArray__default["default"](value)) {
|
|
1577
|
+
subFonts = FontsParser.extractFontsWithPaths(value, patterns, path);
|
|
1578
|
+
}
|
|
1579
|
+
return subFonts !== null || font !== null ? [].concat(_toConsumableArray__default["default"](currentFonts), _toConsumableArray__default["default"](subFonts || []), _toConsumableArray__default["default"](font !== null ? [font] : [])) : currentFonts;
|
|
1580
|
+
}, []);
|
|
1581
|
+
}
|
|
1582
|
+
}]);
|
|
1583
|
+
return FontsParser;
|
|
1584
|
+
}();
|
|
1585
|
+
|
|
1586
|
+
var _excluded$2 = ["components"],
|
|
1587
|
+
_excluded2$1 = ["shareIncentive", "callToAction"];
|
|
1588
|
+
var MigrationsParser = /*#__PURE__*/function () {
|
|
1589
|
+
function MigrationsParser(_ref) {
|
|
1590
|
+
var fieldsManager = _ref.fieldsManager,
|
|
1591
|
+
screensManager = _ref.screensManager;
|
|
1592
|
+
_classCallCheck__default["default"](this, MigrationsParser);
|
|
1593
|
+
this.fieldsManager = fieldsManager;
|
|
1594
|
+
this.screensManager = screensManager;
|
|
1595
|
+
}
|
|
1596
|
+
|
|
1597
|
+
// eslint-disable-next-line class-methods-use-this
|
|
1598
|
+
_createClass__default["default"](MigrationsParser, [{
|
|
1599
|
+
key: "parse",
|
|
1600
|
+
value: function parse(story) {
|
|
1601
|
+
if (story === null) {
|
|
1602
|
+
return story;
|
|
1603
|
+
}
|
|
1604
|
+
var _ref2 = story || {},
|
|
1605
|
+
_ref2$components = _ref2.components,
|
|
1606
|
+
components = _ref2$components === void 0 ? [] : _ref2$components,
|
|
1607
|
+
restStory = _objectWithoutProperties__default["default"](_ref2, _excluded$2);
|
|
1608
|
+
var finalComponents = components.reduce(function (currentComponents, screen) {
|
|
1609
|
+
var _ref3 = screen || {},
|
|
1610
|
+
_ref3$shareIncentive = _ref3.shareIncentive,
|
|
1611
|
+
shareIncentive = _ref3$shareIncentive === void 0 ? null : _ref3$shareIncentive,
|
|
1612
|
+
_ref3$callToAction = _ref3.callToAction,
|
|
1613
|
+
callToAction = _ref3$callToAction === void 0 ? null : _ref3$callToAction,
|
|
1614
|
+
restScreen = _objectWithoutProperties__default["default"](_ref3, _excluded2$1);
|
|
1615
|
+
if (shareIncentive === null && callToAction === null) {
|
|
1616
|
+
return [].concat(_toConsumableArray__default["default"](currentComponents), [restScreen]);
|
|
1617
|
+
}
|
|
1618
|
+
var _ref4 = screen || {},
|
|
1619
|
+
_ref4$header = _ref4.header,
|
|
1620
|
+
header = _ref4$header === void 0 ? null : _ref4$header,
|
|
1621
|
+
_ref4$footer = _ref4.footer,
|
|
1622
|
+
footer = _ref4$footer === void 0 ? null : _ref4$footer;
|
|
1623
|
+
|
|
1624
|
+
// Carful for recursivity here cause same key name
|
|
1625
|
+
var newHeader = shareIncentive !== null ? _objectSpread__default["default"](_objectSpread__default["default"]({}, shareIncentive !== null ? {
|
|
1626
|
+
shareIncentive: shareIncentive
|
|
1627
|
+
} : null), header !== null ? {
|
|
1628
|
+
header: header
|
|
1629
|
+
} : null) : header;
|
|
1630
|
+
var newFooter = callToAction !== null ? _objectSpread__default["default"](_objectSpread__default["default"]({}, callToAction !== null ? {
|
|
1631
|
+
callToAction: callToAction
|
|
1632
|
+
} : null), footer !== null ? {
|
|
1633
|
+
footer: footer
|
|
1634
|
+
} : null) : footer;
|
|
1635
|
+
var newScreen = _objectSpread__default["default"](_objectSpread__default["default"](_objectSpread__default["default"]({}, restScreen), newHeader !== null ? {
|
|
1636
|
+
header: newHeader
|
|
1637
|
+
} : null), newFooter !== null ? {
|
|
1638
|
+
footer: newFooter
|
|
1639
|
+
} : null);
|
|
1640
|
+
return [].concat(_toConsumableArray__default["default"](currentComponents), [newScreen]);
|
|
1641
|
+
}, []);
|
|
1642
|
+
return _objectSpread__default["default"](_objectSpread__default["default"]({}, restStory), {}, {
|
|
1643
|
+
components: finalComponents
|
|
1644
|
+
});
|
|
1645
|
+
}
|
|
1646
|
+
}]);
|
|
1647
|
+
return MigrationsParser;
|
|
1648
|
+
}();
|
|
1649
|
+
|
|
1650
|
+
var _excluded$1 = ["textStyle", "color", "boxStyle"];
|
|
1456
1651
|
var ThemeParser = /*#__PURE__*/function () {
|
|
1457
1652
|
function ThemeParser(_ref) {
|
|
1458
1653
|
var screensManager = _ref.screensManager;
|
|
@@ -1546,6 +1741,7 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1546
1741
|
value: function parseField(key, definition, value, themeValue, themeColors, themeTextStyles, themeBoxStyles) {
|
|
1547
1742
|
var _definition$theme = definition.theme,
|
|
1548
1743
|
fieldTheme = _definition$theme === void 0 ? null : _definition$theme;
|
|
1744
|
+
// console.log('fieldTheme', id, fieldTheme);
|
|
1549
1745
|
|
|
1550
1746
|
// Early return
|
|
1551
1747
|
if (fieldTheme === null || !isObject__default["default"](fieldTheme)) {
|
|
@@ -1556,6 +1752,7 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1556
1752
|
if (isArray__default["default"](value)) {
|
|
1557
1753
|
var newFieldValue = value.map(function (innerField) {
|
|
1558
1754
|
return innerField !== null ? Object.keys(innerField).reduce(function (newInnerField, innerFieldName) {
|
|
1755
|
+
// console.log('innerField', innerField);
|
|
1559
1756
|
// Early return
|
|
1560
1757
|
if (!isObject__default["default"](innerField[innerFieldName])) {
|
|
1561
1758
|
return newInnerField;
|
|
@@ -1615,15 +1812,15 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1615
1812
|
fieldColorName = _ref4$color === void 0 ? null : _ref4$color,
|
|
1616
1813
|
_ref4$boxStyle = _ref4.boxStyle,
|
|
1617
1814
|
fieldBoxStyleName = _ref4$boxStyle === void 0 ? null : _ref4$boxStyle,
|
|
1618
|
-
otherProps = _objectWithoutProperties__default["default"](_ref4, _excluded$
|
|
1815
|
+
otherProps = _objectWithoutProperties__default["default"](_ref4, _excluded$1);
|
|
1619
1816
|
if (fieldTextStyleName === null && fieldColorName === null && fieldBoxStyleName === null && isEmpty__default["default"](otherProps) && !isObject__default["default"](fieldTheme)) {
|
|
1620
1817
|
return value;
|
|
1621
1818
|
}
|
|
1622
1819
|
var complexValue = null;
|
|
1623
1820
|
if (!isEmpty__default["default"](otherProps)) {
|
|
1624
|
-
complexValue = Object.keys(
|
|
1821
|
+
complexValue = Object.keys(otherProps).reduce(function (newObject, key) {
|
|
1625
1822
|
var innerValue = value !== null ? value[key] || null : null;
|
|
1626
|
-
var newValue = _this3.parseValue(innerValue,
|
|
1823
|
+
var newValue = _this3.parseValue(innerValue, otherProps[key], themeValue, themeColors, themeTextStyles, themeBoxStyles);
|
|
1627
1824
|
return _objectSpread__default["default"](_objectSpread__default["default"]({}, newObject), newValue !== null ? _defineProperty__default["default"]({}, key, newValue) : null);
|
|
1628
1825
|
}, {});
|
|
1629
1826
|
}
|
|
@@ -1653,6 +1850,8 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1653
1850
|
boxStyle: _objectSpread__default["default"](_objectSpread__default["default"](_objectSpread__default["default"]({}, fieldBoxStyle), fieldThemeComponentBoxStyle), valueBoxStyle || null)
|
|
1654
1851
|
} : null;
|
|
1655
1852
|
|
|
1853
|
+
// console.log('hell', boxStyleValue, complexValue);
|
|
1854
|
+
|
|
1656
1855
|
// Only change value if something is overrided
|
|
1657
1856
|
return colorValue !== null || themeValue !== null || textStyleValue !== null || boxStyleValue !== null || complexValue !== null ? _objectSpread__default["default"](_objectSpread__default["default"](_objectSpread__default["default"](_objectSpread__default["default"](_objectSpread__default["default"](_objectSpread__default["default"]({}, colorValue), themeValue), value), boxStyleValue), textStyleValue), complexValue) : value;
|
|
1658
1857
|
}
|
|
@@ -1662,132 +1861,6 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1662
1861
|
return ThemeParser;
|
|
1663
1862
|
}();
|
|
1664
1863
|
|
|
1665
|
-
var _excluded$1 = ["fonts"];
|
|
1666
|
-
var FontsParser = /*#__PURE__*/function () {
|
|
1667
|
-
function FontsParser(_ref) {
|
|
1668
|
-
var fieldsManager = _ref.fieldsManager,
|
|
1669
|
-
screensManager = _ref.screensManager;
|
|
1670
|
-
_classCallCheck__default["default"](this, FontsParser);
|
|
1671
|
-
this.fieldsManager = fieldsManager;
|
|
1672
|
-
this.screensManager = screensManager;
|
|
1673
|
-
this.fieldsPatternCache = {};
|
|
1674
|
-
}
|
|
1675
|
-
_createClass__default["default"](FontsParser, [{
|
|
1676
|
-
key: "getFieldsPatternByScreen",
|
|
1677
|
-
value: function getFieldsPatternByScreen(type) {
|
|
1678
|
-
if (typeof this.fieldsPatternCache[type] === 'undefined') {
|
|
1679
|
-
var _ref2 = this.screensManager.getDefinition(type) || {},
|
|
1680
|
-
_ref2$fields = _ref2.fields,
|
|
1681
|
-
fields = _ref2$fields === void 0 ? [] : _ref2$fields;
|
|
1682
|
-
this.fieldsPatternCache[type] = this.getFieldsPattern(fields);
|
|
1683
|
-
}
|
|
1684
|
-
return this.fieldsPatternCache[type];
|
|
1685
|
-
}
|
|
1686
|
-
|
|
1687
|
-
// Extract fonts
|
|
1688
|
-
}, {
|
|
1689
|
-
key: "parse",
|
|
1690
|
-
value: function parse(story) {
|
|
1691
|
-
var _this = this;
|
|
1692
|
-
if (story === null) {
|
|
1693
|
-
return story;
|
|
1694
|
-
}
|
|
1695
|
-
|
|
1696
|
-
// Extract fonts from screen
|
|
1697
|
-
var _ref3 = story || {},
|
|
1698
|
-
_ref3$theme = _ref3.theme,
|
|
1699
|
-
theme = _ref3$theme === void 0 ? null : _ref3$theme,
|
|
1700
|
-
_ref3$components = _ref3.components,
|
|
1701
|
-
components = _ref3$components === void 0 ? [] : _ref3$components;
|
|
1702
|
-
var fonts = uniq__default["default"](components.reduce(function (currentFonts, screen) {
|
|
1703
|
-
var type = screen.type;
|
|
1704
|
-
var fieldsPattern = _this.getFieldsPatternByScreen(type);
|
|
1705
|
-
var newFonts = FontsParser.extractFontsWithPaths(screen, fieldsPattern);
|
|
1706
|
-
return newFonts.length > 0 ? [].concat(_toConsumableArray__default["default"](currentFonts), _toConsumableArray__default["default"](newFonts)) : currentFonts;
|
|
1707
|
-
}, []), 'name');
|
|
1708
|
-
|
|
1709
|
-
// Extract fonts from theme
|
|
1710
|
-
if (theme !== null) {
|
|
1711
|
-
var _this$parse = this.parse(theme),
|
|
1712
|
-
_this$parse$fonts = _this$parse.fonts,
|
|
1713
|
-
themeFonts = _this$parse$fonts === void 0 ? [] : _this$parse$fonts,
|
|
1714
|
-
newTheme = _objectWithoutProperties__default["default"](_this$parse, _excluded$1);
|
|
1715
|
-
return fonts.length > 0 || themeFonts.length > 0 ? _objectSpread__default["default"](_objectSpread__default["default"]({}, story), {}, {
|
|
1716
|
-
theme: newTheme,
|
|
1717
|
-
fonts: uniq__default["default"]([].concat(_toConsumableArray__default["default"](themeFonts), _toConsumableArray__default["default"](fonts)), 'name')
|
|
1718
|
-
}) : story;
|
|
1719
|
-
}
|
|
1720
|
-
return fonts.length > 0 ? _objectSpread__default["default"](_objectSpread__default["default"]({}, story), {}, {
|
|
1721
|
-
fonts: fonts
|
|
1722
|
-
}) : story;
|
|
1723
|
-
}
|
|
1724
|
-
}, {
|
|
1725
|
-
key: "getFieldsPattern",
|
|
1726
|
-
value: function getFieldsPattern(fields) {
|
|
1727
|
-
var _this2 = this;
|
|
1728
|
-
var namePrefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
1729
|
-
return fields.reduce(function (patterns, field) {
|
|
1730
|
-
var _field$name = field.name,
|
|
1731
|
-
name = _field$name === void 0 ? null : _field$name,
|
|
1732
|
-
_field$type = field.type,
|
|
1733
|
-
type = _field$type === void 0 ? null : _field$type;
|
|
1734
|
-
var path = [namePrefix, name].filter(function (it) {
|
|
1735
|
-
return it !== null;
|
|
1736
|
-
}).join('\\.');
|
|
1737
|
-
var fieldDefinition = _objectSpread__default["default"](_objectSpread__default["default"]({}, type !== null ? _this2.fieldsManager.getDefinition(type) : null), field);
|
|
1738
|
-
|
|
1739
|
-
// also check settings fields
|
|
1740
|
-
var _fieldDefinition$fiel = fieldDefinition.fields,
|
|
1741
|
-
subFields = _fieldDefinition$fiel === void 0 ? [] : _fieldDefinition$fiel,
|
|
1742
|
-
_fieldDefinition$item = fieldDefinition.itemsField,
|
|
1743
|
-
itemsField = _fieldDefinition$item === void 0 ? null : _fieldDefinition$item,
|
|
1744
|
-
_fieldDefinition$sett = fieldDefinition.settings,
|
|
1745
|
-
settings = _fieldDefinition$sett === void 0 ? [] : _fieldDefinition$sett;
|
|
1746
|
-
return [].concat(_toConsumableArray__default["default"](patterns), _toConsumableArray__default["default"](FontsParser.fieldIsFontFamily(fieldDefinition) ? [new RegExp("^".concat(path, "$"))] : []), _toConsumableArray__default["default"](_this2.getFieldsPattern(subFields, path)), _toConsumableArray__default["default"](_this2.getFieldsPattern(settings, path)), _toConsumableArray__default["default"](itemsField !== null ? _this2.getFieldsPattern([itemsField], "".concat(path, "\\.[0-9]+")) : []));
|
|
1747
|
-
}, []);
|
|
1748
|
-
}
|
|
1749
|
-
}], [{
|
|
1750
|
-
key: "fieldIsFontFamily",
|
|
1751
|
-
value: function fieldIsFontFamily(_ref4) {
|
|
1752
|
-
var _ref4$id = _ref4.id,
|
|
1753
|
-
id = _ref4$id === void 0 ? null : _ref4$id;
|
|
1754
|
-
return id === 'font-family';
|
|
1755
|
-
}
|
|
1756
|
-
}, {
|
|
1757
|
-
key: "valueIsFont",
|
|
1758
|
-
value: function valueIsFont(_ref5) {
|
|
1759
|
-
var _ref5$type = _ref5.type,
|
|
1760
|
-
type = _ref5$type === void 0 ? null : _ref5$type;
|
|
1761
|
-
return type === 'custom' || type === 'google';
|
|
1762
|
-
}
|
|
1763
|
-
}, {
|
|
1764
|
-
key: "extractFontsWithPaths",
|
|
1765
|
-
value: function extractFontsWithPaths(data, patterns) {
|
|
1766
|
-
var keyPrefix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
|
|
1767
|
-
var dataIsArray = isArray__default["default"](data);
|
|
1768
|
-
var keys = dataIsArray ? _toConsumableArray__default["default"](data.keys()) : Object.keys(data);
|
|
1769
|
-
return keys.reduce(function (currentFonts, key) {
|
|
1770
|
-
var path = [keyPrefix, key].filter(function (it) {
|
|
1771
|
-
return it !== null;
|
|
1772
|
-
}).join('.');
|
|
1773
|
-
var patternMatch = patterns.reduce(function (found, pattern) {
|
|
1774
|
-
return found || pattern.test(path);
|
|
1775
|
-
}, false);
|
|
1776
|
-
var value = data[key];
|
|
1777
|
-
var font = null;
|
|
1778
|
-
var subFonts = null;
|
|
1779
|
-
if (patternMatch && isObject__default["default"](value) && FontsParser.valueIsFont(value)) {
|
|
1780
|
-
font = value;
|
|
1781
|
-
} else if (isObject__default["default"](value) || isArray__default["default"](value)) {
|
|
1782
|
-
subFonts = FontsParser.extractFontsWithPaths(value, patterns, path);
|
|
1783
|
-
}
|
|
1784
|
-
return subFonts !== null || font !== null ? [].concat(_toConsumableArray__default["default"](currentFonts), _toConsumableArray__default["default"](subFonts || []), _toConsumableArray__default["default"](font !== null ? [font] : [])) : currentFonts;
|
|
1785
|
-
}, []);
|
|
1786
|
-
}
|
|
1787
|
-
}]);
|
|
1788
|
-
return FontsParser;
|
|
1789
|
-
}();
|
|
1790
|
-
|
|
1791
1864
|
var StoryParser = /*#__PURE__*/function () {
|
|
1792
1865
|
function StoryParser(_ref) {
|
|
1793
1866
|
var screensManager = _ref.screensManager,
|
|
@@ -1804,6 +1877,10 @@ var StoryParser = /*#__PURE__*/function () {
|
|
|
1804
1877
|
screensManager: screensManager,
|
|
1805
1878
|
fieldsManager: fieldsManager
|
|
1806
1879
|
});
|
|
1880
|
+
this.migrationsParser = new MigrationsParser({
|
|
1881
|
+
screensManager: screensManager,
|
|
1882
|
+
fieldsManager: fieldsManager
|
|
1883
|
+
});
|
|
1807
1884
|
}
|
|
1808
1885
|
_createClass__default["default"](StoryParser, [{
|
|
1809
1886
|
key: "parse",
|
|
@@ -1815,7 +1892,9 @@ var StoryParser = /*#__PURE__*/function () {
|
|
|
1815
1892
|
_ref2$withMedias = _ref2.withMedias,
|
|
1816
1893
|
withMedias = _ref2$withMedias === void 0 ? true : _ref2$withMedias,
|
|
1817
1894
|
_ref2$withFonts = _ref2.withFonts,
|
|
1818
|
-
withFonts = _ref2$withFonts === void 0 ? true : _ref2$withFonts
|
|
1895
|
+
withFonts = _ref2$withFonts === void 0 ? true : _ref2$withFonts,
|
|
1896
|
+
_ref2$withMigrations = _ref2.withMigrations,
|
|
1897
|
+
withMigrations = _ref2$withMigrations === void 0 ? true : _ref2$withMigrations;
|
|
1819
1898
|
if (story === null) {
|
|
1820
1899
|
return story;
|
|
1821
1900
|
}
|
|
@@ -1825,6 +1904,8 @@ var StoryParser = /*#__PURE__*/function () {
|
|
|
1825
1904
|
return _this.themeParser.parse(newStory);
|
|
1826
1905
|
}], [withFonts, function (newStory) {
|
|
1827
1906
|
return _this.fontsParser.parse(newStory);
|
|
1907
|
+
}], [withMigrations, function (newStory) {
|
|
1908
|
+
return _this.migrationsParser.parse(newStory);
|
|
1828
1909
|
}]];
|
|
1829
1910
|
return parsers.reduce(function (parsedStory, _ref3) {
|
|
1830
1911
|
var _ref4 = _slicedToArray__default["default"](_ref3, 2),
|
package/lib/utils.js
CHANGED
|
@@ -412,6 +412,40 @@ var getFontFamily = function getFontFamily(value) {
|
|
|
412
412
|
}).join(', ');
|
|
413
413
|
};
|
|
414
414
|
|
|
415
|
+
var _excluded$1 = ["isPreview", "isView", "current", "openWebView", "enableInteraction", "disableInteraction"];
|
|
416
|
+
var getFooterProps = function getFooterProps() {
|
|
417
|
+
var footer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
418
|
+
var _ref = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {},
|
|
419
|
+
_ref$isPreview = _ref.isPreview,
|
|
420
|
+
isPreview = _ref$isPreview === void 0 ? false : _ref$isPreview,
|
|
421
|
+
_ref$isView = _ref.isView,
|
|
422
|
+
isView = _ref$isView === void 0 ? false : _ref$isView,
|
|
423
|
+
_ref$current = _ref.current,
|
|
424
|
+
current = _ref$current === void 0 ? false : _ref$current,
|
|
425
|
+
_ref$openWebView = _ref.openWebView,
|
|
426
|
+
openWebView = _ref$openWebView === void 0 ? false : _ref$openWebView,
|
|
427
|
+
_ref$enableInteractio = _ref.enableInteraction,
|
|
428
|
+
enableInteraction = _ref$enableInteractio === void 0 ? true : _ref$enableInteractio,
|
|
429
|
+
_ref$disableInteracti = _ref.disableInteraction,
|
|
430
|
+
disableInteraction = _ref$disableInteracti === void 0 ? false : _ref$disableInteracti,
|
|
431
|
+
otherProps = _objectWithoutProperties__default["default"](_ref, _excluded$1);
|
|
432
|
+
var _ref2 = footer || {},
|
|
433
|
+
_ref2$callToAction = _ref2.callToAction,
|
|
434
|
+
callToAction = _ref2$callToAction === void 0 ? null : _ref2$callToAction;
|
|
435
|
+
var footerProps = react.useMemo(function () {
|
|
436
|
+
return {
|
|
437
|
+
callToAction: _objectSpread__default["default"](_objectSpread__default["default"]({}, callToAction), {}, {
|
|
438
|
+
animationDisabled: isPreview,
|
|
439
|
+
focusable: current && isView,
|
|
440
|
+
openWebView: openWebView,
|
|
441
|
+
enableInteraction: enableInteraction,
|
|
442
|
+
disableInteraction: disableInteraction
|
|
443
|
+
}, otherProps)
|
|
444
|
+
};
|
|
445
|
+
}, [callToAction, isPreview, isView, current, enableInteraction, disableInteraction, otherProps]);
|
|
446
|
+
return footerProps;
|
|
447
|
+
};
|
|
448
|
+
|
|
415
449
|
var getGridLayoutName = function getGridLayoutName(layout) {
|
|
416
450
|
return layout.map(function (it) {
|
|
417
451
|
return "".concat(it.rows, "_").concat(it.columns.join('_'));
|
|
@@ -931,6 +965,38 @@ var getLayoutParts = function getLayoutParts() {
|
|
|
931
965
|
};
|
|
932
966
|
};
|
|
933
967
|
|
|
968
|
+
var isHeaderFilled = function isHeaderFilled() {
|
|
969
|
+
var header = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
970
|
+
var _ref = header || {},
|
|
971
|
+
_ref$badge = _ref.badge,
|
|
972
|
+
badge = _ref$badge === void 0 ? null : _ref$badge;
|
|
973
|
+
var _ref2 = badge || {},
|
|
974
|
+
_ref2$active = _ref2.active,
|
|
975
|
+
badgeActive = _ref2$active === void 0 ? false : _ref2$active,
|
|
976
|
+
_ref2$label = _ref2.label,
|
|
977
|
+
label = _ref2$label === void 0 ? null : _ref2$label;
|
|
978
|
+
var _ref3 = label || {},
|
|
979
|
+
_ref3$body = _ref3.body,
|
|
980
|
+
body = _ref3$body === void 0 ? null : _ref3$body;
|
|
981
|
+
return badgeActive && body !== null;
|
|
982
|
+
};
|
|
983
|
+
|
|
984
|
+
var isFooterFilled = function isFooterFilled() {
|
|
985
|
+
var footer = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
986
|
+
var _ref = footer || {},
|
|
987
|
+
_ref$callToAction = _ref.callToAction,
|
|
988
|
+
callToAction = _ref$callToAction === void 0 ? null : _ref$callToAction;
|
|
989
|
+
var _ref2 = callToAction || {},
|
|
990
|
+
_ref2$active = _ref2.active,
|
|
991
|
+
callToActionActive = _ref2$active === void 0 ? false : _ref2$active,
|
|
992
|
+
_ref2$label = _ref2.label,
|
|
993
|
+
label = _ref2$label === void 0 ? null : _ref2$label;
|
|
994
|
+
var _ref3 = label || {},
|
|
995
|
+
_ref3$body = _ref3.body,
|
|
996
|
+
body = _ref3$body === void 0 ? null : _ref3$body;
|
|
997
|
+
return callToActionActive && body !== null;
|
|
998
|
+
};
|
|
999
|
+
|
|
934
1000
|
var isMessage = function isMessage(message) {
|
|
935
1001
|
return isObject__default["default"](message) && typeof message.defaultMessage !== 'undefined';
|
|
936
1002
|
};
|
|
@@ -1084,6 +1150,7 @@ exports.getFieldByName = getFieldByName;
|
|
|
1084
1150
|
exports.getFieldFromPath = getFieldFromPath;
|
|
1085
1151
|
exports.getFileName = getFileName;
|
|
1086
1152
|
exports.getFontFamilyFromFont = getFontFamily;
|
|
1153
|
+
exports.getFooterProps = getFooterProps;
|
|
1087
1154
|
exports.getGridLayoutName = getGridLayoutName;
|
|
1088
1155
|
exports.getLargestRemainderRound = largestRemainderRound;
|
|
1089
1156
|
exports.getLayersFromBackground = getLayersFromBackground;
|
|
@@ -1104,6 +1171,8 @@ exports.getStyleFromLink = getStyleFromLink;
|
|
|
1104
1171
|
exports.getStyleFromMargin = getStyleFromMargin;
|
|
1105
1172
|
exports.getStyleFromText = getStyleFromText;
|
|
1106
1173
|
exports.getVideoSupportedMimes = getVideoSupportedMimes;
|
|
1174
|
+
exports.isFooterFilled = isFooterFilled;
|
|
1175
|
+
exports.isHeaderFilled = isHeaderFilled;
|
|
1107
1176
|
exports.isImageFilled = isImageFilled;
|
|
1108
1177
|
exports.isIos = isIos;
|
|
1109
1178
|
exports.isLabelFilled = isTextFilled$1;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@micromag/core",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.359",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"javascript"
|
|
@@ -133,5 +133,5 @@
|
|
|
133
133
|
"publishConfig": {
|
|
134
134
|
"access": "public"
|
|
135
135
|
},
|
|
136
|
-
"gitHead": "
|
|
136
|
+
"gitHead": "22eba0d01f18f8971e0405bbb41081b5e2ae80ee"
|
|
137
137
|
}
|