chayns-api 1.0.0 → 1.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (205) hide show
  1. package/dist/cjs/bootstrap.js +11 -0
  2. package/dist/cjs/calls/abstractApiListener.js +40 -0
  3. package/dist/cjs/calls/apiEventListener.js +40 -0
  4. package/dist/cjs/calls/dialogs/alert.js +2 -0
  5. package/dist/cjs/calls/dialogs/chaynsDialog.js +8 -2
  6. package/dist/cjs/calls/dialogs/close.js +2 -0
  7. package/dist/cjs/calls/dialogs/communication.js +16 -1
  8. package/dist/cjs/calls/dialogs/confirm.js +4 -0
  9. package/dist/cjs/calls/dialogs/date.js +53 -36
  10. package/dist/cjs/calls/dialogs/dropUpAlert.js +3 -0
  11. package/dist/cjs/calls/dialogs/fileSelect.js +10 -0
  12. package/dist/cjs/calls/dialogs/iFrame.js +8 -0
  13. package/dist/cjs/calls/dialogs/index.js +27 -0
  14. package/dist/cjs/calls/dialogs/input.js +6 -0
  15. package/dist/cjs/calls/dialogs/mediaSelect.js +7 -0
  16. package/dist/cjs/calls/dialogs/open.js +2 -0
  17. package/dist/cjs/calls/dialogs/select.js +9 -0
  18. package/dist/cjs/calls/dialogs/signature.js +5 -0
  19. package/dist/cjs/calls/dialogs/toast.js +3 -0
  20. package/dist/cjs/calls/dialogs/utils/callback.js +2 -0
  21. package/dist/cjs/calls/dialogs/utils/is.js +4 -0
  22. package/dist/cjs/calls/getUserInfo.js +11 -0
  23. package/dist/cjs/calls/index.js +155 -3
  24. package/dist/cjs/calls/sendMessage.js +26 -0
  25. package/dist/cjs/calls/setVisibilityChangeListener.js +1 -0
  26. package/dist/cjs/calls/visibilityChangeListener.js +12 -1
  27. package/dist/cjs/calls/windowMetricsListener.js +18 -0
  28. package/dist/cjs/components/App.js +32 -0
  29. package/dist/cjs/components/App.spec.js +16 -0
  30. package/dist/cjs/components/Button.js +32 -0
  31. package/dist/cjs/components/ChaynsContext.js +4 -2
  32. package/dist/cjs/components/ChaynsProvider.js +28 -6
  33. package/dist/cjs/components/ChaynsProviderExposed.js +16 -0
  34. package/dist/cjs/components/TestProvider.js +236 -0
  35. package/dist/cjs/components/Title.js +162 -0
  36. package/dist/cjs/components/WaitUntil.js +5 -0
  37. package/dist/cjs/components/withCompatMode.js +16 -1
  38. package/dist/cjs/functions/addApiListener.js +37 -0
  39. package/dist/cjs/functions/addGeoLocationListener.js +26 -0
  40. package/dist/cjs/functions/addScrollListener.js +26 -0
  41. package/dist/cjs/functions/addWindowMetricsListener.js +37 -0
  42. package/dist/cjs/helper/apiListenerHelper.js +9 -0
  43. package/dist/cjs/helper/cssLoader.js +28 -0
  44. package/dist/cjs/hooks/addGeoLocationListener.js +26 -0
  45. package/dist/cjs/hooks/addScrollListener.js +26 -0
  46. package/dist/cjs/hooks/addWindowMetricsListener.js +37 -0
  47. package/dist/cjs/hooks/geoLocation.js +48 -0
  48. package/dist/cjs/hooks/geoLocationListener.js +11 -2
  49. package/dist/cjs/hooks/index.js +16 -0
  50. package/dist/cjs/hooks/scrollListener.js +23 -4
  51. package/dist/cjs/hooks/useAccessToken.js +5 -0
  52. package/dist/cjs/hooks/useAddGeoLocationListener.js +26 -0
  53. package/dist/cjs/hooks/useAddScrollListener.js +48 -0
  54. package/dist/cjs/hooks/useAddWindowMetricsListener.js +45 -0
  55. package/dist/cjs/hooks/useAdddScrollListener.js +26 -0
  56. package/dist/cjs/hooks/useCurrentPage.js +4 -0
  57. package/dist/cjs/hooks/useCustomData.js +4 -0
  58. package/dist/cjs/hooks/useDevice.js +4 -0
  59. package/dist/cjs/hooks/useEnvironment.js +4 -0
  60. package/dist/cjs/hooks/useFunctions.js +4 -0
  61. package/dist/cjs/hooks/useIsAdminMode.js +5 -0
  62. package/dist/cjs/hooks/useLanguage.js +4 -0
  63. package/dist/cjs/hooks/usePages.js +12 -0
  64. package/dist/cjs/hooks/useParameters.js +4 -0
  65. package/dist/cjs/hooks/useSite.js +4 -0
  66. package/dist/cjs/hooks/useUser.js +4 -0
  67. package/dist/cjs/hooks/useValues.js +4 -0
  68. package/dist/cjs/hooks/windowMetrics.js +45 -0
  69. package/dist/cjs/hooks/windowMetricsListener.js +12 -2
  70. package/dist/cjs/host/ChaynsHost.js +12 -0
  71. package/dist/cjs/host/{module/PagemakerFrame.js → HostIframe.js} +75 -23
  72. package/dist/cjs/host/ModuleHost.js +11 -0
  73. package/dist/cjs/host/iframe/HostIframe.js +30 -23
  74. package/dist/cjs/host/iframe/utils/useUpdateData.js +3 -0
  75. package/dist/cjs/host/module/ModuleHost.js +13 -3
  76. package/dist/cjs/host/module/utils/loadComponent.js +18 -1
  77. package/dist/cjs/host/module/utils/useDynamicScript.js +18 -0
  78. package/dist/cjs/host/module/utils.js +25 -0
  79. package/dist/cjs/index.example.js +7 -0
  80. package/dist/cjs/index.js +19 -0
  81. package/dist/cjs/index2.js +64 -0
  82. package/dist/cjs/types/DynamicImport.d.js +5 -0
  83. package/dist/cjs/types/IChaynsReact.js +47 -0
  84. package/dist/cjs/types/chayns-components.d.js +1 -0
  85. package/dist/cjs/types/chayns-logger.d.js +1 -0
  86. package/dist/cjs/types/chayns.d.js +1 -0
  87. package/dist/cjs/types/tobit-websocket-service-client.d.js +1 -0
  88. package/dist/cjs/types/toolkit-types.d.js +1 -0
  89. package/dist/cjs/util/appCall.js +4 -1
  90. package/dist/cjs/util/deviceHelper.js +17 -2
  91. package/dist/cjs/util/heightHelper.js +9 -0
  92. package/dist/cjs/util/postIframeForm.js +5 -0
  93. package/dist/cjs/util/useFunctionsContext.js +16 -0
  94. package/dist/cjs/util/useIsAdminMode.js +18 -0
  95. package/dist/cjs/util/useUser.js +16 -0
  96. package/dist/cjs/wrapper/AppWrapper.js +144 -119
  97. package/dist/cjs/wrapper/FrameWrapper.js +248 -215
  98. package/dist/cjs/wrapper/ModuleFederationWrapper.js +27 -2
  99. package/dist/cjs/wrapper/SsrWrapper.js +8 -0
  100. package/dist/esm/bootstrap.js +4 -0
  101. package/dist/esm/calls/dialogs/alert.js +4 -4
  102. package/dist/esm/calls/dialogs/chaynsDialog.js +11 -7
  103. package/dist/esm/calls/dialogs/communication.js +26 -15
  104. package/dist/esm/calls/dialogs/confirm.js +8 -5
  105. package/dist/esm/calls/dialogs/date.js +94 -85
  106. package/dist/esm/calls/dialogs/dropUpAlert.js +1 -1
  107. package/dist/esm/calls/dialogs/fileSelect.js +62 -23
  108. package/dist/esm/calls/dialogs/iFrame.js +10 -7
  109. package/dist/esm/calls/dialogs/input.js +5 -2
  110. package/dist/esm/calls/dialogs/mediaSelect.js +55 -18
  111. package/dist/esm/calls/dialogs/open.js +2 -2
  112. package/dist/esm/calls/dialogs/select.js +9 -5
  113. package/dist/esm/calls/dialogs/signature.js +2 -0
  114. package/dist/esm/calls/dialogs/toast.js +11 -6
  115. package/dist/esm/calls/dialogs/utils/callback.js +5 -3
  116. package/dist/esm/calls/dialogs/utils/is.js +3 -1
  117. package/dist/esm/calls/getUserInfo.js +92 -32
  118. package/dist/esm/calls/index.js +276 -124
  119. package/dist/esm/calls/sendMessage.js +221 -91
  120. package/dist/esm/calls/visibilityChangeListener.js +15 -10
  121. package/dist/esm/components/App.js +35 -0
  122. package/dist/esm/components/App.spec.js +9 -0
  123. package/dist/esm/components/Button.js +34 -0
  124. package/dist/esm/components/ChaynsContext.js +3 -3
  125. package/dist/esm/components/ChaynsProvider.js +86 -45
  126. package/dist/esm/components/ChaynsProviderExposed.js +3 -0
  127. package/dist/esm/components/TestProvider.js +308 -0
  128. package/dist/esm/components/Title.js +210 -0
  129. package/dist/esm/components/WaitUntil.js +86 -21
  130. package/dist/esm/components/withCompatMode.js +77 -35
  131. package/dist/esm/helper/apiListenerHelper.js +15 -10
  132. package/dist/esm/helper/cssLoader.js +21 -0
  133. package/dist/esm/hooks/geoLocationListener.js +46 -20
  134. package/dist/esm/hooks/scrollListener.js +86 -50
  135. package/dist/esm/hooks/useAccessToken.js +28 -6
  136. package/dist/esm/hooks/useAddGeoLocationListener.js +18 -0
  137. package/dist/esm/hooks/useAddScrollListener.js +18 -0
  138. package/dist/esm/hooks/useAddWindowMetricsListener.js +18 -0
  139. package/dist/esm/hooks/useCurrentPage.js +6 -2
  140. package/dist/esm/hooks/useCustomData.js +6 -2
  141. package/dist/esm/hooks/useDevice.js +6 -1
  142. package/dist/esm/hooks/useEnvironment.js +6 -1
  143. package/dist/esm/hooks/useFunctions.js +5 -2
  144. package/dist/esm/hooks/useIsAdminMode.js +6 -2
  145. package/dist/esm/hooks/useLanguage.js +6 -1
  146. package/dist/esm/hooks/usePages.js +27 -14
  147. package/dist/esm/hooks/useParameters.js +6 -1
  148. package/dist/esm/hooks/useSite.js +6 -1
  149. package/dist/esm/hooks/useUser.js +6 -1
  150. package/dist/esm/hooks/useValues.js +5 -2
  151. package/dist/esm/hooks/windowMetricsListener.js +44 -18
  152. package/dist/esm/host/ChaynsHost.js +30 -21
  153. package/dist/esm/host/HostIframe.js +153 -0
  154. package/dist/esm/host/iframe/HostIframe.js +142 -86
  155. package/dist/esm/host/iframe/utils/useUpdateData.js +6 -4
  156. package/dist/esm/host/module/ModuleHost.js +49 -42
  157. package/dist/esm/host/module/utils/loadComponent.js +85 -47
  158. package/dist/esm/host/module/utils/useDynamicScript.js +74 -27
  159. package/dist/esm/index.example.js +1 -0
  160. package/dist/esm/index2.js +5 -0
  161. package/dist/esm/types/DynamicImport.d.js +1 -0
  162. package/dist/esm/types/IChaynsReact.js +61 -14
  163. package/dist/esm/types/chayns-components.d.js +0 -0
  164. package/dist/esm/types/chayns-logger.d.js +0 -0
  165. package/dist/esm/types/chayns.d.js +0 -0
  166. package/dist/esm/types/tobit-websocket-service-client.d.js +0 -0
  167. package/dist/esm/types/toolkit-types.d.js +0 -0
  168. package/dist/esm/util/appCall.js +4 -2
  169. package/dist/esm/util/deviceHelper.js +33 -11
  170. package/dist/esm/util/heightHelper.js +13 -10
  171. package/dist/esm/util/postIframeForm.js +57 -25
  172. package/dist/esm/util/useIsAdminMode.js +9 -0
  173. package/dist/esm/util/useUser.js +7 -0
  174. package/dist/esm/wrapper/AppWrapper.js +762 -179
  175. package/dist/esm/wrapper/FrameWrapper.js +1509 -258
  176. package/dist/esm/wrapper/ModuleFederationWrapper.js +284 -47
  177. package/dist/esm/wrapper/SsrWrapper.js +65 -19
  178. package/dist/types/bootstrap.d.ts +1 -0
  179. package/dist/types/calls/dialogs/confirm.d.ts +1 -1
  180. package/dist/types/calls/dialogs/date.d.ts +4 -4
  181. package/dist/types/calls/dialogs/dropUpAlert.d.ts +1 -1
  182. package/dist/types/calls/dialogs/fileSelect.d.ts +1 -1
  183. package/dist/types/calls/dialogs/iFrame.d.ts +1 -1
  184. package/dist/types/calls/dialogs/input.d.ts +1 -1
  185. package/dist/types/calls/dialogs/mediaSelect.d.ts +1 -1
  186. package/dist/types/calls/dialogs/signature.d.ts +1 -1
  187. package/dist/types/components/App.d.ts +5 -0
  188. package/dist/types/components/Button.d.ts +8 -0
  189. package/dist/types/components/ChaynsProvider.d.ts +1 -1
  190. package/dist/types/components/ChaynsProviderExposed.d.ts +13 -0
  191. package/dist/types/components/Title.d.ts +3 -0
  192. package/dist/types/components/WaitUntil.d.ts +1 -1
  193. package/dist/types/components/withCompatMode.d.ts +1 -1
  194. package/dist/types/hooks/useAccessToken.d.ts +1 -1
  195. package/dist/types/host/ChaynsHost.d.ts +2 -1
  196. package/dist/types/host/{module/PagemakerFrame.d.ts → HostIframe.d.ts} +5 -7
  197. package/dist/types/host/iframe/HostIframe.d.ts +1 -1
  198. package/dist/types/host/module/ModuleHost.d.ts +2 -2
  199. package/dist/types/index.example.d.ts +0 -0
  200. package/dist/types/types/IChaynsReact.d.ts +14 -14
  201. package/package.json +1 -1
  202. package/dist/cjs/calls/dialogs/utils/environment.js +0 -10
  203. package/dist/esm/calls/dialogs/utils/environment.js +0 -3
  204. package/dist/esm/host/module/PagemakerFrame.js +0 -97
  205. package/dist/types/calls/dialogs/utils/environment.d.ts +0 -3
