@micromag/core 0.3.793 → 0.3.796

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/contexts.js CHANGED
@@ -134,13 +134,13 @@ var useElementComponent = function useElementComponent(name) {
134
134
  /**
135
135
  * Provider
136
136
  */
137
- var propTypes$j = {
137
+ var propTypes$k = {
138
138
  children: PropTypes.node.isRequired,
139
139
  namespace: PropTypes.string,
140
140
  manager: PropTypes.instanceOf(ComponentsManager),
141
141
  components: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.object, PropTypes.func]))
142
142
  };
143
- var defaultProps$j = {
143
+ var defaultProps$k = {
144
144
  namespace: null,
145
145
  components: {},
146
146
  manager: null
@@ -158,8 +158,8 @@ var ComponentsProvider = function ComponentsProvider(_ref) {
158
158
  value: finalManager
159
159
  }, children);
160
160
  };
161
- ComponentsProvider.propTypes = propTypes$j;
162
- ComponentsProvider.defaultProps = defaultProps$j;
161
+ ComponentsProvider.propTypes = propTypes$k;
162
+ ComponentsProvider.defaultProps = defaultProps$k;
163
163
 
164
164
  var messages = defineMessages({
165
165
  functionality_title: {
@@ -305,13 +305,13 @@ var ConsentContext = /*#__PURE__*/React.createContext({
305
305
  var useConsent = function useConsent() {
306
306
  return useContext(ConsentContext);
307
307
  };
308
- var propTypes$i = {
308
+ var propTypes$j = {
309
309
  children: PropTypes.node.isRequired,
310
310
  consent: PropTypes.arrayOf(PropTypes.shape({})),
311
311
  consented: PropTypes.bool,
312
312
  expiration: PropTypes.number
313
313
  };
314
- var defaultProps$i = {
314
+ var defaultProps$j = {
315
315
  consent: ['functionality_storage', 'analytics_storage', 'ad_storage', 'ad_personalization', 'ad_user_data'],
316
316
  consented: null,
317
317
  expiration: 182 // Default expiration in days
@@ -412,8 +412,8 @@ var ConsentProvider = function ConsentProvider(_ref) {
412
412
  value: value
413
413
  }, children);
414
414
  };
415
- ConsentProvider.propTypes = propTypes$i;
416
- ConsentProvider.defaultProps = defaultProps$i;
415
+ ConsentProvider.propTypes = propTypes$j;
416
+ ConsentProvider.defaultProps = defaultProps$j;
417
417
 
418
418
  var FieldsContext = /*#__PURE__*/React.createContext(null);
419
419
  var useFieldsManager = function useFieldsManager() {
@@ -423,12 +423,12 @@ var useFieldDefinition = function useFieldDefinition(id) {
423
423
  var manager = useFieldsManager();
424
424
  return manager.getDefinition(id);
425
425
  };
426
- var propTypes$h = {
426
+ var propTypes$i = {
427
427
  fields: PropTypes$1.fieldDefinitions,
428
428
  manager: PropTypes.instanceOf(FieldsManager),
429
429
  children: PropTypes.node.isRequired
430
430
  };
431
- var defaultProps$h = {
431
+ var defaultProps$i = {
432
432
  fields: null,
433
433
  manager: null
434
434
  };
@@ -458,21 +458,21 @@ var FieldsProvider = function FieldsProvider(_ref) {
458
458
  components: components
459
459
  }, children));
460
460
  };
461
- FieldsProvider.propTypes = propTypes$h;
462
- FieldsProvider.defaultProps = defaultProps$h;
461
+ FieldsProvider.propTypes = propTypes$i;
462
+ FieldsProvider.defaultProps = defaultProps$i;
463
463
 
464
464
  var ScreensContext = /*#__PURE__*/React.createContext(new ScreensManager());
465
465
  var useScreensManager = function useScreensManager() {
466
466
  return useContext(ScreensContext);
467
467
  };
468
- var propTypes$g = {
468
+ var propTypes$h = {
469
469
  screens: PropTypes$1.screenDefinitions,
470
470
  namespaces: PropTypes.arrayOf(PropTypes.string),
471
471
  filterNamespaces: PropTypes.bool,
472
472
  manager: PropTypes.instanceOf(ScreensManager),
473
473
  children: PropTypes.node.isRequired
474
474
  };
475
- var defaultProps$g = {
475
+ var defaultProps$h = {
476
476
  screens: null,
477
477
  namespaces: null,
478
478
  filterNamespaces: false,
@@ -524,8 +524,8 @@ var ScreensProvider = function ScreensProvider(_ref) {
524
524
  components: components
525
525
  }, children));
526
526
  };
527
- ScreensProvider.propTypes = propTypes$g;
528
- ScreensProvider.defaultProps = defaultProps$g;
527
+ ScreensProvider.propTypes = propTypes$h;
528
+ ScreensProvider.defaultProps = defaultProps$h;
529
529
 
530
530
  var StoryContext = /*#__PURE__*/React.createContext(null);
531
531
  var useStoryContext = function useStoryContext() {
@@ -535,11 +535,11 @@ var useStory = function useStory() {
535
535
  var story = useStoryContext();
536
536
  return story;
537
537
  };
538
- var propTypes$f = {
538
+ var propTypes$g = {
539
539
  story: PropTypes.oneOfType([PropTypes$1.story, PropTypes$1.theme]),
540
540
  children: PropTypes.node.isRequired
541
541
  };
542
- var defaultProps$f = {
542
+ var defaultProps$g = {
543
543
  story: null
544
544
  };
545
545
  var StoryProvider = function StoryProvider(_ref) {
@@ -549,8 +549,8 @@ var StoryProvider = function StoryProvider(_ref) {
549
549
  value: story
550
550
  }, children);
551
551
  };
552
- StoryProvider.propTypes = propTypes$f;
553
- StoryProvider.defaultProps = defaultProps$f;
552
+ StoryProvider.propTypes = propTypes$g;
553
+ StoryProvider.defaultProps = defaultProps$g;
554
554
 
555
555
  var EditorContext = /*#__PURE__*/React.createContext(null);
556
556
  var useEditor = function useEditor() {
@@ -564,10 +564,10 @@ var useGetColors = function useGetColors() {
564
564
  } : _ref$getColors;
565
565
  return getColors;
566
566
  };
567
- var propTypes$e = {
567
+ var propTypes$f = {
568
568
  children: PropTypes.node.isRequired
569
569
  };
570
- var defaultProps$e = {};
570
+ var defaultProps$f = {};
571
571
  var EditorProvider = function EditorProvider(_ref2) {
572
572
  var children = _ref2.children;
573
573
  var story = useStory();
@@ -593,20 +593,20 @@ var EditorProvider = function EditorProvider(_ref2) {
593
593
  }
594
594
  }, children);
595
595
  };
596
- EditorProvider.propTypes = propTypes$e;
597
- EditorProvider.defaultProps = defaultProps$e;
596
+ EditorProvider.propTypes = propTypes$f;
597
+ EditorProvider.defaultProps = defaultProps$f;
598
598
 
599
599
  /* eslint-disable react/jsx-props-no-spreading */
600
600
  var FieldsValueContext = /*#__PURE__*/React.createContext(null);
601
601
  var useFieldsValue = function useFieldsValue() {
602
602
  return useContext(FieldsValueContext);
603
603
  };
604
- var propTypes$d = {
604
+ var propTypes$e = {
605
605
  value: PropTypes.any,
606
606
  // eslint-disable-line react/forbid-prop-types
607
607
  children: PropTypes.node.isRequired
608
608
  };
609
- var defaultProps$d = {
609
+ var defaultProps$e = {
610
610
  value: null
611
611
  };
612
612
  var FieldsValueContextProvider = function FieldsValueContextProvider(_ref) {
@@ -616,20 +616,20 @@ var FieldsValueContextProvider = function FieldsValueContextProvider(_ref) {
616
616
  value: value
617
617
  }, children);
618
618
  };
619
- FieldsValueContextProvider.propTypes = propTypes$d;
620
- FieldsValueContextProvider.defaultProps = defaultProps$d;
619
+ FieldsValueContextProvider.propTypes = propTypes$e;
620
+ FieldsValueContextProvider.defaultProps = defaultProps$e;
621
621
 
622
622
  /* eslint-disable react/jsx-props-no-spreading */
623
623
  var FieldContext = /*#__PURE__*/React.createContext(null);
624
624
  var useFieldContext = function useFieldContext() {
625
625
  return useContext(FieldContext);
626
626
  };
627
- var propTypes$c = {
627
+ var propTypes$d = {
628
628
  context: PropTypes.any,
629
629
  // eslint-disable-line react/forbid-prop-types
630
630
  children: PropTypes.node.isRequired
631
631
  };
632
- var defaultProps$c = {
632
+ var defaultProps$d = {
633
633
  context: null
634
634
  };
635
635
  var FieldContextProvider = function FieldContextProvider(_ref) {
@@ -639,8 +639,42 @@ var FieldContextProvider = function FieldContextProvider(_ref) {
639
639
  value: context
640
640
  }, children);
641
641
  };
642
- FieldContextProvider.propTypes = propTypes$c;
643
- FieldContextProvider.defaultProps = defaultProps$c;
642
+ FieldContextProvider.propTypes = propTypes$d;
643
+ FieldContextProvider.defaultProps = defaultProps$d;
644
+
645
+ var SettingsContext = /*#__PURE__*/React.createContext({});
646
+ var useSettings = function useSettings() {
647
+ return useContext(SettingsContext);
648
+ };
649
+ var useSetting = function useSetting(key) {
650
+ var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
651
+ var settings = useSettings();
652
+ var _ref = settings || {},
653
+ _ref$key = _ref[key],
654
+ value = _ref$key === void 0 ? defaultValue : _ref$key;
655
+ return value;
656
+ };
657
+ var propTypes$c = {
658
+ children: PropTypes.node.isRequired,
659
+ // eslint-disable-next-line react/forbid-prop-types
660
+ settings: PropTypes.object
661
+ };
662
+ var defaultProps$c = {
663
+ settings: null
664
+ };
665
+ var SettingsProvider = function SettingsProvider(_ref2) {
666
+ var children = _ref2.children,
667
+ settings = _ref2.settings;
668
+ var previousSettings = useSettings();
669
+ var value = useMemo(function () {
670
+ return _objectSpread(_objectSpread({}, previousSettings), settings);
671
+ }, [settings, previousSettings]);
672
+ return /*#__PURE__*/React.createElement(SettingsContext.Provider, {
673
+ value: value
674
+ }, children);
675
+ };
676
+ SettingsProvider.propTypes = propTypes$c;
677
+ SettingsProvider.defaultProps = defaultProps$c;
644
678
 
645
679
  /* eslint-disable react/jsx-props-no-spreading */
646
680
  var GoogleKeysContext = /*#__PURE__*/React.createContext({
@@ -661,11 +695,12 @@ var GoogleKeysProvider = function GoogleKeysProvider(_ref) {
661
695
  apiKey = _ref.apiKey;
662
696
  var _useGoogleKeys = useGoogleKeys(),
663
697
  previousApiKey = _useGoogleKeys.apiKey;
698
+ var settingApiKey = useSetting('googleApiKey');
664
699
  var value = useMemo(function () {
665
700
  return {
666
- apiKey: apiKey || previousApiKey
701
+ apiKey: apiKey || previousApiKey || settingApiKey
667
702
  };
668
- }, [apiKey, previousApiKey]);
703
+ }, [apiKey, previousApiKey, settingApiKey]);
669
704
  return /*#__PURE__*/React.createElement(GoogleKeysContext.Provider, {
670
705
  value: value
671
706
  }, children);
@@ -1714,4 +1749,4 @@ var VisitorProvider = function VisitorProvider(_ref) {
1714
1749
  VisitorProvider.propTypes = propTypes;
1715
1750
  VisitorProvider.defaultProps = defaultProps;
1716
1751
 
1717
- export { ComponentsContext, ComponentsProvider, ConsentContext, ConsentProvider, ELEMENTS_NAMESPACE, EditorContext, EditorProvider, FIELDS_NAMESPACE, FORMS_NAMESPACE, FieldContext, FieldContextProvider, FieldsContext, FieldsProvider, FieldsValueContext, FieldsValueContextProvider, FontsContext, FontsProvider, GoogleApiClientContext, GoogleApiClientProvider, GoogleKeysContext, GoogleKeysProvider, GoogleMapsClientContext, GoogleMapsClientProvider, MODALS_NAMESPACE, ModalsContext, ModalsProvider, PanelsContext, PanelsProvider, PlaybackContext, PlaybackProvider, SCREENS_NAMESPACE, ScreenContext, ScreenProvider, ScreenSizeContext, ScreenSizeProvider, ScreensContext, ScreensProvider, StoryContext, StoryProvider, TrackingProvider, ViewerContext, ViewerProvider, VisitorContext, VisitorProvider, useComponent, useComponents, useComponentsManager, useConsent, useEditor, useElementComponent, useElementsComponents, useElementsComponentsManager, useFieldComponent, useFieldContext, useFieldDefinition, useFieldsComponents, useFieldsComponentsManager, useFieldsManager, useFieldsValue, useFonts, useFormComponent, useFormsComponents, useFormsComponentsManager, useGetColors, useGoogleApiClient, useGoogleFonts, useGoogleKeys, useGoogleMapsClient, useModalComponent, useModals, useModalsComponents, useModalsComponentsManager, usePanels, usePlaybackContext, usePlaybackMediaRef, useRouteBack, useRoutePush, useScreen, useScreenComponent, useScreenData, useScreenDefinition, useScreenRenderContext, useScreenSize, useScreenState, useScreensComponents, useScreensComponentsManager, useScreensManager, useSetVisitor, useStory, useStoryContext, useTracking, useViewerContainer, useViewerContext, useViewerEvents, useViewerInteraction, useViewerNavigation, useViewerSize, useViewerWebView, useVisitor, useVisitorContext, withGoogleApiClient, withGoogleMapsClient, withModals, withPanels };
1752
+ export { ComponentsContext, ComponentsProvider, ConsentContext, ConsentProvider, ELEMENTS_NAMESPACE, EditorContext, EditorProvider, FIELDS_NAMESPACE, FORMS_NAMESPACE, FieldContext, FieldContextProvider, FieldsContext, FieldsProvider, FieldsValueContext, FieldsValueContextProvider, FontsContext, FontsProvider, GoogleApiClientContext, GoogleApiClientProvider, GoogleKeysContext, GoogleKeysProvider, GoogleMapsClientContext, GoogleMapsClientProvider, MODALS_NAMESPACE, ModalsContext, ModalsProvider, PanelsContext, PanelsProvider, PlaybackContext, PlaybackProvider, SCREENS_NAMESPACE, ScreenContext, ScreenProvider, ScreenSizeContext, ScreenSizeProvider, ScreensContext, ScreensProvider, SettingsContext, SettingsProvider, StoryContext, StoryProvider, TrackingProvider, ViewerContext, ViewerProvider, VisitorContext, VisitorProvider, useComponent, useComponents, useComponentsManager, useConsent, useEditor, useElementComponent, useElementsComponents, useElementsComponentsManager, useFieldComponent, useFieldContext, useFieldDefinition, useFieldsComponents, useFieldsComponentsManager, useFieldsManager, useFieldsValue, useFonts, useFormComponent, useFormsComponents, useFormsComponentsManager, useGetColors, useGoogleApiClient, useGoogleFonts, useGoogleKeys, useGoogleMapsClient, useModalComponent, useModals, useModalsComponents, useModalsComponentsManager, usePanels, usePlaybackContext, usePlaybackMediaRef, useRouteBack, useRoutePush, useScreen, useScreenComponent, useScreenData, useScreenDefinition, useScreenRenderContext, useScreenSize, useScreenState, useScreensComponents, useScreensComponentsManager, useScreensManager, useSetVisitor, useSetting, useSettings, useStory, useStoryContext, useTracking, useViewerContainer, useViewerContext, useViewerEvents, useViewerInteraction, useViewerNavigation, useViewerSize, useViewerWebView, useVisitor, useVisitorContext, withGoogleApiClient, withGoogleMapsClient, withModals, withPanels };
package/es/utils.js CHANGED
@@ -980,13 +980,14 @@ var getStyleFromMargin = function getStyleFromMargin(value) {
980
980
  } : null);
981
981
  };
982
982
 
983
- var possibleMimes = ['video/webm', 'video/mp4', 'video/ogg', 'application/vnd.apple.mpegurl'];
983
+ // const possibleMimes = ['video/webm', 'video/mp4', 'video/ogg', 'application/vnd.apple.mpegurl'];
984
+ var possibleMimes = ['video/mp4'];
984
985
  var supportedMimes = null;
985
986
  function getVideoSupportedMimes() {
986
987
  var mimes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : possibleMimes;
987
988
  if (supportedMimes === null) {
988
989
  var video = document.createElement('video');
989
- supportedMimes = mimes.filter(function (mime) {
990
+ supportedMimes = (mimes || possibleMimes).filter(function (mime) {
990
991
  return video.canPlayType(mime) !== '';
991
992
  });
992
993
  }
package/lib/contexts.js CHANGED
@@ -134,13 +134,13 @@ var useElementComponent = function useElementComponent(name) {
134
134
  /**
135
135
  * Provider
136
136
  */
137
- var propTypes$j = {
137
+ var propTypes$k = {
138
138
  children: PropTypes.node.isRequired,
139
139
  namespace: PropTypes.string,
140
140
  manager: PropTypes.instanceOf(core.ComponentsManager),
141
141
  components: PropTypes.objectOf(PropTypes.oneOfType([PropTypes.object, PropTypes.func]))
142
142
  };
143
- var defaultProps$j = {
143
+ var defaultProps$k = {
144
144
  namespace: null,
145
145
  components: {},
146
146
  manager: null
@@ -158,8 +158,8 @@ var ComponentsProvider = function ComponentsProvider(_ref) {
158
158
  value: finalManager
159
159
  }, children);
160
160
  };
161
- ComponentsProvider.propTypes = propTypes$j;
162
- ComponentsProvider.defaultProps = defaultProps$j;
161
+ ComponentsProvider.propTypes = propTypes$k;
162
+ ComponentsProvider.defaultProps = defaultProps$k;
163
163
 
164
164
  var messages = reactIntl.defineMessages({
165
165
  functionality_title: {
@@ -305,13 +305,13 @@ var ConsentContext = /*#__PURE__*/React.createContext({
305
305
  var useConsent = function useConsent() {
306
306
  return React.useContext(ConsentContext);
307
307
  };
308
- var propTypes$i = {
308
+ var propTypes$j = {
309
309
  children: PropTypes.node.isRequired,
310
310
  consent: PropTypes.arrayOf(PropTypes.shape({})),
311
311
  consented: PropTypes.bool,
312
312
  expiration: PropTypes.number
313
313
  };
314
- var defaultProps$i = {
314
+ var defaultProps$j = {
315
315
  consent: ['functionality_storage', 'analytics_storage', 'ad_storage', 'ad_personalization', 'ad_user_data'],
316
316
  consented: null,
317
317
  expiration: 182 // Default expiration in days
@@ -412,8 +412,8 @@ var ConsentProvider = function ConsentProvider(_ref) {
412
412
  value: value
413
413
  }, children);
414
414
  };
415
- ConsentProvider.propTypes = propTypes$i;
416
- ConsentProvider.defaultProps = defaultProps$i;
415
+ ConsentProvider.propTypes = propTypes$j;
416
+ ConsentProvider.defaultProps = defaultProps$j;
417
417
 
418
418
  var FieldsContext = /*#__PURE__*/React.createContext(null);
419
419
  var useFieldsManager = function useFieldsManager() {
@@ -423,12 +423,12 @@ var useFieldDefinition = function useFieldDefinition(id) {
423
423
  var manager = useFieldsManager();
424
424
  return manager.getDefinition(id);
425
425
  };
426
- var propTypes$h = {
426
+ var propTypes$i = {
427
427
  fields: core.PropTypes.fieldDefinitions,
428
428
  manager: PropTypes.instanceOf(core.FieldsManager),
429
429
  children: PropTypes.node.isRequired
430
430
  };
431
- var defaultProps$h = {
431
+ var defaultProps$i = {
432
432
  fields: null,
433
433
  manager: null
434
434
  };
@@ -458,21 +458,21 @@ var FieldsProvider = function FieldsProvider(_ref) {
458
458
  components: components
459
459
  }, children));
460
460
  };
461
- FieldsProvider.propTypes = propTypes$h;
462
- FieldsProvider.defaultProps = defaultProps$h;
461
+ FieldsProvider.propTypes = propTypes$i;
462
+ FieldsProvider.defaultProps = defaultProps$i;
463
463
 
464
464
  var ScreensContext = /*#__PURE__*/React.createContext(new core.ScreensManager());
465
465
  var useScreensManager = function useScreensManager() {
466
466
  return React.useContext(ScreensContext);
467
467
  };
468
- var propTypes$g = {
468
+ var propTypes$h = {
469
469
  screens: core.PropTypes.screenDefinitions,
470
470
  namespaces: PropTypes.arrayOf(PropTypes.string),
471
471
  filterNamespaces: PropTypes.bool,
472
472
  manager: PropTypes.instanceOf(core.ScreensManager),
473
473
  children: PropTypes.node.isRequired
474
474
  };
475
- var defaultProps$g = {
475
+ var defaultProps$h = {
476
476
  screens: null,
477
477
  namespaces: null,
478
478
  filterNamespaces: false,
@@ -524,8 +524,8 @@ var ScreensProvider = function ScreensProvider(_ref) {
524
524
  components: components
525
525
  }, children));
526
526
  };
527
- ScreensProvider.propTypes = propTypes$g;
528
- ScreensProvider.defaultProps = defaultProps$g;
527
+ ScreensProvider.propTypes = propTypes$h;
528
+ ScreensProvider.defaultProps = defaultProps$h;
529
529
 
530
530
  var StoryContext = /*#__PURE__*/React.createContext(null);
531
531
  var useStoryContext = function useStoryContext() {
@@ -535,11 +535,11 @@ var useStory = function useStory() {
535
535
  var story = useStoryContext();
536
536
  return story;
537
537
  };
538
- var propTypes$f = {
538
+ var propTypes$g = {
539
539
  story: PropTypes.oneOfType([core.PropTypes.story, core.PropTypes.theme]),
540
540
  children: PropTypes.node.isRequired
541
541
  };
542
- var defaultProps$f = {
542
+ var defaultProps$g = {
543
543
  story: null
544
544
  };
545
545
  var StoryProvider = function StoryProvider(_ref) {
@@ -549,8 +549,8 @@ var StoryProvider = function StoryProvider(_ref) {
549
549
  value: story
550
550
  }, children);
551
551
  };
552
- StoryProvider.propTypes = propTypes$f;
553
- StoryProvider.defaultProps = defaultProps$f;
552
+ StoryProvider.propTypes = propTypes$g;
553
+ StoryProvider.defaultProps = defaultProps$g;
554
554
 
555
555
  var EditorContext = /*#__PURE__*/React.createContext(null);
556
556
  var useEditor = function useEditor() {
@@ -564,10 +564,10 @@ var useGetColors = function useGetColors() {
564
564
  } : _ref$getColors;
565
565
  return getColors;
566
566
  };
567
- var propTypes$e = {
567
+ var propTypes$f = {
568
568
  children: PropTypes.node.isRequired
569
569
  };
570
- var defaultProps$e = {};
570
+ var defaultProps$f = {};
571
571
  var EditorProvider = function EditorProvider(_ref2) {
572
572
  var children = _ref2.children;
573
573
  var story = useStory();
@@ -593,20 +593,20 @@ var EditorProvider = function EditorProvider(_ref2) {
593
593
  }
594
594
  }, children);
595
595
  };
596
- EditorProvider.propTypes = propTypes$e;
597
- EditorProvider.defaultProps = defaultProps$e;
596
+ EditorProvider.propTypes = propTypes$f;
597
+ EditorProvider.defaultProps = defaultProps$f;
598
598
 
599
599
  /* eslint-disable react/jsx-props-no-spreading */
600
600
  var FieldsValueContext = /*#__PURE__*/React.createContext(null);
601
601
  var useFieldsValue = function useFieldsValue() {
602
602
  return React.useContext(FieldsValueContext);
603
603
  };
604
- var propTypes$d = {
604
+ var propTypes$e = {
605
605
  value: PropTypes.any,
606
606
  // eslint-disable-line react/forbid-prop-types
607
607
  children: PropTypes.node.isRequired
608
608
  };
609
- var defaultProps$d = {
609
+ var defaultProps$e = {
610
610
  value: null
611
611
  };
612
612
  var FieldsValueContextProvider = function FieldsValueContextProvider(_ref) {
@@ -616,20 +616,20 @@ var FieldsValueContextProvider = function FieldsValueContextProvider(_ref) {
616
616
  value: value
617
617
  }, children);
618
618
  };
619
- FieldsValueContextProvider.propTypes = propTypes$d;
620
- FieldsValueContextProvider.defaultProps = defaultProps$d;
619
+ FieldsValueContextProvider.propTypes = propTypes$e;
620
+ FieldsValueContextProvider.defaultProps = defaultProps$e;
621
621
 
622
622
  /* eslint-disable react/jsx-props-no-spreading */
623
623
  var FieldContext = /*#__PURE__*/React.createContext(null);
624
624
  var useFieldContext = function useFieldContext() {
625
625
  return React.useContext(FieldContext);
626
626
  };
627
- var propTypes$c = {
627
+ var propTypes$d = {
628
628
  context: PropTypes.any,
629
629
  // eslint-disable-line react/forbid-prop-types
630
630
  children: PropTypes.node.isRequired
631
631
  };
632
- var defaultProps$c = {
632
+ var defaultProps$d = {
633
633
  context: null
634
634
  };
635
635
  var FieldContextProvider = function FieldContextProvider(_ref) {
@@ -639,8 +639,42 @@ var FieldContextProvider = function FieldContextProvider(_ref) {
639
639
  value: context
640
640
  }, children);
641
641
  };
642
- FieldContextProvider.propTypes = propTypes$c;
643
- FieldContextProvider.defaultProps = defaultProps$c;
642
+ FieldContextProvider.propTypes = propTypes$d;
643
+ FieldContextProvider.defaultProps = defaultProps$d;
644
+
645
+ var SettingsContext = /*#__PURE__*/React.createContext({});
646
+ var useSettings = function useSettings() {
647
+ return React.useContext(SettingsContext);
648
+ };
649
+ var useSetting = function useSetting(key) {
650
+ var defaultValue = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
651
+ var settings = useSettings();
652
+ var _ref = settings || {},
653
+ _ref$key = _ref[key],
654
+ value = _ref$key === void 0 ? defaultValue : _ref$key;
655
+ return value;
656
+ };
657
+ var propTypes$c = {
658
+ children: PropTypes.node.isRequired,
659
+ // eslint-disable-next-line react/forbid-prop-types
660
+ settings: PropTypes.object
661
+ };
662
+ var defaultProps$c = {
663
+ settings: null
664
+ };
665
+ var SettingsProvider = function SettingsProvider(_ref2) {
666
+ var children = _ref2.children,
667
+ settings = _ref2.settings;
668
+ var previousSettings = useSettings();
669
+ var value = React.useMemo(function () {
670
+ return _objectSpread(_objectSpread({}, previousSettings), settings);
671
+ }, [settings, previousSettings]);
672
+ return /*#__PURE__*/React.createElement(SettingsContext.Provider, {
673
+ value: value
674
+ }, children);
675
+ };
676
+ SettingsProvider.propTypes = propTypes$c;
677
+ SettingsProvider.defaultProps = defaultProps$c;
644
678
 
645
679
  /* eslint-disable react/jsx-props-no-spreading */
646
680
  var GoogleKeysContext = /*#__PURE__*/React.createContext({
@@ -661,11 +695,12 @@ var GoogleKeysProvider = function GoogleKeysProvider(_ref) {
661
695
  apiKey = _ref.apiKey;
662
696
  var _useGoogleKeys = useGoogleKeys(),
663
697
  previousApiKey = _useGoogleKeys.apiKey;
698
+ var settingApiKey = useSetting('googleApiKey');
664
699
  var value = React.useMemo(function () {
665
700
  return {
666
- apiKey: apiKey || previousApiKey
701
+ apiKey: apiKey || previousApiKey || settingApiKey
667
702
  };
668
- }, [apiKey, previousApiKey]);
703
+ }, [apiKey, previousApiKey, settingApiKey]);
669
704
  return /*#__PURE__*/React.createElement(GoogleKeysContext.Provider, {
670
705
  value: value
671
706
  }, children);
@@ -1771,6 +1806,8 @@ exports.ScreenSizeContext = ScreenSizeContext;
1771
1806
  exports.ScreenSizeProvider = ScreenSizeProvider;
1772
1807
  exports.ScreensContext = ScreensContext;
1773
1808
  exports.ScreensProvider = ScreensProvider;
1809
+ exports.SettingsContext = SettingsContext;
1810
+ exports.SettingsProvider = SettingsProvider;
1774
1811
  exports.StoryContext = StoryContext;
1775
1812
  exports.StoryProvider = StoryProvider;
1776
1813
  exports.TrackingProvider = TrackingProvider;
@@ -1822,6 +1859,8 @@ exports.useScreensComponents = useScreensComponents;
1822
1859
  exports.useScreensComponentsManager = useScreensComponentsManager;
1823
1860
  exports.useScreensManager = useScreensManager;
1824
1861
  exports.useSetVisitor = useSetVisitor;
1862
+ exports.useSetting = useSetting;
1863
+ exports.useSettings = useSettings;
1825
1864
  exports.useStory = useStory;
1826
1865
  exports.useStoryContext = useStoryContext;
1827
1866
  exports.useTracking = useTracking;
package/lib/utils.js CHANGED
@@ -981,13 +981,14 @@ var getStyleFromMargin = function getStyleFromMargin(value) {
981
981
  } : null);
982
982
  };
983
983
 
984
- var possibleMimes = ['video/webm', 'video/mp4', 'video/ogg', 'application/vnd.apple.mpegurl'];
984
+ // const possibleMimes = ['video/webm', 'video/mp4', 'video/ogg', 'application/vnd.apple.mpegurl'];
985
+ var possibleMimes = ['video/mp4'];
985
986
  var supportedMimes = null;
986
987
  function getVideoSupportedMimes() {
987
988
  var mimes = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : possibleMimes;
988
989
  if (supportedMimes === null) {
989
990
  var video = document.createElement('video');
990
- supportedMimes = mimes.filter(function (mime) {
991
+ supportedMimes = (mimes || possibleMimes).filter(function (mime) {
991
992
  return video.canPlayType(mime) !== '';
992
993
  });
993
994
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/core",
3
- "version": "0.3.793",
3
+ "version": "0.3.796",
4
4
  "private": false,
5
5
  "description": "",
6
6
  "keywords": [
@@ -167,5 +167,5 @@
167
167
  "access": "public",
168
168
  "registry": "https://registry.npmjs.org/"
169
169
  },
170
- "gitHead": "6b83952493a0bc269e2b581050805b1d17d986e6"
170
+ "gitHead": "d3bf71e5a23e09d0cd26f543fb1327ff7eb27983"
171
171
  }