chayns-api 1.0.0 → 1.0.1

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 (205) hide show
  1. package/dist/cjs/bootstrap.js +11 -0
  2. package/dist/cjs/calls/abstractApiListener.js +40 -0
  3. package/dist/cjs/calls/apiEventListener.js +40 -0
  4. package/dist/cjs/calls/dialogs/alert.js +2 -0
  5. package/dist/cjs/calls/dialogs/chaynsDialog.js +8 -2
  6. package/dist/cjs/calls/dialogs/close.js +2 -0
  7. package/dist/cjs/calls/dialogs/communication.js +16 -1
  8. package/dist/cjs/calls/dialogs/confirm.js +4 -0
  9. package/dist/cjs/calls/dialogs/date.js +53 -36
  10. package/dist/cjs/calls/dialogs/dropUpAlert.js +3 -0
  11. package/dist/cjs/calls/dialogs/fileSelect.js +10 -0
  12. package/dist/cjs/calls/dialogs/iFrame.js +8 -0
  13. package/dist/cjs/calls/dialogs/index.js +27 -0
  14. package/dist/cjs/calls/dialogs/input.js +6 -0
  15. package/dist/cjs/calls/dialogs/mediaSelect.js +7 -0
  16. package/dist/cjs/calls/dialogs/open.js +2 -0
  17. package/dist/cjs/calls/dialogs/select.js +9 -0
  18. package/dist/cjs/calls/dialogs/signature.js +5 -0
  19. package/dist/cjs/calls/dialogs/toast.js +3 -0
  20. package/dist/cjs/calls/dialogs/utils/callback.js +2 -0
  21. package/dist/cjs/calls/dialogs/utils/is.js +4 -0
  22. package/dist/cjs/calls/getUserInfo.js +11 -0
  23. package/dist/cjs/calls/index.js +155 -3
  24. package/dist/cjs/calls/sendMessage.js +26 -0
  25. package/dist/cjs/calls/setVisibilityChangeListener.js +1 -0
  26. package/dist/cjs/calls/visibilityChangeListener.js +12 -1
  27. package/dist/cjs/calls/windowMetricsListener.js +18 -0
  28. package/dist/cjs/components/App.js +32 -0
  29. package/dist/cjs/components/App.spec.js +16 -0
  30. package/dist/cjs/components/Button.js +32 -0
  31. package/dist/cjs/components/ChaynsContext.js +4 -2
  32. package/dist/cjs/components/ChaynsProvider.js +28 -6
  33. package/dist/cjs/components/ChaynsProviderExposed.js +16 -0
  34. package/dist/cjs/components/TestProvider.js +236 -0
  35. package/dist/cjs/components/Title.js +162 -0
  36. package/dist/cjs/components/WaitUntil.js +5 -0
  37. package/dist/cjs/components/withCompatMode.js +16 -1
  38. package/dist/cjs/functions/addApiListener.js +37 -0
  39. package/dist/cjs/functions/addGeoLocationListener.js +26 -0
  40. package/dist/cjs/functions/addScrollListener.js +26 -0
  41. package/dist/cjs/functions/addWindowMetricsListener.js +37 -0
  42. package/dist/cjs/helper/apiListenerHelper.js +9 -0
  43. package/dist/cjs/helper/cssLoader.js +28 -0
  44. package/dist/cjs/hooks/addGeoLocationListener.js +26 -0
  45. package/dist/cjs/hooks/addScrollListener.js +26 -0
  46. package/dist/cjs/hooks/addWindowMetricsListener.js +37 -0
  47. package/dist/cjs/hooks/geoLocation.js +48 -0
  48. package/dist/cjs/hooks/geoLocationListener.js +11 -2
  49. package/dist/cjs/hooks/index.js +16 -0
  50. package/dist/cjs/hooks/scrollListener.js +23 -4
  51. package/dist/cjs/hooks/useAccessToken.js +5 -0
  52. package/dist/cjs/hooks/useAddGeoLocationListener.js +26 -0
  53. package/dist/cjs/hooks/useAddScrollListener.js +48 -0
  54. package/dist/cjs/hooks/useAddWindowMetricsListener.js +45 -0
  55. package/dist/cjs/hooks/useAdddScrollListener.js +26 -0
  56. package/dist/cjs/hooks/useCurrentPage.js +4 -0
  57. package/dist/cjs/hooks/useCustomData.js +4 -0
  58. package/dist/cjs/hooks/useDevice.js +4 -0
  59. package/dist/cjs/hooks/useEnvironment.js +4 -0
  60. package/dist/cjs/hooks/useFunctions.js +4 -0
  61. package/dist/cjs/hooks/useIsAdminMode.js +5 -0
  62. package/dist/cjs/hooks/useLanguage.js +4 -0
  63. package/dist/cjs/hooks/usePages.js +12 -0
  64. package/dist/cjs/hooks/useParameters.js +4 -0
  65. package/dist/cjs/hooks/useSite.js +4 -0
  66. package/dist/cjs/hooks/useUser.js +4 -0
  67. package/dist/cjs/hooks/useValues.js +4 -0
  68. package/dist/cjs/hooks/windowMetrics.js +45 -0
  69. package/dist/cjs/hooks/windowMetricsListener.js +12 -2
  70. package/dist/cjs/host/ChaynsHost.js +12 -0
  71. package/dist/cjs/host/{module/PagemakerFrame.js → HostIframe.js} +75 -23
  72. package/dist/cjs/host/ModuleHost.js +11 -0
  73. package/dist/cjs/host/iframe/HostIframe.js +30 -23
  74. package/dist/cjs/host/iframe/utils/useUpdateData.js +3 -0
  75. package/dist/cjs/host/module/ModuleHost.js +13 -3
  76. package/dist/cjs/host/module/utils/loadComponent.js +18 -1
  77. package/dist/cjs/host/module/utils/useDynamicScript.js +18 -0
  78. package/dist/cjs/host/module/utils.js +25 -0
  79. package/dist/cjs/index.example.js +7 -0
  80. package/dist/cjs/index.js +19 -0
  81. package/dist/cjs/index2.js +64 -0
  82. package/dist/cjs/types/DynamicImport.d.js +5 -0
  83. package/dist/cjs/types/IChaynsReact.js +47 -0
  84. package/dist/cjs/types/chayns-components.d.js +1 -0
  85. package/dist/cjs/types/chayns-logger.d.js +1 -0
  86. package/dist/cjs/types/chayns.d.js +1 -0
  87. package/dist/cjs/types/tobit-websocket-service-client.d.js +1 -0
  88. package/dist/cjs/types/toolkit-types.d.js +1 -0
  89. package/dist/cjs/util/appCall.js +4 -1
  90. package/dist/cjs/util/deviceHelper.js +17 -2
  91. package/dist/cjs/util/heightHelper.js +9 -0
  92. package/dist/cjs/util/postIframeForm.js +5 -0
  93. package/dist/cjs/util/useFunctionsContext.js +16 -0
  94. package/dist/cjs/util/useIsAdminMode.js +18 -0
  95. package/dist/cjs/util/useUser.js +16 -0
  96. package/dist/cjs/wrapper/AppWrapper.js +144 -119
  97. package/dist/cjs/wrapper/FrameWrapper.js +248 -215
  98. package/dist/cjs/wrapper/ModuleFederationWrapper.js +27 -2
  99. package/dist/cjs/wrapper/SsrWrapper.js +8 -0
  100. package/dist/esm/bootstrap.js +4 -0
  101. package/dist/esm/calls/dialogs/alert.js +4 -4
  102. package/dist/esm/calls/dialogs/chaynsDialog.js +11 -7
  103. package/dist/esm/calls/dialogs/communication.js +26 -15
  104. package/dist/esm/calls/dialogs/confirm.js +8 -5
  105. package/dist/esm/calls/dialogs/date.js +94 -85
  106. package/dist/esm/calls/dialogs/dropUpAlert.js +1 -1
  107. package/dist/esm/calls/dialogs/fileSelect.js +62 -23
  108. package/dist/esm/calls/dialogs/iFrame.js +10 -7
  109. package/dist/esm/calls/dialogs/input.js +5 -2
  110. package/dist/esm/calls/dialogs/mediaSelect.js +55 -18
  111. package/dist/esm/calls/dialogs/open.js +2 -2
  112. package/dist/esm/calls/dialogs/select.js +9 -5
  113. package/dist/esm/calls/dialogs/signature.js +2 -0
  114. package/dist/esm/calls/dialogs/toast.js +11 -6
  115. package/dist/esm/calls/dialogs/utils/callback.js +5 -3
  116. package/dist/esm/calls/dialogs/utils/is.js +3 -1
  117. package/dist/esm/calls/getUserInfo.js +92 -32
  118. package/dist/esm/calls/index.js +276 -124
  119. package/dist/esm/calls/sendMessage.js +221 -91
  120. package/dist/esm/calls/visibilityChangeListener.js +15 -10
  121. package/dist/esm/components/App.js +35 -0
  122. package/dist/esm/components/App.spec.js +9 -0
  123. package/dist/esm/components/Button.js +34 -0
  124. package/dist/esm/components/ChaynsContext.js +3 -3
  125. package/dist/esm/components/ChaynsProvider.js +86 -45
  126. package/dist/esm/components/ChaynsProviderExposed.js +3 -0
  127. package/dist/esm/components/TestProvider.js +308 -0
  128. package/dist/esm/components/Title.js +210 -0
  129. package/dist/esm/components/WaitUntil.js +86 -21
  130. package/dist/esm/components/withCompatMode.js +77 -35
  131. package/dist/esm/helper/apiListenerHelper.js +15 -10
  132. package/dist/esm/helper/cssLoader.js +21 -0
  133. package/dist/esm/hooks/geoLocationListener.js +46 -20
  134. package/dist/esm/hooks/scrollListener.js +86 -50
  135. package/dist/esm/hooks/useAccessToken.js +28 -6
  136. package/dist/esm/hooks/useAddGeoLocationListener.js +18 -0
  137. package/dist/esm/hooks/useAddScrollListener.js +18 -0
  138. package/dist/esm/hooks/useAddWindowMetricsListener.js +18 -0
  139. package/dist/esm/hooks/useCurrentPage.js +6 -2
  140. package/dist/esm/hooks/useCustomData.js +6 -2
  141. package/dist/esm/hooks/useDevice.js +6 -1
  142. package/dist/esm/hooks/useEnvironment.js +6 -1
  143. package/dist/esm/hooks/useFunctions.js +5 -2
  144. package/dist/esm/hooks/useIsAdminMode.js +6 -2
  145. package/dist/esm/hooks/useLanguage.js +6 -1
  146. package/dist/esm/hooks/usePages.js +27 -14
  147. package/dist/esm/hooks/useParameters.js +6 -1
  148. package/dist/esm/hooks/useSite.js +6 -1
  149. package/dist/esm/hooks/useUser.js +6 -1
  150. package/dist/esm/hooks/useValues.js +5 -2
  151. package/dist/esm/hooks/windowMetricsListener.js +44 -18
  152. package/dist/esm/host/ChaynsHost.js +30 -21
  153. package/dist/esm/host/HostIframe.js +153 -0
  154. package/dist/esm/host/iframe/HostIframe.js +142 -86
  155. package/dist/esm/host/iframe/utils/useUpdateData.js +6 -4
  156. package/dist/esm/host/module/ModuleHost.js +49 -42
  157. package/dist/esm/host/module/utils/loadComponent.js +85 -47
  158. package/dist/esm/host/module/utils/useDynamicScript.js +74 -27
  159. package/dist/esm/index.example.js +1 -0
  160. package/dist/esm/index2.js +5 -0
  161. package/dist/esm/types/DynamicImport.d.js +1 -0
  162. package/dist/esm/types/IChaynsReact.js +61 -14
  163. package/dist/esm/types/chayns-components.d.js +0 -0
  164. package/dist/esm/types/chayns-logger.d.js +0 -0
  165. package/dist/esm/types/chayns.d.js +0 -0
  166. package/dist/esm/types/tobit-websocket-service-client.d.js +0 -0
  167. package/dist/esm/types/toolkit-types.d.js +0 -0
  168. package/dist/esm/util/appCall.js +4 -2
  169. package/dist/esm/util/deviceHelper.js +33 -11
  170. package/dist/esm/util/heightHelper.js +13 -10
  171. package/dist/esm/util/postIframeForm.js +57 -25
  172. package/dist/esm/util/useIsAdminMode.js +9 -0
  173. package/dist/esm/util/useUser.js +7 -0
  174. package/dist/esm/wrapper/AppWrapper.js +762 -179
  175. package/dist/esm/wrapper/FrameWrapper.js +1509 -258
  176. package/dist/esm/wrapper/ModuleFederationWrapper.js +284 -47
  177. package/dist/esm/wrapper/SsrWrapper.js +65 -19
  178. package/dist/types/bootstrap.d.ts +1 -0
  179. package/dist/types/calls/dialogs/confirm.d.ts +1 -1
  180. package/dist/types/calls/dialogs/date.d.ts +4 -4
  181. package/dist/types/calls/dialogs/dropUpAlert.d.ts +1 -1
  182. package/dist/types/calls/dialogs/fileSelect.d.ts +1 -1
  183. package/dist/types/calls/dialogs/iFrame.d.ts +1 -1
  184. package/dist/types/calls/dialogs/input.d.ts +1 -1
  185. package/dist/types/calls/dialogs/mediaSelect.d.ts +1 -1
  186. package/dist/types/calls/dialogs/signature.d.ts +1 -1
  187. package/dist/types/components/App.d.ts +5 -0
  188. package/dist/types/components/Button.d.ts +8 -0
  189. package/dist/types/components/ChaynsProvider.d.ts +1 -1
  190. package/dist/types/components/ChaynsProviderExposed.d.ts +13 -0
  191. package/dist/types/components/Title.d.ts +3 -0
  192. package/dist/types/components/WaitUntil.d.ts +1 -1
  193. package/dist/types/components/withCompatMode.d.ts +1 -1
  194. package/dist/types/hooks/useAccessToken.d.ts +1 -1
  195. package/dist/types/host/ChaynsHost.d.ts +2 -1
  196. package/dist/types/host/{module/PagemakerFrame.d.ts → HostIframe.d.ts} +5 -7
  197. package/dist/types/host/iframe/HostIframe.d.ts +1 -1
  198. package/dist/types/host/module/ModuleHost.d.ts +2 -2
  199. package/dist/types/index.example.d.ts +0 -0
  200. package/dist/types/types/IChaynsReact.d.ts +14 -14
  201. package/package.json +1 -1
  202. package/dist/cjs/calls/dialogs/utils/environment.js +0 -10
  203. package/dist/esm/calls/dialogs/utils/environment.js +0 -3
  204. package/dist/esm/host/module/PagemakerFrame.js +0 -97
  205. package/dist/types/calls/dialogs/utils/environment.d.ts +0 -3