@@ -1,109 +1,239 @@
1
- const INTERCOM_URL = 'https://sub54.tobit.com/rest/api';
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
+ var INTERCOM_URL = 'https://sub54.tobit.com/rest/api';
2
6
  /**
3
7
  * @category Intercom functions
4
8
  */
5
- export const sendMessageToUser = async (api, object, receiverUserId) => {
6
- var _api$values$user;
7
- if (!object.text) {
8
- return Promise.reject(new Error('no text specified'));
9
- }
10
- const senderUserId = (_api$values$user = api.values.user) === null || _api$values$user === void 0 ? void 0 : _api$values$user.userId;
11
- if (senderUserId === undefined) {
12
- return Promise.reject(new Error('missing sender user id'));
13
- }
14
- const {
15
- accessToken
16
- } = await api.functions.getAccessToken();
17
- if (!accessToken) {
18
- return Promise.reject(new Error('send message requires a user to be logged in'));
19
- }
20
- if (!accessToken) {
21
- return Promise.reject(new Error('send message requires a user to be logged in'));
22
- }
23
- const images = Array.isArray(object.images) ? object.images.map(imageUrl => ({
24
- url: imageUrl
25
- })) : [];
26
- return sendMessage(`/user/${senderUserId}/message`, accessToken, {
27
- receivers: [{
28
- tobitId: receiverUserId
29
- }],
30
- message: {
31
- images,
32
- text: object.text,
33
- typeId: 1
34
- }
35
- });
36
- };
9
+
10
+ export var sendMessageToUser = /*#__PURE__*/function () {
11
+ var _ref = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee(api, object, receiverUserId) {
12
+ var _api$values$user;
13
+
14
+ var senderUserId, _yield$api$functions$, accessToken, images;
15
+
16
+ return regeneratorRuntime.wrap(function _callee$(_context) {
17
+ while (1) {
18
+ switch (_context.prev = _context.next) {
19
+ case 0:
20
+ if (object.text) {
21
+ _context.next = 2;
22
+ break;
23
+ }
24
+
25
+ return _context.abrupt("return", Promise.reject(new Error('no text specified')));
26
+
27
+ case 2:
28
+ senderUserId = (_api$values$user = api.values.user) === null || _api$values$user === void 0 ? void 0 : _api$values$user.userId;
29
+
30
+ if (!(senderUserId === undefined)) {
31
+ _context.next = 5;
32
+ break;
33
+ }
34
+
35
+ return _context.abrupt("return", Promise.reject(new Error('missing sender user id')));
36
+
37
+ case 5:
38
+ _context.next = 7;
39
+ return api.functions.getAccessToken();
40
+
41
+ case 7:
42
+ _yield$api$functions$ = _context.sent;
43
+ accessToken = _yield$api$functions$.accessToken;
44
+
45
+ if (accessToken) {
46
+ _context.next = 11;
47
+ break;
48
+ }
49
+
50
+ return _context.abrupt("return", Promise.reject(new Error('send message requires a user to be logged in')));
51
+
52
+ case 11:
53
+ if (accessToken) {
54
+ _context.next = 13;
55
+ break;
56
+ }
57
+
58
+ return _context.abrupt("return", Promise.reject(new Error('send message requires a user to be logged in')));
59
+
60
+ case 13:
61
+ images = Array.isArray(object.images) ? object.images.map(function (imageUrl) {
62
+ return {
63
+ url: imageUrl
64
+ };
65
+ }) : [];
66
+ return _context.abrupt("return", sendMessage("/user/".concat(senderUserId, "/message"), accessToken, {
67
+ receivers: [{
68
+ tobitId: receiverUserId
69
+ }],
70
+ message: {
71
+ images: images,
72
+ text: object.text,
73
+ typeId: 1
74
+ }
75
+ }));
76
+
77
+ case 15:
78
+ case "end":
79
+ return _context.stop();
80
+ }
81
+ }
82
+ }, _callee);
83
+ }));
84
+
85
+ return function sendMessageToUser(_x, _x2, _x3) {
86
+ return _ref.apply(this, arguments);
87
+ };
88
+ }();
37
89
  /**
38
90
  * @category Intercom functions
39
91
  */
