chayns-api 1.0.1 → 1.0.2

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 (211) hide show
  1. package/dist/cjs/calls/dialogs/alert.js +0 -2
  2. package/dist/cjs/calls/dialogs/chaynsDialog.js +2 -8
  3. package/dist/cjs/calls/dialogs/close.js +0 -2
  4. package/dist/cjs/calls/dialogs/communication.js +1 -16
  5. package/dist/cjs/calls/dialogs/confirm.js +0 -4
  6. package/dist/cjs/calls/dialogs/date.js +36 -53
  7. package/dist/cjs/calls/dialogs/dropUpAlert.js +0 -3
  8. package/dist/cjs/calls/dialogs/fileSelect.js +0 -10
  9. package/dist/cjs/calls/dialogs/iFrame.js +0 -8
  10. package/dist/cjs/calls/dialogs/index.js +0 -27
  11. package/dist/cjs/calls/dialogs/input.js +0 -6
  12. package/dist/cjs/calls/dialogs/mediaSelect.js +0 -7
  13. package/dist/cjs/calls/dialogs/open.js +0 -2
  14. package/dist/cjs/calls/dialogs/select.js +0 -9
  15. package/dist/cjs/calls/dialogs/signature.js +0 -5
  16. package/dist/cjs/calls/dialogs/toast.js +0 -3
  17. package/dist/cjs/calls/dialogs/utils/callback.js +0 -2
  18. package/dist/cjs/calls/dialogs/utils/environment.js +10 -0
  19. package/dist/cjs/calls/dialogs/utils/is.js +0 -4
  20. package/dist/cjs/calls/getUserInfo.js +0 -11
  21. package/dist/cjs/calls/index.js +3 -155
  22. package/dist/cjs/calls/sendMessage.js +0 -26
  23. package/dist/cjs/calls/visibilityChangeListener.js +1 -12
  24. package/dist/cjs/components/ChaynsContext.js +2 -4
  25. package/dist/cjs/components/ChaynsProvider.js +6 -28
  26. package/dist/cjs/components/WaitUntil.js +0 -5
  27. package/dist/cjs/components/withCompatMode.js +1 -16
  28. package/dist/cjs/helper/apiListenerHelper.js +0 -9
  29. package/dist/cjs/hooks/geoLocationListener.js +2 -11
  30. package/dist/cjs/hooks/index.js +6 -16
  31. package/dist/cjs/hooks/scrollListener.js +4 -23
  32. package/dist/cjs/hooks/useAccessToken.js +0 -5
  33. package/dist/cjs/hooks/useCurrentPage.js +0 -4
  34. package/dist/cjs/hooks/useCustomData.js +0 -4
  35. package/dist/cjs/hooks/useDevice.js +0 -4
  36. package/dist/cjs/hooks/useEnvironment.js +0 -4
  37. package/dist/cjs/hooks/useFunctions.js +0 -4
  38. package/dist/cjs/hooks/useIsAdminMode.js +0 -5
  39. package/dist/cjs/hooks/useLanguage.js +0 -4
  40. package/dist/cjs/hooks/usePages.js +22 -14
  41. package/dist/cjs/hooks/useParameters.js +0 -4
  42. package/dist/cjs/hooks/useSite.js +0 -4
  43. package/dist/cjs/hooks/useUser.js +0 -5
  44. package/dist/cjs/hooks/useValues.js +0 -4
  45. package/dist/cjs/hooks/windowMetricsListener.js +2 -12
  46. package/dist/cjs/host/ChaynsHost.js +0 -10
  47. package/dist/cjs/host/iframe/HostIframe.js +23 -30
  48. package/dist/cjs/host/iframe/utils/useUpdateData.js +0 -3
  49. package/dist/cjs/host/module/ModuleHost.js +3 -13
  50. package/dist/cjs/host/{HostIframe.js → module/PagemakerFrame.js} +23 -75
  51. package/dist/cjs/host/module/utils/loadComponent.js +1 -18
  52. package/dist/cjs/host/module/utils/useDynamicScript.js +0 -18
  53. package/dist/cjs/index.js +0 -19
  54. package/dist/cjs/types/IChaynsReact.js +27 -48
  55. package/dist/cjs/util/appCall.js +1 -4
  56. package/dist/cjs/util/deviceHelper.js +4 -21
  57. package/dist/cjs/util/heightHelper.js +0 -9
  58. package/dist/cjs/util/postIframeForm.js +0 -5
  59. package/dist/cjs/wrapper/AppWrapper.js +318 -159
  60. package/dist/cjs/wrapper/FrameWrapper.js +215 -248
  61. package/dist/cjs/wrapper/ModuleFederationWrapper.js +2 -27
  62. package/dist/cjs/wrapper/SsrWrapper.js +0 -8
  63. package/dist/esm/calls/dialogs/alert.js +4 -4
  64. package/dist/esm/calls/dialogs/chaynsDialog.js +7 -11
  65. package/dist/esm/calls/dialogs/communication.js +15 -26
  66. package/dist/esm/calls/dialogs/confirm.js +5 -8
  67. package/dist/esm/calls/dialogs/date.js +85 -94
  68. package/dist/esm/calls/dialogs/dropUpAlert.js +1 -1
  69. package/dist/esm/calls/dialogs/fileSelect.js +23 -62
  70. package/dist/esm/calls/dialogs/iFrame.js +7 -10
  71. package/dist/esm/calls/dialogs/input.js +2 -5
  72. package/dist/esm/calls/dialogs/mediaSelect.js +18 -55
  73. package/dist/esm/calls/dialogs/open.js +2 -2
  74. package/dist/esm/calls/dialogs/select.js +5 -9
  75. package/dist/esm/calls/dialogs/signature.js +0 -2
  76. package/dist/esm/calls/dialogs/toast.js +6 -11
  77. package/dist/esm/calls/dialogs/utils/callback.js +3 -5
  78. package/dist/esm/calls/dialogs/utils/environment.js +3 -0
  79. package/dist/esm/calls/dialogs/utils/is.js +1 -3
  80. package/dist/esm/calls/getUserInfo.js +32 -92
  81. package/dist/esm/calls/index.js +124 -276
  82. package/dist/esm/calls/sendMessage.js +91 -221
  83. package/dist/esm/calls/visibilityChangeListener.js +10 -15
  84. package/dist/esm/components/ChaynsContext.js +3 -3
  85. package/dist/esm/components/ChaynsProvider.js +45 -86
  86. package/dist/esm/components/WaitUntil.js +21 -86
  87. package/dist/esm/components/withCompatMode.js +35 -77
  88. package/dist/esm/helper/apiListenerHelper.js +10 -15
  89. package/dist/esm/hooks/geoLocationListener.js +20 -46
  90. package/dist/esm/hooks/index.js +1 -1
  91. package/dist/esm/hooks/scrollListener.js +50 -86
  92. package/dist/esm/hooks/useAccessToken.js +6 -28
  93. package/dist/esm/hooks/useCurrentPage.js +2 -6
  94. package/dist/esm/hooks/useCustomData.js +2 -6
  95. package/dist/esm/hooks/useDevice.js +1 -6
  96. package/dist/esm/hooks/useEnvironment.js +1 -6
  97. package/dist/esm/hooks/useFunctions.js +2 -5
  98. package/dist/esm/hooks/useIsAdminMode.js +2 -6
  99. package/dist/esm/hooks/useLanguage.js +1 -6
  100. package/dist/esm/hooks/usePages.js +34 -27
  101. package/dist/esm/hooks/useParameters.js +1 -6
  102. package/dist/esm/hooks/useSite.js +1 -6
  103. package/dist/esm/hooks/useUser.js +1 -7
  104. package/dist/esm/hooks/useValues.js +2 -5
  105. package/dist/esm/hooks/windowMetricsListener.js +18 -44
  106. package/dist/esm/host/ChaynsHost.js +22 -29
  107. package/dist/esm/host/iframe/HostIframe.js +86 -142
  108. package/dist/esm/host/iframe/utils/useUpdateData.js +4 -6
  109. package/dist/esm/host/module/ModuleHost.js +42 -49
  110. package/dist/esm/host/module/PagemakerFrame.js +97 -0
  111. package/dist/esm/host/module/utils/loadComponent.js +47 -85
  112. package/dist/esm/host/module/utils/useDynamicScript.js +27 -74
  113. package/dist/esm/types/IChaynsReact.js +37 -61
  114. package/dist/esm/util/appCall.js +2 -4
  115. package/dist/esm/util/deviceHelper.js +12 -36
  116. package/dist/esm/util/heightHelper.js +10 -13
  117. package/dist/esm/util/postIframeForm.js +25 -57
  118. package/dist/esm/wrapper/AppWrapper.js +380 -781
  119. package/dist/esm/wrapper/FrameWrapper.js +258 -1509
  120. package/dist/esm/wrapper/ModuleFederationWrapper.js +47 -284
  121. package/dist/esm/wrapper/SsrWrapper.js +19 -65
  122. package/dist/types/calls/dialogs/confirm.d.ts +1 -1
  123. package/dist/types/calls/dialogs/date.d.ts +4 -4
  124. package/dist/types/calls/dialogs/dropUpAlert.d.ts +1 -1
  125. package/dist/types/calls/dialogs/fileSelect.d.ts +1 -1
  126. package/dist/types/calls/dialogs/iFrame.d.ts +1 -1
  127. package/dist/types/calls/dialogs/input.d.ts +1 -1
  128. package/dist/types/calls/dialogs/mediaSelect.d.ts +1 -1
  129. package/dist/types/calls/dialogs/signature.d.ts +1 -1
  130. package/dist/types/calls/dialogs/utils/environment.d.ts +3 -0
  131. package/dist/types/calls/index.d.ts +0 -6
  132. package/dist/types/components/ChaynsProvider.d.ts +1 -1
  133. package/dist/types/components/WaitUntil.d.ts +1 -1
  134. package/dist/types/components/withCompatMode.d.ts +1 -1
  135. package/dist/types/hooks/index.d.ts +1 -1
  136. package/dist/types/hooks/useAccessToken.d.ts +1 -1
  137. package/dist/types/hooks/usePages.d.ts +4 -0
  138. package/dist/types/host/ChaynsHost.d.ts +1 -1
  139. package/dist/types/host/iframe/HostIframe.d.ts +1 -1
  140. package/dist/types/host/module/ModuleHost.d.ts +2 -2
  141. package/dist/types/host/{HostIframe.d.ts → module/PagemakerFrame.d.ts} +7 -5
  142. package/dist/types/types/IChaynsReact.d.ts +55 -24
  143. package/dist/types/util/deviceHelper.d.ts +2 -2
  144. package/dist/types/wrapper/AppWrapper.d.ts +6 -4
  145. package/package.json +1 -1
  146. package/dist/cjs/bootstrap.js +0 -11
  147. package/dist/cjs/calls/abstractApiListener.js +0 -40
  148. package/dist/cjs/calls/apiEventListener.js +0 -40
  149. package/dist/cjs/calls/setVisibilityChangeListener.js +0 -1
  150. package/dist/cjs/calls/windowMetricsListener.js +0 -18
  151. package/dist/cjs/components/App.js +0 -32
  152. package/dist/cjs/components/App.spec.js +0 -16
  153. package/dist/cjs/components/Button.js +0 -32
  154. package/dist/cjs/components/ChaynsProviderExposed.js +0 -16
  155. package/dist/cjs/components/TestProvider.js +0 -236
  156. package/dist/cjs/components/Title.js +0 -162
  157. package/dist/cjs/functions/addApiListener.js +0 -37
  158. package/dist/cjs/functions/addGeoLocationListener.js +0 -26
  159. package/dist/cjs/functions/addScrollListener.js +0 -26
  160. package/dist/cjs/functions/addWindowMetricsListener.js +0 -37
  161. package/dist/cjs/helper/cssLoader.js +0 -28
  162. package/dist/cjs/hooks/addGeoLocationListener.js +0 -26
  163. package/dist/cjs/hooks/addScrollListener.js +0 -26
  164. package/dist/cjs/hooks/addWindowMetricsListener.js +0 -37
  165. package/dist/cjs/hooks/geoLocation.js +0 -48
  166. package/dist/cjs/hooks/useAddGeoLocationListener.js +0 -26
  167. package/dist/cjs/hooks/useAddScrollListener.js +0 -48
  168. package/dist/cjs/hooks/useAddWindowMetricsListener.js +0 -45
  169. package/dist/cjs/hooks/useAdddScrollListener.js +0 -26
  170. package/dist/cjs/hooks/windowMetrics.js +0 -45
  171. package/dist/cjs/host/ModuleHost.js +0 -11
  172. package/dist/cjs/host/module/utils.js +0 -25
  173. package/dist/cjs/index.example.js +0 -7
  174. package/dist/cjs/index2.js +0 -64
  175. package/dist/cjs/types/DynamicImport.d.js +0 -5
  176. package/dist/cjs/types/chayns-components.d.js +0 -1
  177. package/dist/cjs/types/chayns-logger.d.js +0 -1
  178. package/dist/cjs/types/chayns.d.js +0 -1
  179. package/dist/cjs/types/tobit-websocket-service-client.d.js +0 -1
  180. package/dist/cjs/types/toolkit-types.d.js +0 -1
  181. package/dist/cjs/util/useFunctionsContext.js +0 -16
  182. package/dist/cjs/util/useIsAdminMode.js +0 -18
  183. package/dist/cjs/util/useUser.js +0 -16
  184. package/dist/esm/bootstrap.js +0 -4
  185. package/dist/esm/components/App.js +0 -35
  186. package/dist/esm/components/App.spec.js +0 -9
  187. package/dist/esm/components/Button.js +0 -34
  188. package/dist/esm/components/ChaynsProviderExposed.js +0 -3
  189. package/dist/esm/components/TestProvider.js +0 -308
  190. package/dist/esm/components/Title.js +0 -210
  191. package/dist/esm/helper/cssLoader.js +0 -21
  192. package/dist/esm/hooks/useAddGeoLocationListener.js +0 -18
  193. package/dist/esm/hooks/useAddScrollListener.js +0 -18
  194. package/dist/esm/hooks/useAddWindowMetricsListener.js +0 -18
  195. package/dist/esm/host/HostIframe.js +0 -153
  196. package/dist/esm/index.example.js +0 -1
  197. package/dist/esm/index2.js +0 -5
  198. package/dist/esm/types/DynamicImport.d.js +0 -1
  199. package/dist/esm/types/chayns-components.d.js +0 -0
  200. package/dist/esm/types/chayns-logger.d.js +0 -0
  201. package/dist/esm/types/chayns.d.js +0 -0
  202. package/dist/esm/types/tobit-websocket-service-client.d.js +0 -0
  203. package/dist/esm/types/toolkit-types.d.js +0 -0
  204. package/dist/esm/util/useIsAdminMode.js +0 -9
  205. package/dist/esm/util/useUser.js +0 -7
  206. package/dist/types/bootstrap.d.ts +0 -1
  207. package/dist/types/components/App.d.ts +0 -5
  208. package/dist/types/components/Button.d.ts +0 -8
  209. package/dist/types/components/ChaynsProviderExposed.d.ts +0 -13
  210. package/dist/types/components/Title.d.ts +0 -3
  211. package/dist/types/index.example.d.ts +0 -0
