@micromag/core 0.3.144 → 0.3.147

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 CHANGED
@@ -2999,6 +2999,10 @@ PropTypes$1.shape({
2999
2999
  url: PropTypes$1.string
3000
3000
  })
3001
3001
  });
3002
+ PropTypes$1.shape({
3003
+ id: PropTypes$1.oneOfType([PropTypes$1.string, PropTypes$1.number]),
3004
+ name: PropTypes$1.string
3005
+ });
3002
3006
 
3003
3007
  /* eslint-disable react/no-array-index-key */
3004
3008
  var propTypes$d = {
package/es/contexts.js CHANGED
@@ -134,13 +134,13 @@ var useElementComponent = function useElementComponent(name) {
134
134
  * Provider
135
135
  */
136
136
 
137
- var propTypes$i = {
137
+ var propTypes$j = {
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$i = {
143
+ var defaultProps$j = {
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$i;
162
- ComponentsProvider.defaultProps = defaultProps$i;
161
+ ComponentsProvider.propTypes = propTypes$j;
162
+ ComponentsProvider.defaultProps = defaultProps$j;
163
163
 
164
164
  var FieldsContext = /*#__PURE__*/React.createContext(null);
165
165
  var useFieldsManager = function useFieldsManager() {
@@ -169,12 +169,12 @@ var useFieldDefinition = function useFieldDefinition(id) {
169
169
  var manager = useFieldsManager();
170
170
  return manager.getDefinition(id);
171
171
  };
172
- var propTypes$h = {
172
+ var propTypes$i = {
173
173
  fields: PropTypes$1.fieldDefinitions,
174
174
  manager: PropTypes.instanceOf(FieldsManager),
175
175
  children: PropTypes.node.isRequired
176
176
  };
177
- var defaultProps$h = {
177
+ var defaultProps$i = {
178
178
  fields: null,
179
179
  manager: null
180
180
  };
@@ -204,21 +204,21 @@ var FieldsProvider = function FieldsProvider(_ref) {
204
204
  components: components
205
205
  }, children));
206
206
  };
207
- FieldsProvider.propTypes = propTypes$h;
208
- FieldsProvider.defaultProps = defaultProps$h;
207
+ FieldsProvider.propTypes = propTypes$i;
208
+ FieldsProvider.defaultProps = defaultProps$i;
209
209
 
210
210
  var ScreensContext = /*#__PURE__*/React.createContext(new ScreensManager());
211
211
  var useScreensManager = function useScreensManager() {
212
212
  return useContext(ScreensContext);
213
213
  };
214
- var propTypes$g = {
214
+ var propTypes$h = {
215
215
  screens: PropTypes$1.screenDefinitions,
216
216
  namespaces: PropTypes.arrayOf(PropTypes.string),
217
217
  filterNamespaces: PropTypes.bool,
218
218
  manager: PropTypes.instanceOf(ScreensManager),
219
219
  children: PropTypes.node.isRequired
220
220
  };
221
- var defaultProps$g = {
221
+ var defaultProps$h = {
222
222
  screens: null,
223
223
  namespaces: null,
224
224
  filterNamespaces: false,
@@ -276,8 +276,8 @@ var ScreensProvider = function ScreensProvider(_ref) {
276
276
  components: components
277
277
  }, children));
278
278
  };
279
- ScreensProvider.propTypes = propTypes$g;
280
- ScreensProvider.defaultProps = defaultProps$g;
279
+ ScreensProvider.propTypes = propTypes$h;
280
+ ScreensProvider.defaultProps = defaultProps$h;
281
281
 
282
282
  var StoryContext = /*#__PURE__*/React.createContext(null);
283
283
  var useStoryContext = function useStoryContext() {
@@ -287,11 +287,11 @@ var useStory = function useStory() {
287
287
  var story = useStoryContext();
288
288
  return story;
289
289
  };
290
- var propTypes$f = {
290
+ var propTypes$g = {
291
291
  story: PropTypes.oneOfType([PropTypes$1.story, PropTypes$1.theme]),
292
292
  children: PropTypes.node.isRequired
293
293
  };
294
- var defaultProps$f = {
294
+ var defaultProps$g = {
295
295
  story: null
296
296
  };
297
297
  var StoryProvider = function StoryProvider(_ref) {
@@ -301,8 +301,8 @@ var StoryProvider = function StoryProvider(_ref) {
301
301
  value: story
302
302
  }, children);
303
303
  };
304
- StoryProvider.propTypes = propTypes$f;
305
- StoryProvider.defaultProps = defaultProps$f;
304
+ StoryProvider.propTypes = propTypes$g;
305
+ StoryProvider.defaultProps = defaultProps$g;
306
306
 
307
307
  var EditorContext = /*#__PURE__*/React.createContext(null);
308
308
  var useEditor = function useEditor() {
@@ -317,10 +317,10 @@ var useGetColors = function useGetColors() {
317
317
 
318
318
  return getColors;
319
319
  };
320
- var propTypes$e = {
320
+ var propTypes$f = {
321
321
  children: PropTypes.node.isRequired
322
322
  };
323
- var defaultProps$e = {};
323
+ var defaultProps$f = {};
324
324
  var EditorProvider = function EditorProvider(_ref2) {
325
325
  var children = _ref2.children;
326
326
  var story = useStory();
@@ -345,20 +345,20 @@ var EditorProvider = function EditorProvider(_ref2) {
345
345
  }
346
346
  }, children);
347
347
  };
348
- EditorProvider.propTypes = propTypes$e;
349
- EditorProvider.defaultProps = defaultProps$e;
348
+ EditorProvider.propTypes = propTypes$f;
349
+ EditorProvider.defaultProps = defaultProps$f;
350
350
 
351
351
  /* eslint-disable react/jsx-props-no-spreading */
352
352
  var FieldContext = /*#__PURE__*/React.createContext(null);
353
353
  var useFieldContext = function useFieldContext() {
354
354
  return useContext(FieldContext);
355
355
  };
356
- var propTypes$d = {
356
+ var propTypes$e = {
357
357
  context: PropTypes.any,
358
358
  // eslint-disable-line react/forbid-prop-types
359
359
  children: PropTypes.node.isRequired
360
360
  };
361
- var defaultProps$d = {
361
+ var defaultProps$e = {
362
362
  context: null
363
363
  };
364
364
  var FieldContextProvider = function FieldContextProvider(_ref) {
@@ -368,8 +368,8 @@ var FieldContextProvider = function FieldContextProvider(_ref) {
368
368
  value: context
369
369
  }, children);
370
370
  };
371
- FieldContextProvider.propTypes = propTypes$d;
372
- FieldContextProvider.defaultProps = defaultProps$d;
371
+ FieldContextProvider.propTypes = propTypes$e;
372
+ FieldContextProvider.defaultProps = defaultProps$e;
373
373
 
374
374
  /* eslint-disable react/jsx-props-no-spreading */
375
375
  var GoogleKeysContext = /*#__PURE__*/React.createContext({
@@ -378,12 +378,12 @@ var GoogleKeysContext = /*#__PURE__*/React.createContext({
378
378
  var useGoogleKeys = function useGoogleKeys() {
379
379
  return useContext(GoogleKeysContext);
380
380
  };
381
- var propTypes$c = {
381
+ var propTypes$d = {
382
382
  children: PropTypes.node.isRequired,
383
383
  apiKey: PropTypes.string // .isRequired,
384
384
 
385
385
  };
386
- var defaultProps$c = {
386
+ var defaultProps$d = {
387
387
  apiKey: null
388
388
  };
389
389
  var GoogleKeysProvider = function GoogleKeysProvider(_ref) {
@@ -402,8 +402,8 @@ var GoogleKeysProvider = function GoogleKeysProvider(_ref) {
402
402
  value: value
403
403
  }, children);
404
404
  };
405
- GoogleKeysProvider.propTypes = propTypes$c;
406
- GoogleKeysProvider.defaultProps = defaultProps$c;
405
+ GoogleKeysProvider.propTypes = propTypes$d;
406
+ GoogleKeysProvider.defaultProps = defaultProps$d;
407
407
 
408
408
  var FontsContext = /*#__PURE__*/React.createContext({
409
409
  systemFonts: null,
@@ -485,12 +485,12 @@ var useFonts = function useFonts() {
485
485
  }, [systemFonts, googleFonts, customFonts]);
486
486
  return fonts;
487
487
  };
488
- var propTypes$b = {
488
+ var propTypes$c = {
489
489
  children: PropTypes.node.isRequired,
490
490
  systemFonts: PropTypes$1.fonts,
491
491
  customFonts: PropTypes$1.fonts
492
492
  };
493
- var defaultProps$b = {
493
+ var defaultProps$c = {
494
494
  systemFonts: ['Arial', 'Courier New', 'Georgia', 'Times New Roman', 'Verdana'],
495
495
  customFonts: null
496
496
  };
@@ -529,8 +529,8 @@ var FontsProvider = function FontsProvider(_ref4) {
529
529
  value: fonts
530
530
  }, children);
531
531
  };
532
- FontsProvider.propTypes = propTypes$b;
533
- FontsProvider.defaultProps = defaultProps$b;
532
+ FontsProvider.propTypes = propTypes$c;
533
+ FontsProvider.defaultProps = defaultProps$c;
534
534
 
535
535
  var GoogleApiClientContext = /*#__PURE__*/React.createContext(null);
536
536
  var useGoogleApiClient = function useGoogleApiClient() {
@@ -556,10 +556,10 @@ var withGoogleApiClient = function withGoogleApiClient(WrappedComponent) {
556
556
  WithGoogleApiClientComponent.displayName = "WithGoogleApiClient(".concat(getDisplayName(WrappedComponent), ")");
557
557
  return WithGoogleApiClientComponent;
558
558
  };
559
- var propTypes$a = {
559
+ var propTypes$b = {
560
560
  children: PropTypes.node.isRequired
561
561
  };
562
- var defaultProps$a = {};
562
+ var defaultProps$b = {};
563
563
  var GoogleApiClientProvider = function GoogleApiClientProvider(_ref2) {
564
564
  var children = _ref2.children;
565
565
 
@@ -586,8 +586,8 @@ var GoogleApiClientProvider = function GoogleApiClientProvider(_ref2) {
586
586
  value: client
587
587
  }, children);
588
588
  };
589
- GoogleApiClientProvider.propTypes = propTypes$a;
590
- GoogleApiClientProvider.defaultProps = defaultProps$a;
589
+ GoogleApiClientProvider.propTypes = propTypes$b;
590
+ GoogleApiClientProvider.defaultProps = defaultProps$b;
591
591
 
592
592
  var GoogleMapsClientContext = /*#__PURE__*/React.createContext(null);
593
593
  var useGoogleMapsClient = function useGoogleMapsClient() {
@@ -613,12 +613,12 @@ var withGoogleMapsClient = function withGoogleMapsClient(WrappedComponent) {
613
613
  WithGoogleMapsClientComponent.displayName = "WithGoogleMapsClient(".concat(getDisplayName(WrappedComponent), ")");
614
614
  return WithGoogleMapsClientComponent;
615
615
  };
616
- var propTypes$9 = {
616
+ var propTypes$a = {
617
617
  children: PropTypes.node.isRequired,
618
618
  locale: PropTypes.string,
619
619
  libraries: PropTypes.arrayOf(PropTypes.string)
620
620
  };
621
- var defaultProps$9 = {
621
+ var defaultProps$a = {
622
622
  locale: 'fr',
623
623
  libraries: null
624
624
  };
@@ -652,8 +652,8 @@ var GoogleMapsClientProvider = function GoogleMapsClientProvider(_ref2) {
652
652
  value: client
653
653
  }, children);
654
654
  };
655
- GoogleMapsClientProvider.propTypes = propTypes$9;
656
- GoogleMapsClientProvider.defaultProps = defaultProps$9;
655
+ GoogleMapsClientProvider.propTypes = propTypes$a;
656
+ GoogleMapsClientProvider.defaultProps = defaultProps$a;
657
657
 
658
658
  var ModalsContext = /*#__PURE__*/React.createContext({
659
659
  container: null
@@ -682,12 +682,12 @@ var withModals = function withModals(WrappedComponent) {
682
682
  WithModalsComponent.displayName = "WithModals(".concat(getDisplayName(WrappedComponent), ")");
683
683
  return WithModalsComponent;
684
684
  };
685
- var propTypes$8 = {
685
+ var propTypes$9 = {
686
686
  children: PropTypes.node.isRequired,
687
687
  container: PropTypes.object // eslint-disable-line
688
688
 
689
689
  };
690
- var defaultProps$8 = {
690
+ var defaultProps$9 = {
691
691
  container: null
692
692
  };
693
693
  var ModalsProvider = function ModalsProvider(_ref2) {
@@ -743,8 +743,8 @@ var ModalsProvider = function ModalsProvider(_ref2) {
743
743
  value: value
744
744
  }, children);
745
745
  };
746
- ModalsProvider.propTypes = propTypes$8;
747
- ModalsProvider.defaultProps = defaultProps$8;
746
+ ModalsProvider.propTypes = propTypes$9;
747
+ ModalsProvider.defaultProps = defaultProps$9;
748
748
 
749
749
  var PanelsContext = /*#__PURE__*/React.createContext({
750
750
  container: null
@@ -773,12 +773,12 @@ var withPanels = function withPanels(WrappedComponent) {
773
773
  WithPanelsComponent.displayName = "WithPanels(".concat(getDisplayName(WrappedComponent), ")");
774
774
  return WithPanelsComponent;
775
775
  };
776
- var propTypes$7 = {
776
+ var propTypes$8 = {
777
777
  children: PropTypes.node.isRequired,
778
778
  container: PropTypes.object // eslint-disable-line
779
779
 
780
780
  };
781
- var defaultProps$7 = {
781
+ var defaultProps$8 = {
782
782
  container: null
783
783
  };
784
784
  var PanelsProvider = function PanelsProvider(_ref2) {
@@ -834,8 +834,8 @@ var PanelsProvider = function PanelsProvider(_ref2) {
834
834
  value: value
835
835
  }, children);
836
836
  };
837
- PanelsProvider.propTypes = propTypes$7;
838
- PanelsProvider.defaultProps = defaultProps$7;
837
+ PanelsProvider.propTypes = propTypes$8;
838
+ PanelsProvider.defaultProps = defaultProps$8;
839
839
 
840
840
  /* eslint-disable react/jsx-props-no-spreading */
841
841
  var RoutesContext = /*#__PURE__*/React.createContext(null);
@@ -889,13 +889,13 @@ var useRouteBack = function useRouteBack() {
889
889
  }, [history, url]);
890
890
  return back;
891
891
  };
892
- var propTypes$6 = {
892
+ var propTypes$7 = {
893
893
  children: PropTypes.node.isRequired,
894
894
  routes: PropTypes.objectOf(PropTypes.string),
895
895
  // .isRequired,
896
896
  basePath: PropTypes.string
897
897
  };
898
- var defaultProps$6 = {
898
+ var defaultProps$7 = {
899
899
  routes: null,
900
900
  basePath: null
901
901
  };
@@ -913,8 +913,8 @@ var RoutesProvider = function RoutesProvider(_ref2) {
913
913
  value: value
914
914
  }, children);
915
915
  };
916
- RoutesProvider.propTypes = propTypes$6;
917
- RoutesProvider.defaultProps = defaultProps$6;
916
+ RoutesProvider.propTypes = propTypes$7;
917
+ RoutesProvider.defaultProps = defaultProps$7;
918
918
 
919
919
  var ScreenContext = /*#__PURE__*/React.createContext({
920
920
  data: null,
@@ -975,14 +975,14 @@ var useScreenState = function useScreenState() {
975
975
 
976
976
  return screenState;
977
977
  };
978
- var propTypes$5 = {
978
+ var propTypes$6 = {
979
979
  children: PropTypes.node.isRequired,
980
980
  data: PropTypes$1.screen,
981
981
  definition: PropTypes$1.screenDefinition,
982
982
  renderContext: PropTypes$1.renderContext,
983
983
  screenState: PropTypes.string
984
984
  };
985
- var defaultProps$5 = {
985
+ var defaultProps$6 = {
986
986
  data: null,
987
987
  definition: null,
988
988
  renderContext: null,
@@ -1028,8 +1028,8 @@ var ScreenProvider = function ScreenProvider(_ref6) {
1028
1028
  value: value
1029
1029
  }, children);
1030
1030
  };
1031
- ScreenProvider.propTypes = propTypes$5;
1032
- ScreenProvider.defaultProps = defaultProps$5;
1031
+ ScreenProvider.propTypes = propTypes$6;
1032
+ ScreenProvider.defaultProps = defaultProps$6;
1033
1033
 
1034
1034
  /* eslint-disable react/jsx-props-no-spreading */
1035
1035
  var ScreenSizeContext = /*#__PURE__*/React.createContext({
@@ -1043,11 +1043,11 @@ var ScreenSizeContext = /*#__PURE__*/React.createContext({
1043
1043
  var useScreenSize = function useScreenSize() {
1044
1044
  return useContext(ScreenSizeContext);
1045
1045
  };
1046
- var propTypes$4 = {
1046
+ var propTypes$5 = {
1047
1047
  children: PropTypes.node.isRequired,
1048
1048
  size: PropTypes$1.screenSize
1049
1049
  };
1050
- var defaultProps$4 = {
1050
+ var defaultProps$5 = {
1051
1051
  size: {}
1052
1052
  }; // Note: this is done to avoid excessive renders on the screens that use the context
1053
1053
 
@@ -1065,17 +1065,17 @@ var ScreenSizeProvider = function ScreenSizeProvider(_ref) {
1065
1065
  value: currentSize
1066
1066
  }, children);
1067
1067
  };
1068
- ScreenSizeProvider.propTypes = propTypes$4;
1069
- ScreenSizeProvider.defaultProps = defaultProps$4;
1068
+ ScreenSizeProvider.propTypes = propTypes$5;
1069
+ ScreenSizeProvider.defaultProps = defaultProps$5;
1070
1070
 
1071
1071
  var useTracking = function useTracking() {
1072
1072
  return useContext(TrackingContext);
1073
1073
  };
1074
- var propTypes$3 = {
1074
+ var propTypes$4 = {
1075
1075
  children: PropTypes.node.isRequired,
1076
1076
  variables: PropTypes$1.trackingVariables
1077
1077
  };
1078
- var defaultProps$3 = {
1078
+ var defaultProps$4 = {
1079
1079
  variables: null
1080
1080
  };
1081
1081
  var TrackingProvider = function TrackingProvider(_ref) {
@@ -1091,8 +1091,8 @@ var TrackingProvider = function TrackingProvider(_ref) {
1091
1091
  tracking: tracking
1092
1092
  }, children);
1093
1093
  };
1094
- TrackingProvider.propTypes = propTypes$3;
1095
- TrackingProvider.defaultProps = defaultProps$3;
1094
+ TrackingProvider.propTypes = propTypes$4;
1095
+ TrackingProvider.defaultProps = defaultProps$4;
1096
1096
 
1097
1097
  var _excluded$3 = ["Uppy"];
1098
1098
  /**
@@ -1500,7 +1500,7 @@ var useUppy = function useUppy() {
1500
1500
  }, [uppy]);
1501
1501
  return uppy;
1502
1502
  };
1503
- var propTypes$2 = {
1503
+ var propTypes$3 = {
1504
1504
  children: PropTypes.node.isRequired,
1505
1505
  transport: PropTypes.oneOf(['xhr', 'transloadit', 'tus']),
1506
1506
  locale: PropTypes.string,
@@ -1521,7 +1521,7 @@ var propTypes$2 = {
1521
1521
  endpoint: PropTypes.string.isRequired
1522
1522
  })])
1523
1523
  };
1524
- var defaultProps$2 = {
1524
+ var defaultProps$3 = {
1525
1525
  transport: null,
1526
1526
  locale: null,
1527
1527
  sources: null,
@@ -1661,8 +1661,8 @@ var UppyProvider = function UppyProvider(_ref5) {
1661
1661
  value: value
1662
1662
  }, children);
1663
1663
  };
1664
- UppyProvider.propTypes = propTypes$2;
1665
- UppyProvider.defaultProps = defaultProps$2;
1664
+ UppyProvider.propTypes = propTypes$3;
1665
+ UppyProvider.defaultProps = defaultProps$3;
1666
1666
 
1667
1667
  var defaultValue$1 = {
1668
1668
  userInteracted: false
@@ -1671,10 +1671,10 @@ var UserInteractionContext = /*#__PURE__*/React.createContext(defaultValue$1);
1671
1671
  var useUserInteracted = function useUserInteracted() {
1672
1672
  return useContext(UserInteractionContext).userInteracted;
1673
1673
  };
1674
- var propTypes$1 = {
1674
+ var propTypes$2 = {
1675
1675
  children: PropTypes.node.isRequired
1676
1676
  };
1677
- var defaultProps$1 = {};
1677
+ var defaultProps$2 = {};
1678
1678
  var UserInteractionProvider = function UserInteractionProvider(_ref) {
1679
1679
  var children = _ref.children;
1680
1680
 
@@ -1716,8 +1716,8 @@ var UserInteractionProvider = function UserInteractionProvider(_ref) {
1716
1716
  value: value
1717
1717
  }, children);
1718
1718
  };
1719
- UserInteractionProvider.propTypes = propTypes$1;
1720
- UserInteractionProvider.defaultProps = defaultProps$1;
1719
+ UserInteractionProvider.propTypes = propTypes$2;
1720
+ UserInteractionProvider.defaultProps = defaultProps$2;
1721
1721
 
1722
1722
  var defaultValue = {
1723
1723
  events: new EventEmitter(),
@@ -1756,7 +1756,7 @@ var useViewerInteraction = function useViewerInteraction() {
1756
1756
  enableInteraction: enableInteraction
1757
1757
  };
1758
1758
  };
1759
- var propTypes = {
1759
+ var propTypes$1 = {
1760
1760
  children: PropTypes.node.isRequired,
1761
1761
  events: PropTypes.instanceOf(EventEmitter),
1762
1762
  menuVisible: PropTypes.bool,
@@ -1767,7 +1767,7 @@ var propTypes = {
1767
1767
  enableInteraction: PropTypes.func
1768
1768
  };
1769
1769
 
1770
- var defaultProps = _objectSpread({}, defaultValue);
1770
+ var defaultProps$1 = _objectSpread({}, defaultValue);
1771
1771
 
1772
1772
  var ViewerProvider = function ViewerProvider(_ref) {
1773
1773
  var children = _ref.children,
@@ -1793,7 +1793,62 @@ var ViewerProvider = function ViewerProvider(_ref) {
1793
1793
  value: value
1794
1794
  }, children);
1795
1795
  };
1796
- ViewerProvider.propTypes = propTypes;
1797
- ViewerProvider.defaultProps = defaultProps;
1796
+ ViewerProvider.propTypes = propTypes$1;
1797
+ ViewerProvider.defaultProps = defaultProps$1;
1798
+
1799
+ var VisitorContext = /*#__PURE__*/React.createContext();
1800
+ var useVisitorContext = function useVisitorContext() {
1801
+ var _useContext = useContext(VisitorContext),
1802
+ visitor = _useContext.visitor,
1803
+ setVisitor = _useContext.setVisitor;
1804
+
1805
+ return {
1806
+ visitor: visitor,
1807
+ setVisitor: setVisitor
1808
+ };
1809
+ };
1810
+ var useVisitor = function useVisitor() {
1811
+ var _useContext2 = useContext(VisitorContext),
1812
+ visitor = _useContext2.visitor;
1813
+
1814
+ return visitor;
1815
+ };
1816
+ var useSetVisitor = function useSetVisitor() {
1817
+ var _useContext3 = useContext(VisitorContext),
1818
+ setVisitor = _useContext3.setVisitor;
1819
+
1820
+ return setVisitor;
1821
+ };
1822
+ var propTypes = {
1823
+ children: PropTypes.node.isRequired,
1824
+ visitor: PropTypes$1.visitor
1825
+ };
1826
+ var defaultProps = {
1827
+ visitor: null
1828
+ };
1829
+ var VisitorProvider = function VisitorProvider(_ref) {
1830
+ var initialVisitor = _ref.visitor,
1831
+ children = _ref.children;
1832
+
1833
+ var _useState = useState(initialVisitor),
1834
+ _useState2 = _slicedToArray(_useState, 2),
1835
+ visitor = _useState2[0],
1836
+ setVisitor = _useState2[1];
1837
+
1838
+ useEffect(function () {
1839
+ setVisitor(initialVisitor);
1840
+ }, [initialVisitor, setVisitor]);
1841
+ var value = useMemo(function () {
1842
+ return {
1843
+ visitor: visitor,
1844
+ setVisitor: setVisitor
1845
+ };
1846
+ }, [visitor, setVisitor]);
1847
+ return /*#__PURE__*/React.createElement(VisitorContext.Provider, {
1848
+ value: value
1849
+ }, children);
1850
+ };
1851
+ VisitorProvider.propTypes = propTypes;
1852
+ VisitorProvider.defaultProps = defaultProps;
1798
1853
 
1799
- export { ComponentsContext, ComponentsProvider, ELEMENTS_NAMESPACE, EditorContext, EditorProvider, FIELDS_NAMESPACE, FORMS_NAMESPACE, FieldContext, FieldContextProvider, FieldsContext, FieldsProvider, FontsContext, FontsProvider, GoogleApiClientContext, GoogleApiClientProvider, GoogleKeysContext, GoogleKeysProvider, GoogleMapsClientContext, GoogleMapsClientProvider, MODALS_NAMESPACE, ModalsContext, ModalsProvider, PanelsContext, PanelsProvider, RoutesContext, RoutesProvider, SCREENS_NAMESPACE, ScreenContext, ScreenProvider, ScreenSizeContext, ScreenSizeProvider, ScreensContext, ScreensProvider, StoryContext, StoryProvider, TrackingProvider, UppyContext, UppyProvider, UserInteractionContext, UserInteractionProvider, ViewerContext, ViewerProvider, useComponent, useComponents, useComponentsManager, useEditor, useElementComponent, useElementsComponents, useElementsComponentsManager, useFieldComponent, useFieldContext, useFieldDefinition, useFieldsComponents, useFieldsComponentsManager, useFieldsManager, useFonts, useFormComponent, useFormsComponents, useFormsComponentsManager, useGetColors, useGoogleApiClient, useGoogleFonts, useGoogleKeys, useGoogleMapsClient, useModalComponent, useModals, useModalsComponents, useModalsComponentsManager, usePanels, useRouteBack, useRoutePush, useRoutes, useScreen, useScreenComponent, useScreenData, useScreenDefinition, useScreenRenderContext, useScreenSize, useScreenState, useScreensComponents, useScreensComponentsManager, useScreensManager, useStory, useStoryContext, useTracking, useUppy, useUrlGenerator, useUserInteracted, useViewer, useViewerEvents, useViewerInteraction, useViewerNavigation, withGoogleApiClient, withGoogleMapsClient, withModals, withPanels };
1854
+ export { ComponentsContext, ComponentsProvider, ELEMENTS_NAMESPACE, EditorContext, EditorProvider, FIELDS_NAMESPACE, FORMS_NAMESPACE, FieldContext, FieldContextProvider, FieldsContext, FieldsProvider, FontsContext, FontsProvider, GoogleApiClientContext, GoogleApiClientProvider, GoogleKeysContext, GoogleKeysProvider, GoogleMapsClientContext, GoogleMapsClientProvider, MODALS_NAMESPACE, ModalsContext, ModalsProvider, PanelsContext, PanelsProvider, RoutesContext, RoutesProvider, SCREENS_NAMESPACE, ScreenContext, ScreenProvider, ScreenSizeContext, ScreenSizeProvider, ScreensContext, ScreensProvider, StoryContext, StoryProvider, TrackingProvider, UppyContext, UppyProvider, UserInteractionContext, UserInteractionProvider, ViewerContext, ViewerProvider, VisitorContext, VisitorProvider, useComponent, useComponents, useComponentsManager, useEditor, useElementComponent, useElementsComponents, useElementsComponentsManager, useFieldComponent, useFieldContext, useFieldDefinition, useFieldsComponents, useFieldsComponentsManager, useFieldsManager, useFonts, useFormComponent, useFormsComponents, useFormsComponentsManager, useGetColors, useGoogleApiClient, useGoogleFonts, useGoogleKeys, useGoogleMapsClient, useModalComponent, useModals, useModalsComponents, useModalsComponentsManager, usePanels, useRouteBack, useRoutePush, useRoutes, useScreen, useScreenComponent, useScreenData, useScreenDefinition, useScreenRenderContext, useScreenSize, useScreenState, useScreensComponents, useScreensComponentsManager, useScreensManager, useSetVisitor, useStory, useStoryContext, useTracking, useUppy, useUrlGenerator, useUserInteracted, useViewer, useViewerEvents, useViewerInteraction, useViewerNavigation, useVisitor, useVisitorContext, withGoogleApiClient, withGoogleMapsClient, withModals, withPanels };
package/es/index.js CHANGED
@@ -582,6 +582,10 @@ var authorElement = PropTypes$1.shape({
582
582
  url: PropTypes$1.string
583
583
  })
584
584
  });
585
+ var visitor = PropTypes$1.shape({
586
+ id: PropTypes$1.oneOfType([PropTypes$1.string, PropTypes$1.number]),
587
+ name: PropTypes$1.string
588
+ });
585
589
 
586
590
  var PropTypes = /*#__PURE__*/Object.freeze({
587
591
  __proto__: null,
@@ -721,7 +725,8 @@ var PropTypes = /*#__PURE__*/Object.freeze({
721
725
  paymentItem: paymentItem,
722
726
  paymentItems: paymentItems,
723
727
  pageMetadata: pageMetadata,
724
- authorElement: authorElement
728
+ authorElement: authorElement,
729
+ visitor: visitor
725
730
  });
726
731
 
727
732
  var sortedColors = function sortedColors(colors) {
package/lib/components.js CHANGED
@@ -3040,6 +3040,10 @@ PropTypes__default["default"].shape({
3040
3040
  url: PropTypes__default["default"].string
3041
3041
  })
3042
3042
  });
3043
+ PropTypes__default["default"].shape({
3044
+ id: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number]),
3045
+ name: PropTypes__default["default"].string
3046
+ });
3043
3047
 
3044
3048
  /* eslint-disable react/no-array-index-key */
3045
3049
  var propTypes$d = {
package/lib/contexts.js CHANGED
@@ -169,13 +169,13 @@ var useElementComponent = function useElementComponent(name) {
169
169
  * Provider
170
170
  */
171
171
 
172
- var propTypes$i = {
172
+ var propTypes$j = {
173
173
  children: PropTypes__default["default"].node.isRequired,
174
174
  namespace: PropTypes__default["default"].string,
175
175
  manager: PropTypes__default["default"].instanceOf(core.ComponentsManager),
176
176
  components: PropTypes__default["default"].objectOf(PropTypes__default["default"].oneOfType([PropTypes__default["default"].object, PropTypes__default["default"].func]))
177
177
  };
178
- var defaultProps$i = {
178
+ var defaultProps$j = {
179
179
  namespace: null,
180
180
  components: {},
181
181
  manager: null
@@ -193,8 +193,8 @@ var ComponentsProvider = function ComponentsProvider(_ref) {
193
193
  value: finalManager
194
194
  }, children);
195
195
  };
196
- ComponentsProvider.propTypes = propTypes$i;
197
- ComponentsProvider.defaultProps = defaultProps$i;
196
+ ComponentsProvider.propTypes = propTypes$j;
197
+ ComponentsProvider.defaultProps = defaultProps$j;
198
198
 
199
199
  var FieldsContext = /*#__PURE__*/React__default["default"].createContext(null);
200
200
  var useFieldsManager = function useFieldsManager() {
@@ -204,12 +204,12 @@ var useFieldDefinition = function useFieldDefinition(id) {
204
204
  var manager = useFieldsManager();
205
205
  return manager.getDefinition(id);
206
206
  };
207
- var propTypes$h = {
207
+ var propTypes$i = {
208
208
  fields: core.PropTypes.fieldDefinitions,
209
209
  manager: PropTypes__default["default"].instanceOf(core.FieldsManager),
210
210
  children: PropTypes__default["default"].node.isRequired
211
211
  };
212
- var defaultProps$h = {
212
+ var defaultProps$i = {
213
213
  fields: null,
214
214
  manager: null
215
215
  };
@@ -239,21 +239,21 @@ var FieldsProvider = function FieldsProvider(_ref) {
239
239
  components: components
240
240
  }, children));
241
241
  };
242
- FieldsProvider.propTypes = propTypes$h;
243
- FieldsProvider.defaultProps = defaultProps$h;
242
+ FieldsProvider.propTypes = propTypes$i;
243
+ FieldsProvider.defaultProps = defaultProps$i;
244
244
 
245
245
  var ScreensContext = /*#__PURE__*/React__default["default"].createContext(new core.ScreensManager());
246
246
  var useScreensManager = function useScreensManager() {
247
247
  return React.useContext(ScreensContext);
248
248
  };
249
- var propTypes$g = {
249
+ var propTypes$h = {
250
250
  screens: core.PropTypes.screenDefinitions,
251
251
  namespaces: PropTypes__default["default"].arrayOf(PropTypes__default["default"].string),
252
252
  filterNamespaces: PropTypes__default["default"].bool,
253
253
  manager: PropTypes__default["default"].instanceOf(core.ScreensManager),
254
254
  children: PropTypes__default["default"].node.isRequired
255
255
  };
256
- var defaultProps$g = {
256
+ var defaultProps$h = {
257
257
  screens: null,
258
258
  namespaces: null,
259
259
  filterNamespaces: false,
@@ -311,8 +311,8 @@ var ScreensProvider = function ScreensProvider(_ref) {
311
311
  components: components
312
312
  }, children));
313
313
  };
314
- ScreensProvider.propTypes = propTypes$g;
315
- ScreensProvider.defaultProps = defaultProps$g;
314
+ ScreensProvider.propTypes = propTypes$h;
315
+ ScreensProvider.defaultProps = defaultProps$h;
316
316
 
317
317
  var StoryContext = /*#__PURE__*/React__default["default"].createContext(null);
318
318
  var useStoryContext = function useStoryContext() {
@@ -322,11 +322,11 @@ var useStory = function useStory() {
322
322
  var story = useStoryContext();
323
323
  return story;
324
324
  };
325
- var propTypes$f = {
325
+ var propTypes$g = {
326
326
  story: PropTypes__default["default"].oneOfType([core.PropTypes.story, core.PropTypes.theme]),
327
327
  children: PropTypes__default["default"].node.isRequired
328
328
  };
329
- var defaultProps$f = {
329
+ var defaultProps$g = {
330
330
  story: null
331
331
  };
332
332
  var StoryProvider = function StoryProvider(_ref) {
@@ -336,8 +336,8 @@ var StoryProvider = function StoryProvider(_ref) {
336
336
  value: story
337
337
  }, children);
338
338
  };
339
- StoryProvider.propTypes = propTypes$f;
340
- StoryProvider.defaultProps = defaultProps$f;
339
+ StoryProvider.propTypes = propTypes$g;
340
+ StoryProvider.defaultProps = defaultProps$g;
341
341
 
342
342
  var EditorContext = /*#__PURE__*/React__default["default"].createContext(null);
343
343
  var useEditor = function useEditor() {
@@ -352,10 +352,10 @@ var useGetColors = function useGetColors() {
352
352
 
353
353
  return getColors;
354
354
  };
355
- var propTypes$e = {
355
+ var propTypes$f = {
356
356
  children: PropTypes__default["default"].node.isRequired
357
357
  };
358
- var defaultProps$e = {};
358
+ var defaultProps$f = {};
359
359
  var EditorProvider = function EditorProvider(_ref2) {
360
360
  var children = _ref2.children;
361
361
  var story = useStory();
@@ -380,20 +380,20 @@ var EditorProvider = function EditorProvider(_ref2) {
380
380
  }
381
381
  }, children);
382
382
  };
383
- EditorProvider.propTypes = propTypes$e;
384
- EditorProvider.defaultProps = defaultProps$e;
383
+ EditorProvider.propTypes = propTypes$f;
384
+ EditorProvider.defaultProps = defaultProps$f;
385
385
 
386
386
  /* eslint-disable react/jsx-props-no-spreading */
387
387
  var FieldContext = /*#__PURE__*/React__default["default"].createContext(null);
388
388
  var useFieldContext = function useFieldContext() {
389
389
  return React.useContext(FieldContext);
390
390
  };
391
- var propTypes$d = {
391
+ var propTypes$e = {
392
392
  context: PropTypes__default["default"].any,
393
393
  // eslint-disable-line react/forbid-prop-types
394
394
  children: PropTypes__default["default"].node.isRequired
395
395
  };
396
- var defaultProps$d = {
396
+ var defaultProps$e = {
397
397
  context: null
398
398
  };
399
399
  var FieldContextProvider = function FieldContextProvider(_ref) {
@@ -403,8 +403,8 @@ var FieldContextProvider = function FieldContextProvider(_ref) {
403
403
  value: context
404
404
  }, children);
405
405
  };
406
- FieldContextProvider.propTypes = propTypes$d;
407
- FieldContextProvider.defaultProps = defaultProps$d;
406
+ FieldContextProvider.propTypes = propTypes$e;
407
+ FieldContextProvider.defaultProps = defaultProps$e;
408
408
 
409
409
  /* eslint-disable react/jsx-props-no-spreading */
410
410
  var GoogleKeysContext = /*#__PURE__*/React__default["default"].createContext({
@@ -413,12 +413,12 @@ var GoogleKeysContext = /*#__PURE__*/React__default["default"].createContext({
413
413
  var useGoogleKeys = function useGoogleKeys() {
414
414
  return React.useContext(GoogleKeysContext);
415
415
  };
416
- var propTypes$c = {
416
+ var propTypes$d = {
417
417
  children: PropTypes__default["default"].node.isRequired,
418
418
  apiKey: PropTypes__default["default"].string // .isRequired,
419
419
 
420
420
  };
421
- var defaultProps$c = {
421
+ var defaultProps$d = {
422
422
  apiKey: null
423
423
  };
424
424
  var GoogleKeysProvider = function GoogleKeysProvider(_ref) {
@@ -437,8 +437,8 @@ var GoogleKeysProvider = function GoogleKeysProvider(_ref) {
437
437
  value: value
438
438
  }, children);
439
439
  };
440
- GoogleKeysProvider.propTypes = propTypes$c;
441
- GoogleKeysProvider.defaultProps = defaultProps$c;
440
+ GoogleKeysProvider.propTypes = propTypes$d;
441
+ GoogleKeysProvider.defaultProps = defaultProps$d;
442
442
 
443
443
  var FontsContext = /*#__PURE__*/React__default["default"].createContext({
444
444
  systemFonts: null,
@@ -520,12 +520,12 @@ var useFonts = function useFonts() {
520
520
  }, [systemFonts, googleFonts, customFonts]);
521
521
  return fonts;
522
522
  };
523
- var propTypes$b = {
523
+ var propTypes$c = {
524
524
  children: PropTypes__default["default"].node.isRequired,
525
525
  systemFonts: core.PropTypes.fonts,
526
526
  customFonts: core.PropTypes.fonts
527
527
  };
528
- var defaultProps$b = {
528
+ var defaultProps$c = {
529
529
  systemFonts: ['Arial', 'Courier New', 'Georgia', 'Times New Roman', 'Verdana'],
530
530
  customFonts: null
531
531
  };
@@ -564,8 +564,8 @@ var FontsProvider = function FontsProvider(_ref4) {
564
564
  value: fonts
565
565
  }, children);
566
566
  };
567
- FontsProvider.propTypes = propTypes$b;
568
- FontsProvider.defaultProps = defaultProps$b;
567
+ FontsProvider.propTypes = propTypes$c;
568
+ FontsProvider.defaultProps = defaultProps$c;
569
569
 
570
570
  var GoogleApiClientContext = /*#__PURE__*/React__default["default"].createContext(null);
571
571
  var useGoogleApiClient = function useGoogleApiClient() {
@@ -591,10 +591,10 @@ var withGoogleApiClient = function withGoogleApiClient(WrappedComponent) {
591
591
  WithGoogleApiClientComponent.displayName = "WithGoogleApiClient(".concat(getDisplayName(WrappedComponent), ")");
592
592
  return WithGoogleApiClientComponent;
593
593
  };
594
- var propTypes$a = {
594
+ var propTypes$b = {
595
595
  children: PropTypes__default["default"].node.isRequired
596
596
  };
597
- var defaultProps$a = {};
597
+ var defaultProps$b = {};
598
598
  var GoogleApiClientProvider = function GoogleApiClientProvider(_ref2) {
599
599
  var children = _ref2.children;
600
600
 
@@ -621,8 +621,8 @@ var GoogleApiClientProvider = function GoogleApiClientProvider(_ref2) {
621
621
  value: client
622
622
  }, children);
623
623
  };
624
- GoogleApiClientProvider.propTypes = propTypes$a;
625
- GoogleApiClientProvider.defaultProps = defaultProps$a;
624
+ GoogleApiClientProvider.propTypes = propTypes$b;
625
+ GoogleApiClientProvider.defaultProps = defaultProps$b;
626
626
 
627
627
  var GoogleMapsClientContext = /*#__PURE__*/React__default["default"].createContext(null);
628
628
  var useGoogleMapsClient = function useGoogleMapsClient() {
@@ -648,12 +648,12 @@ var withGoogleMapsClient = function withGoogleMapsClient(WrappedComponent) {
648
648
  WithGoogleMapsClientComponent.displayName = "WithGoogleMapsClient(".concat(getDisplayName(WrappedComponent), ")");
649
649
  return WithGoogleMapsClientComponent;
650
650
  };
651
- var propTypes$9 = {
651
+ var propTypes$a = {
652
652
  children: PropTypes__default["default"].node.isRequired,
653
653
  locale: PropTypes__default["default"].string,
654
654
  libraries: PropTypes__default["default"].arrayOf(PropTypes__default["default"].string)
655
655
  };
656
- var defaultProps$9 = {
656
+ var defaultProps$a = {
657
657
  locale: 'fr',
658
658
  libraries: null
659
659
  };
@@ -687,8 +687,8 @@ var GoogleMapsClientProvider = function GoogleMapsClientProvider(_ref2) {
687
687
  value: client
688
688
  }, children);
689
689
  };
690
- GoogleMapsClientProvider.propTypes = propTypes$9;
691
- GoogleMapsClientProvider.defaultProps = defaultProps$9;
690
+ GoogleMapsClientProvider.propTypes = propTypes$a;
691
+ GoogleMapsClientProvider.defaultProps = defaultProps$a;
692
692
 
693
693
  var ModalsContext = /*#__PURE__*/React__default["default"].createContext({
694
694
  container: null
@@ -717,12 +717,12 @@ var withModals = function withModals(WrappedComponent) {
717
717
  WithModalsComponent.displayName = "WithModals(".concat(utils.getDisplayName(WrappedComponent), ")");
718
718
  return WithModalsComponent;
719
719
  };
720
- var propTypes$8 = {
720
+ var propTypes$9 = {
721
721
  children: PropTypes__default["default"].node.isRequired,
722
722
  container: PropTypes__default["default"].object // eslint-disable-line
723
723
 
724
724
  };
725
- var defaultProps$8 = {
725
+ var defaultProps$9 = {
726
726
  container: null
727
727
  };
728
728
  var ModalsProvider = function ModalsProvider(_ref2) {
@@ -778,8 +778,8 @@ var ModalsProvider = function ModalsProvider(_ref2) {
778
778
  value: value
779
779
  }, children);
780
780
  };
781
- ModalsProvider.propTypes = propTypes$8;
782
- ModalsProvider.defaultProps = defaultProps$8;
781
+ ModalsProvider.propTypes = propTypes$9;
782
+ ModalsProvider.defaultProps = defaultProps$9;
783
783
 
784
784
  var PanelsContext = /*#__PURE__*/React__default["default"].createContext({
785
785
  container: null
@@ -808,12 +808,12 @@ var withPanels = function withPanels(WrappedComponent) {
808
808
  WithPanelsComponent.displayName = "WithPanels(".concat(utils.getDisplayName(WrappedComponent), ")");
809
809
  return WithPanelsComponent;
810
810
  };
811
- var propTypes$7 = {
811
+ var propTypes$8 = {
812
812
  children: PropTypes__default["default"].node.isRequired,
813
813
  container: PropTypes__default["default"].object // eslint-disable-line
814
814
 
815
815
  };
816
- var defaultProps$7 = {
816
+ var defaultProps$8 = {
817
817
  container: null
818
818
  };
819
819
  var PanelsProvider = function PanelsProvider(_ref2) {
@@ -869,8 +869,8 @@ var PanelsProvider = function PanelsProvider(_ref2) {
869
869
  value: value
870
870
  }, children);
871
871
  };
872
- PanelsProvider.propTypes = propTypes$7;
873
- PanelsProvider.defaultProps = defaultProps$7;
872
+ PanelsProvider.propTypes = propTypes$8;
873
+ PanelsProvider.defaultProps = defaultProps$8;
874
874
 
875
875
  /* eslint-disable react/jsx-props-no-spreading */
876
876
  var RoutesContext = /*#__PURE__*/React__default["default"].createContext(null);
@@ -924,13 +924,13 @@ var useRouteBack = function useRouteBack() {
924
924
  }, [history, url]);
925
925
  return back;
926
926
  };
927
- var propTypes$6 = {
927
+ var propTypes$7 = {
928
928
  children: PropTypes__default["default"].node.isRequired,
929
929
  routes: PropTypes__default["default"].objectOf(PropTypes__default["default"].string),
930
930
  // .isRequired,
931
931
  basePath: PropTypes__default["default"].string
932
932
  };
933
- var defaultProps$6 = {
933
+ var defaultProps$7 = {
934
934
  routes: null,
935
935
  basePath: null
936
936
  };
@@ -948,8 +948,8 @@ var RoutesProvider = function RoutesProvider(_ref2) {
948
948
  value: value
949
949
  }, children);
950
950
  };
951
- RoutesProvider.propTypes = propTypes$6;
952
- RoutesProvider.defaultProps = defaultProps$6;
951
+ RoutesProvider.propTypes = propTypes$7;
952
+ RoutesProvider.defaultProps = defaultProps$7;
953
953
 
954
954
  var ScreenContext = /*#__PURE__*/React__default["default"].createContext({
955
955
  data: null,
@@ -1010,14 +1010,14 @@ var useScreenState = function useScreenState() {
1010
1010
 
1011
1011
  return screenState;
1012
1012
  };
1013
- var propTypes$5 = {
1013
+ var propTypes$6 = {
1014
1014
  children: PropTypes__default["default"].node.isRequired,
1015
1015
  data: core.PropTypes.screen,
1016
1016
  definition: core.PropTypes.screenDefinition,
1017
1017
  renderContext: core.PropTypes.renderContext,
1018
1018
  screenState: PropTypes__default["default"].string
1019
1019
  };
1020
- var defaultProps$5 = {
1020
+ var defaultProps$6 = {
1021
1021
  data: null,
1022
1022
  definition: null,
1023
1023
  renderContext: null,
@@ -1063,8 +1063,8 @@ var ScreenProvider = function ScreenProvider(_ref6) {
1063
1063
  value: value
1064
1064
  }, children);
1065
1065
  };
1066
- ScreenProvider.propTypes = propTypes$5;
1067
- ScreenProvider.defaultProps = defaultProps$5;
1066
+ ScreenProvider.propTypes = propTypes$6;
1067
+ ScreenProvider.defaultProps = defaultProps$6;
1068
1068
 
1069
1069
  /* eslint-disable react/jsx-props-no-spreading */
1070
1070
  var ScreenSizeContext = /*#__PURE__*/React__default["default"].createContext({
@@ -1078,11 +1078,11 @@ var ScreenSizeContext = /*#__PURE__*/React__default["default"].createContext({
1078
1078
  var useScreenSize = function useScreenSize() {
1079
1079
  return React.useContext(ScreenSizeContext);
1080
1080
  };
1081
- var propTypes$4 = {
1081
+ var propTypes$5 = {
1082
1082
  children: PropTypes__default["default"].node.isRequired,
1083
1083
  size: core.PropTypes.screenSize
1084
1084
  };
1085
- var defaultProps$4 = {
1085
+ var defaultProps$5 = {
1086
1086
  size: {}
1087
1087
  }; // Note: this is done to avoid excessive renders on the screens that use the context
1088
1088
 
@@ -1100,17 +1100,17 @@ var ScreenSizeProvider = function ScreenSizeProvider(_ref) {
1100
1100
  value: currentSize
1101
1101
  }, children);
1102
1102
  };
1103
- ScreenSizeProvider.propTypes = propTypes$4;
1104
- ScreenSizeProvider.defaultProps = defaultProps$4;
1103
+ ScreenSizeProvider.propTypes = propTypes$5;
1104
+ ScreenSizeProvider.defaultProps = defaultProps$5;
1105
1105
 
1106
1106
  var useTracking = function useTracking() {
1107
1107
  return React.useContext(tracking.TrackingContext);
1108
1108
  };
1109
- var propTypes$3 = {
1109
+ var propTypes$4 = {
1110
1110
  children: PropTypes__default["default"].node.isRequired,
1111
1111
  variables: core.PropTypes.trackingVariables
1112
1112
  };
1113
- var defaultProps$3 = {
1113
+ var defaultProps$4 = {
1114
1114
  variables: null
1115
1115
  };
1116
1116
  var TrackingProvider = function TrackingProvider(_ref) {
@@ -1126,8 +1126,8 @@ var TrackingProvider = function TrackingProvider(_ref) {
1126
1126
  tracking: tracking$1
1127
1127
  }, children);
1128
1128
  };
1129
- TrackingProvider.propTypes = propTypes$3;
1130
- TrackingProvider.defaultProps = defaultProps$3;
1129
+ TrackingProvider.propTypes = propTypes$4;
1130
+ TrackingProvider.defaultProps = defaultProps$4;
1131
1131
 
1132
1132
  var _excluded$3 = ["Uppy"];
1133
1133
  /**
@@ -1535,7 +1535,7 @@ var useUppy = function useUppy() {
1535
1535
  }, [uppy]);
1536
1536
  return uppy;
1537
1537
  };
1538
- var propTypes$2 = {
1538
+ var propTypes$3 = {
1539
1539
  children: PropTypes__default["default"].node.isRequired,
1540
1540
  transport: PropTypes__default["default"].oneOf(['xhr', 'transloadit', 'tus']),
1541
1541
  locale: PropTypes__default["default"].string,
@@ -1556,7 +1556,7 @@ var propTypes$2 = {
1556
1556
  endpoint: PropTypes__default["default"].string.isRequired
1557
1557
  })])
1558
1558
  };
1559
- var defaultProps$2 = {
1559
+ var defaultProps$3 = {
1560
1560
  transport: null,
1561
1561
  locale: null,
1562
1562
  sources: null,
@@ -1696,8 +1696,8 @@ var UppyProvider = function UppyProvider(_ref5) {
1696
1696
  value: value
1697
1697
  }, children);
1698
1698
  };
1699
- UppyProvider.propTypes = propTypes$2;
1700
- UppyProvider.defaultProps = defaultProps$2;
1699
+ UppyProvider.propTypes = propTypes$3;
1700
+ UppyProvider.defaultProps = defaultProps$3;
1701
1701
 
1702
1702
  var defaultValue$1 = {
1703
1703
  userInteracted: false
@@ -1706,10 +1706,10 @@ var UserInteractionContext = /*#__PURE__*/React__default["default"].createContex
1706
1706
  var useUserInteracted = function useUserInteracted() {
1707
1707
  return React.useContext(UserInteractionContext).userInteracted;
1708
1708
  };
1709
- var propTypes$1 = {
1709
+ var propTypes$2 = {
1710
1710
  children: PropTypes__default["default"].node.isRequired
1711
1711
  };
1712
- var defaultProps$1 = {};
1712
+ var defaultProps$2 = {};
1713
1713
  var UserInteractionProvider = function UserInteractionProvider(_ref) {
1714
1714
  var children = _ref.children;
1715
1715
 
@@ -1751,8 +1751,8 @@ var UserInteractionProvider = function UserInteractionProvider(_ref) {
1751
1751
  value: value
1752
1752
  }, children);
1753
1753
  };
1754
- UserInteractionProvider.propTypes = propTypes$1;
1755
- UserInteractionProvider.defaultProps = defaultProps$1;
1754
+ UserInteractionProvider.propTypes = propTypes$2;
1755
+ UserInteractionProvider.defaultProps = defaultProps$2;
1756
1756
 
1757
1757
  var defaultValue = {
1758
1758
  events: new EventEmitter__default["default"](),
@@ -1791,7 +1791,7 @@ var useViewerInteraction = function useViewerInteraction() {
1791
1791
  enableInteraction: enableInteraction
1792
1792
  };
1793
1793
  };
1794
- var propTypes = {
1794
+ var propTypes$1 = {
1795
1795
  children: PropTypes__default["default"].node.isRequired,
1796
1796
  events: PropTypes__default["default"].instanceOf(EventEmitter__default["default"]),
1797
1797
  menuVisible: PropTypes__default["default"].bool,
@@ -1802,7 +1802,7 @@ var propTypes = {
1802
1802
  enableInteraction: PropTypes__default["default"].func
1803
1803
  };
1804
1804
 
1805
- var defaultProps = _objectSpread__default["default"]({}, defaultValue);
1805
+ var defaultProps$1 = _objectSpread__default["default"]({}, defaultValue);
1806
1806
 
1807
1807
  var ViewerProvider = function ViewerProvider(_ref) {
1808
1808
  var children = _ref.children,
@@ -1828,8 +1828,63 @@ var ViewerProvider = function ViewerProvider(_ref) {
1828
1828
  value: value
1829
1829
  }, children);
1830
1830
  };
1831
- ViewerProvider.propTypes = propTypes;
1832
- ViewerProvider.defaultProps = defaultProps;
1831
+ ViewerProvider.propTypes = propTypes$1;
1832
+ ViewerProvider.defaultProps = defaultProps$1;
1833
+
1834
+ var VisitorContext = /*#__PURE__*/React__default["default"].createContext();
1835
+ var useVisitorContext = function useVisitorContext() {
1836
+ var _useContext = React.useContext(VisitorContext),
1837
+ visitor = _useContext.visitor,
1838
+ setVisitor = _useContext.setVisitor;
1839
+
1840
+ return {
1841
+ visitor: visitor,
1842
+ setVisitor: setVisitor
1843
+ };
1844
+ };
1845
+ var useVisitor = function useVisitor() {
1846
+ var _useContext2 = React.useContext(VisitorContext),
1847
+ visitor = _useContext2.visitor;
1848
+
1849
+ return visitor;
1850
+ };
1851
+ var useSetVisitor = function useSetVisitor() {
1852
+ var _useContext3 = React.useContext(VisitorContext),
1853
+ setVisitor = _useContext3.setVisitor;
1854
+
1855
+ return setVisitor;
1856
+ };
1857
+ var propTypes = {
1858
+ children: PropTypes__default["default"].node.isRequired,
1859
+ visitor: core.PropTypes.visitor
1860
+ };
1861
+ var defaultProps = {
1862
+ visitor: null
1863
+ };
1864
+ var VisitorProvider = function VisitorProvider(_ref) {
1865
+ var initialVisitor = _ref.visitor,
1866
+ children = _ref.children;
1867
+
1868
+ var _useState = React.useState(initialVisitor),
1869
+ _useState2 = _slicedToArray__default["default"](_useState, 2),
1870
+ visitor = _useState2[0],
1871
+ setVisitor = _useState2[1];
1872
+
1873
+ React.useEffect(function () {
1874
+ setVisitor(initialVisitor);
1875
+ }, [initialVisitor, setVisitor]);
1876
+ var value = React.useMemo(function () {
1877
+ return {
1878
+ visitor: visitor,
1879
+ setVisitor: setVisitor
1880
+ };
1881
+ }, [visitor, setVisitor]);
1882
+ return /*#__PURE__*/React__default["default"].createElement(VisitorContext.Provider, {
1883
+ value: value
1884
+ }, children);
1885
+ };
1886
+ VisitorProvider.propTypes = propTypes;
1887
+ VisitorProvider.defaultProps = defaultProps;
1833
1888
 
1834
1889
  Object.defineProperty(exports, 'TrackingContext', {
1835
1890
  enumerable: true,
@@ -1877,6 +1932,8 @@ exports.UserInteractionContext = UserInteractionContext;
1877
1932
  exports.UserInteractionProvider = UserInteractionProvider;
1878
1933
  exports.ViewerContext = ViewerContext;
1879
1934
  exports.ViewerProvider = ViewerProvider;
1935
+ exports.VisitorContext = VisitorContext;
1936
+ exports.VisitorProvider = VisitorProvider;
1880
1937
  exports.useComponent = useComponent;
1881
1938
  exports.useComponents = useComponents;
1882
1939
  exports.useComponentsManager = useComponentsManager;
@@ -1917,6 +1974,7 @@ exports.useScreenState = useScreenState;
1917
1974
  exports.useScreensComponents = useScreensComponents;
1918
1975
  exports.useScreensComponentsManager = useScreensComponentsManager;
1919
1976
  exports.useScreensManager = useScreensManager;
1977
+ exports.useSetVisitor = useSetVisitor;
1920
1978
  exports.useStory = useStory;
1921
1979
  exports.useStoryContext = useStoryContext;
1922
1980
  exports.useTracking = useTracking;
@@ -1927,6 +1985,8 @@ exports.useViewer = useViewer;
1927
1985
  exports.useViewerEvents = useViewerEvents;
1928
1986
  exports.useViewerInteraction = useViewerInteraction;
1929
1987
  exports.useViewerNavigation = useViewerNavigation;
1988
+ exports.useVisitor = useVisitor;
1989
+ exports.useVisitorContext = useVisitorContext;
1930
1990
  exports.withGoogleApiClient = withGoogleApiClient;
1931
1991
  exports.withGoogleMapsClient = withGoogleMapsClient;
1932
1992
  exports.withModals = withModals;
package/lib/index.js CHANGED
@@ -609,6 +609,10 @@ var authorElement = PropTypes__default["default"].shape({
609
609
  url: PropTypes__default["default"].string
610
610
  })
611
611
  });
612
+ var visitor = PropTypes__default["default"].shape({
613
+ id: PropTypes__default["default"].oneOfType([PropTypes__default["default"].string, PropTypes__default["default"].number]),
614
+ name: PropTypes__default["default"].string
615
+ });
612
616
 
613
617
  var PropTypes = /*#__PURE__*/Object.freeze({
614
618
  __proto__: null,
@@ -748,7 +752,8 @@ var PropTypes = /*#__PURE__*/Object.freeze({
748
752
  paymentItem: paymentItem,
749
753
  paymentItems: paymentItems,
750
754
  pageMetadata: pageMetadata,
751
- authorElement: authorElement
755
+ authorElement: authorElement,
756
+ visitor: visitor
752
757
  });
753
758
 
754
759
  var sortedColors = function sortedColors(colors) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@micromag/core",
3
- "version": "0.3.144",
3
+ "version": "0.3.147",
4
4
  "description": "",
5
5
  "keywords": [
6
6
  "javascript"
@@ -132,5 +132,5 @@
132
132
  "publishConfig": {
133
133
  "access": "public"
134
134
  },
135
- "gitHead": "d0f88b972312c6f728601a828b7ab98fd396dfee"
135
+ "gitHead": "695a66acc54f4863dc44a98f0471e8233ca10aee"
136
136
  }