40
- export const sendMessageToPage = async (api, object) => {
41
- var _api$values$user2;
42
- if (!object.text) {
43
- return Promise.reject(new Error('no text specified'));
44
- }
45
- const senderUserId = (_api$values$user2 = api.values.user) === null || _api$values$user2 === void 0 ? void 0 : _api$values$user2.userId;
46
- if (senderUserId === undefined) {
47
- return Promise.reject(new Error('missing sender user id'));
48
- }
49
- const {
50
- accessToken
51
- } = await api.functions.getAccessToken();
52
- if (!accessToken) {
53
- return Promise.reject(new Error('send message requires a user to be logged in'));
54
- }
55
- const images = Array.isArray(object.images) ? object.images.map(imageUrl => ({
56
- url: imageUrl
57
- })) : [];
58
- return sendMessage(`/user/${senderUserId}/message`, accessToken, {
59
- receivers: [{
60
- locationId: api.values.site.locationId
61
- }],
62
- message: {
63
- images,
64
- text: object.text,
65
- typeId: 1
66
- }
67
- });
68
- };
92
+
93
+ export var sendMessageToPage = /*#__PURE__*/function () {
94
+ var _ref2 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee2(api, object) {
95
+ var _api$values$user2;
96
+
97
+ var senderUserId, _yield$api$functions$2, accessToken, images;
98
+
99
+ return regeneratorRuntime.wrap(function _callee2$(_context2) {
100
+ while (1) {
101
+ switch (_context2.prev = _context2.next) {
102
+ case 0:
103
+ if (object.text) {
104
+ _context2.next = 2;
105
+ break;
106
+ }
107
+
108
+ return _context2.abrupt("return", Promise.reject(new Error('no text specified')));
109
+
110
+ case 2:
111
+ senderUserId = (_api$values$user2 = api.values.user) === null || _api$values$user2 === void 0 ? void 0 : _api$values$user2.userId;
112
+
113
+ if (!(senderUserId === undefined)) {
114
+ _context2.next = 5;
115
+ break;
116
+ }
117
+
118
+ return _context2.abrupt("return", Promise.reject(new Error('missing sender user id')));
119
+
120
+ case 5:
121
+ _context2.next = 7;
122
+ return api.functions.getAccessToken();
123
+
124
+ case 7:
125
+ _yield$api$functions$2 = _context2.sent;
126
+ accessToken = _yield$api$functions$2.accessToken;
127
+
128
+ if (accessToken) {
129
+ _context2.next = 11;
130
+ break;
131
+ }
132
+
133
+ return _context2.abrupt("return", Promise.reject(new Error('send message requires a user to be logged in')));
134
+
135
+ case 11:
136
+ images = Array.isArray(object.images) ? object.images.map(function (imageUrl) {
137
+ return {
138
+ url: imageUrl
139
+ };
140
+ }) : [];
141
+ return _context2.abrupt("return", sendMessage("/user/".concat(senderUserId, "/message"), accessToken, {
142
+ receivers: [{
143
+ locationId: api.values.site.locationId
144
+ }],
145
+ message: {
146
+ images: images,
147
+ text: object.text,
148
+ typeId: 1
149
+ }
150
+ }));
151
+
152
+ case 13:
153
+ case "end":
154
+ return _context2.stop();
155
+ }
156
+ }
157
+ }, _callee2);
158
+ }));
159
+
160
+ return function sendMessageToPage(_x4, _x5) {
161
+ return _ref2.apply(this, arguments);
162
+ };
163
+ }();
69
164
  /**
70
165
  * @category Intercom functions
71
166
  */
