@micromag/core 0.3.60 → 0.3.63
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/index.js +97 -26
- package/lib/components.js +4 -0
- package/lib/index.js +98 -26
- 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,
|
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,
|
|
@@ -645,6 +650,8 @@ var PropTypes = /*#__PURE__*/Object.freeze({
|
|
|
645
650
|
imageElement: imageElement,
|
|
646
651
|
imageElements: imageElements,
|
|
647
652
|
videoElement: videoElement,
|
|
653
|
+
visualElement: visualElement,
|
|
654
|
+
visualElements: visualElements,
|
|
648
655
|
audioElement: audioElement,
|
|
649
656
|
closedCaptionsElement: closedCaptionsElement,
|
|
650
657
|
backgroundElement: backgroundElement,
|
|
@@ -1004,8 +1011,9 @@ var DefinitionsManager = /*#__PURE__*/function (_EventEmitter) {
|
|
|
1004
1011
|
}, {
|
|
1005
1012
|
key: "filter",
|
|
1006
1013
|
value: function filter(_filter) {
|
|
1007
|
-
this.definitions = this.definitions.filter(
|
|
1008
|
-
|
|
1014
|
+
// this.definitions = this.definitions.filter(filter);
|
|
1015
|
+
// return this;
|
|
1016
|
+
return new DefinitionsManager(this.definitions.filter(_filter));
|
|
1009
1017
|
}
|
|
1010
1018
|
}, {
|
|
1011
1019
|
key: "getDefinition",
|
|
@@ -1142,16 +1150,15 @@ var FieldsManager = /*#__PURE__*/function (_DefinitionsManager) {
|
|
|
1142
1150
|
_createClass(FieldsManager, [{
|
|
1143
1151
|
key: "filter",
|
|
1144
1152
|
value: function filter(_filter) {
|
|
1145
|
-
|
|
1146
|
-
|
|
1147
|
-
return this;
|
|
1153
|
+
return new FieldsManager(this.definitions.filter(_filter)); // this.definitions = this.definitions.filter(filter);
|
|
1154
|
+
// return this;
|
|
1148
1155
|
}
|
|
1149
1156
|
}]);
|
|
1150
1157
|
|
|
1151
1158
|
return FieldsManager;
|
|
1152
1159
|
}(DefinitionsManager);
|
|
1153
1160
|
|
|
1154
|
-
var _excluded$
|
|
1161
|
+
var _excluded$3 = ["medias"];
|
|
1155
1162
|
|
|
1156
1163
|
var MediasParser = /*#__PURE__*/function () {
|
|
1157
1164
|
function MediasParser(_ref) {
|
|
@@ -1219,7 +1226,7 @@ var MediasParser = /*#__PURE__*/function () {
|
|
|
1219
1226
|
if (theme !== null) {
|
|
1220
1227
|
var _this$toPath = this.toPath(theme),
|
|
1221
1228
|
themeMedias = _this$toPath.medias,
|
|
1222
|
-
newTheme = _objectWithoutProperties(_this$toPath, _excluded$
|
|
1229
|
+
newTheme = _objectWithoutProperties(_this$toPath, _excluded$3);
|
|
1223
1230
|
|
|
1224
1231
|
return medias !== null || themeMedias !== null ? _objectSpread(_objectSpread({}, story), {}, {
|
|
1225
1232
|
theme: newTheme,
|
|
@@ -1460,15 +1467,16 @@ var ScreensManager = /*#__PURE__*/function (_DefinitionsManager) {
|
|
|
1460
1467
|
}, {
|
|
1461
1468
|
key: "filter",
|
|
1462
1469
|
value: function filter(_filter) {
|
|
1463
|
-
|
|
1464
|
-
|
|
1465
|
-
return this;
|
|
1470
|
+
return new ScreensManager(this.definitions.filter(_filter)); // this.definitions = this.definitions.filter(filter);
|
|
1471
|
+
// return this;
|
|
1466
1472
|
}
|
|
1467
1473
|
}]);
|
|
1468
1474
|
|
|
1469
1475
|
return ScreensManager;
|
|
1470
1476
|
}(DefinitionsManager);
|
|
1471
1477
|
|
|
1478
|
+
var _excluded$2 = ["textStyle", "color", "boxStyle"];
|
|
1479
|
+
|
|
1472
1480
|
var ThemeParser = /*#__PURE__*/function () {
|
|
1473
1481
|
function ThemeParser(_ref) {
|
|
1474
1482
|
var screensManager = _ref.screensManager;
|
|
@@ -1521,7 +1529,9 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1521
1529
|
_theme$colors = theme.colors,
|
|
1522
1530
|
themeColors = _theme$colors === void 0 ? {} : _theme$colors,
|
|
1523
1531
|
_theme$textStyles = theme.textStyles,
|
|
1524
|
-
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;
|
|
1525
1535
|
var newComponents = components.reduce(function (currentComponents, screen, index) {
|
|
1526
1536
|
var type = screen.type;
|
|
1527
1537
|
|
|
@@ -1529,7 +1539,7 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1529
1539
|
definition = _this$getDefinitionBy.definition,
|
|
1530
1540
|
themeScreen = _this$getDefinitionBy.themeScreen;
|
|
1531
1541
|
|
|
1532
|
-
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
|
|
1533
1543
|
|
|
1534
1544
|
|
|
1535
1545
|
return newScreen !== screen || themeScreen !== null ? [].concat(_toConsumableArray(currentComponents.slice(0, index)), [_objectSpread(_objectSpread({}, themeScreen), newScreen)], _toConsumableArray(currentComponents.slice(index + 1))) : currentComponents;
|
|
@@ -1540,7 +1550,7 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1540
1550
|
}
|
|
1541
1551
|
}, {
|
|
1542
1552
|
key: "parseScreen",
|
|
1543
|
-
value: function parseScreen(definition, value, themeValue, themeBackground, themeColors,
|
|
1553
|
+
value: function parseScreen(definition, value, themeValue, themeBackground, themeColors, themeTextStyles, themeBoxStyles) {
|
|
1544
1554
|
var _this2 = this;
|
|
1545
1555
|
|
|
1546
1556
|
var _definition$fields = definition.fields,
|
|
@@ -1560,7 +1570,7 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1560
1570
|
var fieldValue = value[key];
|
|
1561
1571
|
var fieldThemeValue = newThemeValue !== null ? newThemeValue[key] || null : null;
|
|
1562
1572
|
|
|
1563
|
-
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
|
|
1564
1574
|
|
|
1565
1575
|
|
|
1566
1576
|
return newFieldValue !== fieldValue ? _objectSpread(_objectSpread({}, currentValue), {}, _defineProperty({}, key, newFieldValue)) : currentValue;
|
|
@@ -1570,23 +1580,36 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1570
1580
|
|
|
1571
1581
|
}, {
|
|
1572
1582
|
key: "parseField",
|
|
1573
|
-
value: function parseField(key, definition, value, themeValue, themeColors, themeTextStyles) {
|
|
1583
|
+
value: function parseField(key, definition, value, themeValue, themeColors, themeTextStyles, themeBoxStyles) {
|
|
1574
1584
|
var _definition$theme = definition.theme,
|
|
1575
|
-
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
|
+
|
|
1576
1591
|
|
|
1577
1592
|
if (isArray(value)) {
|
|
1578
1593
|
var newFieldValue = value.map(function (innerField) {
|
|
1579
1594
|
return innerField !== null ? Object.keys(innerField).reduce(function (newInnerField, innerFieldName) {
|
|
1595
|
+
// Early return
|
|
1596
|
+
if (!isObject(innerField[innerFieldName])) {
|
|
1597
|
+
return newInnerField;
|
|
1598
|
+
}
|
|
1599
|
+
|
|
1580
1600
|
var _ref3 = fieldTheme[innerFieldName] || {},
|
|
1581
1601
|
_ref3$textStyle = _ref3.textStyle,
|
|
1582
1602
|
innerFieldTextStyle = _ref3$textStyle === void 0 ? null : _ref3$textStyle,
|
|
1583
1603
|
_ref3$color = _ref3.color,
|
|
1584
|
-
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
|
|
1585
1607
|
|
|
1586
1608
|
|
|
1587
|
-
if (
|
|
1609
|
+
if (innerFieldTextStyle === null && innerFieldColor === null && innerFieldBoxStyle === null) {
|
|
1588
1610
|
return newInnerField;
|
|
1589
|
-
} //
|
|
1611
|
+
} // TODO: replace this with the recursive parseValue...
|
|
1612
|
+
// Color
|
|
1590
1613
|
|
|
1591
1614
|
|
|
1592
1615
|
var colorValue = innerFieldColor !== null ? {
|
|
@@ -1596,23 +1619,65 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1596
1619
|
var textStyleValue = innerFieldTextStyle !== null ? {
|
|
1597
1620
|
textStyle: _objectSpread(_objectSpread({}, innerFieldTextStyle !== null && themeTextStyles !== null ? themeTextStyles[innerFieldTextStyle] || null : null), innerField[innerFieldName].textStyle || null)
|
|
1598
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;
|
|
1599
1625
|
|
|
1600
|
-
if (colorValue === null && textStyleValue === null) {
|
|
1626
|
+
if (colorValue === null && textStyleValue === null && boxStyleValue === null) {
|
|
1601
1627
|
return newInnerField;
|
|
1602
1628
|
}
|
|
1603
1629
|
|
|
1604
|
-
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)));
|
|
1605
1631
|
}, innerField) : innerField;
|
|
1606
1632
|
});
|
|
1607
1633
|
return newFieldValue;
|
|
1608
1634
|
}
|
|
1609
1635
|
|
|
1610
|
-
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
|
+
|
|
1611
1651
|
var _ref4 = fieldTheme || {},
|
|
1612
1652
|
_ref4$textStyle = _ref4.textStyle,
|
|
1613
1653
|
fieldTextStyleName = _ref4$textStyle === void 0 ? null : _ref4$textStyle,
|
|
1614
1654
|
_ref4$color = _ref4.color,
|
|
1615
|
-
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
|
|
1616
1681
|
|
|
1617
1682
|
|
|
1618
1683
|
var fieldColor = fieldColorName !== null && themeColors !== null ? themeColors[fieldColorName] || null : null;
|
|
@@ -1623,13 +1688,19 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1623
1688
|
var fieldTextStyle = fieldTextStyleName !== null && themeTextStyles !== null ? themeTextStyles[fieldTextStyleName] || null : null;
|
|
1624
1689
|
var fieldThemeComponentTextStyle = themeValue !== null ? themeValue.textStyle || null : null;
|
|
1625
1690
|
var textStyleValue = fieldTextStyle !== null || fieldThemeComponentTextStyle !== null ? {
|
|
1626
|
-
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)
|
|
1627
1698
|
} : null; // Only change value if something is overrided
|
|
1628
1699
|
|
|
1629
|
-
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;
|
|
1630
1701
|
}
|
|
1631
1702
|
|
|
1632
|
-
return
|
|
1703
|
+
return initialValue;
|
|
1633
1704
|
}
|
|
1634
1705
|
}]);
|
|
1635
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,
|
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,
|
|
@@ -671,6 +677,8 @@ var PropTypes = /*#__PURE__*/Object.freeze({
|
|
|
671
677
|
imageElement: imageElement,
|
|
672
678
|
imageElements: imageElements,
|
|
673
679
|
videoElement: videoElement,
|
|
680
|
+
visualElement: visualElement,
|
|
681
|
+
visualElements: visualElements,
|
|
674
682
|
audioElement: audioElement,
|
|
675
683
|
closedCaptionsElement: closedCaptionsElement,
|
|
676
684
|
backgroundElement: backgroundElement,
|
|
@@ -1030,8 +1038,9 @@ var DefinitionsManager = /*#__PURE__*/function (_EventEmitter) {
|
|
|
1030
1038
|
}, {
|
|
1031
1039
|
key: "filter",
|
|
1032
1040
|
value: function filter(_filter) {
|
|
1033
|
-
this.definitions = this.definitions.filter(
|
|
1034
|
-
|
|
1041
|
+
// this.definitions = this.definitions.filter(filter);
|
|
1042
|
+
// return this;
|
|
1043
|
+
return new DefinitionsManager(this.definitions.filter(_filter));
|
|
1035
1044
|
}
|
|
1036
1045
|
}, {
|
|
1037
1046
|
key: "getDefinition",
|
|
@@ -1168,16 +1177,15 @@ var FieldsManager = /*#__PURE__*/function (_DefinitionsManager) {
|
|
|
1168
1177
|
_createClass__default["default"](FieldsManager, [{
|
|
1169
1178
|
key: "filter",
|
|
1170
1179
|
value: function filter(_filter) {
|
|
1171
|
-
|
|
1172
|
-
|
|
1173
|
-
return this;
|
|
1180
|
+
return new FieldsManager(this.definitions.filter(_filter)); // this.definitions = this.definitions.filter(filter);
|
|
1181
|
+
// return this;
|
|
1174
1182
|
}
|
|
1175
1183
|
}]);
|
|
1176
1184
|
|
|
1177
1185
|
return FieldsManager;
|
|
1178
1186
|
}(DefinitionsManager);
|
|
1179
1187
|
|
|
1180
|
-
var _excluded$
|
|
1188
|
+
var _excluded$3 = ["medias"];
|
|
1181
1189
|
|
|
1182
1190
|
var MediasParser = /*#__PURE__*/function () {
|
|
1183
1191
|
function MediasParser(_ref) {
|
|
@@ -1245,7 +1253,7 @@ var MediasParser = /*#__PURE__*/function () {
|
|
|
1245
1253
|
if (theme !== null) {
|
|
1246
1254
|
var _this$toPath = this.toPath(theme),
|
|
1247
1255
|
themeMedias = _this$toPath.medias,
|
|
1248
|
-
newTheme = _objectWithoutProperties__default["default"](_this$toPath, _excluded$
|
|
1256
|
+
newTheme = _objectWithoutProperties__default["default"](_this$toPath, _excluded$3);
|
|
1249
1257
|
|
|
1250
1258
|
return medias !== null || themeMedias !== null ? _objectSpread__default["default"](_objectSpread__default["default"]({}, story), {}, {
|
|
1251
1259
|
theme: newTheme,
|
|
@@ -1486,15 +1494,16 @@ var ScreensManager = /*#__PURE__*/function (_DefinitionsManager) {
|
|
|
1486
1494
|
}, {
|
|
1487
1495
|
key: "filter",
|
|
1488
1496
|
value: function filter(_filter) {
|
|
1489
|
-
|
|
1490
|
-
|
|
1491
|
-
return this;
|
|
1497
|
+
return new ScreensManager(this.definitions.filter(_filter)); // this.definitions = this.definitions.filter(filter);
|
|
1498
|
+
// return this;
|
|
1492
1499
|
}
|
|
1493
1500
|
}]);
|
|
1494
1501
|
|
|
1495
1502
|
return ScreensManager;
|
|
1496
1503
|
}(DefinitionsManager);
|
|
1497
1504
|
|
|
1505
|
+
var _excluded$2 = ["textStyle", "color", "boxStyle"];
|
|
1506
|
+
|
|
1498
1507
|
var ThemeParser = /*#__PURE__*/function () {
|
|
1499
1508
|
function ThemeParser(_ref) {
|
|
1500
1509
|
var screensManager = _ref.screensManager;
|
|
@@ -1547,7 +1556,9 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1547
1556
|
_theme$colors = theme.colors,
|
|
1548
1557
|
themeColors = _theme$colors === void 0 ? {} : _theme$colors,
|
|
1549
1558
|
_theme$textStyles = theme.textStyles,
|
|
1550
|
-
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;
|
|
1551
1562
|
var newComponents = components.reduce(function (currentComponents, screen, index) {
|
|
1552
1563
|
var type = screen.type;
|
|
1553
1564
|
|
|
@@ -1555,7 +1566,7 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1555
1566
|
definition = _this$getDefinitionBy.definition,
|
|
1556
1567
|
themeScreen = _this$getDefinitionBy.themeScreen;
|
|
1557
1568
|
|
|
1558
|
-
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
|
|
1559
1570
|
|
|
1560
1571
|
|
|
1561
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;
|
|
@@ -1566,7 +1577,7 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1566
1577
|
}
|
|
1567
1578
|
}, {
|
|
1568
1579
|
key: "parseScreen",
|
|
1569
|
-
value: function parseScreen(definition, value, themeValue, themeBackground, themeColors,
|
|
1580
|
+
value: function parseScreen(definition, value, themeValue, themeBackground, themeColors, themeTextStyles, themeBoxStyles) {
|
|
1570
1581
|
var _this2 = this;
|
|
1571
1582
|
|
|
1572
1583
|
var _definition$fields = definition.fields,
|
|
@@ -1586,7 +1597,7 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1586
1597
|
var fieldValue = value[key];
|
|
1587
1598
|
var fieldThemeValue = newThemeValue !== null ? newThemeValue[key] || null : null;
|
|
1588
1599
|
|
|
1589
|
-
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
|
|
1590
1601
|
|
|
1591
1602
|
|
|
1592
1603
|
return newFieldValue !== fieldValue ? _objectSpread__default["default"](_objectSpread__default["default"]({}, currentValue), {}, _defineProperty__default["default"]({}, key, newFieldValue)) : currentValue;
|
|
@@ -1596,23 +1607,36 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1596
1607
|
|
|
1597
1608
|
}, {
|
|
1598
1609
|
key: "parseField",
|
|
1599
|
-
value: function parseField(key, definition, value, themeValue, themeColors, themeTextStyles) {
|
|
1610
|
+
value: function parseField(key, definition, value, themeValue, themeColors, themeTextStyles, themeBoxStyles) {
|
|
1600
1611
|
var _definition$theme = definition.theme,
|
|
1601
|
-
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
|
+
|
|
1602
1618
|
|
|
1603
1619
|
if (isArray__default["default"](value)) {
|
|
1604
1620
|
var newFieldValue = value.map(function (innerField) {
|
|
1605
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
|
+
|
|
1606
1627
|
var _ref3 = fieldTheme[innerFieldName] || {},
|
|
1607
1628
|
_ref3$textStyle = _ref3.textStyle,
|
|
1608
1629
|
innerFieldTextStyle = _ref3$textStyle === void 0 ? null : _ref3$textStyle,
|
|
1609
1630
|
_ref3$color = _ref3.color,
|
|
1610
|
-
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
|
|
1611
1634
|
|
|
1612
1635
|
|
|
1613
|
-
if (
|
|
1636
|
+
if (innerFieldTextStyle === null && innerFieldColor === null && innerFieldBoxStyle === null) {
|
|
1614
1637
|
return newInnerField;
|
|
1615
|
-
} //
|
|
1638
|
+
} // TODO: replace this with the recursive parseValue...
|
|
1639
|
+
// Color
|
|
1616
1640
|
|
|
1617
1641
|
|
|
1618
1642
|
var colorValue = innerFieldColor !== null ? {
|
|
@@ -1622,23 +1646,65 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1622
1646
|
var textStyleValue = innerFieldTextStyle !== null ? {
|
|
1623
1647
|
textStyle: _objectSpread__default["default"](_objectSpread__default["default"]({}, innerFieldTextStyle !== null && themeTextStyles !== null ? themeTextStyles[innerFieldTextStyle] || null : null), innerField[innerFieldName].textStyle || null)
|
|
1624
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;
|
|
1625
1652
|
|
|
1626
|
-
if (colorValue === null && textStyleValue === null) {
|
|
1653
|
+
if (colorValue === null && textStyleValue === null && boxStyleValue === null) {
|
|
1627
1654
|
return newInnerField;
|
|
1628
1655
|
}
|
|
1629
1656
|
|
|
1630
|
-
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)));
|
|
1631
1658
|
}, innerField) : innerField;
|
|
1632
1659
|
});
|
|
1633
1660
|
return newFieldValue;
|
|
1634
1661
|
}
|
|
1635
1662
|
|
|
1636
|
-
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
|
+
|
|
1637
1678
|
var _ref4 = fieldTheme || {},
|
|
1638
1679
|
_ref4$textStyle = _ref4.textStyle,
|
|
1639
1680
|
fieldTextStyleName = _ref4$textStyle === void 0 ? null : _ref4$textStyle,
|
|
1640
1681
|
_ref4$color = _ref4.color,
|
|
1641
|
-
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
|
|
1642
1708
|
|
|
1643
1709
|
|
|
1644
1710
|
var fieldColor = fieldColorName !== null && themeColors !== null ? themeColors[fieldColorName] || null : null;
|
|
@@ -1649,13 +1715,19 @@ var ThemeParser = /*#__PURE__*/function () {
|
|
|
1649
1715
|
var fieldTextStyle = fieldTextStyleName !== null && themeTextStyles !== null ? themeTextStyles[fieldTextStyleName] || null : null;
|
|
1650
1716
|
var fieldThemeComponentTextStyle = themeValue !== null ? themeValue.textStyle || null : null;
|
|
1651
1717
|
var textStyleValue = fieldTextStyle !== null || fieldThemeComponentTextStyle !== null ? {
|
|
1652
|
-
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)
|
|
1653
1725
|
} : null; // Only change value if something is overrided
|
|
1654
1726
|
|
|
1655
|
-
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;
|
|
1656
1728
|
}
|
|
1657
1729
|
|
|
1658
|
-
return
|
|
1730
|
+
return initialValue;
|
|
1659
1731
|
}
|
|
1660
1732
|
}]);
|
|
1661
1733
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@micromag/core",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.63",
|
|
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": "002ba9d6db19aa37ea77a2465942060661f19dcf"
|
|
136
136
|
}
|