@@ -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;
@@ -0,0 +1,97 @@
1
+ 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; }
2
+
3
+ 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; }
4
+
5
+ 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; }
6
+
7
+ import { useEffect, useRef } from 'react';
8
+ import * as comlink from 'comlink';
9
+ import useUpdateData from "../iframe/utils/useUpdateData";
10
+
11
+ var PagemakerFrame = function PagemakerFrame(_ref) {
12
+ var iFrameProps = _ref.iFrameProps,
13
+ _ref$postForm = _ref.postForm,
14
+ postForm = _ref$postForm === void 0 ? false : _ref$postForm,
15
+ children = _ref.children,
16
+ iFrameRef = _ref.iFrameRef,
17
+ pages = _ref.pages,
18
+ isAdminModeActive = _ref.isAdminModeActive,
19
+ site = _ref.site,
20
+ user = _ref.user,
21
+ currentPage = _ref.currentPage,
22
+ functions = _ref.functions,
23
+ device = _ref.device,
24
+ language = _ref.language,
25
+ parameters = _ref.parameters,
26
+ environment = _ref.environment;
27
+ var eventTarget = useRef();
28
+ var ref = useRef();
29
+ var currentDataRef = useRef();
30
+
31
+ if (!eventTarget.current) {
32
+ eventTarget.current = global.document ? document.createElement('div') : undefined; // global.EventTarget ? new EventTarget() : undefined
33
+ }
34
+
35
+ var setHeight = function setHeight(value) {
36
+ if (ref.current) {
37
+ ref.current.height = "".concat(value, "px");
38
+ }
39
+ }; // region initialData
40
+
41
+
42
+ var initialData = {
43
+ site: site,
44
+ isAdminModeActive: isAdminModeActive,
45
+ pages: pages,
46
+ currentPage: currentPage,
47
+ device: device,
48
+ user: user,
49
+ language: language,
50
+ parameters: parameters,
51
+ environment: environment
52
+ }; // endregion
53
+
54
+ currentDataRef.current = initialData;
55
+ console.debug('functions', functions); // region expose data and functions to iframe
56
+
57
+ useEffect(function () {
58
+ var _ref$current;
59
+
60
+ if ((_ref$current = ref.current) !== null && _ref$current !== void 0 && _ref$current.contentWindow) {
61
+ var obj = _defineProperty({}, iFrameProps.name, {
62
+ functions: _objectSpread(_objectSpread({}, functions), {}, {
63
+ setHeight: setHeight
64
+ }),
65
+ addDataListener: function addDataListener(cb) {
66
+ if (eventTarget.current) eventTarget.current.addEventListener('data_update', function (e) {
67
+ return e.detail && cb(e.detail);
68
+ });
69
+ },
70
+ getInitialData: function getInitialData() {
71
+ return currentDataRef.current;
72
+ }
73
+ });
74
+
75
+ comlink.expose(obj, comlink.windowEndpoint(ref.current.contentWindow));
76
+ ref.current.contentWindow.postMessage('chayns-api-host-ready', '*'); // https://github.com/GoogleChromeLabs/comlink/pull/469 might be better approach once released
77
+
78
+ return function () {
79
+ delete obj[iFrameProps.name];
80
+ };
81
+ }
82
+
83
+ return undefined; // eslint-disable-next-line react-hooks/exhaustive-deps
84
+ }, []); // endregion
85
+ // region dispatch data update
86
+
87
+ useUpdateData(eventTarget.current, 'isAdminModeActive', isAdminModeActive);
88
+ useUpdateData(eventTarget.current, 'user', user);
89
+ useUpdateData(eventTarget.current, 'site', site);
90
+ useUpdateData(eventTarget.current, 'pages', pages);
91
+ useUpdateData(eventTarget.current, 'language', language);
92
+ useUpdateData(eventTarget.current, 'parameters', parameters); // endregion
93
+
94
+ return children;
95
+ };
96
+
97
+ export default PagemakerFrame;
@@ -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
  }
