chayns-api 1.0.1 → 1.0.3

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 (263) hide show
  1. package/.babelrc +30 -30
  2. package/.eslintrc +17 -17
  3. package/.github/workflows/deploy_docs.yml +28 -28
  4. package/.github/workflows/publish.yml +21 -0
  5. package/LICENSE +21 -21
  6. package/README.md +47 -47
  7. package/dist/cjs/calls/dialogs/alert.js +0 -2
  8. package/dist/cjs/calls/dialogs/chaynsDialog.js +2 -8
  9. package/dist/cjs/calls/dialogs/close.js +0 -2
  10. package/dist/cjs/calls/dialogs/communication.js +1 -16
  11. package/dist/cjs/calls/dialogs/confirm.js +0 -4
  12. package/dist/cjs/calls/dialogs/date.js +46 -63
  13. package/dist/cjs/calls/dialogs/dropUpAlert.js +0 -3
  14. package/dist/cjs/calls/dialogs/fileSelect.js +0 -10
  15. package/dist/cjs/calls/dialogs/iFrame.js +0 -8
  16. package/dist/cjs/calls/dialogs/index.js +0 -27
  17. package/dist/cjs/calls/dialogs/input.js +0 -6
  18. package/dist/cjs/calls/dialogs/mediaSelect.js +0 -7
  19. package/dist/cjs/calls/dialogs/open.js +0 -2
  20. package/dist/cjs/calls/dialogs/select.js +0 -9
  21. package/dist/cjs/calls/dialogs/signature.js +0 -5
  22. package/dist/cjs/calls/dialogs/toast.js +0 -3
  23. package/dist/cjs/calls/dialogs/utils/callback.js +0 -2
  24. package/dist/cjs/calls/dialogs/utils/is.js +0 -4
  25. package/dist/cjs/calls/getUserInfo.js +0 -11
  26. package/dist/cjs/calls/index.js +95 -247
  27. package/dist/cjs/calls/sendMessage.js +8 -34
  28. package/dist/cjs/calls/visibilityChangeListener.js +5 -16
  29. package/dist/cjs/components/ChaynsContext.js +2 -4
  30. package/dist/cjs/components/ChaynsProvider.js +6 -28
  31. package/dist/cjs/components/WaitUntil.js +0 -5
  32. package/dist/cjs/components/withCompatMode.js +1 -16
  33. package/dist/cjs/helper/apiListenerHelper.js +0 -9
  34. package/dist/cjs/hooks/geoLocationListener.js +6 -15
  35. package/dist/cjs/hooks/index.js +6 -16
  36. package/dist/cjs/hooks/scrollListener.js +12 -31
  37. package/dist/cjs/hooks/useAccessToken.js +2 -7
  38. package/dist/cjs/hooks/useCurrentPage.js +2 -6
  39. package/dist/cjs/hooks/useCustomData.js +2 -6
  40. package/dist/cjs/hooks/useDevice.js +2 -6
  41. package/dist/cjs/hooks/useEnvironment.js +2 -6
  42. package/dist/cjs/hooks/useFunctions.js +2 -6
  43. package/dist/cjs/hooks/useIsAdminMode.js +2 -7
  44. package/dist/cjs/hooks/useLanguage.js +2 -6
  45. package/dist/cjs/hooks/usePages.js +26 -18
  46. package/dist/cjs/hooks/useParameters.js +2 -6
  47. package/dist/cjs/hooks/useSite.js +2 -6
  48. package/dist/cjs/hooks/useUser.js +2 -7
  49. package/dist/cjs/hooks/useValues.js +2 -6
  50. package/dist/cjs/hooks/windowMetricsListener.js +6 -16
  51. package/dist/cjs/host/ChaynsHost.js +0 -10
  52. package/dist/cjs/host/iframe/HostIframe.js +23 -30
  53. package/dist/cjs/host/iframe/utils/useUpdateData.js +0 -3
  54. package/dist/cjs/host/module/ModuleHost.js +3 -13
  55. package/dist/cjs/host/module/utils/loadComponent.js +1 -18
  56. package/dist/cjs/host/module/utils/useDynamicScript.js +0 -18
  57. package/dist/cjs/index.js +0 -19
  58. package/dist/cjs/types/IChaynsReact.js +27 -48
  59. package/dist/cjs/util/appCall.js +1 -4
  60. package/dist/cjs/util/deviceHelper.js +5 -22
  61. package/dist/cjs/util/heightHelper.js +0 -9
  62. package/dist/cjs/util/postIframeForm.js +0 -5
  63. package/dist/cjs/wrapper/AppWrapper.js +323 -159
  64. package/dist/cjs/wrapper/FrameWrapper.js +219 -248
  65. package/dist/cjs/wrapper/ModuleFederationWrapper.js +2 -27
  66. package/dist/cjs/wrapper/SsrWrapper.js +0 -8
  67. package/dist/esm/calls/dialogs/alert.js +4 -4
  68. package/dist/esm/calls/dialogs/chaynsDialog.js +7 -11
  69. package/dist/esm/calls/dialogs/communication.js +15 -26
  70. package/dist/esm/calls/dialogs/confirm.js +5 -8
  71. package/dist/esm/calls/dialogs/date.js +119 -128
  72. package/dist/esm/calls/dialogs/dropUpAlert.js +1 -1
  73. package/dist/esm/calls/dialogs/fileSelect.js +23 -62
  74. package/dist/esm/calls/dialogs/iFrame.js +7 -10
  75. package/dist/esm/calls/dialogs/input.js +2 -5
  76. package/dist/esm/calls/dialogs/mediaSelect.js +18 -55
  77. package/dist/esm/calls/dialogs/open.js +2 -2
  78. package/dist/esm/calls/dialogs/select.js +5 -9
  79. package/dist/esm/calls/dialogs/signature.js +0 -2
  80. package/dist/esm/calls/dialogs/toast.js +6 -11
  81. package/dist/esm/calls/dialogs/utils/callback.js +3 -5
  82. package/dist/esm/calls/dialogs/utils/is.js +1 -3
  83. package/dist/esm/calls/getUserInfo.js +32 -92
  84. package/dist/esm/calls/index.js +297 -449
  85. package/dist/esm/calls/sendMessage.js +99 -229
  86. package/dist/esm/calls/visibilityChangeListener.js +14 -19
  87. package/dist/esm/components/ChaynsContext.js +3 -3
  88. package/dist/esm/components/ChaynsProvider.js +45 -86
  89. package/dist/esm/components/WaitUntil.js +21 -86
  90. package/dist/esm/components/withCompatMode.js +35 -77
  91. package/dist/esm/helper/apiListenerHelper.js +10 -15
  92. package/dist/esm/hooks/geoLocationListener.js +24 -50
  93. package/dist/esm/hooks/index.js +1 -1
  94. package/dist/esm/hooks/scrollListener.js +58 -94
  95. package/dist/esm/hooks/useAccessToken.js +8 -30
  96. package/dist/esm/hooks/useCurrentPage.js +4 -8
  97. package/dist/esm/hooks/useCustomData.js +4 -8
  98. package/dist/esm/hooks/useDevice.js +3 -8
  99. package/dist/esm/hooks/useEnvironment.js +3 -8
  100. package/dist/esm/hooks/useFunctions.js +4 -7
  101. package/dist/esm/hooks/useIsAdminMode.js +4 -8
  102. package/dist/esm/hooks/useLanguage.js +3 -8
  103. package/dist/esm/hooks/usePages.js +38 -31
  104. package/dist/esm/hooks/useParameters.js +3 -8
  105. package/dist/esm/hooks/useSite.js +3 -8
  106. package/dist/esm/hooks/useUser.js +3 -9
  107. package/dist/esm/hooks/useValues.js +4 -7
  108. package/dist/esm/hooks/windowMetricsListener.js +22 -48
  109. package/dist/esm/host/ChaynsHost.js +22 -29
  110. package/dist/esm/host/iframe/HostIframe.js +86 -142
  111. package/dist/esm/host/iframe/utils/useUpdateData.js +4 -6
  112. package/dist/esm/host/module/ModuleHost.js +42 -49
  113. package/dist/esm/host/module/utils/loadComponent.js +47 -85
  114. package/dist/esm/host/module/utils/useDynamicScript.js +27 -74
  115. package/dist/esm/types/IChaynsReact.js +37 -61
  116. package/dist/esm/util/appCall.js +2 -4
  117. package/dist/esm/util/deviceHelper.js +13 -37
  118. package/dist/esm/util/heightHelper.js +10 -13
  119. package/dist/esm/util/postIframeForm.js +25 -57
  120. package/dist/esm/wrapper/AppWrapper.js +385 -781
  121. package/dist/esm/wrapper/FrameWrapper.js +262 -1509
  122. package/dist/esm/wrapper/ModuleFederationWrapper.js +47 -284
  123. package/dist/esm/wrapper/SsrWrapper.js +19 -65
  124. package/dist/types/calls/dialogs/alert.d.ts +1 -1
  125. package/dist/types/calls/dialogs/chaynsDialog.d.ts +24 -24
  126. package/dist/types/calls/dialogs/close.d.ts +1 -1
  127. package/dist/types/calls/dialogs/communication.d.ts +3 -3
  128. package/dist/types/calls/dialogs/confirm.d.ts +13 -13
  129. package/dist/types/calls/dialogs/date.d.ts +96 -96
  130. package/dist/types/calls/dialogs/dropUpAlert.d.ts +5 -5
  131. package/dist/types/calls/dialogs/fileSelect.d.ts +16 -16
  132. package/dist/types/calls/dialogs/iFrame.d.ts +10 -10
  133. package/dist/types/calls/dialogs/index.d.ts +14 -14
  134. package/dist/types/calls/dialogs/input.d.ts +15 -15
  135. package/dist/types/calls/dialogs/mediaSelect.d.ts +8 -8
  136. package/dist/types/calls/dialogs/open.d.ts +1 -1
  137. package/dist/types/calls/dialogs/select.d.ts +6 -6
  138. package/dist/types/calls/dialogs/signature.d.ts +7 -7
  139. package/dist/types/calls/dialogs/toast.d.ts +1 -1
  140. package/dist/types/calls/dialogs/utils/callback.d.ts +1 -1
  141. package/dist/types/calls/dialogs/utils/is.d.ts +4 -4
  142. package/dist/types/calls/getUserInfo.d.ts +9 -9
  143. package/dist/types/calls/index.d.ts +225 -231
  144. package/dist/types/calls/sendMessage.d.ts +13 -13
  145. package/dist/types/calls/visibilityChangeListener.d.ts +9 -9
  146. package/dist/types/components/ChaynsContext.d.ts +3 -3
  147. package/dist/types/components/ChaynsProvider.d.ts +13 -13
  148. package/dist/types/components/WaitUntil.d.ts +7 -7
  149. package/dist/types/components/withCompatMode.d.ts +13 -13
  150. package/dist/types/helper/apiListenerHelper.d.ts +6 -6
  151. package/dist/types/hooks/geoLocationListener.d.ts +18 -18
  152. package/dist/types/hooks/index.d.ts +16 -16
  153. package/dist/types/hooks/scrollListener.d.ts +28 -28
  154. package/dist/types/hooks/useAccessToken.d.ts +5 -5
  155. package/dist/types/hooks/useCurrentPage.d.ts +4 -4
  156. package/dist/types/hooks/useCustomData.d.ts +4 -4
  157. package/dist/types/hooks/useDevice.d.ts +5 -5
  158. package/dist/types/hooks/useEnvironment.d.ts +5 -5
  159. package/dist/types/hooks/useFunctions.d.ts +5 -5
  160. package/dist/types/hooks/useIsAdminMode.d.ts +4 -4
  161. package/dist/types/hooks/useLanguage.d.ts +5 -5
  162. package/dist/types/hooks/usePages.d.ts +18 -14
  163. package/dist/types/hooks/useParameters.d.ts +5 -5
  164. package/dist/types/hooks/useSite.d.ts +5 -5
  165. package/dist/types/hooks/useUser.d.ts +5 -5
  166. package/dist/types/hooks/useValues.d.ts +5 -5
  167. package/dist/types/hooks/windowMetricsListener.d.ts +11 -11
  168. package/dist/types/host/ChaynsHost.d.ts +28 -28
  169. package/dist/types/host/iframe/HostIframe.d.ts +24 -24
  170. package/dist/types/host/iframe/utils/useUpdateData.d.ts +3 -3
  171. package/dist/types/host/module/ModuleHost.d.ts +23 -23
  172. package/dist/types/host/module/utils/loadComponent.d.ts +1 -1
  173. package/dist/types/host/module/utils/useDynamicScript.d.ts +9 -9
  174. package/dist/types/index.d.ts +16 -16
  175. package/dist/types/types/IChaynsReact.d.ts +622 -590
  176. package/dist/types/types/dialog.d.ts +41 -41
  177. package/dist/types/util/appCall.d.ts +2 -2
  178. package/dist/types/util/deviceHelper.d.ts +7 -7
  179. package/dist/types/util/heightHelper.d.ts +1 -1
  180. package/dist/types/util/postIframeForm.d.ts +1 -1
  181. package/dist/types/wrapper/AppWrapper.d.ts +18 -16
  182. package/dist/types/wrapper/FrameWrapper.d.ts +15 -15
  183. package/dist/types/wrapper/ModuleFederationWrapper.d.ts +10 -10
  184. package/dist/types/wrapper/SsrWrapper.d.ts +11 -11
  185. package/package.json +76 -76
  186. package/toolkit.config.js +52 -52
  187. package/tsconfig.json +56 -56
  188. package/dist/cjs/bootstrap.js +0 -11
  189. package/dist/cjs/calls/abstractApiListener.js +0 -40
  190. package/dist/cjs/calls/apiEventListener.js +0 -40
  191. package/dist/cjs/calls/setVisibilityChangeListener.js +0 -1
  192. package/dist/cjs/calls/windowMetricsListener.js +0 -18
  193. package/dist/cjs/client.js +0 -93
  194. package/dist/cjs/components/App.js +0 -32
  195. package/dist/cjs/components/App.spec.js +0 -16
  196. package/dist/cjs/components/Button.js +0 -32
  197. package/dist/cjs/components/ChaynsModuleProvider.js +0 -457
  198. package/dist/cjs/components/ChaynsProviderExposed.js +0 -16
  199. package/dist/cjs/components/TestProvider.js +0 -236
  200. package/dist/cjs/components/Title.js +0 -162
  201. package/dist/cjs/functions/addApiListener.js +0 -37
  202. package/dist/cjs/functions/addGeoLocationListener.js +0 -26
  203. package/dist/cjs/functions/addScrollListener.js +0 -26
  204. package/dist/cjs/functions/addWindowMetricsListener.js +0 -37
  205. package/dist/cjs/helper/cssLoader.js +0 -28
  206. package/dist/cjs/hooks/addGeoLocationListener.js +0 -26
  207. package/dist/cjs/hooks/addScrollListener.js +0 -26
  208. package/dist/cjs/hooks/addWindowMetricsListener.js +0 -37
  209. package/dist/cjs/hooks/geoLocation.js +0 -48
  210. package/dist/cjs/hooks/useAddGeoLocationListener.js +0 -26
  211. package/dist/cjs/hooks/useAddScrollListener.js +0 -48
  212. package/dist/cjs/hooks/useAddWindowMetricsListener.js +0 -45
  213. package/dist/cjs/hooks/useAdddScrollListener.js +0 -26
  214. package/dist/cjs/hooks/windowMetrics.js +0 -45
  215. package/dist/cjs/host/HostIframe.js +0 -157
  216. package/dist/cjs/host/ModuleHost.js +0 -11
  217. package/dist/cjs/host/module/utils.js +0 -25
  218. package/dist/cjs/index.example.js +0 -7
  219. package/dist/cjs/index2.js +0 -64
  220. package/dist/cjs/types/DynamicApiImport.d.js +0 -5
  221. package/dist/cjs/types/DynamicImport.d.js +0 -5
  222. package/dist/cjs/types/chayns-components.d.js +0 -1
  223. package/dist/cjs/types/chayns-logger.d.js +0 -1
  224. package/dist/cjs/types/chayns.d.js +0 -1
  225. package/dist/cjs/types/tobit-websocket-service-client.d.js +0 -1
  226. package/dist/cjs/types/toolkit-types.d.js +0 -1
  227. package/dist/cjs/util/useFunctionsContext.js +0 -16
  228. package/dist/cjs/util/useIsAdminMode.js +0 -18
  229. package/dist/cjs/util/useUser.js +0 -16
  230. package/dist/esm/bootstrap.js +0 -4
  231. package/dist/esm/client.js +0 -8
  232. package/dist/esm/components/App.js +0 -35
  233. package/dist/esm/components/App.spec.js +0 -9
  234. package/dist/esm/components/Button.js +0 -34
  235. package/dist/esm/components/ChaynsModuleProvider.js +0 -517
  236. package/dist/esm/components/ChaynsProviderExposed.js +0 -3
  237. package/dist/esm/components/TestProvider.js +0 -308
  238. package/dist/esm/components/Title.js +0 -210
  239. package/dist/esm/helper/cssLoader.js +0 -21
  240. package/dist/esm/hooks/useAddGeoLocationListener.js +0 -18
  241. package/dist/esm/hooks/useAddScrollListener.js +0 -18
  242. package/dist/esm/hooks/useAddWindowMetricsListener.js +0 -18
  243. package/dist/esm/host/HostIframe.js +0 -153
  244. package/dist/esm/index.example.js +0 -1
  245. package/dist/esm/index2.js +0 -5
  246. package/dist/esm/types/DynamicApiImport.d.js +0 -1
  247. package/dist/esm/types/DynamicImport.d.js +0 -1
  248. package/dist/esm/types/chayns-components.d.js +0 -0
  249. package/dist/esm/types/chayns-logger.d.js +0 -0
  250. package/dist/esm/types/chayns.d.js +0 -0
  251. package/dist/esm/types/tobit-websocket-service-client.d.js +0 -0
  252. package/dist/esm/types/toolkit-types.d.js +0 -0
  253. package/dist/esm/util/useIsAdminMode.js +0 -9
  254. package/dist/esm/util/useUser.js +0 -7
  255. package/dist/types/bootstrap.d.ts +0 -1
  256. package/dist/types/client.d.ts +0 -7
  257. package/dist/types/components/App.d.ts +0 -5
  258. package/dist/types/components/Button.d.ts +0 -8
  259. package/dist/types/components/ChaynsModuleProvider.d.ts +0 -170
  260. package/dist/types/components/ChaynsProviderExposed.d.ts +0 -13
  261. package/dist/types/components/Title.d.ts +0 -3
  262. package/dist/types/host/HostIframe.d.ts +0 -20
  263. package/dist/types/index.example.d.ts +0 -0