72
- export const sendMessageToGroup = async (api, object, groupId) => {
73
- if (!object.text) {
74
- return Promise.reject(new Error('no text specified'));
75
- }
76
- const {
77
- accessToken
78
- } = await api.functions.getAccessToken();
79
- const {
80
- locationId
81
- } = api.values.site;
82
- if (!accessToken) {
83
- return Promise.reject(new Error('send message requires a user to be logged in'));
84
- }
85
- const images = Array.isArray(object.images) ? object.images.map(imageUrl => ({
86
- url: imageUrl
87
- })) : [];
88
- return sendMessage(`/location/${locationId}/broadcast`, accessToken, {
89
- receivers: [{
90
- groupId
91
- }],
92
- message: {
93
- images,
94
- text: object.text,
95
- typeId: 6
96
- }
97
- });
98
- };
167
+
168
+ export var sendMessageToGroup = /*#__PURE__*/function () {
169
+ var _ref3 = _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee3(api, object, groupId) {
170
+ var _yield$api$functions$3, accessToken, locationId, images;
171
+
172
+ return regeneratorRuntime.wrap(function _callee3$(_context3) {
173
+ while (1) {
174
+ switch (_context3.prev = _context3.next) {
175
+ case 0:
176
+ if (object.text) {
177
+ _context3.next = 2;
178
+ break;
179
+ }
180
+
181
+ return _context3.abrupt("return", Promise.reject(new Error('no text specified')));
182
+
183
+ case 2:
184
+ _context3.next = 4;
185
+ return api.functions.getAccessToken();
186
+
187
+ case 4:
188
+ _yield$api$functions$3 = _context3.sent;
189
+ accessToken = _yield$api$functions$3.accessToken;
190
+ locationId = api.values.site.locationId;
191
+
192
+ if (accessToken) {
193
+ _context3.next = 9;
194
+ break;
195
+ }
196
+
197
+ return _context3.abrupt("return", Promise.reject(new Error('send message requires a user to be logged in')));
198
+
199
+ case 9:
200
+ images = Array.isArray(object.images) ? object.images.map(function (imageUrl) {
201
+ return {
202
+ url: imageUrl
203
+ };
204
+ }) : [];
205
+ return _context3.abrupt("return", sendMessage("/location/".concat(locationId, "/broadcast"), accessToken, {
206
+ receivers: [{
207
+ groupId: groupId
208
+ }],
209
+ message: {
210
+ images: images,
211
+ text: object.text,
212
+ typeId: 6
213
+ }
214
+ }));
215
+
216
+ case 11:
217
+ case "end":
218
+ return _context3.stop();
219
+ }
220
+ }
221
+ }, _callee3);
222
+ }));
223
+
224
+ return function sendMessageToGroup(_x6, _x7, _x8) {
225
+ return _ref3.apply(this, arguments);
226
+ };
227
+ }();
99
228
  /**
100
229
  * @category Intercom functions
101
230
  */
