@micromag/core 0.3.58 → 0.3.62
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 +10 -0
- package/es/index.js +105 -27
- package/lib/components.js +10 -0
- package/lib/index.js +106 -27
- package/package.json +2 -2
package/es/components.js
CHANGED
|
@@ -2574,6 +2574,10 @@ PropTypes$1.shape({
|
|
|
2574
2574
|
withSeekBar: PropTypes$1.bool,
|
|
2575
2575
|
withPlayPause: PropTypes$1.bool
|
|
2576
2576
|
});
|
|
2577
|
+
var visualElement = PropTypes$1.shape({
|
|
2578
|
+
media: imageMedia
|
|
2579
|
+
});
|
|
2580
|
+
PropTypes$1.arrayOf(visualElement);
|
|
2577
2581
|
PropTypes$1.shape({
|
|
2578
2582
|
media: audioMedia,
|
|
2579
2583
|
autoPlay: PropTypes$1.bool,
|
|
@@ -2854,6 +2858,12 @@ var pageMetadata = PropTypes$1.shape({
|
|
|
2854
2858
|
atomUrl: PropTypes$1.string,
|
|
2855
2859
|
microformats: PropTypes$1.arrayOf(PropTypes$1.shape({}))
|
|
2856
2860
|
});
|
|
2861
|
+
PropTypes$1.shape({
|
|
2862
|
+
name: PropTypes$1.string,
|
|
2863
|
+
avatar: PropTypes$1.shape({
|
|
2864
|
+
url: PropTypes$1.string
|
|
2865
|
+
})
|
|
2866
|
+
});
|
|
2857
2867
|
|
|
2858
2868
|
/* eslint-disable react/no-array-index-key */
|
|
2859
2869
|
var propTypes$d = {
|
package/es/index.js
CHANGED
|
@@ -23,6 +23,7 @@ import _slicedToArray from '@babel/runtime/helpers/slicedToArray';
|
|
|
23
23
|
import 'slugify';
|
|
24
24
|
import uniqBy from 'lodash/uniqBy';
|
|
25
25
|
import _typeof from '@babel/runtime/helpers/typeof';
|
|
26
|
+
import isEmpty from 'lodash/isEmpty';
|
|
26
27
|
import uniq from 'lodash/uniq';
|
|
27
28
|
import { Tracking as Tracking$1 } from '@folklore/tracking';
|
|
28
29
|
|
|
@@ -282,6 +283,10 @@ var videoElement = PropTypes$1.shape({
|
|
|
282
283
|
withSeekBar: PropTypes$1.bool,
|
|
283
284
|
withPlayPause: PropTypes$1.bool
|
|
284
285
|
});
|
|
286
|
+
var visualElement = PropTypes$1.shape({
|
|
287
|
+
media: imageMedia
|
|
288
|
+
});
|
|
289
|
+
var visualElements = PropTypes$1.arrayOf(visualElement);
|
|
285
290
|
var audioElement = PropTypes$1.shape({
|
|
286
291
|
media: audioMedia,
|
|
287
292
|
autoPlay: PropTypes$1.bool,
|
|
@@ -563,6 +568,12 @@ var pageMetadata = PropTypes$1.shape({
|
|
|
563
568
|
atomUrl: PropTypes$1.string,
|
|
564
569
|
microformats: PropTypes$1.arrayOf(PropTypes$1.shape({}))
|
|
565
570
|
});
|
|
571
|
+
var authorElement = PropTypes$1.shape({
|
|
572
|
+
name: PropTypes$1.string,
|
|
573
|
+
avatar: PropTypes$1.shape({
|
|
574
|
+
url: PropTypes$1.string
|
|
575
|
+
})
|
|
576
|
+
});
|
|
566
577
|
|
|
567
578
|
var PropTypes = /*#__PURE__*/Object.freeze({
|
|
568
579
|
__proto__: null,
|
|
@@ -639,6 +650,8 @@ var PropTypes = /*#__PURE__*/Object.freeze({
|
|
|
639
650
|
imageElement: imageElement,
|
|
640
651
|
imageElements: imageElements,
|
|
641
652
|
videoElement: videoElement,
|
|
653
|
+
visualElement: visualElement,
|
|
654
|
+
visualElements: visualElements,
|
|
642
655
|
audioElement: audioElement,
|
|
643
656
|
closedCaptionsElement: closedCaptionsElement,
|
|
644
657
|
backgroundElement: backgroundElement,
|
|
@@ -698,7 +711,8 @@ var PropTypes = /*#__PURE__*/Object.freeze({
|
|
|
698
711
|
searchFilters: searchFilters,
|
|
699
712
|
paymentItem: paymentItem,
|
|
700
713
|
paymentItems: paymentItems,
|
|
701
|
-
pageMetadata: pageMetadata
|
|
714
|
+
pageMetadata: pageMetadata,
|
|
715
|
+
authorElement: authorElement
|
|
702
716
|
});
|
|
703
717
|
|
|
704
718
|
var sortedColors = function sortedColors(colors) {
|
|
@@ -997,8 +1011,9 @@ var DefinitionsManager = /*#__PURE__*/function (_EventEmitter) {
|
|
|
997
1011
|
}, {
|
|
998
1012
|
key: "filter",
|
|
999
1013
|
value: function filter(_filter) {
|
|
1000
|
-
this.definitions = this.definitions.filter(
|
|
1001
|
-
|
|
1014
|
+
// this.definitions = this.definitions.filter(filter);
|
|
1015
|
+
// return this;
|
|
1016
|
+
return new DefinitionsManager(this.definitions.filter(_filter));
|
|
1002
1017
|
}
|
|
1003
1018
|
}, {
|
|
1004
1019
|
key: "getDefinition",
|
|
@@ -1135,16 +1150,15 @@ var FieldsManager = /*#__PURE__*/function (_DefinitionsManager) {
|
|
|
1135
1150
|
_createClass(FieldsManager, [{
|
|
1136
1151
|
key: "filter",
|
|
1137
1152
|
value: function filter(_filter) {
|
|
1138
|
-
|
|
1139
|
-
|
|
1140
|
-
return this;
|
|
1153
|
+
return new FieldsManager(this.definitions.filter(_filter)); // this.definitions = this.definitions.filter(filter);
|
|
1154
|
+
// return this;
|
|
1141
1155
|
}
|
|
1142
1156
|
}]);
|
|
1143
1157
|
|
|
1144
1158
|
return FieldsManager;
|
|
1145
1159
|
}(DefinitionsManager);
|
|
1146
1160
|
|
|
1147
|
-
var _excluded$
|
|
1161
|
+
var _excluded$3 = ["medias"];
|
|
1148
1162
|
|
|
1149
1163
|
var MediasParser = /*#__PURE__*/function () {
|
|
1150
1164
|
function MediasParser(_ref) {
|
|
@@ -1212,7 +1226,7 @@ var MediasParser = /*#__PURE__*/function () {
|
|
|
1212
1226
|
if (theme !== null) {
|
|
1213
1227
|
var _this$toPath = this.toPath(theme),
|
|
1214
1228
|
themeMedias = _this$toPath.medias,
|
|
1215
|
-
newTheme = _objectWithoutProperties(_this$toPath, _excluded$
|
|
1229
|
+
newTheme = _objectWithoutProperties(_this$toPath, _excluded$3);
|
|
1216
1230
|
|
|
1217
1231
|
return medias !== null || themeMedias !== null ? _objectSpread(_objectSpread({}, story), {}, {
|
|
1218
1232
|
theme: newTheme,
|
|
@@ -1453,15 +1467,16 @@ var ScreensManager = /*#__PURE__*/function (_DefinitionsManager) {
|
|
|
1453
1467
|
}, {
|
|
1454
1468
|
key: "filter",
|
|
1455
1469
|
value: function filter(_filter) {
|
|
1456
|
-
|
|
1457
|
-
|
|
1458
|
-
return this;
|
|
1470
|
+
return new ScreensManager(this.definitions.filter(_filter)); // this.definitions = this.definitions.filter(filter);
|
|
1471
|
+
// return this;
|
|
1459
1472
|
}
|
|
1460
1473
|
}]);
|
|
1461
1474
|
|
|
1462
1475
|
return ScreensManager;
|
|
1463
1476
|
}(DefinitionsManager);
|
|
1464
1477
|
|
|
1478
|
+
var _excluded$2 = ["textStyle", "color", "boxStyle"];
|
|
1479
|
+
|
|
1465
1480
|
var ThemeParser = /*#__PURE__*/function () {
|
|
1466
1481
|
function ThemeParser(_ref) {
|
|
1467
1482
|
var screensManager = _ref.screensManager;
|
|
@@ -1514,7 +1529,9 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1514
1529
|
_theme$colors = theme.colors,
|
|
1515
1530
|
themeColors = _theme$colors === void 0 ? {} : _theme$colors,
|
|
1516
1531
|
_theme$textStyles = theme.textStyles,
|
|
1517
|
-
themeTextStyles = _theme$textStyles === void 0 ? null : _theme$textStyles
|
|
1532
|
+
themeTextStyles = _theme$textStyles === void 0 ? null : _theme$textStyles,
|
|
1533
|
+
_theme$boxStyles = theme.boxStyles,
|
|
1534
|
+
themeBoxStyles = _theme$boxStyles === void 0 ? null : _theme$boxStyles;
|
|
1518
1535
|
var newComponents = components.reduce(function (currentComponents, screen, index) {
|
|
1519
1536
|
var type = screen.type;
|
|
1520
1537
|
|
|
@@ -1522,7 +1539,7 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1522
1539
|
definition = _this$getDefinitionBy.definition,
|
|
1523
1540
|
themeScreen = _this$getDefinitionBy.themeScreen;
|
|
1524
1541
|
|
|
1525
|
-
var newScreen = _this.parseScreen(definition, screen, themeScreen, themeBackground, themeColors, themeTextStyles); // Only switch screen if it has changed
|
|
1542
|
+
var newScreen = _this.parseScreen(definition, screen, themeScreen, themeBackground, themeColors, themeTextStyles, themeBoxStyles); // Only switch screen if it has changed
|
|
1526
1543
|
|
|
1527
1544
|
|
|
1528
1545
|
return newScreen !== screen || themeScreen !== null ? [].concat(_toConsumableArray(currentComponents.slice(0, index)), [_objectSpread(_objectSpread({}, themeScreen), newScreen)], _toConsumableArray(currentComponents.slice(index + 1))) : currentComponents;
|
|
@@ -1533,7 +1550,7 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1533
1550
|
}
|
|
1534
1551
|
}, {
|
|
1535
1552
|
key: "parseScreen",
|
|
1536
|
-
value: function parseScreen(definition, value, themeValue, themeBackground, themeColors,
|
|
1553
|
+
value: function parseScreen(definition, value, themeValue, themeBackground, themeColors, themeTextStyles, themeBoxStyles) {
|
|
1537
1554
|
var _this2 = this;
|
|
1538
1555
|
|
|
1539
1556
|
var _definition$fields = definition.fields,
|
|
@@ -1553,7 +1570,7 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1553
1570
|
var fieldValue = value[key];
|
|
1554
1571
|
var fieldThemeValue = newThemeValue !== null ? newThemeValue[key] || null : null;
|
|
1555
1572
|
|
|
1556
|
-
var newFieldValue = _this2.parseField(key, fieldDefinition, fieldValue, fieldThemeValue, themeColors,
|
|
1573
|
+
var newFieldValue = _this2.parseField(key, fieldDefinition, fieldValue, fieldThemeValue, themeColors, themeTextStyles, themeBoxStyles); // Only switch field if it has changed
|
|
1557
1574
|
|
|
1558
1575
|
|
|
1559
1576
|
return newFieldValue !== fieldValue ? _objectSpread(_objectSpread({}, currentValue), {}, _defineProperty({}, key, newFieldValue)) : currentValue;
|
|
@@ -1563,23 +1580,36 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1563
1580
|
|
|
1564
1581
|
}, {
|
|
1565
1582
|
key: "parseField",
|
|
1566
|
-
value: function parseField(key, definition, value, themeValue, themeColors, themeTextStyles) {
|
|
1583
|
+
value: function parseField(key, definition, value, themeValue, themeColors, themeTextStyles, themeBoxStyles) {
|
|
1567
1584
|
var _definition$theme = definition.theme,
|
|
1568
|
-
fieldTheme = _definition$theme === void 0 ?
|
|
1585
|
+
fieldTheme = _definition$theme === void 0 ? null : _definition$theme; // Early return
|
|
1586
|
+
|
|
1587
|
+
if (fieldTheme === null || !isObject(fieldTheme)) {
|
|
1588
|
+
return value;
|
|
1589
|
+
} // @TODO very sloow
|
|
1590
|
+
|
|
1569
1591
|
|
|
1570
1592
|
if (isArray(value)) {
|
|
1571
1593
|
var newFieldValue = value.map(function (innerField) {
|
|
1572
1594
|
return innerField !== null ? Object.keys(innerField).reduce(function (newInnerField, innerFieldName) {
|
|
1595
|
+
// Early return
|
|
1596
|
+
if (!isObject(innerField[innerFieldName])) {
|
|
1597
|
+
return newInnerField;
|
|
1598
|
+
}
|
|
1599
|
+
|
|
1573
1600
|
var _ref3 = fieldTheme[innerFieldName] || {},
|
|
1574
1601
|
_ref3$textStyle = _ref3.textStyle,
|
|
1575
1602
|
innerFieldTextStyle = _ref3$textStyle === void 0 ? null : _ref3$textStyle,
|
|
1576
1603
|
_ref3$color = _ref3.color,
|
|
1577
|
-
innerFieldColor = _ref3$color === void 0 ? null : _ref3$color
|
|
1604
|
+
innerFieldColor = _ref3$color === void 0 ? null : _ref3$color,
|
|
1605
|
+
_ref3$boxStyle = _ref3.boxStyle,
|
|
1606
|
+
innerFieldBoxStyle = _ref3$boxStyle === void 0 ? null : _ref3$boxStyle; // Early return, no theme
|
|
1578
1607
|
|
|
1579
1608
|
|
|
1580
|
-
if (
|
|
1609
|
+
if (innerFieldTextStyle === null && innerFieldColor === null && innerFieldBoxStyle === null) {
|
|
1581
1610
|
return newInnerField;
|
|
1582
|
-
} //
|
|
1611
|
+
} // TODO: replace this with the recursive parseValue...
|
|
1612
|
+
// Color
|
|
1583
1613
|
|
|
1584
1614
|
|
|
1585
1615
|
var colorValue = innerFieldColor !== null ? {
|
|
@@ -1589,23 +1619,65 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1589
1619
|
var textStyleValue = innerFieldTextStyle !== null ? {
|
|
1590
1620
|
textStyle: _objectSpread(_objectSpread({}, innerFieldTextStyle !== null && themeTextStyles !== null ? themeTextStyles[innerFieldTextStyle] || null : null), innerField[innerFieldName].textStyle || null)
|
|
1591
1621
|
} : null;
|
|
1622
|
+
var boxStyleValue = innerFieldBoxStyle !== null ? {
|
|
1623
|
+
boxStyle: _objectSpread(_objectSpread({}, innerFieldBoxStyle !== null && themeBoxStyles !== null ? themeBoxStyles[innerFieldBoxStyle] || null : null), innerField[innerFieldName].boxStyle || null)
|
|
1624
|
+
} : null;
|
|
1592
1625
|
|
|
1593
|
-
if (colorValue === null && textStyleValue === null) {
|
|
1626
|
+
if (colorValue === null && textStyleValue === null && boxStyleValue === null) {
|
|
1594
1627
|
return newInnerField;
|
|
1595
1628
|
}
|
|
1596
1629
|
|
|
1597
|
-
return _objectSpread(_objectSpread({}, newInnerField), {}, _defineProperty({}, innerFieldName, _objectSpread(_objectSpread(_objectSpread({}, colorValue), innerField[innerFieldName]), textStyleValue)));
|
|
1630
|
+
return _objectSpread(_objectSpread({}, newInnerField), {}, _defineProperty({}, innerFieldName, _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, colorValue), innerField[innerFieldName]), textStyleValue), boxStyleValue)));
|
|
1598
1631
|
}, innerField) : innerField;
|
|
1599
1632
|
});
|
|
1600
1633
|
return newFieldValue;
|
|
1601
1634
|
}
|
|
1602
1635
|
|
|
1603
|
-
if (isObject(value)
|
|
1636
|
+
if (isObject(value)) {
|
|
1637
|
+
return this.parseValue(value, fieldTheme, themeValue, themeColors, themeTextStyles, themeBoxStyles);
|
|
1638
|
+
}
|
|
1639
|
+
|
|
1640
|
+
return value;
|
|
1641
|
+
} // eslint-disable-next-line class-methods-use-this
|
|
1642
|
+
|
|
1643
|
+
}, {
|
|
1644
|
+
key: "parseValue",
|
|
1645
|
+
value: function parseValue(initialValue, fieldTheme, themeValue, themeColors, themeTextStyles, themeBoxStyles) {
|
|
1646
|
+
var _this3 = this;
|
|
1647
|
+
|
|
1648
|
+
if (isObject(initialValue) || isObject(fieldTheme)) {
|
|
1649
|
+
var value = initialValue || null;
|
|
1650
|
+
|
|
1604
1651
|
var _ref4 = fieldTheme || {},
|
|
1605
1652
|
_ref4$textStyle = _ref4.textStyle,
|
|
1606
1653
|
fieldTextStyleName = _ref4$textStyle === void 0 ? null : _ref4$textStyle,
|
|
1607
1654
|
_ref4$color = _ref4.color,
|
|
1608
|
-
fieldColorName = _ref4$color === void 0 ? null : _ref4$color
|
|
1655
|
+
fieldColorName = _ref4$color === void 0 ? null : _ref4$color,
|
|
1656
|
+
_ref4$boxStyle = _ref4.boxStyle,
|
|
1657
|
+
fieldBoxStyleName = _ref4$boxStyle === void 0 ? null : _ref4$boxStyle,
|
|
1658
|
+
otherProps = _objectWithoutProperties(_ref4, _excluded$2);
|
|
1659
|
+
|
|
1660
|
+
if (fieldTextStyleName === null && fieldColorName === null && fieldBoxStyleName === null && isEmpty(otherProps) && !isObject(fieldTheme)) {
|
|
1661
|
+
return value;
|
|
1662
|
+
}
|
|
1663
|
+
|
|
1664
|
+
var complexValue = null;
|
|
1665
|
+
|
|
1666
|
+
if (!isEmpty(otherProps)) {
|
|
1667
|
+
complexValue = Object.keys(fieldTheme).reduce(function (newObject, key) {
|
|
1668
|
+
var innerValue = value !== null ? value[key] || null : null;
|
|
1669
|
+
|
|
1670
|
+
var newValue = _this3.parseValue(innerValue, fieldTheme[key], themeValue, themeColors, themeTextStyles, themeBoxStyles);
|
|
1671
|
+
|
|
1672
|
+
return _objectSpread(_objectSpread({}, newObject), newValue !== null ? _defineProperty({}, key, newValue) : null);
|
|
1673
|
+
}, {});
|
|
1674
|
+
}
|
|
1675
|
+
|
|
1676
|
+
var _ref6 = value || {},
|
|
1677
|
+
_ref6$textStyle = _ref6.textStyle,
|
|
1678
|
+
valueTextStyle = _ref6$textStyle === void 0 ? null : _ref6$textStyle,
|
|
1679
|
+
_ref6$boxStyle = _ref6.boxStyle,
|
|
1680
|
+
valueBoxStyle = _ref6$boxStyle === void 0 ? null : _ref6$boxStyle; // Color
|
|
1609
1681
|
|
|
1610
1682
|
|
|
1611
1683
|
var fieldColor = fieldColorName !== null && themeColors !== null ? themeColors[fieldColorName] || null : null;
|
|
@@ -1616,13 +1688,19 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1616
1688
|
var fieldTextStyle = fieldTextStyleName !== null && themeTextStyles !== null ? themeTextStyles[fieldTextStyleName] || null : null;
|
|
1617
1689
|
var fieldThemeComponentTextStyle = themeValue !== null ? themeValue.textStyle || null : null;
|
|
1618
1690
|
var textStyleValue = fieldTextStyle !== null || fieldThemeComponentTextStyle !== null ? {
|
|
1619
|
-
textStyle: _objectSpread(_objectSpread(_objectSpread({}, fieldTextStyle), fieldThemeComponentTextStyle),
|
|
1691
|
+
textStyle: _objectSpread(_objectSpread(_objectSpread({}, fieldTextStyle), fieldThemeComponentTextStyle), valueTextStyle || null)
|
|
1692
|
+
} : null; // Box style
|
|
1693
|
+
|
|
1694
|
+
var fieldBoxStyle = fieldBoxStyleName !== null && themeBoxStyles !== null ? themeBoxStyles[fieldBoxStyleName] || null : null;
|
|
1695
|
+
var fieldThemeComponentBoxStyle = themeValue !== null ? themeValue.boxStyle || null : null;
|
|
1696
|
+
var boxStyleValue = fieldBoxStyle !== null || fieldThemeComponentBoxStyle !== null ? {
|
|
1697
|
+
boxStyle: _objectSpread(_objectSpread(_objectSpread({}, fieldBoxStyle), fieldThemeComponentBoxStyle), valueBoxStyle || null)
|
|
1620
1698
|
} : null; // Only change value if something is overrided
|
|
1621
1699
|
|
|
1622
|
-
return colorValue !== null || themeValue !== null || textStyleValue !== null ? _objectSpread(_objectSpread(_objectSpread(_objectSpread({}, colorValue), themeValue), value), textStyleValue) : value;
|
|
1700
|
+
return colorValue !== null || themeValue !== null || textStyleValue !== null || boxStyleValue !== null || complexValue !== null ? _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({}, colorValue), themeValue), value), boxStyleValue), textStyleValue), complexValue) : value;
|
|
1623
1701
|
}
|
|
1624
1702
|
|
|
1625
|
-
return
|
|
1703
|
+
return initialValue;
|
|
1626
1704
|
}
|
|
1627
1705
|
}]);
|
|
1628
1706
|
|
package/lib/components.js
CHANGED
|
@@ -2597,6 +2597,10 @@ PropTypes__default["default"].shape({
|
|
|
2597
2597
|
withSeekBar: PropTypes__default["default"].bool,
|
|
2598
2598
|
withPlayPause: PropTypes__default["default"].bool
|
|
2599
2599
|
});
|
|
2600
|
+
var visualElement = PropTypes__default["default"].shape({
|
|
2601
|
+
media: imageMedia
|
|
2602
|
+
});
|
|
2603
|
+
PropTypes__default["default"].arrayOf(visualElement);
|
|
2600
2604
|
PropTypes__default["default"].shape({
|
|
2601
2605
|
media: audioMedia,
|
|
2602
2606
|
autoPlay: PropTypes__default["default"].bool,
|
|
@@ -2877,6 +2881,12 @@ var pageMetadata = PropTypes__default["default"].shape({
|
|
|
2877
2881
|
atomUrl: PropTypes__default["default"].string,
|
|
2878
2882
|
microformats: PropTypes__default["default"].arrayOf(PropTypes__default["default"].shape({}))
|
|
2879
2883
|
});
|
|
2884
|
+
PropTypes__default["default"].shape({
|
|
2885
|
+
name: PropTypes__default["default"].string,
|
|
2886
|
+
avatar: PropTypes__default["default"].shape({
|
|
2887
|
+
url: PropTypes__default["default"].string
|
|
2888
|
+
})
|
|
2889
|
+
});
|
|
2880
2890
|
|
|
2881
2891
|
/* eslint-disable react/no-array-index-key */
|
|
2882
2892
|
var propTypes$d = {
|
package/lib/index.js
CHANGED
|
@@ -27,6 +27,7 @@ var _slicedToArray = require('@babel/runtime/helpers/slicedToArray');
|
|
|
27
27
|
require('slugify');
|
|
28
28
|
var uniqBy = require('lodash/uniqBy');
|
|
29
29
|
var _typeof = require('@babel/runtime/helpers/typeof');
|
|
30
|
+
var isEmpty = require('lodash/isEmpty');
|
|
30
31
|
var uniq = require('lodash/uniq');
|
|
31
32
|
var tracking = require('@folklore/tracking');
|
|
32
33
|
|
|
@@ -50,6 +51,7 @@ var _objectWithoutProperties__default = /*#__PURE__*/_interopDefaultLegacy(_obje
|
|
|
50
51
|
var _slicedToArray__default = /*#__PURE__*/_interopDefaultLegacy(_slicedToArray);
|
|
51
52
|
var uniqBy__default = /*#__PURE__*/_interopDefaultLegacy(uniqBy);
|
|
52
53
|
var _typeof__default = /*#__PURE__*/_interopDefaultLegacy(_typeof);
|
|
54
|
+
var isEmpty__default = /*#__PURE__*/_interopDefaultLegacy(isEmpty);
|
|
53
55
|
var uniq__default = /*#__PURE__*/_interopDefaultLegacy(uniq);
|
|
54
56
|
|
|
55
57
|
/**
|
|
@@ -308,6 +310,10 @@ var videoElement = PropTypes__default["default"].shape({
|
|
|
308
310
|
withSeekBar: PropTypes__default["default"].bool,
|
|
309
311
|
withPlayPause: PropTypes__default["default"].bool
|
|
310
312
|
});
|
|
313
|
+
var visualElement = PropTypes__default["default"].shape({
|
|
314
|
+
media: imageMedia
|
|
315
|
+
});
|
|
316
|
+
var visualElements = PropTypes__default["default"].arrayOf(visualElement);
|
|
311
317
|
var audioElement = PropTypes__default["default"].shape({
|
|
312
318
|
media: audioMedia,
|
|
313
319
|
autoPlay: PropTypes__default["default"].bool,
|
|
@@ -589,6 +595,12 @@ var pageMetadata = PropTypes__default["default"].shape({
|
|
|
589
595
|
atomUrl: PropTypes__default["default"].string,
|
|
590
596
|
microformats: PropTypes__default["default"].arrayOf(PropTypes__default["default"].shape({}))
|
|
591
597
|
});
|
|
598
|
+
var authorElement = PropTypes__default["default"].shape({
|
|
599
|
+
name: PropTypes__default["default"].string,
|
|
600
|
+
avatar: PropTypes__default["default"].shape({
|
|
601
|
+
url: PropTypes__default["default"].string
|
|
602
|
+
})
|
|
603
|
+
});
|
|
592
604
|
|
|
593
605
|
var PropTypes = /*#__PURE__*/Object.freeze({
|
|
594
606
|
__proto__: null,
|
|
@@ -665,6 +677,8 @@ var PropTypes = /*#__PURE__*/Object.freeze({
|
|
|
665
677
|
imageElement: imageElement,
|
|
666
678
|
imageElements: imageElements,
|
|
667
679
|
videoElement: videoElement,
|
|
680
|
+
visualElement: visualElement,
|
|
681
|
+
visualElements: visualElements,
|
|
668
682
|
audioElement: audioElement,
|
|
669
683
|
closedCaptionsElement: closedCaptionsElement,
|
|
670
684
|
backgroundElement: backgroundElement,
|
|
@@ -724,7 +738,8 @@ var PropTypes = /*#__PURE__*/Object.freeze({
|
|
|
724
738
|
searchFilters: searchFilters,
|
|
725
739
|
paymentItem: paymentItem,
|
|
726
740
|
paymentItems: paymentItems,
|
|
727
|
-
pageMetadata: pageMetadata
|
|
741
|
+
pageMetadata: pageMetadata,
|
|
742
|
+
authorElement: authorElement
|
|
728
743
|
});
|
|
729
744
|
|
|
730
745
|
var sortedColors = function sortedColors(colors) {
|
|
@@ -1023,8 +1038,9 @@ var DefinitionsManager = /*#__PURE__*/function (_EventEmitter) {
|
|
|
1023
1038
|
}, {
|
|
1024
1039
|
key: "filter",
|
|
1025
1040
|
value: function filter(_filter) {
|
|
1026
|
-
this.definitions = this.definitions.filter(
|
|
1027
|
-
|
|
1041
|
+
// this.definitions = this.definitions.filter(filter);
|
|
1042
|
+
// return this;
|
|
1043
|
+
return new DefinitionsManager(this.definitions.filter(_filter));
|
|
1028
1044
|
}
|
|
1029
1045
|
}, {
|
|
1030
1046
|
key: "getDefinition",
|
|
@@ -1161,16 +1177,15 @@ var FieldsManager = /*#__PURE__*/function (_DefinitionsManager) {
|
|
|
1161
1177
|
_createClass__default["default"](FieldsManager, [{
|
|
1162
1178
|
key: "filter",
|
|
1163
1179
|
value: function filter(_filter) {
|
|
1164
|
-
|
|
1165
|
-
|
|
1166
|
-
return this;
|
|
1180
|
+
return new FieldsManager(this.definitions.filter(_filter)); // this.definitions = this.definitions.filter(filter);
|
|
1181
|
+
// return this;
|
|
1167
1182
|
}
|
|
1168
1183
|
}]);
|
|
1169
1184
|
|
|
1170
1185
|
return FieldsManager;
|
|
1171
1186
|
}(DefinitionsManager);
|
|
1172
1187
|
|
|
1173
|
-
var _excluded$
|
|
1188
|
+
var _excluded$3 = ["medias"];
|
|
1174
1189
|
|
|
1175
1190
|
var MediasParser = /*#__PURE__*/function () {
|
|
1176
1191
|
function MediasParser(_ref) {
|
|
@@ -1238,7 +1253,7 @@ var MediasParser = /*#__PURE__*/function () {
|
|
|
1238
1253
|
if (theme !== null) {
|
|
1239
1254
|
var _this$toPath = this.toPath(theme),
|
|
1240
1255
|
themeMedias = _this$toPath.medias,
|
|
1241
|
-
newTheme = _objectWithoutProperties__default["default"](_this$toPath, _excluded$
|
|
1256
|
+
newTheme = _objectWithoutProperties__default["default"](_this$toPath, _excluded$3);
|
|
1242
1257
|
|
|
1243
1258
|
return medias !== null || themeMedias !== null ? _objectSpread__default["default"](_objectSpread__default["default"]({}, story), {}, {
|
|
1244
1259
|
theme: newTheme,
|
|
@@ -1479,15 +1494,16 @@ var ScreensManager = /*#__PURE__*/function (_DefinitionsManager) {
|
|
|
1479
1494
|
}, {
|
|
1480
1495
|
key: "filter",
|
|
1481
1496
|
value: function filter(_filter) {
|
|
1482
|
-
|
|
1483
|
-
|
|
1484
|
-
return this;
|
|
1497
|
+
return new ScreensManager(this.definitions.filter(_filter)); // this.definitions = this.definitions.filter(filter);
|
|
1498
|
+
// return this;
|
|
1485
1499
|
}
|
|
1486
1500
|
}]);
|
|
1487
1501
|
|
|
1488
1502
|
return ScreensManager;
|
|
1489
1503
|
}(DefinitionsManager);
|
|
1490
1504
|
|
|
1505
|
+
var _excluded$2 = ["textStyle", "color", "boxStyle"];
|
|
1506
|
+
|
|
1491
1507
|
var ThemeParser = /*#__PURE__*/function () {
|
|
1492
1508
|
function ThemeParser(_ref) {
|
|
1493
1509
|
var screensManager = _ref.screensManager;
|
|
@@ -1540,7 +1556,9 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1540
1556
|
_theme$colors = theme.colors,
|
|
1541
1557
|
themeColors = _theme$colors === void 0 ? {} : _theme$colors,
|
|
1542
1558
|
_theme$textStyles = theme.textStyles,
|
|
1543
|
-
themeTextStyles = _theme$textStyles === void 0 ? null : _theme$textStyles
|
|
1559
|
+
themeTextStyles = _theme$textStyles === void 0 ? null : _theme$textStyles,
|
|
1560
|
+
_theme$boxStyles = theme.boxStyles,
|
|
1561
|
+
themeBoxStyles = _theme$boxStyles === void 0 ? null : _theme$boxStyles;
|
|
1544
1562
|
var newComponents = components.reduce(function (currentComponents, screen, index) {
|
|
1545
1563
|
var type = screen.type;
|
|
1546
1564
|
|
|
@@ -1548,7 +1566,7 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1548
1566
|
definition = _this$getDefinitionBy.definition,
|
|
1549
1567
|
themeScreen = _this$getDefinitionBy.themeScreen;
|
|
1550
1568
|
|
|
1551
|
-
var newScreen = _this.parseScreen(definition, screen, themeScreen, themeBackground, themeColors, themeTextStyles); // Only switch screen if it has changed
|
|
1569
|
+
var newScreen = _this.parseScreen(definition, screen, themeScreen, themeBackground, themeColors, themeTextStyles, themeBoxStyles); // Only switch screen if it has changed
|
|
1552
1570
|
|
|
1553
1571
|
|
|
1554
1572
|
return newScreen !== screen || themeScreen !== null ? [].concat(_toConsumableArray__default["default"](currentComponents.slice(0, index)), [_objectSpread__default["default"](_objectSpread__default["default"]({}, themeScreen), newScreen)], _toConsumableArray__default["default"](currentComponents.slice(index + 1))) : currentComponents;
|
|
@@ -1559,7 +1577,7 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1559
1577
|
}
|
|
1560
1578
|
}, {
|
|
1561
1579
|
key: "parseScreen",
|
|
1562
|
-
value: function parseScreen(definition, value, themeValue, themeBackground, themeColors,
|
|
1580
|
+
value: function parseScreen(definition, value, themeValue, themeBackground, themeColors, themeTextStyles, themeBoxStyles) {
|
|
1563
1581
|
var _this2 = this;
|
|
1564
1582
|
|
|
1565
1583
|
var _definition$fields = definition.fields,
|
|
@@ -1579,7 +1597,7 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1579
1597
|
var fieldValue = value[key];
|
|
1580
1598
|
var fieldThemeValue = newThemeValue !== null ? newThemeValue[key] || null : null;
|
|
1581
1599
|
|
|
1582
|
-
var newFieldValue = _this2.parseField(key, fieldDefinition, fieldValue, fieldThemeValue, themeColors,
|
|
1600
|
+
var newFieldValue = _this2.parseField(key, fieldDefinition, fieldValue, fieldThemeValue, themeColors, themeTextStyles, themeBoxStyles); // Only switch field if it has changed
|
|
1583
1601
|
|
|
1584
1602
|
|
|
1585
1603
|
return newFieldValue !== fieldValue ? _objectSpread__default["default"](_objectSpread__default["default"]({}, currentValue), {}, _defineProperty__default["default"]({}, key, newFieldValue)) : currentValue;
|
|
@@ -1589,23 +1607,36 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1589
1607
|
|
|
1590
1608
|
}, {
|
|
1591
1609
|
key: "parseField",
|
|
1592
|
-
value: function parseField(key, definition, value, themeValue, themeColors, themeTextStyles) {
|
|
1610
|
+
value: function parseField(key, definition, value, themeValue, themeColors, themeTextStyles, themeBoxStyles) {
|
|
1593
1611
|
var _definition$theme = definition.theme,
|
|
1594
|
-
fieldTheme = _definition$theme === void 0 ?
|
|
1612
|
+
fieldTheme = _definition$theme === void 0 ? null : _definition$theme; // Early return
|
|
1613
|
+
|
|
1614
|
+
if (fieldTheme === null || !isObject__default["default"](fieldTheme)) {
|
|
1615
|
+
return value;
|
|
1616
|
+
} // @TODO very sloow
|
|
1617
|
+
|
|
1595
1618
|
|
|
1596
1619
|
if (isArray__default["default"](value)) {
|
|
1597
1620
|
var newFieldValue = value.map(function (innerField) {
|
|
1598
1621
|
return innerField !== null ? Object.keys(innerField).reduce(function (newInnerField, innerFieldName) {
|
|
1622
|
+
// Early return
|
|
1623
|
+
if (!isObject__default["default"](innerField[innerFieldName])) {
|
|
1624
|
+
return newInnerField;
|
|
1625
|
+
}
|
|
1626
|
+
|
|
1599
1627
|
var _ref3 = fieldTheme[innerFieldName] || {},
|
|
1600
1628
|
_ref3$textStyle = _ref3.textStyle,
|
|
1601
1629
|
innerFieldTextStyle = _ref3$textStyle === void 0 ? null : _ref3$textStyle,
|
|
1602
1630
|
_ref3$color = _ref3.color,
|
|
1603
|
-
innerFieldColor = _ref3$color === void 0 ? null : _ref3$color
|
|
1631
|
+
innerFieldColor = _ref3$color === void 0 ? null : _ref3$color,
|
|
1632
|
+
_ref3$boxStyle = _ref3.boxStyle,
|
|
1633
|
+
innerFieldBoxStyle = _ref3$boxStyle === void 0 ? null : _ref3$boxStyle; // Early return, no theme
|
|
1604
1634
|
|
|
1605
1635
|
|
|
1606
|
-
if (
|
|
1636
|
+
if (innerFieldTextStyle === null && innerFieldColor === null && innerFieldBoxStyle === null) {
|
|
1607
1637
|
return newInnerField;
|
|
1608
|
-
} //
|
|
1638
|
+
} // TODO: replace this with the recursive parseValue...
|
|
1639
|
+
// Color
|
|
1609
1640
|
|
|
1610
1641
|
|
|
1611
1642
|
var colorValue = innerFieldColor !== null ? {
|
|
@@ -1615,23 +1646,65 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1615
1646
|
var textStyleValue = innerFieldTextStyle !== null ? {
|
|
1616
1647
|
textStyle: _objectSpread__default["default"](_objectSpread__default["default"]({}, innerFieldTextStyle !== null && themeTextStyles !== null ? themeTextStyles[innerFieldTextStyle] || null : null), innerField[innerFieldName].textStyle || null)
|
|
1617
1648
|
} : null;
|
|
1649
|
+
var boxStyleValue = innerFieldBoxStyle !== null ? {
|
|
1650
|
+
boxStyle: _objectSpread__default["default"](_objectSpread__default["default"]({}, innerFieldBoxStyle !== null && themeBoxStyles !== null ? themeBoxStyles[innerFieldBoxStyle] || null : null), innerField[innerFieldName].boxStyle || null)
|
|
1651
|
+
} : null;
|
|
1618
1652
|
|
|
1619
|
-
if (colorValue === null && textStyleValue === null) {
|
|
1653
|
+
if (colorValue === null && textStyleValue === null && boxStyleValue === null) {
|
|
1620
1654
|
return newInnerField;
|
|
1621
1655
|
}
|
|
1622
1656
|
|
|
1623
|
-
return _objectSpread__default["default"](_objectSpread__default["default"]({}, newInnerField), {}, _defineProperty__default["default"]({}, innerFieldName, _objectSpread__default["default"](_objectSpread__default["default"](_objectSpread__default["default"]({}, colorValue), innerField[innerFieldName]), textStyleValue)));
|
|
1657
|
+
return _objectSpread__default["default"](_objectSpread__default["default"]({}, newInnerField), {}, _defineProperty__default["default"]({}, innerFieldName, _objectSpread__default["default"](_objectSpread__default["default"](_objectSpread__default["default"](_objectSpread__default["default"]({}, colorValue), innerField[innerFieldName]), textStyleValue), boxStyleValue)));
|
|
1624
1658
|
}, innerField) : innerField;
|
|
1625
1659
|
});
|
|
1626
1660
|
return newFieldValue;
|
|
1627
1661
|
}
|
|
1628
1662
|
|
|
1629
|
-
if (isObject__default["default"](value)
|
|
1663
|
+
if (isObject__default["default"](value)) {
|
|
1664
|
+
return this.parseValue(value, fieldTheme, themeValue, themeColors, themeTextStyles, themeBoxStyles);
|
|
1665
|
+
}
|
|
1666
|
+
|
|
1667
|
+
return value;
|
|
1668
|
+
} // eslint-disable-next-line class-methods-use-this
|
|
1669
|
+
|
|
1670
|
+
}, {
|
|
1671
|
+
key: "parseValue",
|
|
1672
|
+
value: function parseValue(initialValue, fieldTheme, themeValue, themeColors, themeTextStyles, themeBoxStyles) {
|
|
1673
|
+
var _this3 = this;
|
|
1674
|
+
|
|
1675
|
+
if (isObject__default["default"](initialValue) || isObject__default["default"](fieldTheme)) {
|
|
1676
|
+
var value = initialValue || null;
|
|
1677
|
+
|
|
1630
1678
|
var _ref4 = fieldTheme || {},
|
|
1631
1679
|
_ref4$textStyle = _ref4.textStyle,
|
|
1632
1680
|
fieldTextStyleName = _ref4$textStyle === void 0 ? null : _ref4$textStyle,
|
|
1633
1681
|
_ref4$color = _ref4.color,
|
|
1634
|
-
fieldColorName = _ref4$color === void 0 ? null : _ref4$color
|
|
1682
|
+
fieldColorName = _ref4$color === void 0 ? null : _ref4$color,
|
|
1683
|
+
_ref4$boxStyle = _ref4.boxStyle,
|
|
1684
|
+
fieldBoxStyleName = _ref4$boxStyle === void 0 ? null : _ref4$boxStyle,
|
|
1685
|
+
otherProps = _objectWithoutProperties__default["default"](_ref4, _excluded$2);
|
|
1686
|
+
|
|
1687
|
+
if (fieldTextStyleName === null && fieldColorName === null && fieldBoxStyleName === null && isEmpty__default["default"](otherProps) && !isObject__default["default"](fieldTheme)) {
|
|
1688
|
+
return value;
|
|
1689
|
+
}
|
|
1690
|
+
|
|
1691
|
+
var complexValue = null;
|
|
1692
|
+
|
|
1693
|
+
if (!isEmpty__default["default"](otherProps)) {
|
|
1694
|
+
complexValue = Object.keys(fieldTheme).reduce(function (newObject, key) {
|
|
1695
|
+
var innerValue = value !== null ? value[key] || null : null;
|
|
1696
|
+
|
|
1697
|
+
var newValue = _this3.parseValue(innerValue, fieldTheme[key], themeValue, themeColors, themeTextStyles, themeBoxStyles);
|
|
1698
|
+
|
|
1699
|
+
return _objectSpread__default["default"](_objectSpread__default["default"]({}, newObject), newValue !== null ? _defineProperty__default["default"]({}, key, newValue) : null);
|
|
1700
|
+
}, {});
|
|
1701
|
+
}
|
|
1702
|
+
|
|
1703
|
+
var _ref6 = value || {},
|
|
1704
|
+
_ref6$textStyle = _ref6.textStyle,
|
|
1705
|
+
valueTextStyle = _ref6$textStyle === void 0 ? null : _ref6$textStyle,
|
|
1706
|
+
_ref6$boxStyle = _ref6.boxStyle,
|
|
1707
|
+
valueBoxStyle = _ref6$boxStyle === void 0 ? null : _ref6$boxStyle; // Color
|
|
1635
1708
|
|
|
1636
1709
|
|
|
1637
1710
|
var fieldColor = fieldColorName !== null && themeColors !== null ? themeColors[fieldColorName] || null : null;
|
|
@@ -1642,13 +1715,19 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1642
1715
|
var fieldTextStyle = fieldTextStyleName !== null && themeTextStyles !== null ? themeTextStyles[fieldTextStyleName] || null : null;
|
|
1643
1716
|
var fieldThemeComponentTextStyle = themeValue !== null ? themeValue.textStyle || null : null;
|
|
1644
1717
|
var textStyleValue = fieldTextStyle !== null || fieldThemeComponentTextStyle !== null ? {
|
|
1645
|
-
textStyle: _objectSpread__default["default"](_objectSpread__default["default"](_objectSpread__default["default"]({}, fieldTextStyle), fieldThemeComponentTextStyle),
|
|
1718
|
+
textStyle: _objectSpread__default["default"](_objectSpread__default["default"](_objectSpread__default["default"]({}, fieldTextStyle), fieldThemeComponentTextStyle), valueTextStyle || null)
|
|
1719
|
+
} : null; // Box style
|
|
1720
|
+
|
|
1721
|
+
var fieldBoxStyle = fieldBoxStyleName !== null && themeBoxStyles !== null ? themeBoxStyles[fieldBoxStyleName] || null : null;
|
|
1722
|
+
var fieldThemeComponentBoxStyle = themeValue !== null ? themeValue.boxStyle || null : null;
|
|
1723
|
+
var boxStyleValue = fieldBoxStyle !== null || fieldThemeComponentBoxStyle !== null ? {
|
|
1724
|
+
boxStyle: _objectSpread__default["default"](_objectSpread__default["default"](_objectSpread__default["default"]({}, fieldBoxStyle), fieldThemeComponentBoxStyle), valueBoxStyle || null)
|
|
1646
1725
|
} : null; // Only change value if something is overrided
|
|
1647
1726
|
|
|
1648
|
-
return colorValue !== null || themeValue !== null || textStyleValue !== null ? _objectSpread__default["default"](_objectSpread__default["default"](_objectSpread__default["default"](_objectSpread__default["default"]({}, colorValue), themeValue), value), textStyleValue) : value;
|
|
1727
|
+
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;
|
|
1649
1728
|
}
|
|
1650
1729
|
|
|
1651
|
-
return
|
|
1730
|
+
return initialValue;
|
|
1652
1731
|
}
|
|
1653
1732
|
}]);
|
|
1654
1733
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@micromag/core",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.62",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"javascript"
|
|
@@ -132,5 +132,5 @@
|
|
|
132
132
|
"publishConfig": {
|
|
133
133
|
"access": "public"
|
|
134
134
|
},
|
|
135
|
-
"gitHead": "
|
|
135
|
+
"gitHead": "aadfceb362d4d12aa0189eaaa2cf6455d8d85e67"
|
|
136
136
|
}
|