@@ -1,158 +1,103 @@
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
-
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); }
13
2
  import React, { useEffect, useRef } from 'react';
14
3
  import * as comlink from 'comlink';
15
4
  import postIframeForm from '../../util/postIframeForm';
16
5
  import useUpdateData from './utils/useUpdateData';
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
-
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();
41
28
  if (!eventTarget.current) {
42
29
  eventTarget.current = global.document ? document.createElement('div') : undefined; // global.EventTarget ? new EventTarget() : undefined
43
30
  }
44
31
 
45
- var setHeight = function setHeight(value) {
46
- if (_ref3.current) {
47
- _ref3.current.height = "".concat(value, "px");
32
+ const setHeight = value => {
33
+ if (ref.current) {
34
+ ref.current.height = `${value}px`;
48
35
  }
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;
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
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
120
71
 
121
- }, []); // endregion
122
72
  // region expose data and functions to iframe
123
-
124
- useEffect(function () {
73
+ useEffect(() => {
125
74
  var _ref$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;
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
139
86
  }
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 () {
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 () => {
148
92
  delete obj[iFrameProps.name];
149
93
  };
150
94
  }
95
+ return undefined;
96
+ // eslint-disable-next-line react-hooks/exhaustive-deps
97
+ }, []);
98
+ // endregion
151
99
 
152
- return undefined; // eslint-disable-next-line react-hooks/exhaustive-deps
153
- }, []); // endregion
154
100
  // region dispatch data update