231
+
102
232
  function sendMessage(endpoint, token, body) {
103
- return fetch(`${INTERCOM_URL}${endpoint}`, {
233
+ return fetch("".concat(INTERCOM_URL).concat(endpoint), {
104
234
  method: 'POST',
105
235
  headers: {
106
- authorization: `bearer ${token}`,
236
+ authorization: "bearer ".concat(token),
107
237
  'Content-Type': 'application/json'
108
238
  },
109
239
  body: JSON.stringify(body)
@@ -1,29 +1,34 @@
1
1
  import { addApiListener, dispatchApiEvent, removeApiListener } from '../helper/apiListenerHelper';
2
- const key = 'visibilityChangeListener';
3
- const handleVisibilityChange = () => {
2
+ var key = 'visibilityChangeListener';
3
+
4
+ var handleVisibilityChange = function handleVisibilityChange() {
4
5
  dispatchApiEvent(key, {
5
6
  isVisible: !document.hidden
6
7
  });
7
8
  };
8
-
9
9
  /**
10
10
  * @category Event listener
11
11
  */
12
- export const addVisibilityChangeListener = callback => {
13
- const {
14
- id,
15
- shouldInitialize
16
- } = addApiListener(key, callback);
12
+
13
+
14
+ export var addVisibilityChangeListener = function addVisibilityChangeListener(callback) {
15
+ var _addApiListener = addApiListener(key, callback),
16
+ id = _addApiListener.id,
17
+ shouldInitialize = _addApiListener.shouldInitialize;
18
+
17
19
  if (shouldInitialize) {
18
20
  document.addEventListener('visibilitychange', handleVisibilityChange);
19
21
  }
22
+
20
23
  return id;
21
24
  };
22
25
  /**
23
26
  * @category Event listener
24
27
  */
25
- export const removeVisibilityChangeListener = id => {
26
- const shouldRemove = removeApiListener(key, id);
28
+
29
+ export var removeVisibilityChangeListener = function removeVisibilityChangeListener(id) {
30
+ var shouldRemove = removeApiListener(key, id);
31
+
27
32
  if (shouldRemove) {
28
33
  document.removeEventListener('addVisibilityChangeListener', handleVisibilityChange);
29
34
  }
@@ -0,0 +1,35 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+
3
+ 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."); }
4
+
5
+ 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); }
6
+
7
+ 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; }
8
+
9
+ 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; }
10
+
11
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
12
+
13
+ import React, { useState } from 'react';
14
+ import Title from './Title';
15
+ import ChaynsProvider from './ChaynsProvider';
16
+ var propTypes = {};
17
+
18
+ var App = function App() {
19
+ var _useState = useState(true),
20
+ _useState2 = _slicedToArray(_useState, 2),
21
+ isVisible = _useState2[0],
22
+ setIsVisible = _useState2[1];
23
+
24
+ return /*#__PURE__*/React.createElement(ChaynsProvider, null, /*#__PURE__*/React.createElement("button", {
25
+ type: "button",
26
+ onClick: function onClick() {
27
+ return setIsVisible(function (s) {
28
+ return !s;
29
+ });
30
+ }
31
+ }, "Toggle"), isVisible && /*#__PURE__*/React.createElement(Title, null));
32
+ };
33
+
34
+ App.propTypes = propTypes;
35
+ export default App;
@@ -0,0 +1,9 @@
1
+ import React from 'react';
2
+ import { render } from '@testing-library/react';
3
+ import App from './App';
4
+ test('should have correct text', function () {
5
+ var _render = render( /*#__PURE__*/React.createElement(App, null)),
6
+ getByRole = _render.getByRole;
7
+
8
+ expect(getByRole("heading")).toHaveTextContent("Hi! Welcome to your newly created chayns application!");
9
+ });
@@ -0,0 +1,34 @@
1
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
2
+
3
+ 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."); }
4
+
5
+ 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); }
6
+
7
+ 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; }
8
+
9
+ 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; }
10
+
11
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
12
+
13
+ import React, { useState } from 'react';
14
+ import ChaynsProvider from './ChaynsProvider';
15
+ import Title from './Title';
16
+ import withCompatMode from './withCompatMode';
17
+
18
+ var Button = function Button(props) {
19
+ var _useState = useState(true),
20
+ _useState2 = _slicedToArray(_useState, 2),
21
+ visible = _useState2[0],
22
+ setVisible = _useState2[1];
23
+
24
+ return /*#__PURE__*/React.createElement(ChaynsProvider, props, /*#__PURE__*/React.createElement("button", {
25
+ type: "button",
26
+ onClick: function onClick() {
27
+ return setVisible(function (s) {
28
+ return !s;
29
+ });
30
+ }
31
+ }, "Toggle"), visible && /*#__PURE__*/React.createElement(Title, null));
32
+ };
33
+
34
+ export default withCompatMode(Button);
@@ -1,4 +1,4 @@
1
1
  import { createContext } from 'use-context-selector';
2
- export const ChaynsContext = createContext(null);
3
- // @ts-expect-error Functions cant be null, implementation of default values is redundant
4
- export const ChaynsFunctionsContext = createContext(null);
2
+ export var ChaynsContext = createContext(null); // @ts-expect-error Functions cant be null, implementation of default values is redundant
3
+
4
+ export var ChaynsFunctionsContext = createContext(null);
@@ -1,3 +1,25 @@
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
+ 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); } }
8
+
9
+ 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); }); }; }
10
+
11
+ function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
12
+
13
+ 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."); }
14
+
15
+ 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); }
16
+
17
+ 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; }
18
+
19
+ 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; }
20
+
21
+ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
22
+
1
23
  import htmlEscape from 'htmlescape';
