@micromag/core 0.3.491 → 0.3.503

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.
@@ -1,4 +1,4 @@
1
- .micromag-core-buttons-button-container.micromag-core-buttons-button-asLink,.micromag-core-buttons-button-container.micromag-core-buttons-button-withoutStyle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-block;font-family:inherit;padding:0;position:relative}.micromag-core-buttons-button-container .micromag-core-buttons-button-icon{display:block;position:relative}.micromag-core-buttons-button-container .micromag-core-buttons-button-icon,.micromag-core-buttons-button-container .micromag-core-buttons-button-label{-webkit-transition:-webkit-transform .3s cubic-bezier(0,.6,.5,1);transition:-webkit-transform .3s cubic-bezier(0,.6,.5,1);transition:transform .3s cubic-bezier(0,.6,.5,1);transition:transform .3s cubic-bezier(0,.6,.5,1),-webkit-transform .3s cubic-bezier(0,.6,.5,1)}.micromag-core-buttons-button-container.micromag-core-buttons-button-asLink{color:#a13dff;font-weight:700}.micromag-core-buttons-button-container.micromag-core-buttons-button-withIcon{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:row;flex-direction:row}.micromag-core-buttons-button-container.micromag-core-buttons-button-withIcon .micromag-core-buttons-button-label{margin-left:.5em;-webkit-transform-origin:0 50%;-ms-transform-origin:0 50%;transform-origin:0 50%}.micromag-core-buttons-button-container.micromag-core-buttons-button-withIcon .micromag-core-buttons-button-right{margin-left:.5em}.micromag-core-buttons-button-container.micromag-core-buttons-button-withIcon.micromag-core-buttons-button-withAnimations.micromag-core-buttons-button-icon-right .micromag-core-buttons-button-label{-webkit-transform-origin:100% 50%;-ms-transform-origin:100% 50%;transform-origin:100% 50%}.micromag-core-buttons-button-container.micromag-core-buttons-button-withIconColumns{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:row;flex-direction:row}.micromag-core-buttons-button-container.micromag-core-buttons-button-linkDisabled{opacity:.4;pointer-events:none;text-decoration:none}
1
+ .micromag-core-buttons-button-container.micromag-core-buttons-button-asLink,.micromag-core-buttons-button-container.micromag-core-buttons-button-withoutStyle{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-block;font-family:inherit;padding:0;position:relative}.micromag-core-buttons-button-container .micromag-core-buttons-button-icon{display:block;position:relative}.micromag-core-buttons-button-container .micromag-core-buttons-button-icon,.micromag-core-buttons-button-container .micromag-core-buttons-button-label{-webkit-transition:-webkit-transform .3s cubic-bezier(0,.6,.5,1);transition:-webkit-transform .3s cubic-bezier(0,.6,.5,1);transition:transform .3s cubic-bezier(0,.6,.5,1);transition:transform .3s cubic-bezier(0,.6,.5,1),-webkit-transform .3s cubic-bezier(0,.6,.5,1)}.micromag-core-buttons-button-container.micromag-core-buttons-button-asLink{color:#a13dff;font-weight:700}.micromag-core-buttons-button-container.micromag-core-buttons-button-withIcon{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:row;flex-direction:row}.micromag-core-buttons-button-container.micromag-core-buttons-button-withIcon .micromag-core-buttons-button-label{margin-left:.5em;-webkit-transform-origin:0 50%;-ms-transform-origin:0 50%;transform-origin:0 50%}.micromag-core-buttons-button-container.micromag-core-buttons-button-withIcon .micromag-core-buttons-button-right{margin-left:.5em}.micromag-core-buttons-button-container.micromag-core-buttons-button-withIcon.micromag-core-buttons-button-withAnimations.micromag-core-buttons-button-icon-right .micromag-core-buttons-button-label{-webkit-transform-origin:100% 50%;-ms-transform-origin:100% 50%;transform-origin:100% 50%}.micromag-core-buttons-button-container.micromag-core-buttons-button-withIconColumns{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-inline-box;display:-ms-inline-flexbox;display:inline-flex;-ms-flex-direction:row;flex-direction:row}.micromag-core-buttons-button-container.micromag-core-buttons-button-linkDisabled{opacity:.4;pointer-events:none;text-decoration:none}.micromag-core-buttons-button-container.micromag-core-buttons-button-focus-visible{-webkit-box-shadow:0 0 2px 0 #fff;box-shadow:0 0 2px 0 #fff;-webkit-box-shadow:0 0 2px 0 var(--micromag-focus-color,#fff);box-shadow:0 0 2px 0 var(--micromag-focus-color,#fff);outline:2px solid #000}.micromag-core-buttons-button-container:focus-visible{-webkit-box-shadow:0 0 2px 0 #fff;box-shadow:0 0 2px 0 #fff;-webkit-box-shadow:0 0 2px 0 var(--micromag-focus-color,#fff);box-shadow:0 0 2px 0 var(--micromag-focus-color,#fff);outline:2px solid #000}
2
2
 
3
3
  .micromag-core-forms-form-actions{-webkit-box-orient:horizontal;-webkit-box-direction:normal;-webkit-box-align:center;-ms-flex-align:center;align-items:center;display:-webkit-box;display:-ms-flexbox;display:flex;-ms-flex-direction:row;flex-direction:row;margin-top:2rem}.micromag-core-forms-form-actions.micromag-core-forms-form-left{-webkit-box-pack:start;-ms-flex-pack:start;justify-content:flex-start}.micromag-core-forms-form-actions.micromag-core-forms-form-right{-webkit-box-pack:end;-ms-flex-pack:end;justify-content:flex-end}
4
4
  .micromag-core-partials-link-withoutStyle{color:inherit;text-decoration:none}.micromag-core-partials-link-withoutStyle:hover{color:inherit;text-decoration:none}
package/es/components.js CHANGED
@@ -66,7 +66,7 @@ Label.propTypes = propTypes$T;
66
66
  Label.defaultProps = defaultProps$T;
67
67
  var Label$1 = Label;
68
68
 
69
- var styles$x = {"container":"micromag-core-buttons-button-container","asLink":"micromag-core-buttons-button-asLink","withoutStyle":"micromag-core-buttons-button-withoutStyle","icon":"micromag-core-buttons-button-icon","label":"micromag-core-buttons-button-label","withIcon":"micromag-core-buttons-button-withIcon","right":"micromag-core-buttons-button-right","withAnimations":"micromag-core-buttons-button-withAnimations","icon-right":"micromag-core-buttons-button-icon-right","withIconColumns":"micromag-core-buttons-button-withIconColumns","linkDisabled":"micromag-core-buttons-button-linkDisabled"};
69
+ var styles$x = {"container":"micromag-core-buttons-button-container","asLink":"micromag-core-buttons-button-asLink","withoutStyle":"micromag-core-buttons-button-withoutStyle","icon":"micromag-core-buttons-button-icon","label":"micromag-core-buttons-button-label","withIcon":"micromag-core-buttons-button-withIcon","right":"micromag-core-buttons-button-right","withAnimations":"micromag-core-buttons-button-withAnimations","icon-right":"micromag-core-buttons-button-icon-right","withIconColumns":"micromag-core-buttons-button-withIconColumns","linkDisabled":"micromag-core-buttons-button-linkDisabled","focus-visible":"micromag-core-buttons-button-focus-visible"};
70
70
 
71
71
  var _excluded$b = ["type", "theme", "size", "href", "external", "direct", "target", "label", "children", "focusable", "active", "icon", "iconPosition", "disabled", "loading", "disableOnLoading", "small", "big", "withShadow", "withoutStyle", "withoutBootstrapStyles", "withoutTheme", "asLink", "outline", "onClick", "className", "iconClassName", "labelClassName", "refButton"];
72
72
  var propTypes$S = {
@@ -1914,7 +1914,7 @@ var ModalDialog = function ModalDialog(_ref) {
1914
1914
  }, /*#__PURE__*/React.createElement("div", {
1915
1915
  className: "modal-content"
1916
1916
  }, header || /*#__PURE__*/React.createElement("div", {
1917
- className: classNames(['modal-header', 'p-2', styles$l.header, {
1917
+ className: classNames(['modal-header', 'p-2', 'd-flex', 'justify-content-between', styles$l.header, {
1918
1918
  // 'bg-dark': theme === 'dark',
1919
1919
  // 'border-dark': theme === 'dark',
1920
1920
  // 'text-light': theme === 'dark',
@@ -1923,7 +1923,7 @@ var ModalDialog = function ModalDialog(_ref) {
1923
1923
  className: "modal-title"
1924
1924
  }, /*#__PURE__*/React.createElement(Label$1, null, title)), /*#__PURE__*/React.createElement("button", {
1925
1925
  type: "button",
1926
- className: "btn-close",
1926
+ className: "btn btn-close p-2",
1927
1927
  "aria-label": "Close",
1928
1928
  onClick: onClickClose
1929
1929
  })), /*#__PURE__*/React.createElement("div", {
package/es/contexts.js CHANGED
@@ -943,7 +943,7 @@ var PlaybackProvider = function PlaybackProvider(_ref) {
943
943
  return setControlsVisible(true);
944
944
  }, [setControlsVisible]);
945
945
  var hideControls = useCallback(function () {
946
- return setControlsVisible(false);
946
+ setControlsVisible(false);
947
947
  }, [setControlsVisible]);
948
948
  var hasAudio = useMemo(function () {
949
949
  if (media === null || media.tagName.toLowerCase() !== 'video') {
package/es/index.js CHANGED
@@ -793,7 +793,7 @@ var ColorsParser = /*#__PURE__*/function () {
793
793
  }
794
794
 
795
795
  // Convert medias object to path
796
- _createClass(ColorsParser, [{
796
+ return _createClass(ColorsParser, [{
797
797
  key: "parse",
798
798
  value: function parse(story) {
799
799
  var _this = this;
@@ -912,7 +912,6 @@ var ColorsParser = /*#__PURE__*/function () {
912
912
  });
913
913
  }
914
914
  }]);
915
- return ColorsParser;
916
915
  }();
917
916
  var ColorsParser$1 = ColorsParser;
918
917
 
@@ -928,7 +927,6 @@ var getComponentFromName = function getComponentFromName() {
928
927
  };
929
928
 
930
929
  var ComponentsManager = /*#__PURE__*/function (_EventEmitter) {
931
- _inherits(ComponentsManager, _EventEmitter);
932
930
  function ComponentsManager() {
933
931
  var _this;
934
932
  var components = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -937,7 +935,8 @@ var ComponentsManager = /*#__PURE__*/function (_EventEmitter) {
937
935
  _this.components = components;
938
936
  return _this;
939
937
  }
940
- _createClass(ComponentsManager, [{
938
+ _inherits(ComponentsManager, _EventEmitter);
939
+ return _createClass(ComponentsManager, [{
941
940
  key: "addComponent",
942
941
  value: function addComponent(name, component) {
943
942
  var namespace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
@@ -997,12 +996,10 @@ var ComponentsManager = /*#__PURE__*/function (_EventEmitter) {
997
996
  return this.components !== null && typeof this.components[namespace !== null ? "".concat(namespace, ".").concat(name) : name] !== 'undefined';
998
997
  }
999
998
  }]);
1000
- return ComponentsManager;
1001
999
  }(EventEmitter);
1002
1000
  var ComponentsManager$1 = ComponentsManager;
1003
1001
 
1004
1002
  var DefinitionsManager = /*#__PURE__*/function (_EventEmitter) {
1005
- _inherits(DefinitionsManager, _EventEmitter);
1006
1003
  function DefinitionsManager() {
1007
1004
  var _this;
1008
1005
  var definitions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
@@ -1011,7 +1008,8 @@ var DefinitionsManager = /*#__PURE__*/function (_EventEmitter) {
1011
1008
  _this.definitions = definitions || [];
1012
1009
  return _this;
1013
1010
  }
1014
- _createClass(DefinitionsManager, [{
1011
+ _inherits(DefinitionsManager, _EventEmitter);
1012
+ return _createClass(DefinitionsManager, [{
1015
1013
  key: "addDefinition",
1016
1014
  value: function addDefinition(definition) {
1017
1015
  this.addDefinitions(isArray(definition) ? definition : [definition]);
@@ -1077,12 +1075,10 @@ var DefinitionsManager = /*#__PURE__*/function (_EventEmitter) {
1077
1075
  }, {});
1078
1076
  }
1079
1077
  }]);
1080
- return DefinitionsManager;
1081
1078
  }(EventEmitter);
1082
1079
  var DefinitionsManager$1 = DefinitionsManager;
1083
1080
 
1084
1081
  var EventsManager = /*#__PURE__*/function (_EventEmitter) {
1085
- _inherits(EventsManager, _EventEmitter);
1086
1082
  function EventsManager(element) {
1087
1083
  var _this;
1088
1084
  _classCallCheck(this, EventsManager);
@@ -1092,7 +1088,8 @@ var EventsManager = /*#__PURE__*/function (_EventEmitter) {
1092
1088
  _this.listeners = {};
1093
1089
  return _this;
1094
1090
  }
1095
- _createClass(EventsManager, [{
1091
+ _inherits(EventsManager, _EventEmitter);
1092
+ return _createClass(EventsManager, [{
1096
1093
  key: "subscribe",
1097
1094
  value: function subscribe(event, callback) {
1098
1095
  this.on(event, callback);
@@ -1139,17 +1136,16 @@ var EventsManager = /*#__PURE__*/function (_EventEmitter) {
1139
1136
  this.element.removeEventListener(event, this.listeners[event]);
1140
1137
  }
1141
1138
  }]);
1142
- return EventsManager;
1143
1139
  }(EventEmitter);
1144
1140
  var EventsManager$1 = EventsManager;
1145
1141
 
1146
1142
  var FieldsManager = /*#__PURE__*/function (_DefinitionsManager) {
1147
- _inherits(FieldsManager, _DefinitionsManager);
1148
1143
  function FieldsManager() {
1149
1144
  _classCallCheck(this, FieldsManager);
1150
1145
  return _callSuper(this, FieldsManager, arguments);
1151
1146
  }
1152
- _createClass(FieldsManager, [{
1147
+ _inherits(FieldsManager, _DefinitionsManager);
1148
+ return _createClass(FieldsManager, [{
1153
1149
  key: "filter",
1154
1150
  value: function filter(_filter) {
1155
1151
  return new FieldsManager(this.definitions.filter(_filter));
@@ -1157,7 +1153,6 @@ var FieldsManager = /*#__PURE__*/function (_DefinitionsManager) {
1157
1153
  // return this;
1158
1154
  }
1159
1155
  }]);
1160
- return FieldsManager;
1161
1156
  }(DefinitionsManager$1);
1162
1157
  var FieldsManager$1 = FieldsManager;
1163
1158
 
@@ -1175,7 +1170,7 @@ var MediasParser = /*#__PURE__*/function () {
1175
1170
  this.fieldsPatternCache = fieldsPattern || {};
1176
1171
  this.parsedThemesCache = {};
1177
1172
  }
1178
- _createClass(MediasParser, [{
1173
+ return _createClass(MediasParser, [{
1179
1174
  key: "getParsedStoryTheme",
1180
1175
  value: function getParsedStoryTheme(storyId, theme) {
1181
1176
  if (typeof this.parsedThemesCache[storyId] === 'undefined') {
@@ -1432,12 +1427,10 @@ var MediasParser = /*#__PURE__*/function () {
1432
1427
  return isArray(obj) ? _toConsumableArray(obj.keys()) : Object.keys(obj);
1433
1428
  }
1434
1429
  }]);
1435
- return MediasParser;
1436
1430
  }();
1437
1431
  var MediasParser$1 = MediasParser;
1438
1432
 
1439
1433
  var ScreensManager = /*#__PURE__*/function (_DefinitionsManager) {
1440
- _inherits(ScreensManager, _DefinitionsManager);
1441
1434
  function ScreensManager() {
1442
1435
  var _this;
1443
1436
  var definitions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
@@ -1446,7 +1439,8 @@ var ScreensManager = /*#__PURE__*/function (_DefinitionsManager) {
1446
1439
  _this.fieldsPattern = null;
1447
1440
  return _this;
1448
1441
  }
1449
- _createClass(ScreensManager, [{
1442
+ _inherits(ScreensManager, _DefinitionsManager);
1443
+ return _createClass(ScreensManager, [{
1450
1444
  key: "getFields",
1451
1445
  value: function getFields(id) {
1452
1446
  var _ref = this.getDefinition(id) || {},
@@ -1489,7 +1483,6 @@ var ScreensManager = /*#__PURE__*/function (_DefinitionsManager) {
1489
1483
  return this.addDefinitions(manager.getDefinitions());
1490
1484
  }
1491
1485
  }]);
1492
- return ScreensManager;
1493
1486
  }(DefinitionsManager$1);
1494
1487
  var ScreensManager$1 = ScreensManager;
1495
1488
 
@@ -1505,7 +1498,7 @@ var FontsParser = /*#__PURE__*/function () {
1505
1498
  this.screensManager = screensManager;
1506
1499
  this.fieldsPatternCache = fieldsPattern || {};
1507
1500
  }
1508
- _createClass(FontsParser, [{
1501
+ return _createClass(FontsParser, [{
1509
1502
  key: "getFieldsPatternByScreen",
1510
1503
  value: function getFieldsPatternByScreen(type) {
1511
1504
  if (typeof this.fieldsPatternCache[type] === 'undefined') {
@@ -1618,7 +1611,6 @@ var FontsParser = /*#__PURE__*/function () {
1618
1611
  }, []);
1619
1612
  }
1620
1613
  }]);
1621
- return FontsParser;
1622
1614
  }();
1623
1615
  var FontsParser$1 = FontsParser;
1624
1616
 
@@ -1632,7 +1624,7 @@ var MigrationsParser = /*#__PURE__*/function () {
1632
1624
  }
1633
1625
 
1634
1626
  // eslint-disable-next-line class-methods-use-this
1635
- _createClass(MigrationsParser, [{
1627
+ return _createClass(MigrationsParser, [{
1636
1628
  key: "parse",
1637
1629
  value: function parse(story) {
1638
1630
  if (story === null) {
@@ -1681,7 +1673,6 @@ var MigrationsParser = /*#__PURE__*/function () {
1681
1673
  });
1682
1674
  }
1683
1675
  }]);
1684
- return MigrationsParser;
1685
1676
  }();
1686
1677
 
1687
1678
  var _excluded$1 = ["textStyle", "color", "boxStyle"];
@@ -1693,7 +1684,7 @@ var ThemeParser = /*#__PURE__*/function () {
1693
1684
  this.definitionCache = {};
1694
1685
  this.fieldsCache = {};
1695
1686
  }
1696
- _createClass(ThemeParser, [{
1687
+ return _createClass(ThemeParser, [{
1697
1688
  key: "getDefinitionByScreen",
1698
1689
  value: function getDefinitionByScreen(type, themeComponents) {
1699
1690
  if (typeof this.definitionCache[type] === 'undefined') {
@@ -2035,7 +2026,6 @@ var ThemeParser = /*#__PURE__*/function () {
2035
2026
  return initialValue;
2036
2027
  }
2037
2028
  }]);
2038
- return ThemeParser;
2039
2029
  }();
2040
2030
  var ThemeParser$1 = ThemeParser;
2041
2031
 
@@ -2067,7 +2057,7 @@ var StoryParser = /*#__PURE__*/function () {
2067
2057
  screensManager: screensManager
2068
2058
  });
2069
2059
  }
2070
- _createClass(StoryParser, [{
2060
+ return _createClass(StoryParser, [{
2071
2061
  key: "parse",
2072
2062
  value: function parse(story) {
2073
2063
  var _this = this;
@@ -2100,14 +2090,12 @@ var StoryParser = /*#__PURE__*/function () {
2100
2090
  }, story);
2101
2091
  }
2102
2092
  }]);
2103
- return StoryParser;
2104
2093
  }();
2105
2094
  var StoryParser$1 = StoryParser;
2106
2095
 
2107
2096
  var _excluded = ["value"],
2108
2097
  _excluded2 = ["value", "currentTime"];
2109
2098
  var Tracking = /*#__PURE__*/function (_BaseTracking) {
2110
- _inherits(Tracking, _BaseTracking);
2111
2099
  function Tracking() {
2112
2100
  var _this;
2113
2101
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -2122,7 +2110,8 @@ var Tracking = /*#__PURE__*/function (_BaseTracking) {
2122
2110
  }
2123
2111
  return _this;
2124
2112
  }
2125
- _createClass(Tracking, [{
2113
+ _inherits(Tracking, _BaseTracking);
2114
+ return _createClass(Tracking, [{
2126
2115
  key: "setVariables",
2127
2116
  value: function setVariables(variables) {
2128
2117
  this.variables = variables;
@@ -2218,7 +2207,6 @@ var Tracking = /*#__PURE__*/function (_BaseTracking) {
2218
2207
  this.push(data);
2219
2208
  }
2220
2209
  }]);
2221
- return Tracking;
2222
2210
  }(Tracking$2);
2223
2211
  var Tracking$1 = Tracking;
2224
2212
 
package/lib/components.js CHANGED
@@ -197,7 +197,7 @@ if (typeof history !== "undefined" && typeof window[patchKey] === "undefined") {
197
197
  });
198
198
  }
199
199
 
200
- var _excluded3 = ["to", "href", "onClick", "asChild", "children", "replace", "state"];
200
+ var _excluded3 = ["to", "href", "onClick", "asChild", "children", "className", "replace", "state"];
201
201
 
202
202
  /*
203
203
  * Transforms `path` into its relative `base` version
@@ -240,7 +240,11 @@ var defaultRouter = {
240
240
  base: "",
241
241
  // this option is used to override the current location during SSR
242
242
  ssrPath: undefined,
243
- ssrSearch: undefined
243
+ ssrSearch: undefined,
244
+ // customizes how `href` props are transformed for <Link />
245
+ hrefs: function hrefs(x) {
246
+ return x;
247
+ }
244
248
  };
245
249
  var RouterCtx = React.createContext(defaultRouter);
246
250
 
@@ -279,13 +283,15 @@ var Link$2 = React.forwardRef(function (props, ref) {
279
283
  var router = useRouter();
280
284
  var _useLocationFromRoute3 = useLocationFromRouter(router),
281
285
  _useLocationFromRoute4 = _slicedToArray(_useLocationFromRoute3, 2),
286
+ path = _useLocationFromRoute4[0],
282
287
  navigate = _useLocationFromRoute4[1];
283
288
  var to = props.to,
284
289
  _props$href = props.href,
285
290
  _href = _props$href === void 0 ? to : _props$href,
286
291
  _onClick = props.onClick,
287
292
  asChild = props.asChild,
288
- children = props.children;
293
+ children = props.children,
294
+ cls = props.className;
289
295
  props.replace;
290
296
  props.state;
291
297
  var restProps = _objectWithoutProperties(props, _excluded3);
@@ -293,7 +299,7 @@ var Link$2 = React.forwardRef(function (props, ref) {
293
299
  // ignores the navigation when clicked using right mouse button or
294
300
  // by holding a special modifier key: ctrl, command, win, alt, shift
295
301
  if (event.ctrlKey || event.metaKey || event.altKey || event.shiftKey || event.button !== 0) return;
296
- _onClick && _onClick(event); // TODO: is it safe to use _onClick?.(event)
302
+ _onClick === null || _onClick === void 0 || _onClick(event);
297
303
  if (!event.defaultPrevented) {
298
304
  event.preventDefault();
299
305
  navigate(_href, props);
@@ -301,13 +307,16 @@ var Link$2 = React.forwardRef(function (props, ref) {
301
307
  });
302
308
 
303
309
  // handle nested routers and absolute paths
304
- var href = _href[0] === "~" ? _href.slice(1) : router.base + _href;
310
+ var href = router.hrefs(_href[0] === "~" ? _href.slice(1) : router.base + _href, router // pass router as a second argument for convinience
311
+ );
305
312
  return asChild && React.isValidElement(children) ? React.cloneElement(children, {
306
- href: href,
307
- onClick: onClick
313
+ onClick: onClick,
314
+ href: href
308
315
  }) : React.createElement("a", _objectSpread(_objectSpread({}, restProps), {}, {
309
- href: href,
310
316
  onClick: onClick,
317
+ href: href,
318
+ // `className` can be a function to apply the class if this link is active
319
+ className: cls !== null && cls !== void 0 && cls.call ? cls(path === href) : cls,
311
320
  children: children,
312
321
  ref: ref
313
322
  }));
@@ -336,7 +345,7 @@ Label.propTypes = propTypes$T;
336
345
  Label.defaultProps = defaultProps$T;
337
346
  var Label$1 = Label;
338
347
 
339
- var styles$x = {"container":"micromag-core-buttons-button-container","asLink":"micromag-core-buttons-button-asLink","withoutStyle":"micromag-core-buttons-button-withoutStyle","icon":"micromag-core-buttons-button-icon","label":"micromag-core-buttons-button-label","withIcon":"micromag-core-buttons-button-withIcon","right":"micromag-core-buttons-button-right","withAnimations":"micromag-core-buttons-button-withAnimations","icon-right":"micromag-core-buttons-button-icon-right","withIconColumns":"micromag-core-buttons-button-withIconColumns","linkDisabled":"micromag-core-buttons-button-linkDisabled"};
348
+ var styles$x = {"container":"micromag-core-buttons-button-container","asLink":"micromag-core-buttons-button-asLink","withoutStyle":"micromag-core-buttons-button-withoutStyle","icon":"micromag-core-buttons-button-icon","label":"micromag-core-buttons-button-label","withIcon":"micromag-core-buttons-button-withIcon","right":"micromag-core-buttons-button-right","withAnimations":"micromag-core-buttons-button-withAnimations","icon-right":"micromag-core-buttons-button-icon-right","withIconColumns":"micromag-core-buttons-button-withIconColumns","linkDisabled":"micromag-core-buttons-button-linkDisabled","focus-visible":"micromag-core-buttons-button-focus-visible"};
340
349
 
341
350
  var _excluded$b = ["type", "theme", "size", "href", "external", "direct", "target", "label", "children", "focusable", "active", "icon", "iconPosition", "disabled", "loading", "disableOnLoading", "small", "big", "withShadow", "withoutStyle", "withoutBootstrapStyles", "withoutTheme", "asLink", "outline", "onClick", "className", "iconClassName", "labelClassName", "refButton"];
342
351
  var propTypes$S = {
@@ -2184,7 +2193,7 @@ var ModalDialog = function ModalDialog(_ref) {
2184
2193
  }, /*#__PURE__*/React.createElement("div", {
2185
2194
  className: "modal-content"
2186
2195
  }, header || /*#__PURE__*/React.createElement("div", {
2187
- className: classNames(['modal-header', 'p-2', styles$l.header, {
2196
+ className: classNames(['modal-header', 'p-2', 'd-flex', 'justify-content-between', styles$l.header, {
2188
2197
  // 'bg-dark': theme === 'dark',
2189
2198
  // 'border-dark': theme === 'dark',
2190
2199
  // 'text-light': theme === 'dark',
@@ -2193,7 +2202,7 @@ var ModalDialog = function ModalDialog(_ref) {
2193
2202
  className: "modal-title"
2194
2203
  }, /*#__PURE__*/React.createElement(Label$1, null, title)), /*#__PURE__*/React.createElement("button", {
2195
2204
  type: "button",
2196
- className: "btn-close",
2205
+ className: "btn btn-close p-2",
2197
2206
  "aria-label": "Close",
2198
2207
  onClick: onClickClose
2199
2208
  })), /*#__PURE__*/React.createElement("div", {
package/lib/contexts.js CHANGED
@@ -964,7 +964,7 @@ var PlaybackProvider = function PlaybackProvider(_ref) {
964
964
  return setControlsVisible(true);
965
965
  }, [setControlsVisible]);
966
966
  var hideControls = React.useCallback(function () {
967
- return setControlsVisible(false);
967
+ setControlsVisible(false);
968
968
  }, [setControlsVisible]);
969
969
  var hasAudio = React.useMemo(function () {
970
970
  if (media === null || media.tagName.toLowerCase() !== 'video') {
@@ -1138,7 +1138,7 @@ if (typeof history !== "undefined" && typeof window[patchKey] === "undefined") {
1138
1138
  });
1139
1139
  }
1140
1140
 
1141
- var _excluded3 = ["to", "href", "onClick", "asChild", "children", "replace", "state"];
1141
+ var _excluded3 = ["to", "href", "onClick", "asChild", "children", "className", "replace", "state"];
1142
1142
 
1143
1143
  /*
1144
1144
  * Transforms `path` into its relative `base` version
@@ -1181,7 +1181,11 @@ var defaultRouter = {
1181
1181
  base: "",
1182
1182
  // this option is used to override the current location during SSR
1183
1183
  ssrPath: undefined,
1184
- ssrSearch: undefined
1184
+ ssrSearch: undefined,
1185
+ // customizes how `href` props are transformed for <Link />
1186
+ hrefs: function hrefs(x) {
1187
+ return x;
1188
+ }
1185
1189
  };
1186
1190
  var RouterCtx = React.createContext(defaultRouter);
1187
1191
 
@@ -1223,13 +1227,15 @@ React.forwardRef(function (props, ref) {
1223
1227
  var router = useRouter();
1224
1228
  var _useLocationFromRoute3 = useLocationFromRouter(router),
1225
1229
  _useLocationFromRoute4 = _slicedToArray(_useLocationFromRoute3, 2),
1230
+ path = _useLocationFromRoute4[0],
1226
1231
  navigate = _useLocationFromRoute4[1];
1227
1232
  var to = props.to,
1228
1233
  _props$href = props.href,
1229
1234
  _href = _props$href === void 0 ? to : _props$href,
1230
1235
  _onClick = props.onClick,
1231
1236
  asChild = props.asChild,
1232
- children = props.children;
1237
+ children = props.children,
1238
+ cls = props.className;
1233
1239
  props.replace;
1234
1240
  props.state;
1235
1241
  var restProps = _objectWithoutProperties(props, _excluded3);
@@ -1237,7 +1243,7 @@ React.forwardRef(function (props, ref) {
1237
1243
  // ignores the navigation when clicked using right mouse button or
1238
1244
  // by holding a special modifier key: ctrl, command, win, alt, shift
1239
1245
  if (event.ctrlKey || event.metaKey || event.altKey || event.shiftKey || event.button !== 0) return;
1240
- _onClick && _onClick(event); // TODO: is it safe to use _onClick?.(event)
1246
+ _onClick === null || _onClick === void 0 || _onClick(event);
1241
1247
  if (!event.defaultPrevented) {
1242
1248
  event.preventDefault();
1243
1249
  navigate(_href, props);
@@ -1245,13 +1251,16 @@ React.forwardRef(function (props, ref) {
1245
1251
  });
1246
1252
 
1247
1253
  // handle nested routers and absolute paths
1248
- var href = _href[0] === "~" ? _href.slice(1) : router.base + _href;
1254
+ var href = router.hrefs(_href[0] === "~" ? _href.slice(1) : router.base + _href, router // pass router as a second argument for convinience
1255
+ );
1249
1256
  return asChild && React.isValidElement(children) ? React.cloneElement(children, {
1250
- href: href,
1251
- onClick: onClick
1257
+ onClick: onClick,
1258
+ href: href
1252
1259
  }) : React.createElement("a", _objectSpread(_objectSpread({}, restProps), {}, {
1253
- href: href,
1254
1260
  onClick: onClick,
1261
+ href: href,
1262
+ // `className` can be a function to apply the class if this link is active
1263
+ className: cls !== null && cls !== void 0 && cls.call ? cls(path === href) : cls,
1255
1264
  children: children,
1256
1265
  ref: ref
1257
1266
  }));
@@ -1290,12 +1299,12 @@ RoutesProvider.defaultProps = defaultProps$6;
1290
1299
  var compilers = {};
1291
1300
  function generatePath(fullPath, data) {
1292
1301
  var opts = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
1293
- var fullUrlMatches = fullPath.match(/^(https?:\/\/[^/]+)\//);
1302
+ var fullUrlMatches = fullPath.match(/^(https?:\/\/)/);
1294
1303
  if (typeof compilers[fullPath] === 'undefined') {
1295
- compilers[fullPath] = pathToRegexp.compile(fullPath.replace(/^(https?:\/\/[^/]+)\//, '/'), opts);
1304
+ compilers[fullPath] = pathToRegexp.compile(fullPath.replace(/^(https?:\/\/)/, ''), opts);
1296
1305
  }
1297
1306
  var compiler = compilers[fullPath];
1298
- return fullUrlMatches !== null ? "".concat(fullUrlMatches[1].substr(0, -1)).concat(compiler(data)) : compiler(data);
1307
+ return fullUrlMatches !== null ? "".concat(fullUrlMatches[1]).concat(compiler(data)) : compiler(data);
1299
1308
  }
1300
1309
  var useUrlGeneratorPathToRepexp = function useUrlGeneratorPathToRepexp() {
1301
1310
  var _ref2 = useRoutesContext() || {},
package/lib/index.js CHANGED
@@ -879,7 +879,7 @@ var ColorsParser = /*#__PURE__*/function () {
879
879
  }
880
880
 
881
881
  // Convert medias object to path
882
- _createClass(ColorsParser, [{
882
+ return _createClass(ColorsParser, [{
883
883
  key: "parse",
884
884
  value: function parse(story) {
885
885
  var _this = this;
@@ -998,7 +998,6 @@ var ColorsParser = /*#__PURE__*/function () {
998
998
  });
999
999
  }
1000
1000
  }]);
1001
- return ColorsParser;
1002
1001
  }();
1003
1002
  var ColorsParser$1 = ColorsParser;
1004
1003
 
@@ -1014,7 +1013,6 @@ var getComponentFromName = function getComponentFromName() {
1014
1013
  };
1015
1014
 
1016
1015
  var ComponentsManager = /*#__PURE__*/function (_EventEmitter) {
1017
- _inherits(ComponentsManager, _EventEmitter);
1018
1016
  function ComponentsManager() {
1019
1017
  var _this;
1020
1018
  var components = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -1023,7 +1021,8 @@ var ComponentsManager = /*#__PURE__*/function (_EventEmitter) {
1023
1021
  _this.components = components;
1024
1022
  return _this;
1025
1023
  }
1026
- _createClass(ComponentsManager, [{
1024
+ _inherits(ComponentsManager, _EventEmitter);
1025
+ return _createClass(ComponentsManager, [{
1027
1026
  key: "addComponent",
1028
1027
  value: function addComponent(name, component) {
1029
1028
  var namespace = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;
@@ -1083,12 +1082,10 @@ var ComponentsManager = /*#__PURE__*/function (_EventEmitter) {
1083
1082
  return this.components !== null && typeof this.components[namespace !== null ? "".concat(namespace, ".").concat(name) : name] !== 'undefined';
1084
1083
  }
1085
1084
  }]);
1086
- return ComponentsManager;
1087
1085
  }(EventEmitter);
1088
1086
  var ComponentsManager$1 = ComponentsManager;
1089
1087
 
1090
1088
  var DefinitionsManager = /*#__PURE__*/function (_EventEmitter) {
1091
- _inherits(DefinitionsManager, _EventEmitter);
1092
1089
  function DefinitionsManager() {
1093
1090
  var _this;
1094
1091
  var definitions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
@@ -1097,7 +1094,8 @@ var DefinitionsManager = /*#__PURE__*/function (_EventEmitter) {
1097
1094
  _this.definitions = definitions || [];
1098
1095
  return _this;
1099
1096
  }
1100
- _createClass(DefinitionsManager, [{
1097
+ _inherits(DefinitionsManager, _EventEmitter);
1098
+ return _createClass(DefinitionsManager, [{
1101
1099
  key: "addDefinition",
1102
1100
  value: function addDefinition(definition) {
1103
1101
  this.addDefinitions(isArray(definition) ? definition : [definition]);
@@ -1163,12 +1161,10 @@ var DefinitionsManager = /*#__PURE__*/function (_EventEmitter) {
1163
1161
  }, {});
1164
1162
  }
1165
1163
  }]);
1166
- return DefinitionsManager;
1167
1164
  }(EventEmitter);
1168
1165
  var DefinitionsManager$1 = DefinitionsManager;
1169
1166
 
1170
1167
  var EventsManager = /*#__PURE__*/function (_EventEmitter) {
1171
- _inherits(EventsManager, _EventEmitter);
1172
1168
  function EventsManager(element) {
1173
1169
  var _this;
1174
1170
  _classCallCheck(this, EventsManager);
@@ -1178,7 +1174,8 @@ var EventsManager = /*#__PURE__*/function (_EventEmitter) {
1178
1174
  _this.listeners = {};
1179
1175
  return _this;
1180
1176
  }
1181
- _createClass(EventsManager, [{
1177
+ _inherits(EventsManager, _EventEmitter);
1178
+ return _createClass(EventsManager, [{
1182
1179
  key: "subscribe",
1183
1180
  value: function subscribe(event, callback) {
1184
1181
  this.on(event, callback);
@@ -1225,17 +1222,16 @@ var EventsManager = /*#__PURE__*/function (_EventEmitter) {
1225
1222
  this.element.removeEventListener(event, this.listeners[event]);
1226
1223
  }
1227
1224
  }]);
1228
- return EventsManager;
1229
1225
  }(EventEmitter);
1230
1226
  var EventsManager$1 = EventsManager;
1231
1227
 
1232
1228
  var FieldsManager = /*#__PURE__*/function (_DefinitionsManager) {
1233
- _inherits(FieldsManager, _DefinitionsManager);
1234
1229
  function FieldsManager() {
1235
1230
  _classCallCheck(this, FieldsManager);
1236
1231
  return _callSuper(this, FieldsManager, arguments);
1237
1232
  }
1238
- _createClass(FieldsManager, [{
1233
+ _inherits(FieldsManager, _DefinitionsManager);
1234
+ return _createClass(FieldsManager, [{
1239
1235
  key: "filter",
1240
1236
  value: function filter(_filter) {
1241
1237
  return new FieldsManager(this.definitions.filter(_filter));
@@ -1243,7 +1239,6 @@ var FieldsManager = /*#__PURE__*/function (_DefinitionsManager) {
1243
1239
  // return this;
1244
1240
  }
1245
1241
  }]);
1246
- return FieldsManager;
1247
1242
  }(DefinitionsManager$1);
1248
1243
  var FieldsManager$1 = FieldsManager;
1249
1244
 
@@ -1261,7 +1256,7 @@ var MediasParser = /*#__PURE__*/function () {
1261
1256
  this.fieldsPatternCache = fieldsPattern || {};
1262
1257
  this.parsedThemesCache = {};
1263
1258
  }
1264
- _createClass(MediasParser, [{
1259
+ return _createClass(MediasParser, [{
1265
1260
  key: "getParsedStoryTheme",
1266
1261
  value: function getParsedStoryTheme(storyId, theme) {
1267
1262
  if (typeof this.parsedThemesCache[storyId] === 'undefined') {
@@ -1518,12 +1513,10 @@ var MediasParser = /*#__PURE__*/function () {
1518
1513
  return isArray(obj) ? _toConsumableArray(obj.keys()) : Object.keys(obj);
1519
1514
  }
1520
1515
  }]);
1521
- return MediasParser;
1522
1516
  }();
1523
1517
  var MediasParser$1 = MediasParser;
1524
1518
 
1525
1519
  var ScreensManager = /*#__PURE__*/function (_DefinitionsManager) {
1526
- _inherits(ScreensManager, _DefinitionsManager);
1527
1520
  function ScreensManager() {
1528
1521
  var _this;
1529
1522
  var definitions = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];
@@ -1532,7 +1525,8 @@ var ScreensManager = /*#__PURE__*/function (_DefinitionsManager) {
1532
1525
  _this.fieldsPattern = null;
1533
1526
  return _this;
1534
1527
  }
1535
- _createClass(ScreensManager, [{
1528
+ _inherits(ScreensManager, _DefinitionsManager);
1529
+ return _createClass(ScreensManager, [{
1536
1530
  key: "getFields",
1537
1531
  value: function getFields(id) {
1538
1532
  var _ref = this.getDefinition(id) || {},
@@ -1575,7 +1569,6 @@ var ScreensManager = /*#__PURE__*/function (_DefinitionsManager) {
1575
1569
  return this.addDefinitions(manager.getDefinitions());
1576
1570
  }
1577
1571
  }]);
1578
- return ScreensManager;
1579
1572
  }(DefinitionsManager$1);
1580
1573
  var ScreensManager$1 = ScreensManager;
1581
1574
 
@@ -1591,7 +1584,7 @@ var FontsParser = /*#__PURE__*/function () {
1591
1584
  this.screensManager = screensManager;
1592
1585
  this.fieldsPatternCache = fieldsPattern || {};
1593
1586
  }
1594
- _createClass(FontsParser, [{
1587
+ return _createClass(FontsParser, [{
1595
1588
  key: "getFieldsPatternByScreen",
1596
1589
  value: function getFieldsPatternByScreen(type) {
1597
1590
  if (typeof this.fieldsPatternCache[type] === 'undefined') {
@@ -1704,7 +1697,6 @@ var FontsParser = /*#__PURE__*/function () {
1704
1697
  }, []);
1705
1698
  }
1706
1699
  }]);
1707
- return FontsParser;
1708
1700
  }();
1709
1701
  var FontsParser$1 = FontsParser;
1710
1702
 
@@ -1718,7 +1710,7 @@ var MigrationsParser = /*#__PURE__*/function () {
1718
1710
  }
1719
1711
 
1720
1712
  // eslint-disable-next-line class-methods-use-this
1721
- _createClass(MigrationsParser, [{
1713
+ return _createClass(MigrationsParser, [{
1722
1714
  key: "parse",
1723
1715
  value: function parse(story) {
1724
1716
  if (story === null) {
@@ -1767,7 +1759,6 @@ var MigrationsParser = /*#__PURE__*/function () {
1767
1759
  });
1768
1760
  }
1769
1761
  }]);
1770
- return MigrationsParser;
1771
1762
  }();
1772
1763
 
1773
1764
  var _excluded$1 = ["textStyle", "color", "boxStyle"];
@@ -1779,7 +1770,7 @@ var ThemeParser = /*#__PURE__*/function () {
1779
1770
  this.definitionCache = {};
1780
1771
  this.fieldsCache = {};
1781
1772
  }
1782
- _createClass(ThemeParser, [{
1773
+ return _createClass(ThemeParser, [{
1783
1774
  key: "getDefinitionByScreen",
1784
1775
  value: function getDefinitionByScreen(type, themeComponents) {
1785
1776
  if (typeof this.definitionCache[type] === 'undefined') {
@@ -2121,7 +2112,6 @@ var ThemeParser = /*#__PURE__*/function () {
2121
2112
  return initialValue;
2122
2113
  }
2123
2114
  }]);
2124
- return ThemeParser;
2125
2115
  }();
2126
2116
  var ThemeParser$1 = ThemeParser;
2127
2117
 
@@ -2153,7 +2143,7 @@ var StoryParser = /*#__PURE__*/function () {
2153
2143
  screensManager: screensManager
2154
2144
  });
2155
2145
  }
2156
- _createClass(StoryParser, [{
2146
+ return _createClass(StoryParser, [{
2157
2147
  key: "parse",
2158
2148
  value: function parse(story) {
2159
2149
  var _this = this;
@@ -2186,14 +2176,12 @@ var StoryParser = /*#__PURE__*/function () {
2186
2176
  }, story);
2187
2177
  }
2188
2178
  }]);
2189
- return StoryParser;
2190
2179
  }();
2191
2180
  var StoryParser$1 = StoryParser;
2192
2181
 
2193
2182
  var _excluded = ["value"],
2194
2183
  _excluded2 = ["value", "currentTime"];
2195
2184
  var Tracking = /*#__PURE__*/function (_BaseTracking) {
2196
- _inherits(Tracking, _BaseTracking);
2197
2185
  function Tracking() {
2198
2186
  var _this;
2199
2187
  var opts = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
@@ -2208,7 +2196,8 @@ var Tracking = /*#__PURE__*/function (_BaseTracking) {
2208
2196
  }
2209
2197
  return _this;
2210
2198
  }
2211
- _createClass(Tracking, [{
2199
+ _inherits(Tracking, _BaseTracking);
2200
+ return _createClass(Tracking, [{
2212
2201
  key: "setVariables",
2213
2202
  value: function setVariables(variables) {
2214
2203
  this.variables = variables;
@@ -2304,7 +2293,6 @@ var Tracking = /*#__PURE__*/function (_BaseTracking) {
2304
2293
  this.push(data);
2305
2294
  }
2306
2295
  }]);
2307
- return Tracking;
2308
2296
  }(tracking.Tracking);
2309
2297
  var Tracking$1 = Tracking;
2310
2298
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/core",
3
- "version": "0.3.491",
3
+ "version": "0.3.503",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "keywords": [
@@ -155,5 +155,5 @@
155
155
  "access": "public",
156
156
  "registry": "https://registry.npmjs.org/"
157
157
  },
158
- "gitHead": "d4af8a992fad6d8d50e41e347a4b92e6e025b984"
158
+ "gitHead": "50e91d4d3f655cd4fbe8a9fc1c3dec54f3fc63ca"
159
159
  }