@@ -1,97 +1,50 @@
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
- function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
6
-
7
- function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
8
-
9
- function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10
-
11
- function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
12
-
13
- function _iterableToArrayLimit(arr, i) { var _i = arr == null ? null : typeof Symbol !== "undefined" && arr[Symbol.iterator] || arr["@@iterator"]; if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
14
-
15
- function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
16
-
17
1
  import React, { useEffect } from 'react';
18
2
  import Semaphore from 'semaphore-async-await';
19
- export var semaphore = {};
20
-
21
- var useDynamicScript = function useDynamicScript(args) {
22
- var _React$useState = React.useState(false),
23
- _React$useState2 = _slicedToArray(_React$useState, 2),
24
- ready = _React$useState2[0],
25
- setReady = _React$useState2[1];
26
-
27
- var _React$useState3 = React.useState(false),
28
- _React$useState4 = _slicedToArray(_React$useState3, 2),
29
- failed = _React$useState4[0],
30
- setFailed = _React$useState4[1];
31
-
32
- useEffect(function () {
3
+ export const semaphore = {};
4
+ const useDynamicScript = args => {
5
+ const [ready, setReady] = React.useState(false);
6
+ const [failed, setFailed] = React.useState(false);
7
+ useEffect(() => {
33
8
  if (!args.url) {
34
9
  return undefined;
35
10
  }
36
-
37
- var element = document.createElement('script');
11
+ const element = document.createElement('script');
38
12
  element.src = args.url;
39
13
  element.type = 'text/javascript';
40
14
  element.async = true;
41
15
  setReady(false);
42
16
  setFailed(false);
43
-
44
17
  if (!(args.scope in semaphore)) {
45
18
  semaphore[args.scope] = new Semaphore(1);
46
19
  }
47
-
48
- _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
49
- return regeneratorRuntime.wrap(function _callee$(_context) {
50
- while (1) {
51
- switch (_context.prev = _context.next) {
52
- case 0:
53
- _context.next = 2;
54
- return semaphore[args.scope].acquire();
55
-
56
- case 2:
57
- element.onload = function () {
58
- setReady(true);
59
- var listKey = args.scope + "_list";
60
- if (!window[listKey]) window[listKey] = [];
61
- window[listKey].push({
62
- url: args.url,
63
- container: window[args.scope]
64
- });
65
- window[args.scope] = null;
66
- };
67
-
68
- element.onerror = function () {
69
- setReady(false);
70
- setFailed(true);
71
- };
72
-
73
- document.head.appendChild(element);
74
-
75
- case 5:
76
- case "end":
77
- return _context.stop();
78
- }
79
- }
80
- }, _callee);
81
- }))();
82
-
83
- return function () {
20
+ (async () => {
21
+ await semaphore[args.scope].acquire();
22
+ element.onload = () => {
23
+ setReady(true);
24
+ const listKey = args.scope + "_list";
25
+ if (!window[listKey]) window[listKey] = [];
26
+ window[listKey].push({
27
+ url: args.url,
28
+ container: window[args.scope]
29
+ });
30
+ window[args.scope] = null;
31
+ };
32
+ element.onerror = () => {
33
+ setReady(false);
34
+ setFailed(true);
35
+ };
36
+ document.head.appendChild(element);
37
+ })();
38
+ return () => {
84
39
  semaphore[args.scope].release();
85
-
86
40
  if (document.head.contains(element)) {
87
41
  document.head.removeChild(element);
88
42
  }
89
43
  };
90
44
  }, [args.url]);
91
45
  return {
92
- ready: ready,
93
- failed: failed
46
+ ready,
47
+ failed
94
48
  };
95
49
  };
96
-
97
50
  export default useDynamicScript;