2
24
  import React, { useEffect, useRef, useState } from 'react';
3
25
  import { AppName } from '../types/IChaynsReact';
@@ -6,21 +28,20 @@ import { AppWrapper } from '../wrapper/AppWrapper';
6
28
  import { FrameWrapper } from '../wrapper/FrameWrapper';
7
29
  import { ModuleFederationWrapper } from '../wrapper/ModuleFederationWrapper';
8
30
  import { SsrWrapper } from '../wrapper/SsrWrapper';
9
- import { ChaynsContext, ChaynsFunctionsContext } from './ChaynsContext';
31
+ import { ChaynsContext, ChaynsFunctionsContext } from './ChaynsContext'; // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
10
32
 
11
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
12
- export const moduleWrapper = {
33
+ export var moduleWrapper = {
13
34
  current: undefined
14
35
  };
15
- const isServer = typeof window === 'undefined';
16
- const InitialDataProvider = /*#__PURE__*/React.memo(_ref => {
17
- let {
18
- data,
19
- renderedByServer
20
- } = _ref;
36
+ var isServer = typeof window === 'undefined';
37
+ var InitialDataProvider = /*#__PURE__*/React.memo(function (_ref) {
38
+ var data = _ref.data,
39
+ renderedByServer = _ref.renderedByServer;
40
+
21
41
  if (!renderedByServer) {
22
42
  return null;
23
43
  }
44
+
24
45
  return /*#__PURE__*/React.createElement("script", {
25
46
  id: "__CHAYNS_DATA__",
26
47
  type: "application/json",
@@ -28,18 +49,21 @@ const InitialDataProvider = /*#__PURE__*/React.memo(_ref => {
28
49
  __html: htmlEscape(data || {})
29
50
  }
30
51
  });
31
- }, () => true);
32
- const ChaynsProvider = _ref2 => {
52
+ }, function () {
53
+ return true;
54
+ });
55
+
56
+ var ChaynsProvider = function ChaynsProvider(_ref2) {
33
57
  var _customWrapper$curren, _customWrapper$curren2, _customWrapper$curren3;
34
- let {
35
- children,
36
- data,
37
- functions,
38
- renderedByServer,
39
- isModule
40
- } = _ref2;
58
+
59
+ var children = _ref2.children,
60
+ data = _ref2.data,
61
+ functions = _ref2.functions,
62
+ renderedByServer = _ref2.renderedByServer,
63
+ isModule = _ref2.isModule;
41
64
  // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
42
- const customWrapper = useRef(null);
65
+ var customWrapper = useRef(null);
66
+
43
67
  if (!customWrapper.current) {
44
68
  if (isModule) {
45
69
  if (data && functions) {
@@ -55,43 +79,59 @@ const ChaynsProvider = _ref2 => {
55
79
  }
56
80
  } else {
57
81
  var _deviceInfo$app$name, _deviceInfo$app;
58
- const deviceInfo = getDeviceInfo(navigator.userAgent, '');
59
- // load framewrapper in Chaynsweb in app (window.self === window.top)
82
+
83
+ var deviceInfo = getDeviceInfo(navigator.userAgent, ''); // load framewrapper in Chaynsweb in app (window.self === window.top)
84
+
60
85
  if ([AppName.Chayns, AppName.ChaynsLauncher].includes((_deviceInfo$app$name = (_deviceInfo$app = deviceInfo.app) === null || _deviceInfo$app === void 0 ? void 0 : _deviceInfo$app.name) !== null && _deviceInfo$app$name !== void 0 ? _deviceInfo$app$name : AppName.Unknown) && window.self === window.top) {
61
86
  customWrapper.current = new AppWrapper();
62
87
  } else {
63
88
  customWrapper.current = new FrameWrapper();
64
89
  }
65
90
  }
91
+
66
92
  moduleWrapper.current = customWrapper.current;
67
93
  }
68
- const [state, setState] = useState((_customWrapper$curren = (_customWrapper$curren2 = customWrapper.current) === null || _customWrapper$curren2 === void 0 ? void 0 : _customWrapper$curren2.values) !== null && _customWrapper$curren !== void 0 ? _customWrapper$curren : undefined);
69
- useEffect(() => {
70
- void (async () => {
71
- await customWrapper.current.init();
72
- customWrapper.current.addDataListener(_ref3 => {
73
- let {
74
- type,
75
- value
76
- } = _ref3;
77
- setState(oldState => {
78
- if (oldState) return {
79
- ...oldState,
80
- [type]: value
81
- };
82
- return undefined;
83
- });
84
- });
85
- if (customWrapper.current.values) {
86
- setState({
87
- ...customWrapper.current.values
88
- });
89
- }
90
- })();
94
+
95
+ var _useState = useState((_customWrapper$curren = (_customWrapper$curren2 = customWrapper.current) === null || _customWrapper$curren2 === void 0 ? void 0 : _customWrapper$curren2.values) !== null && _customWrapper$curren !== void 0 ? _customWrapper$curren : undefined),
96
+ _useState2 = _slicedToArray(_useState, 2),
97
+ state = _useState2[0],
98
+ setState = _useState2[1];
99
+
100
+ useEffect(function () {
101
+ void _asyncToGenerator( /*#__PURE__*/regeneratorRuntime.mark(function _callee() {
102
+ return regeneratorRuntime.wrap(function _callee$(_context) {
103
+ while (1) {
104
+ switch (_context.prev = _context.next) {
105
+ case 0:
106
+ _context.next = 2;
107
+ return customWrapper.current.init();
108
+
109
+ case 2:
110
+ customWrapper.current.addDataListener(function (_ref4) {
111
+ var type = _ref4.type,
112
+ value = _ref4.value;
113
+ setState(function (oldState) {
114
+ if (oldState) return _objectSpread(_objectSpread({}, oldState), {}, _defineProperty({}, type, value));
115
+ return undefined;
116
+ });
117
+ });
118
+
119
+ if (customWrapper.current.values) {
120
+ setState(_objectSpread({}, customWrapper.current.values));
121
+ }
122
+
123
+ case 4:
124
+ case "end":
125
+ return _context.stop();
126
+ }
127
+ }
128
+ }, _callee);
129
+ }))();
91
130
  }, []);
92
- useEffect(() => {
131
+ useEffect(function () {
93
132
  if (isModule) {
94
133
  setState(data);
134
+
95
135
  if (data) {
96
136
  moduleWrapper.current.values = data;
97
137
  }
@@ -106,4 +146,5 @@ const ChaynsProvider = _ref2 => {
106
146
  renderedByServer: renderedByServer
107
147
  }));
108
148
  };
149
+
109
150
  export default ChaynsProvider;
@@ -0,0 +1,3 @@
1
+ import ChaynsProvider from './ChaynsProvider';
2
+ import { withCompatMode } from './withCompatMode';
3
+ export default withCompatMode(ChaynsProvider);