chayns-api 1.1.0-2 → 1.1.0-4

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.
Files changed (76) hide show
  1. package/dist/cjs/calls/dialogs/chaynsDialog.js +3 -6
  2. package/dist/cjs/calls/dialogs/date.js +29 -2
  3. package/dist/cjs/calls/dialogs/fileSelect.js +1 -2
  4. package/dist/cjs/calls/dialogs/input.js +2 -3
  5. package/dist/cjs/calls/dialogs/select.js +2 -3
  6. package/dist/cjs/calls/getUserInfo.js +1 -2
  7. package/dist/cjs/calls/index.js +93 -82
  8. package/dist/cjs/components/AppDialogWrapper.js +7 -7
  9. package/dist/cjs/components/ChaynsContext.js +2 -4
  10. package/dist/cjs/components/ChaynsProvider.js +10 -13
  11. package/dist/cjs/components/ErrorBoundary.js +31 -0
  12. package/dist/cjs/components/moduleWrapper.js +9 -0
  13. package/dist/cjs/components/withCompatMode.js +8 -7
  14. package/dist/cjs/components/withHydrationBoundary.js +57 -0
  15. package/dist/cjs/constants/hydrationContext.js +16 -0
  16. package/dist/cjs/constants/index.js +16 -0
  17. package/dist/cjs/handler/DialogHandler.js +4 -2
  18. package/dist/cjs/hooks/useAccessToken.js +1 -0
  19. package/dist/cjs/hooks/useDialogState.js +2 -2
  20. package/dist/cjs/hooks/usePages.js +2 -2
  21. package/dist/cjs/host/ChaynsHost.js +1 -2
  22. package/dist/cjs/host/iframe/HostIframe.js +4 -6
  23. package/dist/cjs/host/iframe/utils/useUpdateData.js +1 -2
  24. package/dist/cjs/host/module/ModuleHost.js +8 -24
  25. package/dist/cjs/host/module/utils/loadComponent.js +58 -51
  26. package/dist/cjs/index.js +48 -5
  27. package/dist/cjs/types/IChaynsReact.js +140 -107
  28. package/dist/cjs/util/appCall.js +3 -4
  29. package/dist/cjs/util/deviceHelper.js +18 -13
  30. package/dist/cjs/util/transferNestedFunctions.js +36 -0
  31. package/dist/cjs/wrapper/AppWrapper.js +69 -11
  32. package/dist/cjs/wrapper/FrameWrapper.js +16 -5
  33. package/dist/cjs/wrapper/StaticChaynsApi.js +22 -0
  34. package/dist/esm/calls/index.js +22 -1
  35. package/dist/esm/components/AppDialogWrapper.js +4 -3
  36. package/dist/esm/components/ChaynsProvider.js +6 -7
  37. package/dist/esm/components/ErrorBoundary.js +23 -0
  38. package/dist/esm/components/moduleWrapper.js +3 -0
  39. package/dist/esm/components/withCompatMode.js +5 -4
  40. package/dist/esm/components/withHydrationBoundary.js +50 -0
  41. package/dist/esm/constants/hydrationContext.js +10 -0
  42. package/dist/esm/constants/index.js +1 -0
  43. package/dist/esm/handler/DialogHandler.js +6 -4
  44. package/dist/esm/hooks/useAccessToken.js +1 -0
  45. package/dist/esm/hooks/useDialogState.js +2 -2
  46. package/dist/esm/hooks/usePages.js +1 -1
  47. package/dist/esm/host/iframe/HostIframe.js +1 -2
  48. package/dist/esm/host/module/ModuleHost.js +5 -20
  49. package/dist/esm/host/module/utils/loadComponent.js +58 -50
  50. package/dist/esm/index.js +6 -1
  51. package/dist/esm/types/IChaynsReact.js +142 -87
  52. package/dist/esm/util/appCall.js +2 -2
  53. package/dist/esm/util/deviceHelper.js +17 -11
  54. package/dist/esm/util/transferNestedFunctions.js +32 -0
  55. package/dist/esm/wrapper/AppWrapper.js +70 -11
  56. package/dist/esm/wrapper/FrameWrapper.js +16 -5
  57. package/dist/esm/wrapper/StaticChaynsApi.js +20 -0
  58. package/dist/types/calls/index.d.ts +19 -5
  59. package/dist/types/components/AppDialogWrapper.d.ts +2 -2
  60. package/dist/types/components/ChaynsProvider.d.ts +1 -4
  61. package/dist/types/components/ErrorBoundary.d.ts +13 -0
  62. package/dist/types/components/moduleWrapper.d.ts +4 -0
  63. package/dist/types/components/withHydrationBoundary.d.ts +16 -0
  64. package/dist/types/constants/hydrationContext.d.ts +8 -0
  65. package/dist/types/constants/index.d.ts +1 -0
  66. package/dist/types/handler/DialogHandler.d.ts +0 -1
  67. package/dist/types/hooks/useAccessToken.d.ts +1 -0
  68. package/dist/types/host/module/ModuleHost.d.ts +1 -0
  69. package/dist/types/host/module/utils/loadComponent.d.ts +1 -1
  70. package/dist/types/index.d.ts +6 -1
  71. package/dist/types/types/IChaynsReact.d.ts +136 -28
  72. package/dist/types/util/deviceHelper.d.ts +2 -2
  73. package/dist/types/util/transferNestedFunctions.d.ts +1 -0
  74. package/dist/types/wrapper/StaticChaynsApi.d.ts +9 -0
  75. package/package.json +26 -22
  76. package/toolkit.config.js +20 -0
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.moduleWrapper = exports.default = void 0;
6
+ exports.default = void 0;
7
7
  var _htmlescape = _interopRequireDefault(require("htmlescape"));
