@micromag/core 0.3.348 → 0.3.354
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 +4 -0
- package/es/hooks.js +5 -2
- package/es/index.js +210 -133
- package/es/utils.js +68 -2
- package/lib/components.js +4 -0
- package/lib/hooks.js +5 -2
- package/lib/index.js +211 -134
- package/lib/utils.js +69 -0
- package/package.json +2 -2
package/es/components.js
CHANGED
|
@@ -3101,6 +3101,10 @@ PropTypes$1.shape({
|
|
|
3101
3101
|
id: PropTypes$1.oneOfType([PropTypes$1.string, PropTypes$1.number]),
|
|
3102
3102
|
name: PropTypes$1.string
|
|
3103
3103
|
});
|
|
3104
|
+
PropTypes$1.shape({
|
|
3105
|
+
label: textElement,
|
|
3106
|
+
buttonStyle: boxStyle
|
|
3107
|
+
});
|
|
3104
3108
|
|
|
3105
3109
|
/* eslint-disable react/no-array-index-key */
|
|
3106
3110
|
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;
|
|
@@ -1588,7 +1783,7 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1588
1783
|
fieldColorName = _ref4$color === void 0 ? null : _ref4$color,
|
|
1589
1784
|
_ref4$boxStyle = _ref4.boxStyle,
|
|
1590
1785
|
fieldBoxStyleName = _ref4$boxStyle === void 0 ? null : _ref4$boxStyle,
|
|
1591
|
-
otherProps = _objectWithoutProperties(_ref4, _excluded$
|
|
1786
|
+
otherProps = _objectWithoutProperties(_ref4, _excluded$1);
|
|
1592
1787
|
if (fieldTextStyleName === null && fieldColorName === null && fieldBoxStyleName === null && isEmpty(otherProps) && !isObject(fieldTheme)) {
|
|
1593
1788
|
return value;
|
|
1594
1789
|
}
|
|
@@ -1635,132 +1830,6 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1635
1830
|
return ThemeParser;
|
|
1636
1831
|
}();
|
|
1637
1832
|
|
|
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
1833
|
var StoryParser = /*#__PURE__*/function () {
|
|
1765
1834
|
function StoryParser(_ref) {
|
|
1766
1835
|
var screensManager = _ref.screensManager,
|
|
@@ -1777,6 +1846,10 @@ var StoryParser = /*#__PURE__*/function () {
|
|
|
1777
1846
|
screensManager: screensManager,
|
|
1778
1847
|
fieldsManager: fieldsManager
|
|
1779
1848
|
});
|
|
1849
|
+
this.migrationsParser = new MigrationsParser({
|
|
1850
|
+
screensManager: screensManager,
|
|
1851
|
+
fieldsManager: fieldsManager
|
|
1852
|
+
});
|
|
1780
1853
|
}
|
|
1781
1854
|
_createClass(StoryParser, [{
|
|
1782
1855
|
key: "parse",
|
|
@@ -1788,7 +1861,9 @@ var StoryParser = /*#__PURE__*/function () {
|
|
|
1788
1861
|
_ref2$withMedias = _ref2.withMedias,
|
|
1789
1862
|
withMedias = _ref2$withMedias === void 0 ? true : _ref2$withMedias,
|
|
1790
1863
|
_ref2$withFonts = _ref2.withFonts,
|
|
1791
|
-
withFonts = _ref2$withFonts === void 0 ? true : _ref2$withFonts
|
|
1864
|
+
withFonts = _ref2$withFonts === void 0 ? true : _ref2$withFonts,
|
|
1865
|
+
_ref2$withMigrations = _ref2.withMigrations,
|
|
1866
|
+
withMigrations = _ref2$withMigrations === void 0 ? true : _ref2$withMigrations;
|
|
1792
1867
|
if (story === null) {
|
|
1793
1868
|
return story;
|
|
1794
1869
|
}
|
|
@@ -1798,6 +1873,8 @@ var StoryParser = /*#__PURE__*/function () {
|
|
|
1798
1873
|
return _this.themeParser.parse(newStory);
|
|
1799
1874
|
}], [withFonts, function (newStory) {
|
|
1800
1875
|
return _this.fontsParser.parse(newStory);
|
|
1876
|
+
}], [withMigrations, function (newStory) {
|
|
1877
|
+
return _this.migrationsParser.parse(newStory);
|
|
1801
1878
|
}]];
|
|
1802
1879
|
return parsers.reduce(function (parsedStory, _ref3) {
|
|
1803
1880
|
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
|
@@ -3142,6 +3142,10 @@ PropTypes__default["default"].shape({
|
|
|
3142
3142
|
id: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number]),
|
|
3143
3143
|
name: PropTypes__default["default"].string
|
|
3144
3144
|
});
|
|
3145
|
+
PropTypes__default["default"].shape({
|
|
3146
|
+
label: textElement,
|
|
3147
|
+
buttonStyle: boxStyle
|
|
3148
|
+
});
|
|
3145
3149
|
|
|
3146
3150
|
/* eslint-disable react/no-array-index-key */
|
|
3147
3151
|
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;
|
|
@@ -1615,7 +1810,7 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1615
1810
|
fieldColorName = _ref4$color === void 0 ? null : _ref4$color,
|
|
1616
1811
|
_ref4$boxStyle = _ref4.boxStyle,
|
|
1617
1812
|
fieldBoxStyleName = _ref4$boxStyle === void 0 ? null : _ref4$boxStyle,
|
|
1618
|
-
otherProps = _objectWithoutProperties__default["default"](_ref4, _excluded$
|
|
1813
|
+
otherProps = _objectWithoutProperties__default["default"](_ref4, _excluded$1);
|
|
1619
1814
|
if (fieldTextStyleName === null && fieldColorName === null && fieldBoxStyleName === null && isEmpty__default["default"](otherProps) && !isObject__default["default"](fieldTheme)) {
|
|
1620
1815
|
return value;
|
|
1621
1816
|
}
|
|
@@ -1662,132 +1857,6 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1662
1857
|
return ThemeParser;
|
|
1663
1858
|
}();
|
|
1664
1859
|
|
|
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
1860
|
var StoryParser = /*#__PURE__*/function () {
|
|
1792
1861
|
function StoryParser(_ref) {
|
|
1793
1862
|
var screensManager = _ref.screensManager,
|
|
@@ -1804,6 +1873,10 @@ var StoryParser = /*#__PURE__*/function () {
|
|
|
1804
1873
|
screensManager: screensManager,
|
|
1805
1874
|
fieldsManager: fieldsManager
|
|
1806
1875
|
});
|
|
1876
|
+
this.migrationsParser = new MigrationsParser({
|
|
1877
|
+
screensManager: screensManager,
|
|
1878
|
+
fieldsManager: fieldsManager
|
|
1879
|
+
});
|
|
1807
1880
|
}
|
|
1808
1881
|
_createClass__default["default"](StoryParser, [{
|
|
1809
1882
|
key: "parse",
|
|
@@ -1815,7 +1888,9 @@ var StoryParser = /*#__PURE__*/function () {
|
|
|
1815
1888
|
_ref2$withMedias = _ref2.withMedias,
|
|
1816
1889
|
withMedias = _ref2$withMedias === void 0 ? true : _ref2$withMedias,
|
|
1817
1890
|
_ref2$withFonts = _ref2.withFonts,
|
|
1818
|
-
withFonts = _ref2$withFonts === void 0 ? true : _ref2$withFonts
|
|
1891
|
+
withFonts = _ref2$withFonts === void 0 ? true : _ref2$withFonts,
|
|
1892
|
+
_ref2$withMigrations = _ref2.withMigrations,
|
|
1893
|
+
withMigrations = _ref2$withMigrations === void 0 ? true : _ref2$withMigrations;
|
|
1819
1894
|
if (story === null) {
|
|
1820
1895
|
return story;
|
|
1821
1896
|
}
|
|
@@ -1825,6 +1900,8 @@ var StoryParser = /*#__PURE__*/function () {
|
|
|
1825
1900
|
return _this.themeParser.parse(newStory);
|
|
1826
1901
|
}], [withFonts, function (newStory) {
|
|
1827
1902
|
return _this.fontsParser.parse(newStory);
|
|
1903
|
+
}], [withMigrations, function (newStory) {
|
|
1904
|
+
return _this.migrationsParser.parse(newStory);
|
|
1828
1905
|
}]];
|
|
1829
1906
|
return parsers.reduce(function (parsedStory, _ref3) {
|
|
1830
1907
|
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.354",
|
|
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": "ccf852d0a7df8f222365088e7de3843492e720e7"
|
|
137
137
|
}
|