@@ -1,103 +1,158 @@
1
- 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); }
1
+ function _extends() { _extends = Object.assign || 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); }
2
+
3
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
4
+
5
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
6
+
7
+ function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
8
+
9
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
10
+
11
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
12
+
2
13
  import React, { useEffect, useRef } from 'react';
3
14
  import * as comlink from 'comlink';
4
15
  import postIframeForm from '../../util/postIframeForm';
5
16
  import useUpdateData from './utils/useUpdateData';
6
- const HostIframe = _ref => {
7
- let {
8
- iFrameProps,
9
- src,
10
- postForm = false,
11
- iFrameRef,
12
- // shallow data
13
- pages,
14
- isAdminModeActive,
15
- site,
16
- user,
17
- currentPage,
18
- functions,
19
- device,
20
- language,
21
- parameters,
22
- environment,
23
- customData
24
- } = _ref;
25
- const eventTarget = useRef();
26
- const ref = useRef();
27
- const currentDataRef = useRef();
17
+
18
+ var HostIframe = function HostIframe(_ref) {
19
+ var iFrameProps = _ref.iFrameProps,
20
+ src = _ref.src,
21
+ _ref$postForm = _ref.postForm,
22
+ postForm = _ref$postForm === void 0 ? false : _ref$postForm,
23
+ iFrameRef = _ref.iFrameRef,
24
+ pages = _ref.pages,
25
+ isAdminModeActive = _ref.isAdminModeActive,
26
+ site = _ref.site,
27
+ user = _ref.user,
28
+ currentPage = _ref.currentPage,
29
+ functions = _ref.functions,
30
+ device = _ref.device,
31
+ language = _ref.language,
32
+ parameters = _ref.parameters,
33
+ environment = _ref.environment,
34
+ customData = _ref.customData;
35
+ var eventTarget = useRef();
36
+
37
+ var _ref3 = useRef();
38
+
39
+ var currentDataRef = useRef();
40
+
28
41
  if (!eventTarget.current) {
29
42
  eventTarget.current = global.document ? document.createElement('div') : undefined; // global.EventTarget ? new EventTarget() : undefined
30
43
  }
31
44
 
32
- const setHeight = value => {
33
- if (ref.current) {
34
- ref.current.height = `${value}px`;
45
+ var setHeight = function setHeight(value) {
46
+ if (_ref3.current) {
47
+ _ref3.current.height = "".concat(value, "px");
35
48
  }
36
- };
37
-
38
- // region initialData
39
- const initialData = {
40
- site,
41
- isAdminModeActive,
42
- pages,
43
- currentPage,
44
- device,
45
- user,
46
- language,
47
- parameters,
48
- environment,
49
- customData
50
- };
51
- // endregion
52
-
53
- currentDataRef.current = initialData;
54
-
55
- // region postIframeForm
56
- useEffect(() => {
57
- (async () => {
58
- if (postForm) {
59
- var _await$functions$getA;
60
- const accessToken = (_await$functions$getA = await functions.getAccessToken()) !== null && _await$functions$getA !== void 0 ? _await$functions$getA : {};
61
- void postIframeForm(src, JSON.stringify({
62
- ...initialData,
63
- pages: undefined,
64
- ...accessToken
65
- }), 'chayns', iFrameProps.name);
66
- }
67
- })();
68
- // eslint-disable-next-line react-hooks/exhaustive-deps
69
- }, []);
70
- // endregion
49
+ }; // region initialData
50
+
51
+
52
+ var initialData = {
53
+ site: site,
54
+ isAdminModeActive: isAdminModeActive,
55
+ pages: pages,
56
+ currentPage: currentPage,
57
+ device: device,
58
+ user: user,
59
+ language: language,
60
+ parameters: parameters,
61
+ environment: environment,
62
+ customData: customData
63
+ }; // endregion
64
+
65
+ currentDataRef.current = initialData; // region postIframeForm
66
+
67
+ useEffect(function () {
68
+ _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
69
+ var _yield$functions$getA, accessToken;
70
+
71
+ return regeneratorRuntime.wrap(function _callee$(_context) {
72
+ while (1) {
73
+ switch (_context.prev = _context.next) {
74
+ case 0:
75
+ if (!postForm) {
76
+ _context.next = 14;
77
+ break;
78
+ }
79
+
80
+ _context.next = 3;
81
+ return functions.getAccessToken();
82
+
83
+ case 3:
84
+ _context.t1 = _yield$functions$getA = _context.sent;
85
+ _context.t0 = _context.t1 !== null;
71
86
 
87
+ if (!_context.t0) {
88
+ _context.next = 7;
89
+ break;
90
+ }
91
+
92
+ _context.t0 = _yield$functions$getA !== void 0;
93
+
94
+ case 7:
95
+ if (!_context.t0) {
96
+ _context.next = 11;
97
+ break;
98
+ }
99
+
100
+ _context.t2 = _yield$functions$getA;
101
+ _context.next = 12;
102
+ break;
103
+
104
+ case 11:
105
+ _context.t2 = {};
106
+
107
+ case 12:
108
+ accessToken = _context.t2;
109
+ void postIframeForm(src, JSON.stringify(_objectSpread(_objectSpread({}, initialData), {}, {
110
+ pages: undefined
111
+ }, accessToken)), 'chayns', iFrameProps.name);
112
+
113
+ case 14:
114
+ case "end":
115
+ return _context.stop();
116
+ }
117
+ }
118
+ }, _callee);
119
+ }))(); // eslint-disable-next-line react-hooks/exhaustive-deps
120
+
121
+ }, []); // endregion
72
122
  // region expose data and functions to iframe
