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,6 +1,6 @@
1
1
  import { Browser, OperatingSystem } from 'detect-browser';
2
2
  import { DialogButton, SelectDialogItem } from "./dialog";
3
- export type ChaynsApiUser = {
3
+ export declare type ChaynsApiUser = {
4
4
  firstName: string;
5
5
  lastName: string;
6
6
  gender: Gender;
@@ -8,7 +8,7 @@ export type ChaynsApiUser = {
8
8
  userId: number;
9
9
  personId: string;
10
10
  };
11
- export type ChaynsApiSite = {
11
+ export declare type ChaynsApiSite = {
12
12
  id: string;
13
13
  locationId: number;
14
14
  locationPersonId: string;
@@ -33,7 +33,7 @@ export declare enum ScreenSize {
33
33
  LG = 3,
34
34
  XL = 4
35
35
  }
36
- export type ChaynsApiDevice = {
36
+ export declare type ChaynsApiDevice = {
37
37
  app?: {
38
38
  name: AppName;
39
39
  version: number;
@@ -138,7 +138,7 @@ export interface ChaynsReactFunctions {
138
138
  vibrate: (value: Vibrate) => Promise<void>;
139
139
  setOverlay: (value: ShowOverlay, callback: () => void) => Promise<void>;
140
140
  }
141
- export type SelectPage = {
141
+ export declare type SelectPage = {
142
142
  id?: number;
143
143
  position?: number;
144
144
  path?: string;
@@ -151,10 +151,10 @@ export type SelectPage = {
151
151
  siteId?: string;
152
152
  isAdminMode?: boolean;
153
153
  };
154
- export type AccessToken = {
154
+ export declare type AccessToken = {
155
155
  external?: boolean;
156
156
  };
157
- export type AccessTokenResult = {
157
+ export declare type AccessTokenResult = {
158
158
  accessToken: string | undefined;
159
159
  };
160
160
  export declare enum AccessMode {
@@ -167,16 +167,16 @@ export interface RefreshData {
167
167
  tapps?: boolean;
168
168
  user?: boolean;
169
169
  }
170
- export type IntercomMessage = {
170
+ export declare type IntercomMessage = {
171
171
  text: string;
172
172
  images?: string[];
173
173
  };
174
- export type ScanQrCodeRequest = {
174
+ export declare type ScanQrCodeRequest = {
175
175
  cancel: boolean;
176
176
  timeout?: number;
177
177
  cameraType: 0 | 1 | 2;
178
178
  };
179
- export type ScanQrCodeResult = {
179
+ export declare type ScanQrCodeResult = {
180
180
  qrCode: string;
181
181
  geoLocation?: {
182
182
  latitude: number;
@@ -328,14 +328,14 @@ export interface UserInfo {
328
328
  lastName: string;
329
329
  name: string;
330
330
  }
331
- export type UserInfoQuery = {
331
+ export declare type UserInfoQuery = {
332
332
  personId: string;
333
333
  userId?: never;
334
334
  } | {
335
335
  personId?: string;
336
336
  userId: number;
337
337
  };
338
- type OpenImageItem = {
338
+ declare type OpenImageItem = {
339
339
  url: string;
340
340
  title?: string;
341
341
  description?: string;
@@ -419,7 +419,7 @@ export interface GeoLocation {
419
419
  speed: number;
420
420
  code: number;
421
421
  }
422
- export type DataChangeValue = {
422
+ export declare type DataChangeValue = {
423
423
  type: 'page';
424
424
  value: Page[];
425
425
  } | {
@@ -432,8 +432,8 @@ export type DataChangeValue = {
432
432
  type: 'isAdminModeActive';
433
433
  value: ChaynsReactValues["isAdminModeActive"];
434
434
  };
435
- export type DataChangeCallback = ((value: DataChangeValue) => void);
436
- export type CleanupCallback = (() => void);
435
+ export declare type DataChangeCallback = ((value: DataChangeValue) => void);
436
+ export declare type CleanupCallback = (() => void);
437
437
  export interface WindowMetricsListenerResult {
438
438
  bottomBarHeight: number;
439
439
  topBarHeight: number;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chayns-api",
3
- "version": "1.0.0",
3
+ "version": "1.0.1",
4
4
  "description": "new chayns api",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",
@@ -1,10 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.environment = void 0;
7
- let environment = {
8
- language: (navigator.languages && navigator.languages.length > 0 ? navigator.languages[0] : navigator.language).substring(0, 2)
9
- };
10
- exports.environment = environment;
@@ -1,3 +0,0 @@
1
- export var environment = {
2
- language: (navigator.languages && navigator.languages.length > 0 ? navigator.languages[0] : navigator.language).substring(0, 2)
3
- };
@@ -1,97 +0,0 @@
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,3 +0,0 @@
1
- export declare let environment: {
2
- language: string;
3
- };