8
8
  var _react = _interopRequireWildcard(require("react"));
9
9
  var _IChaynsReact = require("../types/IChaynsReact");
@@ -14,14 +14,12 @@ var _ModuleFederationWrapper = require("../wrapper/ModuleFederationWrapper");
14
14
  var _SsrWrapper = require("../wrapper/SsrWrapper");
15
15
  var _ChaynsContext = require("./ChaynsContext");
16
16
  var _AppDialogWrapper = _interopRequireDefault(require("./AppDialogWrapper"));
17
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
18
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
+ var _moduleWrapper = require("./moduleWrapper");
18
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
19
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
19
20
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
20
21
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
21
- const moduleWrapper = {
22
- current: undefined
23
- };
24
- exports.moduleWrapper = moduleWrapper;
22
+
25
23
  const isServer = typeof window === 'undefined';
26
24
  const InitialDataProvider = /*#__PURE__*/_react.default.memo(({
27
25
  data,
@@ -65,13 +63,13 @@ const ChaynsProvider = ({
65
63
  var _deviceInfo$app$name, _deviceInfo$app;
66
64
  const deviceInfo = (0, _deviceHelper.default)(navigator.userAgent, '');
67
65
  // load framewrapper in Chaynsweb in app (window.self === window.top)
68
- if ([_IChaynsReact.AppName.Chayns, _IChaynsReact.AppName.ChaynsLauncher].includes((_deviceInfo$app$name = (_deviceInfo$app = deviceInfo.app) === null || _deviceInfo$app === void 0 ? void 0 : _deviceInfo$app.name) !== null && _deviceInfo$app$name !== void 0 ? _deviceInfo$app$name : _IChaynsReact.AppName.Unknown) && window.self === window.top) {
66
+ if ([_IChaynsReact.AppName.Chayns, _IChaynsReact.AppName.ChaynsLauncher, _IChaynsReact.AppName.Sidekick, _IChaynsReact.AppName.TobitChat].includes((_deviceInfo$app$name = (_deviceInfo$app = deviceInfo.app) === null || _deviceInfo$app === void 0 ? void 0 : _deviceInfo$app.name) !== null && _deviceInfo$app$name !== void 0 ? _deviceInfo$app$name : _IChaynsReact.AppName.Unknown) && window.self === window.top) {
69
67
  customWrapper.current = new _AppWrapper.AppWrapper();
70
68
  } else {
71
69
  customWrapper.current = new _FrameWrapper.FrameWrapper();
72
70
  }
73
71
  }
74
- moduleWrapper.current = customWrapper.current;
72
+ _moduleWrapper.moduleWrapper.current = customWrapper.current;
75
73
  }
76
74
  const [state, setState] = (0, _react.useState)((_customWrapper$curren = (_customWrapper$curren2 = customWrapper.current) === null || _customWrapper$curren2 === void 0 ? void 0 : _customWrapper$curren2.values) !== null && _customWrapper$curren !== void 0 ? _customWrapper$curren : undefined);
77
75
  (0, _react.useEffect)(() => {
@@ -89,7 +87,7 @@ const ChaynsProvider = ({
89
87
  return undefined;
90
88
  });
91
89
  });
92
- if (customWrapper.current.values) {
90
+ if (customWrapper.current.values && !isModule) {
93
91
  setState({
94
92
  ...customWrapper.current.values
95
93
  });
@@ -100,7 +98,7 @@ const ChaynsProvider = ({
100
98
  if (isModule) {
101
99
  setState(data);
102
100
  if (data) {
103
- moduleWrapper.current.values = data;
101
+ customWrapper.current.values = data;
104
102
  }
105
103
  }
106
104
  }, [data, isModule]);
@@ -115,5 +113,4 @@ const ChaynsProvider = ({
115
113
  renderedByServer: renderedByServer
116
114
  }));
117
115
  };
118
- var _default = ChaynsProvider;
119
- exports.default = _default;
116
+ var _default = exports.default = ChaynsProvider;
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireDefault(require("react"));
8
+ function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
9
+ class ErrorBoundary extends _react.default.Component {
10
+ constructor(props) {
11
+ super(props);
12
+ this.state = {
13
+ hasError: false
14
+ };
15
+ }
16
+ static getDerivedStateFromError() {
17
+ return {
18
+ hasError: true
19
+ };
20
+ }
21
+ componentDidCatch(error, errorInfo) {
22
+ console.error(error, errorInfo);
23
+ }
24
+ render() {
25
+ if (this.state.hasError) {
26
+ return null;
27
+ }
28
+ return this.props.children;
29
+ }
30
+ }
31
+ exports.default = ErrorBoundary;
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.moduleWrapper = void 0;
7
+ const moduleWrapper = exports.moduleWrapper = {
8
+ current: undefined
9
+ };
@@ -6,10 +6,11 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.withCompatMode = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
8
  var _reactDom = _interopRequireDefault(require("react-dom"));
9
+ var _ErrorBoundary = _interopRequireDefault(require("./ErrorBoundary"));
9
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
10
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
11
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
12
- function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
13
+ function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); } /* eslint-disable react/jsx-props-no-spreading */
13
14
  let ReactDOMClient;
14
15
  try {
15
16
  ReactDOMClient = require('react-dom/client');
@@ -27,9 +28,9 @@ const withCompatMode = Component => {
27
28
  const {
28
29
  innerRef
29
30
  } = this.props;
30
- const component = /*#__PURE__*/_react.default.createElement(Component, _extends({}, this.props, {
31
+ const component = /*#__PURE__*/_react.default.createElement(_ErrorBoundary.default, null, /*#__PURE__*/_react.default.createElement(Component, _extends({}, this.props, {
31
32
  ref: innerRef
32
- }));
33
+ })));
33
34
  if (typeof ((_ReactDOMClient = ReactDOMClient) === null || _ReactDOMClient === void 0 ? void 0 : _ReactDOMClient.createRoot) === 'function') {
34
35
  this.root = ReactDOMClient.createRoot(this.ref.current);
35
36
  this.root.render(component);
@@ -41,9 +42,9 @@ const withCompatMode = Component => {
41
42
  const {
42
43
  innerRef
43
44
  } = this.props;
44
- const component = /*#__PURE__*/_react.default.createElement(Component, _extends({}, this.props, {
45
+ const component = /*#__PURE__*/_react.default.createElement(_ErrorBoundary.default, null, /*#__PURE__*/_react.default.createElement(Component, _extends({}, this.props, {
45
46
  ref: innerRef
46
- }));
47
+ })));
47
48
  if (this.root) {
48
49
  this.root.render(component);
49
50
  } else {
@@ -0,0 +1,57 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _constants = require("../constants");
9
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
10
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
11
+ const withHydrationBoundary = (Component, initializer, useHydrationId) => {
12
+ return ({
13
+ id: idProp,
14
+ children
15
+ }) => {
16
+ let value;
17
+ if (!globalThis.window) {
18
+ value = (0, _react.useContext)(_constants.HydrationContext);
19
+ }
20
+ const id = useHydrationId ? useHydrationId() : idProp;
21
+ if (!id) {
22
+ throw new Error('hydration boundary was not given a id which is required');
23
+ }
24
+ const [store] = (0, _react.useState)(() => {
25
+ let initialValue = undefined;
26
+ if (globalThis.window) {
27
+ const htmlId = `__INITIAL_DATA_${id}__`;
28
+ const $elem = document.getElementById(htmlId);
29
+ if ($elem) {
30
+ initialValue = JSON.parse($elem.innerHTML);
31
+ }
32
+ }
33
+ const s = initializer(initialValue);
34
+ if (!globalThis.window) {
35
+ if (id in value) {
36
+ console.warn(`Dehydration function for id "${id}" has been defined multiple times. This can have two reasons. The children cause suspension and therefor the hydration boundary has to mount from scratch again. You can avoid this by adding a Suspense around the children. The id is not unique. This has to be fixed or might cause hydration issues.`);
37
+ }
38
+ value[id] = {
39
+ getState: s.getState,
40
+ abort: s.abort
41
+ };
42
+ }
43
+ return s;
44
+ });
45
+ (0, _react.useEffect)(() => {
46
+ const htmlId = `__INITIAL_DATA_${id}__`;
47
+ const $elem = document.getElementById(htmlId);
48
+ if ($elem) {
49
+ $elem.remove();
50
+ }
51
+ }, []);
52
+ return /*#__PURE__*/_react.default.createElement(Component, {
53
+ value: store
54
+ }, children);
55
+ };
56
+ };
57
+ var _default = exports.default = withHydrationBoundary;
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.HydrationContext = void 0;
7
+ var _react = require("react");
8
+ let HydrationContext = exports.HydrationContext = void 0;
9
+
10
+ // force single context on server-side (fake sharing)
11
+ if (!globalThis.window && globalThis._hydrationContext) {
12
+ exports.HydrationContext = HydrationContext = globalThis._hydrationContext;
13
+ } else {
14
+ exports.HydrationContext = HydrationContext = /*#__PURE__*/(0, _react.createContext)({});
15
+ globalThis._hydrationContext = HydrationContext;
16
+ }
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ var _hydrationContext = require("./hydrationContext");
7
+ Object.keys(_hydrationContext).forEach(function (key) {
8
+ if (key === "default" || key === "__esModule") return;
9
+ if (key in exports && exports[key] === _hydrationContext[key]) return;
10
+ Object.defineProperty(exports, key, {
11
+ enumerable: true,
12
+ get: function () {
13
+ return _hydrationContext[key];
14
+ }
15
+ });
16
+ });
@@ -26,9 +26,11 @@ class DialogHandler {
26
26
  };
27
27
  this.isOpen = true;
28
28
  this.dialogId = await this._open(this._config, callback);
29
- console.log('dialogId', this.dialogId);
29
+
30
+ // console.log('dialogId', this.dialogId);
31
+
30
32
  this._addDataListener(this.dialogId, data => {
31
- console.log('[DialogHandler]dataListener', this.dialogId, data);
33
+ // console.log('[DialogHandler]dataListener', this.dialogId, data);
32
34
  this.listeners.forEach(cb => cb(data));
33
35
  });
34
36
  });
@@ -9,6 +9,7 @@ var _useContextSelector = require("use-context-selector");
9
9
  var _ChaynsContext = require("../components/ChaynsContext");
10
10
  /**
11
11
  * @category Hooks
12
+ * @deprecated Use {@link getAccessToken} instead
12
13
  */
13
14
  const useAccessToken = accessToken => {
14
15
  const [token, setToken] = (0, _react.useState)(null);
@@ -15,7 +15,7 @@ const useDialogState = () => {
15
15
  const addDataListener = (0, _useContextSelector.useContextSelector)(_ChaynsContext.ChaynsFunctionsContext, v => v === null || v === void 0 ? void 0 : v.addDialogHostEventListener);
16
16
  const isClosingRequested = (0, _useContextSelector.useContextSelector)(_ChaynsContext.ChaynsContext, v => {
17
17
  var _v$dialog;
18
- return v === null || v === void 0 ? void 0 : (_v$dialog = v.dialog) === null || _v$dialog === void 0 ? void 0 : _v$dialog.isClosingRequested;
18
+ return v === null || v === void 0 || (_v$dialog = v.dialog) === null || _v$dialog === void 0 ? void 0 : _v$dialog.isClosingRequested;
19
19
  });
20
20
  return {
21
21
  setResult,
@@ -32,7 +32,7 @@ exports.useDialogState = useDialogState;
32
32
  const useDialogData = () => {
33
33
  const inputData = (0, _useContextSelector.useContextSelector)(_ChaynsContext.ChaynsContext, v => {
34
34
  var _v$dialog2;
35
- return v === null || v === void 0 ? void 0 : (_v$dialog2 = v.dialog) === null || _v$dialog2 === void 0 ? void 0 : _v$dialog2.dialogInput;
35
+ return v === null || v === void 0 || (_v$dialog2 = v.dialog) === null || _v$dialog2 === void 0 ? void 0 : _v$dialog2.dialogInput;
36
36
  });
37
37
  return inputData;
38
38
  };
@@ -6,7 +6,7 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.usePages = exports.usePage = exports.getPage = void 0;
7
7
  var _useContextSelector = require("use-context-selector");
8
8
  var _ChaynsContext = require("../components/ChaynsContext");
9
- var _ChaynsProvider = require("../components/ChaynsProvider");
9
+ var _moduleWrapper = require("../components/moduleWrapper");
10
10
  /**
11
11
  * @category Hooks
12
12
  */
@@ -48,7 +48,7 @@ const getPage = ({
48
48
  const {
49
49
  pages,
50
50
  currentPage
51
- } = _ChaynsProvider.moduleWrapper.current.values;
51
+ } = _moduleWrapper.moduleWrapper.current.values;
52
52
  if (id) {
53
53
  var _pages$find2;
54
54
  return (_pages$find2 = pages.find(x => x.id === id && (!siteId || x.siteId === siteId))) !== null && _pages$find2 !== void 0 ? _pages$find2 : null;
@@ -110,5 +110,4 @@ const ChaynsHost = ({
110
110
  return null;
111
111
  }
112
112
  };
113
- var _default = ChaynsHost;
114
- exports.default = _default;
113
+ var _default = exports.default = ChaynsHost;
@@ -10,8 +10,8 @@ var _postIframeForm = _interopRequireDefault(require("../../util/postIframeForm"
10
10
  var _useUpdateData = _interopRequireDefault(require("./utils/useUpdateData"));
11
11
  var _url = require("../../util/url");
12
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
14
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
14
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
15
15
  function _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
16
16
  const HostIframe = ({
17
17
  iFrameProps,
@@ -39,10 +39,9 @@ const HostIframe = ({
39
39
  if (!eventTarget.current) {
40
40
  eventTarget.current = global.document ? document.createElement('div') : undefined; // global.EventTarget ? new EventTarget() : undefined
41
41
  }
42
-
43
42
  const setHeight = value => {
44
43
  if (ref.current) {
45
- ref.current.height = `${value}px`;
44
+ ref.current.style.height = `${value}px`;
46
45
  }
47
46
  };
48
47
 
@@ -134,5 +133,4 @@ const HostIframe = ({
134
133
  src: postForm ? undefined : (0, _url.replaceStagingUrl)(preventStagingReplacement, src, environment.buildEnvironment)
135
134
  }));
136
135
  };
137
- var _default = HostIframe;
138
- exports.default = _default;
136
+ var _default = exports.default = HostIframe;
@@ -17,5 +17,4 @@ const useUpdateData = (target, type, value) => {
17
17
  }
18
18
  }, [target, type, value]);
19
19
  };
20
- var _default = useUpdateData;
21
- exports.default = _default;
20
+ var _default = exports.default = useUpdateData;
@@ -5,36 +5,20 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
  var _react = _interopRequireWildcard(require("react"));
8
- var _useDynamicScript = _interopRequireDefault(require("./utils/useDynamicScript"));
9
8
  var _loadComponent = _interopRequireDefault(require("./utils/loadComponent"));
10
9
  var _url = require("../../util/url");
11
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
12
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
13
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
11
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
12
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
14
13
  const System = ({
15
14
  system,
16
15
  fallback,
17
16
  ...props
18
17
  }) => {
19
- const {
20
- ready,
21
- failed
22
- } = (0, _useDynamicScript.default)({
23
- url: system === null || system === void 0 ? void 0 : system.url,
24
- scope: system === null || system === void 0 ? void 0 : system.scope
25
- });
26
- const Component = (0, _react.useMemo)(() => {
27
- // maybe return waitcursor instead
28
- if (!system || !ready || failed) {
29
- return null;
30
- }
31
- return /*#__PURE__*/_react.default.lazy((0, _loadComponent.default)(system.scope, system.module, system.url));
32
-
33
- /* eslint-disable react-hooks/exhaustive-deps */
34
- }, [system === null || system === void 0 ? void 0 : system.scope, ready, system === null || system === void 0 ? void 0 : system.url]);
35
- return Component ? /*#__PURE__*/_react.default.createElement(_react.default.Suspense, {
18
+ const Component = (0, _react.useMemo)(() => (0, _loadComponent.default)(system.scope, system.module, system.url, undefined, system.preventSingleton), [system.scope, system.module, system.url, system.preventSingleton]);
19
+ return /*#__PURE__*/_react.default.createElement(_react.default.Suspense, {
36
20
  fallback: fallback || ''
37
- }, /*#__PURE__*/_react.default.createElement(Component, props)) : fallback;
21
+ }, /*#__PURE__*/_react.default.createElement(Component, props));
38
22
  };
39
23
  const ModuleHost = ({
40
24
  system,
@@ -80,7 +64,8 @@ const ModuleHost = ({
80
64
  system: {
81
65
  scope: system.scope,
82
66
  url: (0, _url.replaceStagingUrl)(preventStagingReplacement, system.url, environment.buildEnvironment),
83
- module: system.module
67
+ module: system.module,
68
+ preventSingleton: system.preventSingleton
84
69
  },
85
70
  data: initialData,
86
71
  functions: functions,
@@ -88,5 +73,4 @@ const ModuleHost = ({
88
73
  isModule: true
89
74
  }));
90
75
  };
91
- var _default = ModuleHost;
92
- exports.default = _default;
76
+ var _default = exports.default = ModuleHost;
@@ -6,56 +6,63 @@ Object.defineProperty(exports, "__esModule", {
6
6
  exports.default = loadComponent;
7
7
  var _semver = _interopRequireDefault(require("semver"));
8
8
  var _react = _interopRequireDefault(require("react"));
9
- var _useDynamicScript = require("./useDynamicScript");
9
+ var _runtime = require("@module-federation/runtime");
10
10
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
11
- /* eslint-disable */
12
- // @ts-nocheck
13
-
14
- let instances = {};
15
- function loadComponent(scope, module, url, skipCompatMode = false) {
16
- return async () => {
17
- // Initializes the shared scope. Fills it with known provided modules from this build and all remotes
18
- // eslint-disable-next-line no-undef
19
- await __webpack_init_sharing__('default');
20
- const {
21
- container
22
- } = window[scope + "_list"].find(x => x.url === url); // or get the container somewhere else
23
- // Initialize the container, it may provide shared modules
24
- // eslint-disable-next-line no-undef
25
- await container.init(__webpack_share_scopes__.default);
26
- const factory = await container.get(module);
27
- _useDynamicScript.semaphore[scope].release();
28
- let ModuleMap = instances[`${scope}__${module}`];
29
- let Module;
30
- if (!ModuleMap) {
31
- ModuleMap = {};
32
- instances[`${scope}__${module}`] = ModuleMap;
33
- }
34
- if (Object.keys(ModuleMap).length > 0) {
35
- const newModule = factory();
36
- Module = ModuleMap[`${newModule.default.buildEnv}__${newModule.default.appVersion}`];
37
- if (!Module) {
38
- Module = newModule;
39
- ModuleMap[`${newModule.default.buildEnv}__${newModule.default.appVersion}`] = newModule;
40
- }
41
- } else {
42
- Module = factory();
43
- ModuleMap[`${Module.default.buildEnv}__${Module.default.appVersion}`] = Module;
44
- }
45
- if (skipCompatMode) return Module;
46
- const hostVersion = _semver.default.minVersion(_react.default.version);
47
- const {
48
- requiredVersion,
49
- environment
50
- } = Module.default;
51
- const matchReactVersion = requiredVersion && _semver.default.satisfies(hostVersion, requiredVersion);
52
- if (!matchReactVersion || environment !== 'production') {
53
- return {
54
- default: Module.default.CompatComponent
55
- };
56
- }
57
- return {
58
- default: Module.default.Component
59
- };
60
- };
11
+ const registeredScopes = {};
12
+ const dynamicMap = {};
13
+ function loadComponent(scope, module, url, skipCompatMode = false, preventSingleton = false) {
14
+ if (skipCompatMode) {
15
+ console.warn('[chayns-api] skipCompatMode-option is deprecated and is set automatically now');
16
+ }
17
+ if (registeredScopes[scope] !== url || preventSingleton) {
18
+ (0, _runtime.registerRemotes)([{
19
+ name: scope,
20
+ entry: url,
21
+ alias: scope
22
+ }], {
23
+ force: scope in registeredScopes
24
+ });
25
+ registeredScopes[scope] = url;
26
+ dynamicMap[scope] = {};
27
+ }
28
+ if (!(module in dynamicMap[scope])) {
29
+ const path = `${scope}/${module.replace(/^\.\//, '')}`;
30
+ dynamicMap[scope][module] = /*#__PURE__*/_react.default.lazy(() => {
31
+ return (0, _runtime.loadRemote)(path).then(async Module => {
32
+ // semantically equals skipCompatMode
33
+ if (typeof Module.default === 'function') {
34
+ return Module;
35
+ }
36
+ const hostVersion = _semver.default.minVersion(_react.default.version);
37
+ const {
38
+ requiredVersion,
39
+ environment
40
+ } = Module.default;
41
+ const shareScopes = await new Promise(resolve => {
42
+ (0, _runtime.loadShareSync)('react', {
43
+ resolver: shareOptions => {
44
+ resolve(shareOptions);
45
+ return shareOptions[0];
46
+ }
47
+ });
48
+ });
49
+ const matchReactVersion = requiredVersion && _semver.default.satisfies(hostVersion, requiredVersion) && !shareScopes.some(t => {
50
+ const {
51
+ version,
52
+ from
53
+ } = t;
54
+ return _semver.default.gt(version, hostVersion) && _semver.default.satisfies(version, requiredVersion) || scope === from.split('-').join('_');
55
+ });
56
+ if (!matchReactVersion || environment !== 'production' || process.env.NODE_ENV === 'development') {
57
+ return {
58
+ default: Module.default.CompatComponent
59
+ };
60
+ }
61
+ return {
62
+ default: Module.default.Component
63
+ };
64
+ });
65
+ });
66
+ }
67
+ return dynamicMap[scope][module];
61
68
  }
package/dist/cjs/index.js CHANGED
@@ -7,8 +7,12 @@ var _exportNames = {
7
7
  ChaynsProvider: true,
8
8
  getDeviceInfo: true,
9
9
  getScreenSize: true,
10
+ getClientDeviceInfo: true,
10
11
  ChaynsHost: true,
11
12
  withCompatMode: true,
13
+ withHydrationBoundary: true,
14
+ StaticChaynsApi: true,
15
+ DialogHandler: true,
12
16
  dialog: true
13
17
  };
14
18
  Object.defineProperty(exports, "ChaynsHost", {
@@ -23,7 +27,25 @@ Object.defineProperty(exports, "ChaynsProvider", {
23
27
  return _ChaynsProvider.default;
24
28
  }
25
29
  });
30
+ Object.defineProperty(exports, "DialogHandler", {
31
+ enumerable: true,
32
+ get: function () {
33
+ return _DialogHandler.default;
34
+ }
35
+ });
36
+ Object.defineProperty(exports, "StaticChaynsApi", {
37
+ enumerable: true,
38
+ get: function () {
39
+ return _StaticChaynsApi.default;
40
+ }
41
+ });
26
42
  exports.dialog = exports.default = void 0;
43
+ Object.defineProperty(exports, "getClientDeviceInfo", {
44
+ enumerable: true,
45
+ get: function () {
46
+ return _deviceHelper.getClientDeviceInfo;
47
+ }
48
+ });
27
49
  Object.defineProperty(exports, "getDeviceInfo", {
28
50
  enumerable: true,
29
51
  get: function () {
@@ -42,6 +64,13 @@ Object.defineProperty(exports, "withCompatMode", {
42
64
  return _withCompatMode.withCompatMode;
43
65
  }
44
66
  });
67
+ Object.defineProperty(exports, "withHydrationBoundary", {
68
+ enumerable: true,
69
+ get: function () {
70
+ return _withHydrationBoundary.default;
71
+ }
72
+ });
73
+ require("./util/transferNestedFunctions");
45
74
  var _ChaynsProvider = _interopRequireDefault(require("./components/ChaynsProvider"));
46
75
  var _deviceHelper = _interopRequireWildcard(require("./util/deviceHelper"));
47
76
  var _ChaynsHost = _interopRequireDefault(require("./host/ChaynsHost"));
@@ -105,13 +134,27 @@ Object.keys(_IChaynsReact).forEach(function (key) {
105
134
  }
106
135
  });
107
136
  });
137
+ var _constants = require("./constants");
138
+ Object.keys(_constants).forEach(function (key) {
139
+ if (key === "default" || key === "__esModule") return;
140
+ if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
141
+ if (key in exports && exports[key] === _constants[key]) return;
142
+ Object.defineProperty(exports, key, {
143
+ enumerable: true,
144
+ get: function () {
145
+ return _constants[key];
146
+ }
147
+ });
148
+ });
149
+ var _withHydrationBoundary = _interopRequireDefault(require("./components/withHydrationBoundary"));
150
+ var _StaticChaynsApi = _interopRequireDefault(require("./wrapper/StaticChaynsApi"));
151
+ var _DialogHandler = _interopRequireDefault(require("./handler/DialogHandler"));
108
152
  var _dialog = _interopRequireWildcard(require("./calls/dialogs/index"));
109
153
  exports.dialog = _dialog;
110
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
111
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
154
+ function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
155
+ function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
112
156
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
113
- var _default = {
157
+ var _default = exports.default = {
114
158
  buildEnv: process.env.BUILD_ENV,
115
159
  appVersion: process.env.VERSION
116
- };
117
- exports.default = _default;
160
+ };