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
@@ -5,11 +5,11 @@ Object.defineProperty(exports, "__esModule", {
5
5
  });
6
6
  exports.default = void 0;
7
7
 
8
- var _react = require("react");
8
+ var _react = _interopRequireWildcard(require("react"));
9
9
 
10
10
  var comlink = _interopRequireWildcard(require("comlink"));
11
11
 
12
- var _useUpdateData = _interopRequireDefault(require("../iframe/utils/useUpdateData"));
12
+ var _postIframeForm = _interopRequireDefault(require("../util/postIframeForm"));
13
13
 
14
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
15
 
@@ -17,10 +17,12 @@ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "functio
17
17
 
18
18
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
19
 
20
- const PagemakerFrame = ({
20
+ 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); }
21
+
22
+ const HostIframe = ({
21
23
  iFrameProps,
24
+ src,
22
25
  postForm = false,
23
- children,
24
26
  iFrameRef,
25
27
  // shallow data
26
28
  pages,
@@ -29,17 +31,14 @@ const PagemakerFrame = ({
29
31
  user,
30
32
  currentPage,
31
33
  functions,
32
- device,
33
- language,
34
- parameters,
35
- environment
34
+ device
36
35
  }) => {
37
36
  const eventTarget = (0, _react.useRef)();
38
37
  const ref = (0, _react.useRef)();
39
38
  const currentDataRef = (0, _react.useRef)();
40
39
 
41
40
  if (!eventTarget.current) {
42
- eventTarget.current = global.document ? document.createElement('div') : undefined; // global.EventTarget ? new EventTarget() : undefined
41
+ eventTarget.current = global.EventTarget ? new EventTarget() : undefined;
43
42
  }
44
43
 
45
44
  const setHeight = value => {
@@ -55,13 +54,20 @@ const PagemakerFrame = ({
55
54
  pages,
56
55
  currentPage,
57
56
  device,
58
- user,
59
- language,
60
- parameters,
61
- environment
57
+ user
62
58
  }; // endregion
63
59
 
64
- currentDataRef.current = initialData;
60
+ currentDataRef.current = initialData; // region postIframeForm
61
+
62
+ (0, _react.useEffect)(() => {
63
+ if (postForm) {
64
+ void (0, _postIframeForm.default)(src, JSON.stringify({ ...initialData,
65
+ pages: undefined
66
+ }), 'chayns', iFrameProps.name);
67
+ } // eslint-disable-next-line react-hooks/exhaustive-deps
68
+
69
+ }, []); // endregion
70
+
65
71
  console.debug('functions', functions); // region expose data and functions to iframe
66
72
 
67
73
  (0, _react.useEffect)(() => {
@@ -91,15 +97,61 @@ const PagemakerFrame = ({
91
97
  }, []); // endregion
92
98
  // region dispatch data update
93
99
 
94
- (0, _useUpdateData.default)(eventTarget.current, 'isAdminModeActive', isAdminModeActive);
95
- (0, _useUpdateData.default)(eventTarget.current, 'user', user);
96
- (0, _useUpdateData.default)(eventTarget.current, 'site', site);
97
- (0, _useUpdateData.default)(eventTarget.current, 'pages', pages);
98
- (0, _useUpdateData.default)(eventTarget.current, 'language', language);
99
- (0, _useUpdateData.default)(eventTarget.current, 'parameters', parameters); // endregion
100
-
101
- return children;
100
+ (0, _react.useEffect)(() => {
101
+ if (eventTarget.current) {
102
+ eventTarget.current.dispatchEvent(new CustomEvent('data_update', {
103
+ detail: {
104
+ type: 'isAdminModeActive',
105
+ value: isAdminModeActive
106
+ }
107
+ }));
108
+ }
109
+ }, [isAdminModeActive]);
110
+ (0, _react.useEffect)(() => {
111
+ if (eventTarget.current) {
112
+ eventTarget.current.dispatchEvent(new CustomEvent('data_update', {
113
+ detail: {
114
+ type: 'user',
115
+ value: user
116
+ }
117
+ }));
118
+ }
119
+ }, [user]);
120
+ (0, _react.useEffect)(() => {
121
+ if (eventTarget.current) {
122
+ eventTarget.current.dispatchEvent(new CustomEvent('data_update', {
123
+ detail: {
124
+ type: 'site',
125
+ value: site
126
+ }
127
+ }));
128
+ }
129
+ }, [site]);
130
+ (0, _react.useEffect)(() => {
131
+ if (eventTarget.current) {
132
+ eventTarget.current.dispatchEvent(new CustomEvent('data_update', {
133
+ detail: {
134
+ type: 'pages',
135
+ value: pages
136
+ }
137
+ }));
138
+ }
139
+ }, [pages]); // endregion
140
+
141
+ return /*#__PURE__*/_react.default.createElement("iframe", _extends({
142
+ ref: r => {
143
+ ref.current = r;
144
+
145
+ if (iFrameRef) {
146
+ // eslint-disable-next-line no-param-reassign
147
+ iFrameRef.current = r;
148
+ }
149
+ },
150
+ title: " "
151
+ }, iFrameProps, {
152
+ src: postForm ? undefined : src
153
+ }));
102
154
  };
103
155
 
104
- var _default = PagemakerFrame;
156
+ var _default = HostIframe;
105
157
  exports.default = _default;
@@ -0,0 +1,11 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+
8
+ const ModuleHost = ({}) => {};
9
+
10
+ var _default = ModuleHost;
11
+ exports.default = _default;
@@ -4,14 +4,23 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  var _react = _interopRequireWildcard(require("react"));
9
+
8
10
  var comlink = _interopRequireWildcard(require("comlink"));
11
+
9
12
  var _postIframeForm = _interopRequireDefault(require("../../util/postIframeForm"));
13
+
10
14
  var _useUpdateData = _interopRequireDefault(require("./utils/useUpdateData"));
15
+
11
16
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
17
+
12
18
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+
13
20
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
14
- 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); }
21
+
22
+ 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); }
23
+
15
24
  const HostIframe = ({
16
25
  iFrameProps,
17
26
  src,
@@ -33,6 +42,7 @@ const HostIframe = ({
33
42
  const eventTarget = (0, _react.useRef)();
34
43
  const ref = (0, _react.useRef)();
35
44
  const currentDataRef = (0, _react.useRef)();
45
+
36
46
  if (!eventTarget.current) {
37
47
  eventTarget.current = global.document ? document.createElement('div') : undefined; // global.EventTarget ? new EventTarget() : undefined
38
48
  }
@@ -41,9 +51,9 @@ const HostIframe = ({
41
51
  if (ref.current) {
42
52
  ref.current.height = `${value}px`;
43
53
  }
44
- };
54
+ }; // region initialData
55
+
45
56
 
46
- // region initialData
47
57
  const initialData = {
48
58
  site,
49
59
  isAdminModeActive,
@@ -55,36 +65,33 @@ const HostIframe = ({
55
65
  parameters,
56
66
  environment,
57
67
  customData
58
- };
59
- // endregion
68
+ }; // endregion
60
69
 
61
- currentDataRef.current = initialData;
70
+ currentDataRef.current = initialData; // region postIframeForm
62
71
 
63
- // region postIframeForm
64
72
  (0, _react.useEffect)(() => {
65
73
  (async () => {
66
74
  if (postForm) {
67
75
  var _await$functions$getA;
76
+
68
77
  const accessToken = (_await$functions$getA = await functions.getAccessToken()) !== null && _await$functions$getA !== void 0 ? _await$functions$getA : {};
69
- void (0, _postIframeForm.default)(src, JSON.stringify({
70
- ...initialData,
78
+ void (0, _postIframeForm.default)(src, JSON.stringify({ ...initialData,
71
79
  pages: undefined,
72
80
  ...accessToken
73
81
  }), 'chayns', iFrameProps.name);
74
82
  }
75
- })();
76
- // eslint-disable-next-line react-hooks/exhaustive-deps
77
- }, []);
78
- // endregion
83
+ })(); // eslint-disable-next-line react-hooks/exhaustive-deps
79
84
 
85
+ }, []); // endregion
80
86
  // region expose data and functions to iframe
87
+
81
88
  (0, _react.useEffect)(() => {
82
89
  var _ref$current;
90
+
83
91
  if ((_ref$current = ref.current) !== null && _ref$current !== void 0 && _ref$current.contentWindow) {
84
92
  const obj = {
85
93
  [iFrameProps.name]: {
86
- functions: {
87
- ...functions,
94
+ functions: { ...functions,
88
95
  setHeight
89
96
  },
90
97
  addDataListener: cb => {
@@ -94,18 +101,17 @@ const HostIframe = ({
94
101
  }
95
102
  };
96
103
  comlink.expose(obj, comlink.windowEndpoint(ref.current.contentWindow));
97
- ref.current.contentWindow.postMessage('chayns-api-host-ready', '*');
98
- // https://github.com/GoogleChromeLabs/comlink/pull/469 might be better approach once released
104
+ ref.current.contentWindow.postMessage('chayns-api-host-ready', '*'); // https://github.com/GoogleChromeLabs/comlink/pull/469 might be better approach once released
105
+
99
106
  return () => {
100
107
  delete obj[iFrameProps.name];
101
108
  };
102
109
  }
103
- return undefined;
104
- // eslint-disable-next-line react-hooks/exhaustive-deps
105
- }, []);
106
- // endregion
107
110
 
111
+ return undefined; // eslint-disable-next-line react-hooks/exhaustive-deps
112
+ }, []); // endregion
108
113
  // region dispatch data update
114
+
109
115
  (0, _useUpdateData.default)(eventTarget.current, 'isAdminModeActive', isAdminModeActive);
110
116
  (0, _useUpdateData.default)(eventTarget.current, 'user', user);
111
117
  (0, _useUpdateData.default)(eventTarget.current, 'site', site);
@@ -113,12 +119,12 @@ const HostIframe = ({
113
119
  (0, _useUpdateData.default)(eventTarget.current, 'language', language);
114
120
  (0, _useUpdateData.default)(eventTarget.current, 'parameters', parameters);
115
121
  (0, _useUpdateData.default)(eventTarget.current, 'environment', environment);
116
- (0, _useUpdateData.default)(eventTarget.current, 'customData', customData);
117
- // endregion
122
+ (0, _useUpdateData.default)(eventTarget.current, 'customData', customData); // endregion
118
123
 
119
124
  return /*#__PURE__*/_react.default.createElement("iframe", _extends({
120
125
  ref: r => {
121
126
  ref.current = r;
127
+
122
128
  if (iFrameRef) {
123
129
  // eslint-disable-next-line no-param-reassign
124
130
  iFrameRef.current = r;
@@ -129,5 +135,6 @@ const HostIframe = ({
129
135
  src: postForm ? undefined : src
130
136
  }));
131
137
  };
138
+
132
139
  var _default = HostIframe;
133
140
  exports.default = _default;
@@ -4,7 +4,9 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  var _react = require("react");
9
+
8
10
  const useUpdateData = (target, type, value) => {
9
11
  (0, _react.useEffect)(() => {
10
12
  if (target) {
@@ -17,5 +19,6 @@ const useUpdateData = (target, type, value) => {
17
19
  }
18
20
  }, [target, type, value]);
19
21
  };
22
+
20
23
  var _default = useUpdateData;
21
24
  exports.default = _default;
@@ -4,12 +4,19 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = void 0;
7
+
7
8
  var _react = _interopRequireWildcard(require("react"));
9
+
8
10
  var _useDynamicScript = _interopRequireDefault(require("./utils/useDynamicScript"));
11
+
9
12
  var _loadComponent = _interopRequireDefault(require("./utils/loadComponent"));
13
+
10
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
11
16
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
17
+
12
18
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
19
+
13
20
  const System = ({
14
21
  system,
15
22
  fallback,
@@ -27,14 +34,15 @@ const System = ({
27
34
  if (!system || !ready || failed) {
28
35
  return null;
29
36
  }
30
- return /*#__PURE__*/_react.default.lazy((0, _loadComponent.default)(system.scope, system.module, system.url));
31
37
 
38
+ return /*#__PURE__*/_react.default.lazy((0, _loadComponent.default)(system.scope, system.module, system.url));
32
39
  /* eslint-disable react-hooks/exhaustive-deps */
33
40
  }, [system === null || system === void 0 ? void 0 : system.scope, ready, system === null || system === void 0 ? void 0 : system.url]);
34
41
  return Component ? /*#__PURE__*/_react.default.createElement(_react.default.Suspense, {
35
42
  fallback: fallback || ''
36
43
  }, /*#__PURE__*/_react.default.createElement(Component, props)) : fallback;
37
44
  };
45
+
38
46
  const ModuleHost = ({
39
47
  system,
40
48
  children = null,
@@ -63,10 +71,11 @@ const ModuleHost = ({
63
71
  customData,
64
72
  environment
65
73
  };
74
+
66
75
  if (user) {
67
76
  initialData.user = user;
68
- }
69
- // endregion
77
+ } // endregion
78
+
70
79
 
71
80
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
72
81
  className: "module-css"
@@ -78,5 +87,6 @@ const ModuleHost = ({
78
87
  isModule: true
79
88
  }));
80
89
  };
90
+
81
91
  var _default = ModuleHost;
82
92
  exports.default = _default;
@@ -4,14 +4,19 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.default = loadComponent;
7
+
7
8
  var _semver = _interopRequireDefault(require("semver"));
9
+
8
10
  var _react = _interopRequireDefault(require("react"));
11
+
9
12
  var _useDynamicScript = require("./useDynamicScript");
13
+
10
14
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
15
+
11
16
  /* eslint-disable */
12
17
  // @ts-nocheck
13
-
14
18
  let instances = {};
19
+
15
20
  function loadComponent(scope, module, url, skipCompatMode = false) {
16
21
  return async () => {
17
22
  // Initializes the shared scope. Fills it with known provided modules from this build and all remotes
@@ -22,18 +27,24 @@ function loadComponent(scope, module, url, skipCompatMode = false) {
22
27
  } = window[scope + "_list"].find(x => x.url === url); // or get the container somewhere else
23
28
  // Initialize the container, it may provide shared modules
24
29
  // eslint-disable-next-line no-undef
30
+
25
31
  await container.init(__webpack_share_scopes__.default);
26
32
  const factory = await container.get(module);
33
+
27
34
  _useDynamicScript.semaphore[scope].release();
35
+
28
36
  let ModuleMap = instances[`${scope}__${module}`];
29
37
  let Module;
38
+
30
39
  if (!ModuleMap) {
31
40
  ModuleMap = {};
32
41
  instances[`${scope}__${module}`] = ModuleMap;
33
42
  }
43
+
34
44
  if (Object.keys(ModuleMap).length > 0) {
35
45
  const newModule = factory();
36
46
  Module = ModuleMap[`${newModule.default.buildEnv}__${newModule.default.appVersion}`];
47
+
37
48
  if (!Module) {
38
49
  Module = newModule;
39
50
  ModuleMap[`${newModule.default.buildEnv}__${newModule.default.appVersion}`] = newModule;
@@ -42,18 +53,24 @@ function loadComponent(scope, module, url, skipCompatMode = false) {
42
53
  Module = factory();
43
54
  ModuleMap[`${Module.default.buildEnv}__${Module.default.appVersion}`] = Module;
44
55
  }
56
+
45
57
  if (skipCompatMode) return Module;
58
+
46
59
  const hostVersion = _semver.default.minVersion(_react.default.version);
60
+
47
61
  const {
48
62
  requiredVersion,
49
63
  environment
50
64
  } = Module.default;
65
+
51
66
  const matchReactVersion = requiredVersion && _semver.default.satisfies(hostVersion, requiredVersion);
67
+
52
68
  if (!matchReactVersion || environment !== 'production') {
53
69
  return {
54
70
  default: Module.default.CompatComponent
55
71
  };
56
72
  }
73
+
57
74
  return {
58
75
  default: Module.default.Component
59
76
  };
@@ -4,31 +4,44 @@ Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
6
  exports.semaphore = exports.default = void 0;
7
+
7
8
  var _react = _interopRequireWildcard(require("react"));
9
+
8
10
  var _semaphoreAsyncAwait = _interopRequireDefault(require("semaphore-async-await"));
11
+
9
12
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
13
+
10
14
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
15
+
11
16
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
+
12
18
  const semaphore = {};
13
19
  exports.semaphore = semaphore;
20
+
14
21
  const useDynamicScript = args => {
15
22
  const [ready, setReady] = _react.default.useState(false);
23
+
16
24
  const [failed, setFailed] = _react.default.useState(false);
25
+
17
26
  (0, _react.useEffect)(() => {
18
27
  if (!args.url) {
19
28
  return undefined;
20
29
  }
30
+
21
31
  const element = document.createElement('script');
22
32
  element.src = args.url;
23
33
  element.type = 'text/javascript';
24
34
  element.async = true;
25
35
  setReady(false);
26
36
  setFailed(false);
37
+
27
38
  if (!(args.scope in semaphore)) {
28
39
  semaphore[args.scope] = new _semaphoreAsyncAwait.default(1);
29
40
  }
41
+
30
42
  (async () => {
31
43
  await semaphore[args.scope].acquire();
44
+
32
45
  element.onload = () => {
33
46
  setReady(true);
34
47
  const listKey = args.scope + "_list";
@@ -39,14 +52,18 @@ const useDynamicScript = args => {
39
52
  });
40
53
  window[args.scope] = null;
41
54
  };
55
+
42
56
  element.onerror = () => {
43
57
  setReady(false);
44
58
  setFailed(true);
45
59
  };
60
+
46
61
  document.head.appendChild(element);
47
62
  })();
63
+
48
64
  return () => {
49
65
  semaphore[args.scope].release();
66
+
50
67
  if (document.head.contains(element)) {
51
68
  document.head.removeChild(element);
52
69
  }
@@ -57,5 +74,6 @@ const useDynamicScript = args => {
57
74
  failed
58
75
  };
59
76
  };
77
+
60
78
  var _default = useDynamicScript;
61
79
  exports.default = _default;
@@ -0,0 +1,25 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.loadComponent = loadComponent;
7
+
8
+ function loadComponent(scope, module) {
9
+ return async () => {
10
+ // Initializes the shared scope. Fills it with known provided modules from this build and all remotes
11
+ // eslint-disable-next-line no-undef
12
+ // @ts-expect-error
13
+ await __webpack_init_sharing__('default');
14
+ const container = window[scope]; // or get the container somewhere else
15
+ // Initialize the container, it may provide shared modules
16
+ // eslint-disable-next-line no-undef
17
+ // @ts-expect-error
18
+
19
+ await container.init(__webpack_share_scopes__.default); // @ts-expect-error
20
+
21
+ const factory = await window[scope].get(module);
22
+ const Module = factory();
23
+ return Module;
24
+ };
25
+ }
@@ -0,0 +1,7 @@
1
+ "use strict";
2
+
3
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
4
+
5
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
6
+
7
+ Promise.resolve().then(() => _interopRequireWildcard(require('./bootstrap')));
package/dist/cjs/index.js CHANGED
@@ -42,10 +42,15 @@ Object.defineProperty(exports, "withCompatMode", {
42
42
  return _withCompatMode.withCompatMode;
43
43
  }
44
44
  });
45
+
45
46
  var _ChaynsProvider = _interopRequireDefault(require("./components/ChaynsProvider"));
47
+
46
48
  var _deviceHelper = _interopRequireWildcard(require("./util/deviceHelper"));
49
+
47
50
  var _ChaynsHost = _interopRequireDefault(require("./host/ChaynsHost"));
51
+
48
52
  var _withCompatMode = require("./components/withCompatMode");
53
+
49
54
  Object.keys(_withCompatMode).forEach(function (key) {
50
55
  if (key === "default" || key === "__esModule") return;
51
56
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -57,7 +62,9 @@ Object.keys(_withCompatMode).forEach(function (key) {
57
62
  }
58
63
  });
59
64
  });
65
+
60
66
  var _calls = require("./calls");
67
+
61
68
  Object.keys(_calls).forEach(function (key) {
62
69
  if (key === "default" || key === "__esModule") return;
63
70
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -69,7 +76,9 @@ Object.keys(_calls).forEach(function (key) {
69
76
  }
70
77
  });
71
78
  });
79
+
72
80
  var _hooks = require("./hooks");
81
+
73
82
  Object.keys(_hooks).forEach(function (key) {
74
83
  if (key === "default" || key === "__esModule") return;
75
84
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -81,7 +90,9 @@ Object.keys(_hooks).forEach(function (key) {
81
90
  }
82
91
  });
83
92
  });
93
+
84
94
  var _WaitUntil = require("./components/WaitUntil");
95
+
85
96
  Object.keys(_WaitUntil).forEach(function (key) {
86
97
  if (key === "default" || key === "__esModule") return;
87
98
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -93,7 +104,9 @@ Object.keys(_WaitUntil).forEach(function (key) {
93
104
  }
94
105
  });
95
106
  });
107
+
96
108
  var _IChaynsReact = require("./types/IChaynsReact");
109
+
97
110
  Object.keys(_IChaynsReact).forEach(function (key) {
98
111
  if (key === "default" || key === "__esModule") return;
99
112
  if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
@@ -105,11 +118,17 @@ Object.keys(_IChaynsReact).forEach(function (key) {
105
118
  }
106
119
  });
107
120
  });
121
+
108
122
  var _dialog = _interopRequireWildcard(require("./calls/dialogs/index"));
123
+
109
124
  exports.dialog = _dialog;
125
+
110
126
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
127
+
111
128
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
129
+
112
130
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
131
+
113
132
  var _default = {
114
133
  buildEnv: process.env.BUILD_ENV,
115
134
  appVersion: process.env.VERSION