73
- useEffect(() => {
123
+
124
+ useEffect(function () {
74
125
  var _ref$current;
75
- if ((_ref$current = ref.current) !== null && _ref$current !== void 0 && _ref$current.contentWindow) {
76
- const obj = {
77
- [iFrameProps.name]: {
78
- functions: {
79
- ...functions,
80
- setHeight
81
- },
82
- addDataListener: cb => {
83
- if (eventTarget.current) eventTarget.current.addEventListener('data_update', e => e.detail && cb(e.detail));
84
- },
85
- getInitialData: () => currentDataRef.current
126
+
127
+ if ((_ref$current = _ref3.current) !== null && _ref$current !== void 0 && _ref$current.contentWindow) {
128
+ var obj = _defineProperty({}, iFrameProps.name, {
129
+ functions: _objectSpread(_objectSpread({}, functions), {}, {
130
+ setHeight: setHeight
131
+ }),
132
+ addDataListener: function addDataListener(cb) {
133
+ if (eventTarget.current) eventTarget.current.addEventListener('data_update', function (e) {
134
+ return e.detail && cb(e.detail);
135
+ });
136
+ },
137
+ getInitialData: function getInitialData() {
138
+ return currentDataRef.current;
86
139
  }
87
- };
88
- comlink.expose(obj, comlink.windowEndpoint(ref.current.contentWindow));
89
- ref.current.contentWindow.postMessage('chayns-api-host-ready', '*');
90
- // https://github.com/GoogleChromeLabs/comlink/pull/469 might be better approach once released
91
- return () => {
140
+ });
141
+
142
+ comlink.expose(obj, comlink.windowEndpoint(_ref3.current.contentWindow));
143
+
144
+ _ref3.current.contentWindow.postMessage('chayns-api-host-ready', '*'); // https://github.com/GoogleChromeLabs/comlink/pull/469 might be better approach once released
145
+
146
+
147
+ return function () {
92
148
  delete obj[iFrameProps.name];
93
149
  };
94
150
  }
95
- return undefined;
96
- // eslint-disable-next-line react-hooks/exhaustive-deps
97
- }, []);
98
- // endregion
99
151
 
152
+ return undefined; // eslint-disable-next-line react-hooks/exhaustive-deps
153
+ }, []); // endregion
100
154
  // region dispatch data update
155
+
101
156
  useUpdateData(eventTarget.current, 'isAdminModeActive', isAdminModeActive);
102
157
  useUpdateData(eventTarget.current, 'user', user);
103
158
  useUpdateData(eventTarget.current, 'site', site);
@@ -105,12 +160,12 @@ const HostIframe = _ref => {
105
160
  useUpdateData(eventTarget.current, 'language', language);
106
161
  useUpdateData(eventTarget.current, 'parameters', parameters);
107
162
  useUpdateData(eventTarget.current, 'environment', environment);
108
- useUpdateData(eventTarget.current, 'customData', customData);
109
- // endregion
163
+ useUpdateData(eventTarget.current, 'customData', customData); // endregion
110
164
 
111
165
  return /*#__PURE__*/React.createElement("iframe", _extends({
112
- ref: r => {
113
- ref.current = r;
166
+ ref: function ref(r) {
167
+ _ref3.current = r;
168
+
114
169
  if (iFrameRef) {
115
170
  // eslint-disable-next-line no-param-reassign
116
171
  iFrameRef.current = r;
@@ -121,4 +176,5 @@ const HostIframe = _ref => {
121
176
  src: postForm ? undefined : src
122
177
  }));
123
178
  };
179
+
124
180
  export default HostIframe;
@@ -1,14 +1,16 @@
1
1
  import { useEffect } from 'react';
2
- const useUpdateData = (target, type, value) => {
3
- useEffect(() => {
2
+
3
+ var useUpdateData = function useUpdateData(target, type, value) {
4
+ useEffect(function () {
4
5
  if (target) {
5
6
  target.dispatchEvent(new CustomEvent('data_update', {
6
7
  detail: {
7
- type,
8
- value
8
+ type: type,
9
+ value: value
9
10
  }
10
11
  }));
11
12
  }
12
13
  }, [target, type, value]);
13
14
  };
15
+
14
16
  export default useUpdateData;
@@ -1,65 +1,71 @@
1
+ var _excluded = ["system", "fallback"];
2
+
3
+ function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
4
+
5
+ function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
6
+
1
7
  import React, { useMemo } from 'react';
2
8
  import useDynamicScript from './utils/useDynamicScript';
3
9
  import loadComponent from './utils/loadComponent';
4
- const System = _ref => {
5
- let {
6
- system,
7
- fallback,
8
- ...props
9
- } = _ref;
10
- const {
11
- ready,
12
- failed
13
- } = useDynamicScript({
10
+
11
+ var System = function System(_ref) {
12
+ var system = _ref.system,
13
+ fallback = _ref.fallback,
14
+ props = _objectWithoutProperties(_ref, _excluded);
15
+
16
+ var _useDynamicScript = useDynamicScript({
14
17
  url: system === null || system === void 0 ? void 0 : system.url,
15
18
  scope: system === null || system === void 0 ? void 0 : system.scope
16
- });
17
- const Component = useMemo(() => {
19
+ }),
20
+ ready = _useDynamicScript.ready,
21
+ failed = _useDynamicScript.failed;
22
+
23
+ var Component = useMemo(function () {
18
24
  // maybe return waitcursor instead
19
25
  if (!system || !ready || failed) {
20
26
  return null;
21
27
  }
22
- return /*#__PURE__*/React.lazy(loadComponent(system.scope, system.module, system.url));
23
28
 
29
+ return /*#__PURE__*/React.lazy(loadComponent(system.scope, system.module, system.url));
24
30
  /* eslint-disable react-hooks/exhaustive-deps */
25
31
  }, [system === null || system === void 0 ? void 0 : system.scope, ready, system === null || system === void 0 ? void 0 : system.url]);
26
32
  return Component ? /*#__PURE__*/React.createElement(React.Suspense, {
27
33
  fallback: fallback || ''
28
34
  }, /*#__PURE__*/React.createElement(Component, props)) : fallback;
29
35
  };
30
- const ModuleHost = _ref2 => {
31
- let {
32
- system,
33
- children = null,
34
- functions,
35
- // shallow data
36
- pages,
37
- isAdminModeActive,
38
- site,
39
- user,
40
- currentPage,
41
- device,
42
- language,
43
- parameters,
44
- customData,
45
- environment
46
- } = _ref2;
36
+
37
+ var ModuleHost = function ModuleHost(_ref2) {
38
+ var system = _ref2.system,
39
+ _ref2$children = _ref2.children,
40
+ children = _ref2$children === void 0 ? null : _ref2$children,
41
+ functions = _ref2.functions,
42
+ pages = _ref2.pages,
43
+ isAdminModeActive = _ref2.isAdminModeActive,
44
+ site = _ref2.site,
45
+ user = _ref2.user,
46
+ currentPage = _ref2.currentPage,
47
+ device = _ref2.device,
48
+ language = _ref2.language,
49
+ parameters = _ref2.parameters,
50
+ customData = _ref2.customData,
51
+ environment = _ref2.environment;
47
52
  // region initialData
48
- const initialData = {
49
- site,
50
- isAdminModeActive,
51
- pages,
52
- currentPage,
53
- device,
54
- language,
55
- parameters,
56
- customData,
57
- environment
53
+ var initialData = {
54
+ site: site,
55
+ isAdminModeActive: isAdminModeActive,
56
+ pages: pages,
57
+ currentPage: currentPage,
58
+ device: device,
59
+ language: language,
60
+ parameters: parameters,
61
+ customData: customData,
62
+ environment: environment
58
63
  };
64
+
59
65
  if (user) {
60
66
  initialData.user = user;
61
- }
62
- // endregion
67
+ } // endregion
68
+
63
69
 
64
70
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
65
71
  className: "module-css"
@@ -71,4 +77,5 @@ const ModuleHost = _ref2 => {
71
77
  isModule: true
72
78
  }));
73
79
  };
80
+
74
81
  export default ModuleHost;
@@ -1,55 +1,93 @@
1
+ function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) { try { var info = gen[key](arg); var value = info.value; } catch (error) { reject(error); return; } if (info.done) { resolve(value); } else { Promise.resolve(value).then(_next, _throw); } }
2
+
3
+ function _asyncToGenerator(fn) { return function () { var self = this, args = arguments; return new Promise(function (resolve, reject) { var gen = fn.apply(self, args); function _next(value) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "next", value); } function _throw(err) { asyncGeneratorStep(gen, resolve, reject, _next, _throw, "throw", err); } _next(undefined); }); }; }
4
+
1
5
  /* eslint-disable */
2
6
  // @ts-nocheck
3
-
4
7
  import semver from 'semver';
5
8
  import React from 'react';
6
9
  import { semaphore } from './useDynamicScript';
7
- let instances = {};
10
+ var instances = {};
8
11
  export default function loadComponent(scope, module, url) {
9
- let skipCompatMode = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
10
- return async () => {
11
- // Initializes the shared scope. Fills it with known provided modules from this build and all remotes
12
- // eslint-disable-next-line no-undef
13
- await __webpack_init_sharing__('default');
14
- const {
15
- container
16
- } = window[scope + "_list"].find(x => x.url === url); // or get the container somewhere else
17
- // Initialize the container, it may provide shared modules
18
- // eslint-disable-next-line no-undef
19
- await container.init(__webpack_share_scopes__.default);
20
- const factory = await container.get(module);
21
- semaphore[scope].release();
22
- let ModuleMap = instances[`${scope}__${module}`];
23
- let Module;
24
- if (!ModuleMap) {
25
- ModuleMap = {};
26
- instances[`${scope}__${module}`] = ModuleMap;
27
- }
28
- if (Object.keys(ModuleMap).length > 0) {
29
- const newModule = factory();
30
- Module = ModuleMap[`${newModule.default.buildEnv}__${newModule.default.appVersion}`];
31
- if (!Module) {
32
- Module = newModule;
33
- ModuleMap[`${newModule.default.buildEnv}__${newModule.default.appVersion}`] = newModule;
12
+ var skipCompatMode = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
13
+ return /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
14
+ var _window$find, container, factory, ModuleMap, Module, newModule, hostVersion, _Module$default, requiredVersion, environment, matchReactVersion;
15
+
16
+ return regeneratorRuntime.wrap(function _callee$(_context) {
17
+ while (1) {
18
+ switch (_context.prev = _context.next) {
19
+ case 0:
20
+ _context.next = 2;
21
+ return __webpack_init_sharing__('default');
22
+
23
+ case 2:
24
+ _window$find = window[scope + "_list"].find(function (x) {
25
+ return x.url === url;
26
+ }), container = _window$find.container; // or get the container somewhere else
27
+ // Initialize the container, it may provide shared modules
28
+ // eslint-disable-next-line no-undef
29
+
30
+ _context.next = 5;
31
+ return container.init(__webpack_share_scopes__.default);
32
+
33
+ case 5:
34
+ _context.next = 7;
35
+ return container.get(module);
36
+
37
+ case 7:
38
+ factory = _context.sent;
39
+ semaphore[scope].release();
40
+ ModuleMap = instances["".concat(scope, "__").concat(module)];
41
+
42
+ if (!ModuleMap) {
43
+ ModuleMap = {};
44
+ instances["".concat(scope, "__").concat(module)] = ModuleMap;
45
+ }
46
+
47
+ if (Object.keys(ModuleMap).length > 0) {
48
+ newModule = factory();
49
+ Module = ModuleMap["".concat(newModule.default.buildEnv, "__").concat(newModule.default.appVersion)];
50
+
51
+ if (!Module) {
52
+ Module = newModule;
53
+ ModuleMap["".concat(newModule.default.buildEnv, "__").concat(newModule.default.appVersion)] = newModule;
54
+ }
55
+ } else {
56
+ Module = factory();
57
+ ModuleMap["".concat(Module.default.buildEnv, "__").concat(Module.default.appVersion)] = Module;
58
+ }
59
+
60
+ if (!skipCompatMode) {
61
+ _context.next = 14;
62
+ break;
63
+ }
64
+
65
+ return _context.abrupt("return", Module);
66
+
67
+ case 14:
68
+ hostVersion = semver.minVersion(React.version);
69
+ _Module$default = Module.default, requiredVersion = _Module$default.requiredVersion, environment = _Module$default.environment;
70
+ matchReactVersion = requiredVersion && semver.satisfies(hostVersion, requiredVersion);
71
+
72
+ if (!(!matchReactVersion || environment !== 'production')) {
73
+ _context.next = 19;
74
+ break;
75
+ }
76
+
77
+ return _context.abrupt("return", {
78
+ default: Module.default.CompatComponent
79
+ });
80
+
81
+ case 19:
82
+ return _context.abrupt("return", {
83
+ default: Module.default.Component
84
+ });
85
+
86
+ case 20:
87
+ case "end":
88
+ return _context.stop();
89
+ }
34
90
  }
35
- } else {
36
- Module = factory();
37
- ModuleMap[`${Module.default.buildEnv}__${Module.default.appVersion}`] = Module;
38
- }
39
- if (skipCompatMode) return Module;
40
- const hostVersion = semver.minVersion(React.version);
41
- const {
42
- requiredVersion,
43
- environment
44
- } = Module.default;
45
- const matchReactVersion = requiredVersion && semver.satisfies(hostVersion, requiredVersion);
46
- if (!matchReactVersion || environment !== 'production') {
47
- return {
48
- default: Module.default.CompatComponent
49
- };
50
- }
51
- return {
52
- default: Module.default.Component
53
- };
54
- };
91
+ }, _callee);
92
+ }));
55
93
  }