155
-
156
101
  useUpdateData(eventTarget.current, 'isAdminModeActive', isAdminModeActive);
157
102
  useUpdateData(eventTarget.current, 'user', user);
158
103
  useUpdateData(eventTarget.current, 'site', site);
@@ -160,12 +105,12 @@ var HostIframe = function HostIframe(_ref) {
160
105
  useUpdateData(eventTarget.current, 'language', language);
161
106
  useUpdateData(eventTarget.current, 'parameters', parameters);
162
107
  useUpdateData(eventTarget.current, 'environment', environment);
163
- useUpdateData(eventTarget.current, 'customData', customData); // endregion
108
+ useUpdateData(eventTarget.current, 'customData', customData);
109
+ // endregion
164
110
 
165
111
  return /*#__PURE__*/React.createElement("iframe", _extends({
166
- ref: function ref(r) {
167
- _ref3.current = r;
168
-
112
+ ref: r => {
113
+ ref.current = r;
169
114
  if (iFrameRef) {
170
115
  // eslint-disable-next-line no-param-reassign
171
116
  iFrameRef.current = r;
@@ -176,5 +121,4 @@ var HostIframe = function HostIframe(_ref) {
176
121
  src: postForm ? undefined : src
177
122
  }));
178
123
  };
179
-
180
124
  export default HostIframe;
@@ -1,16 +1,14 @@
1
1
  import { useEffect } from 'react';
2
-
3
- var useUpdateData = function useUpdateData(target, type, value) {
4
- useEffect(function () {
2
+ const useUpdateData = (target, type, value) => {
3
+ useEffect(() => {
5
4
  if (target) {
6
5
  target.dispatchEvent(new CustomEvent('data_update', {
7
6
  detail: {
8
- type: type,
9
- value: value
7
+ type,
8
+ value
10
9
  }
11
10
  }));
12
11
  }
13
12
  }, [target, type, value]);
14
13
  };
15
-
16
14
  export default useUpdateData;
@@ -1,71 +1,65 @@
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
-
7
1
  import React, { useMemo } from 'react';
8
2
  import useDynamicScript from './utils/useDynamicScript';
9
3
  import loadComponent from './utils/loadComponent';
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({
4
+ const System = _ref => {
5
+ let {
6
+ system,
7
+ fallback,
8
+ ...props
9
+ } = _ref;
10
+ const {
11
+ ready,
12
+ failed
13
+ } = useDynamicScript({
17
14
  url: system === null || system === void 0 ? void 0 : system.url,
18
15
  scope: system === null || system === void 0 ? void 0 : system.scope
19
- }),
20
- ready = _useDynamicScript.ready,
21
- failed = _useDynamicScript.failed;
22
-
23
- var Component = useMemo(function () {
16
+ });
17
+ const Component = useMemo(() => {
24
18
  // maybe return waitcursor instead
25
19
  if (!system || !ready || failed) {
26
20
  return null;
27
21
  }
28
-
29
22
  return /*#__PURE__*/React.lazy(loadComponent(system.scope, system.module, system.url));
23
+
30
24
  /* eslint-disable react-hooks/exhaustive-deps */
31
25
  }, [system === null || system === void 0 ? void 0 : system.scope, ready, system === null || system === void 0 ? void 0 : system.url]);
32
26
  return Component ? /*#__PURE__*/React.createElement(React.Suspense, {
33
27
  fallback: fallback || ''
34
28
  }, /*#__PURE__*/React.createElement(Component, props)) : fallback;
35
29
  };
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;
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;
52
47
  // region initialData
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
48
+ const initialData = {
49
+ site,
50
+ isAdminModeActive,
51
+ pages,
52
+ currentPage,
53
+ device,
54
+ language,
55
+ parameters,
56
+ customData,
57
+ environment
63
58
  };
64
-
65
59
  if (user) {
66
60
  initialData.user = user;
67
- } // endregion
68
-
61
+ }
62
+ // endregion
69
63
 
70
64
  return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement("div", {
71
65
  className: "module-css"
@@ -77,5 +71,4 @@ var ModuleHost = function ModuleHost(_ref2) {
77
71
  isModule: true
78
72
  }));
79
73
  };
80
-
81
74
  export default ModuleHost;
@@ -1,93 +1,55 @@
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
-
5
1
  /* eslint-disable */
6
2
  // @ts-nocheck
3
+
7
4
  import semver from 'semver';
8
5
  import React from 'react';
9
6
  import { semaphore } from './useDynamicScript';
10
- var instances = {};
7
+ let instances = {};
11
8
  export default function loadComponent(scope, module, url) {
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
- }
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;
90
34
  }
91
- }, _callee);
92
- }));
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
+ };
93
55
  }