chayns-api 1.0.1 → 1.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. package/.babelrc +30 -30
  2. package/.eslintrc +17 -17
  3. package/.github/workflows/deploy_docs.yml +28 -28
  4. package/.github/workflows/publish.yml +21 -0
  5. package/LICENSE +21 -21
  6. package/README.md +47 -47
  7. package/dist/cjs/calls/dialogs/alert.js +0 -2
  8. package/dist/cjs/calls/dialogs/chaynsDialog.js +2 -8
  9. package/dist/cjs/calls/dialogs/close.js +0 -2
  10. package/dist/cjs/calls/dialogs/communication.js +1 -16
  11. package/dist/cjs/calls/dialogs/confirm.js +0 -4
  12. package/dist/cjs/calls/dialogs/date.js +46 -63
  13. package/dist/cjs/calls/dialogs/dropUpAlert.js +0 -3
  14. package/dist/cjs/calls/dialogs/fileSelect.js +0 -10
  15. package/dist/cjs/calls/dialogs/iFrame.js +0 -8
  16. package/dist/cjs/calls/dialogs/index.js +0 -27
  17. package/dist/cjs/calls/dialogs/input.js +0 -6
  18. package/dist/cjs/calls/dialogs/mediaSelect.js +0 -7
  19. package/dist/cjs/calls/dialogs/open.js +0 -2
  20. package/dist/cjs/calls/dialogs/select.js +0 -9
  21. package/dist/cjs/calls/dialogs/signature.js +0 -5
  22. package/dist/cjs/calls/dialogs/toast.js +0 -3
  23. package/dist/cjs/calls/dialogs/utils/callback.js +0 -2
  24. package/dist/cjs/calls/dialogs/utils/is.js +0 -4
  25. package/dist/cjs/calls/getUserInfo.js +0 -11
  26. package/dist/cjs/calls/index.js +95 -247
  27. package/dist/cjs/calls/sendMessage.js +8 -34
  28. package/dist/cjs/calls/visibilityChangeListener.js +5 -16
  29. package/dist/cjs/components/ChaynsContext.js +2 -4
  30. package/dist/cjs/components/ChaynsProvider.js +6 -28
  31. package/dist/cjs/components/WaitUntil.js +0 -5
  32. package/dist/cjs/components/withCompatMode.js +1 -16
  33. package/dist/cjs/helper/apiListenerHelper.js +0 -9
  34. package/dist/cjs/hooks/geoLocationListener.js +6 -15
  35. package/dist/cjs/hooks/index.js +6 -16
  36. package/dist/cjs/hooks/scrollListener.js +12 -31
  37. package/dist/cjs/hooks/useAccessToken.js +2 -7
  38. package/dist/cjs/hooks/useCurrentPage.js +2 -6
  39. package/dist/cjs/hooks/useCustomData.js +2 -6
  40. package/dist/cjs/hooks/useDevice.js +2 -6
  41. package/dist/cjs/hooks/useEnvironment.js +2 -6
  42. package/dist/cjs/hooks/useFunctions.js +2 -6
  43. package/dist/cjs/hooks/useIsAdminMode.js +2 -7
  44. package/dist/cjs/hooks/useLanguage.js +2 -6
  45. package/dist/cjs/hooks/usePages.js +26 -18
  46. package/dist/cjs/hooks/useParameters.js +2 -6
  47. package/dist/cjs/hooks/useSite.js +2 -6
  48. package/dist/cjs/hooks/useUser.js +2 -7
  49. package/dist/cjs/hooks/useValues.js +2 -6
  50. package/dist/cjs/hooks/windowMetricsListener.js +6 -16
  51. package/dist/cjs/host/ChaynsHost.js +0 -10
  52. package/dist/cjs/host/iframe/HostIframe.js +23 -30
  53. package/dist/cjs/host/iframe/utils/useUpdateData.js +0 -3
  54. package/dist/cjs/host/module/ModuleHost.js +3 -13
  55. package/dist/cjs/host/module/utils/loadComponent.js +1 -18
  56. package/dist/cjs/host/module/utils/useDynamicScript.js +0 -18
  57. package/dist/cjs/index.js +0 -19
  58. package/dist/cjs/types/IChaynsReact.js +27 -48
  59. package/dist/cjs/util/appCall.js +1 -4
  60. package/dist/cjs/util/deviceHelper.js +5 -22
  61. package/dist/cjs/util/heightHelper.js +0 -9
  62. package/dist/cjs/util/postIframeForm.js +0 -5
  63. package/dist/cjs/wrapper/AppWrapper.js +323 -159
  64. package/dist/cjs/wrapper/FrameWrapper.js +219 -248
  65. package/dist/cjs/wrapper/ModuleFederationWrapper.js +2 -27
  66. package/dist/cjs/wrapper/SsrWrapper.js +0 -8
  67. package/dist/esm/calls/dialogs/alert.js +4 -4
  68. package/dist/esm/calls/dialogs/chaynsDialog.js +7 -11
  69. package/dist/esm/calls/dialogs/communication.js +15 -26
  70. package/dist/esm/calls/dialogs/confirm.js +5 -8
  71. package/dist/esm/calls/dialogs/date.js +119 -128
  72. package/dist/esm/calls/dialogs/dropUpAlert.js +1 -1
  73. package/dist/esm/calls/dialogs/fileSelect.js +23 -62
  74. package/dist/esm/calls/dialogs/iFrame.js +7 -10
  75. package/dist/esm/calls/dialogs/input.js +2 -5
  76. package/dist/esm/calls/dialogs/mediaSelect.js +18 -55
  77. package/dist/esm/calls/dialogs/open.js +2 -2
  78. package/dist/esm/calls/dialogs/select.js +5 -9
  79. package/dist/esm/calls/dialogs/signature.js +0 -2
  80. package/dist/esm/calls/dialogs/toast.js +6 -11
  81. package/dist/esm/calls/dialogs/utils/callback.js +3 -5
  82. package/dist/esm/calls/dialogs/utils/is.js +1 -3
  83. package/dist/esm/calls/getUserInfo.js +32 -92
  84. package/dist/esm/calls/index.js +297 -449
  85. package/dist/esm/calls/sendMessage.js +99 -229
  86. package/dist/esm/calls/visibilityChangeListener.js +14 -19
  87. package/dist/esm/components/ChaynsContext.js +3 -3
  88. package/dist/esm/components/ChaynsProvider.js +45 -86
  89. package/dist/esm/components/WaitUntil.js +21 -86
  90. package/dist/esm/components/withCompatMode.js +35 -77
  91. package/dist/esm/helper/apiListenerHelper.js +10 -15
  92. package/dist/esm/hooks/geoLocationListener.js +24 -50
  93. package/dist/esm/hooks/index.js +1 -1
  94. package/dist/esm/hooks/scrollListener.js +58 -94
  95. package/dist/esm/hooks/useAccessToken.js +8 -30
  96. package/dist/esm/hooks/useCurrentPage.js +4 -8
  97. package/dist/esm/hooks/useCustomData.js +4 -8
  98. package/dist/esm/hooks/useDevice.js +3 -8
  99. package/dist/esm/hooks/useEnvironment.js +3 -8
  100. package/dist/esm/hooks/useFunctions.js +4 -7
  101. package/dist/esm/hooks/useIsAdminMode.js +4 -8
  102. package/dist/esm/hooks/useLanguage.js +3 -8
  103. package/dist/esm/hooks/usePages.js +38 -31
  104. package/dist/esm/hooks/useParameters.js +3 -8
  105. package/dist/esm/hooks/useSite.js +3 -8
  106. package/dist/esm/hooks/useUser.js +3 -9
  107. package/dist/esm/hooks/useValues.js +4 -7
  108. package/dist/esm/hooks/windowMetricsListener.js +22 -48
  109. package/dist/esm/host/ChaynsHost.js +22 -29
  110. package/dist/esm/host/iframe/HostIframe.js +86 -142
  111. package/dist/esm/host/iframe/utils/useUpdateData.js +4 -6
  112. package/dist/esm/host/module/ModuleHost.js +42 -49
  113. package/dist/esm/host/module/utils/loadComponent.js +47 -85
  114. package/dist/esm/host/module/utils/useDynamicScript.js +27 -74
  115. package/dist/esm/types/IChaynsReact.js +37 -61
  116. package/dist/esm/util/appCall.js +2 -4
  117. package/dist/esm/util/deviceHelper.js +13 -37
  118. package/dist/esm/util/heightHelper.js +10 -13
  119. package/dist/esm/util/postIframeForm.js +25 -57
  120. package/dist/esm/wrapper/AppWrapper.js +385 -781
  121. package/dist/esm/wrapper/FrameWrapper.js +262 -1509
  122. package/dist/esm/wrapper/ModuleFederationWrapper.js +47 -284
  123. package/dist/esm/wrapper/SsrWrapper.js +19 -65
  124. package/dist/types/calls/dialogs/alert.d.ts +1 -1
  125. package/dist/types/calls/dialogs/chaynsDialog.d.ts +24 -24
  126. package/dist/types/calls/dialogs/close.d.ts +1 -1
  127. package/dist/types/calls/dialogs/communication.d.ts +3 -3
  128. package/dist/types/calls/dialogs/confirm.d.ts +13 -13
  129. package/dist/types/calls/dialogs/date.d.ts +96 -96
  130. package/dist/types/calls/dialogs/dropUpAlert.d.ts +5 -5
  131. package/dist/types/calls/dialogs/fileSelect.d.ts +16 -16
  132. package/dist/types/calls/dialogs/iFrame.d.ts +10 -10
  133. package/dist/types/calls/dialogs/index.d.ts +14 -14
  134. package/dist/types/calls/dialogs/input.d.ts +15 -15
  135. package/dist/types/calls/dialogs/mediaSelect.d.ts +8 -8
  136. package/dist/types/calls/dialogs/open.d.ts +1 -1
  137. package/dist/types/calls/dialogs/select.d.ts +6 -6
  138. package/dist/types/calls/dialogs/signature.d.ts +7 -7
  139. package/dist/types/calls/dialogs/toast.d.ts +1 -1
  140. package/dist/types/calls/dialogs/utils/callback.d.ts +1 -1
  141. package/dist/types/calls/dialogs/utils/is.d.ts +4 -4
  142. package/dist/types/calls/getUserInfo.d.ts +9 -9
  143. package/dist/types/calls/index.d.ts +225 -231
  144. package/dist/types/calls/sendMessage.d.ts +13 -13
  145. package/dist/types/calls/visibilityChangeListener.d.ts +9 -9
  146. package/dist/types/components/ChaynsContext.d.ts +3 -3
  147. package/dist/types/components/ChaynsProvider.d.ts +13 -13
  148. package/dist/types/components/WaitUntil.d.ts +7 -7
  149. package/dist/types/components/withCompatMode.d.ts +13 -13
  150. package/dist/types/helper/apiListenerHelper.d.ts +6 -6
  151. package/dist/types/hooks/geoLocationListener.d.ts +18 -18
  152. package/dist/types/hooks/index.d.ts +16 -16
  153. package/dist/types/hooks/scrollListener.d.ts +28 -28
  154. package/dist/types/hooks/useAccessToken.d.ts +5 -5
  155. package/dist/types/hooks/useCurrentPage.d.ts +4 -4
  156. package/dist/types/hooks/useCustomData.d.ts +4 -4
  157. package/dist/types/hooks/useDevice.d.ts +5 -5
  158. package/dist/types/hooks/useEnvironment.d.ts +5 -5
  159. package/dist/types/hooks/useFunctions.d.ts +5 -5
  160. package/dist/types/hooks/useIsAdminMode.d.ts +4 -4
  161. package/dist/types/hooks/useLanguage.d.ts +5 -5
  162. package/dist/types/hooks/usePages.d.ts +18 -14
  163. package/dist/types/hooks/useParameters.d.ts +5 -5
  164. package/dist/types/hooks/useSite.d.ts +5 -5
  165. package/dist/types/hooks/useUser.d.ts +5 -5
  166. package/dist/types/hooks/useValues.d.ts +5 -5
  167. package/dist/types/hooks/windowMetricsListener.d.ts +11 -11
  168. package/dist/types/host/ChaynsHost.d.ts +28 -28
  169. package/dist/types/host/iframe/HostIframe.d.ts +24 -24
  170. package/dist/types/host/iframe/utils/useUpdateData.d.ts +3 -3
  171. package/dist/types/host/module/ModuleHost.d.ts +23 -23
  172. package/dist/types/host/module/utils/loadComponent.d.ts +1 -1
  173. package/dist/types/host/module/utils/useDynamicScript.d.ts +9 -9
  174. package/dist/types/index.d.ts +16 -16
  175. package/dist/types/types/IChaynsReact.d.ts +622 -590
  176. package/dist/types/types/dialog.d.ts +41 -41
  177. package/dist/types/util/appCall.d.ts +2 -2
  178. package/dist/types/util/deviceHelper.d.ts +7 -7
  179. package/dist/types/util/heightHelper.d.ts +1 -1
  180. package/dist/types/util/postIframeForm.d.ts +1 -1
  181. package/dist/types/wrapper/AppWrapper.d.ts +18 -16
  182. package/dist/types/wrapper/FrameWrapper.d.ts +15 -15
  183. package/dist/types/wrapper/ModuleFederationWrapper.d.ts +10 -10
  184. package/dist/types/wrapper/SsrWrapper.d.ts +11 -11
  185. package/package.json +76 -76
  186. package/toolkit.config.js +52 -52
  187. package/tsconfig.json +56 -56
  188. package/dist/cjs/bootstrap.js +0 -11
  189. package/dist/cjs/calls/abstractApiListener.js +0 -40
  190. package/dist/cjs/calls/apiEventListener.js +0 -40
  191. package/dist/cjs/calls/setVisibilityChangeListener.js +0 -1
  192. package/dist/cjs/calls/windowMetricsListener.js +0 -18
  193. package/dist/cjs/client.js +0 -93
  194. package/dist/cjs/components/App.js +0 -32
  195. package/dist/cjs/components/App.spec.js +0 -16
  196. package/dist/cjs/components/Button.js +0 -32
  197. package/dist/cjs/components/ChaynsModuleProvider.js +0 -457
  198. package/dist/cjs/components/ChaynsProviderExposed.js +0 -16
  199. package/dist/cjs/components/TestProvider.js +0 -236
  200. package/dist/cjs/components/Title.js +0 -162
  201. package/dist/cjs/functions/addApiListener.js +0 -37
  202. package/dist/cjs/functions/addGeoLocationListener.js +0 -26
  203. package/dist/cjs/functions/addScrollListener.js +0 -26
  204. package/dist/cjs/functions/addWindowMetricsListener.js +0 -37
  205. package/dist/cjs/helper/cssLoader.js +0 -28
  206. package/dist/cjs/hooks/addGeoLocationListener.js +0 -26
  207. package/dist/cjs/hooks/addScrollListener.js +0 -26
  208. package/dist/cjs/hooks/addWindowMetricsListener.js +0 -37
  209. package/dist/cjs/hooks/geoLocation.js +0 -48
  210. package/dist/cjs/hooks/useAddGeoLocationListener.js +0 -26
  211. package/dist/cjs/hooks/useAddScrollListener.js +0 -48
  212. package/dist/cjs/hooks/useAddWindowMetricsListener.js +0 -45
  213. package/dist/cjs/hooks/useAdddScrollListener.js +0 -26
  214. package/dist/cjs/hooks/windowMetrics.js +0 -45
  215. package/dist/cjs/host/HostIframe.js +0 -157
  216. package/dist/cjs/host/ModuleHost.js +0 -11
  217. package/dist/cjs/host/module/utils.js +0 -25
  218. package/dist/cjs/index.example.js +0 -7
  219. package/dist/cjs/index2.js +0 -64
  220. package/dist/cjs/types/DynamicApiImport.d.js +0 -5
  221. package/dist/cjs/types/DynamicImport.d.js +0 -5
  222. package/dist/cjs/types/chayns-components.d.js +0 -1
  223. package/dist/cjs/types/chayns-logger.d.js +0 -1
  224. package/dist/cjs/types/chayns.d.js +0 -1
  225. package/dist/cjs/types/tobit-websocket-service-client.d.js +0 -1
  226. package/dist/cjs/types/toolkit-types.d.js +0 -1
  227. package/dist/cjs/util/useFunctionsContext.js +0 -16
  228. package/dist/cjs/util/useIsAdminMode.js +0 -18
  229. package/dist/cjs/util/useUser.js +0 -16
  230. package/dist/esm/bootstrap.js +0 -4
  231. package/dist/esm/client.js +0 -8
  232. package/dist/esm/components/App.js +0 -35
  233. package/dist/esm/components/App.spec.js +0 -9
  234. package/dist/esm/components/Button.js +0 -34
  235. package/dist/esm/components/ChaynsModuleProvider.js +0 -517
  236. package/dist/esm/components/ChaynsProviderExposed.js +0 -3
  237. package/dist/esm/components/TestProvider.js +0 -308
  238. package/dist/esm/components/Title.js +0 -210
  239. package/dist/esm/helper/cssLoader.js +0 -21
  240. package/dist/esm/hooks/useAddGeoLocationListener.js +0 -18
  241. package/dist/esm/hooks/useAddScrollListener.js +0 -18
  242. package/dist/esm/hooks/useAddWindowMetricsListener.js +0 -18
  243. package/dist/esm/host/HostIframe.js +0 -153
  244. package/dist/esm/index.example.js +0 -1
  245. package/dist/esm/index2.js +0 -5
  246. package/dist/esm/types/DynamicApiImport.d.js +0 -1
  247. package/dist/esm/types/DynamicImport.d.js +0 -1
  248. package/dist/esm/types/chayns-components.d.js +0 -0
  249. package/dist/esm/types/chayns-logger.d.js +0 -0
  250. package/dist/esm/types/chayns.d.js +0 -0
  251. package/dist/esm/types/tobit-websocket-service-client.d.js +0 -0
  252. package/dist/esm/types/toolkit-types.d.js +0 -0
  253. package/dist/esm/util/useIsAdminMode.js +0 -9
  254. package/dist/esm/util/useUser.js +0 -7
  255. package/dist/types/bootstrap.d.ts +0 -1
  256. package/dist/types/client.d.ts +0 -7
  257. package/dist/types/components/App.d.ts +0 -5
  258. package/dist/types/components/Button.d.ts +0 -8
  259. package/dist/types/components/ChaynsModuleProvider.d.ts +0 -170
  260. package/dist/types/components/ChaynsProviderExposed.d.ts +0 -13
  261. package/dist/types/components/Title.d.ts +0 -3
  262. package/dist/types/host/HostIframe.d.ts +0 -20
  263. package/dist/types/index.example.d.ts +0 -0
@@ -1,590 +1,622 @@
1
- import { Browser, OperatingSystem } from 'detect-browser';
2
- import { DialogButton, SelectDialogItem } from "./dialog";
3
- export declare type ChaynsApiUser = {
4
- firstName: string;
5
- lastName: string;
6
- gender: Gender;
7
- uacGroups: UacGroup[];
8
- userId: number;
9
- personId: string;
10
- };
11
- export declare type ChaynsApiSite = {
12
- id: string;
13
- locationId: number;
14
- locationPersonId: string;
15
- color: string;
16
- colorMode: ColorMode;
17
- dynamicFontSize: boolean;
18
- layoutDisposition: LayoutDisposition;
19
- domain: string;
20
- font: {
21
- id: Font;
22
- dynamicFontSize: boolean;
23
- headlineFont: Font;
24
- };
25
- title: string;
26
- url: string;
27
- urlHash: string;
28
- };
29
- export declare enum ScreenSize {
30
- XS = 0,
31
- SM = 1,
32
- MD = 2,
33
- LG = 3,
34
- XL = 4
35
- }
36
- export declare type ChaynsApiDevice = {
37
- app?: {
38
- name: AppName;
39
- version: number;
40
- storePackageName?: string;
41
- };
42
- browser?: {
43
- name?: Browser | 'bot' | null;
44
- version?: string | null;
45
- majorVersion: number;
46
- isWebPSupported: boolean;
47
- };
48
- imei?: string;
49
- accessToken?: string;
50
- os?: OperatingSystem | null;
51
- isTouch: boolean;
52
- screenSize: ScreenSize;
53
- };
54
- /**
55
- * @ignore
56
- */
57
- export interface ChaynsReactValues {
58
- site: ChaynsApiSite;
59
- user: ChaynsApiUser | undefined;
60
- isAdminModeActive: boolean;
61
- pages: Page[];
62
- currentPage: {
63
- id: number;
64
- siteId: string;
65
- };
66
- device: ChaynsApiDevice;
67
- language: {
68
- site: Language;
69
- translation: Language | null;
70
- device: Language;
71
- active: Language;
72
- };
73
- /**
74
- * keys are in lower case
75
- */
76
- parameters: {
77
- [key: string | symbol]: string;
78
- };
79
- environment: {
80
- buildEnvironment: Environment;
81
- runtimeEnvironment: RuntimeEnviroment | string;
82
- };
83
- customData: any;
84
- }
85
- /**
86
- * @ignore
87
- */
88
- export interface ChaynsReactFunctions {
89
- addGeoLocationListener: (value: {
90
- timeout?: number;
91
- silent?: boolean;
92
- }, callback: (geoLocation: GeoLocation) => void) => Promise<number>;
93
- addScrollListener: (value: {
94
- throttle?: number;
95
- }, callback: (result: ScrollListenerResult) => void) => Promise<number>;
96
- addVisibilityChangeListener: (callback: (result: VisibilityChangeListenerResult) => void) => Promise<number>;
97
- addWindowMetricsListener: (callback: (result: WindowMetricsListenerResult) => void) => Promise<number>;
98
- customCallbackFunction: (type: string, data: unknown) => Promise<unknown>;
99
- getAvailableSharingServices: () => Promise<AvailableSharingServices>;
100
- getAccessToken: (value?: AccessToken) => Promise<AccessTokenResult>;
101
- getGeoLocation: (value: {
102
- timeout?: number;
103
- silent?: boolean;
104
- }) => Promise<GeoLocation>;
105
- getUserInfo: (value: UserInfoQuery) => Promise<UserInfo | null>;
106
- getScrollPosition: () => Promise<ScrollListenerResult>;
107
- getWindowMetrics: () => Promise<WindowMetricsListenerResult>;
108
- invokeCall: (value: InvokeCall, callback?: (result: any) => void) => Promise<any>;
109
- invokeDialogCall: (value: InvokeCall, callback?: (result: any) => void) => Promise<any>;
110
- login: (value?: Login, callback?: (result: boolean) => void, closeCallback?: () => void) => Promise<LoginResult>;
111
- logout: () => Promise<void>;
112
- navigateBack: () => Promise<void>;
113
- openImage: (value: OpenImage) => Promise<void>;
114
- openUrl: (value: OpenUrl) => Promise<void>;
115
- openVideo: (value: OpenVideo) => Promise<void>;
116
- refreshData: (value: RefreshData) => Promise<void>;
117
- refreshAccessToken: () => Promise<void>;
118
- removeGeoLocationListener: (value: number) => Promise<void>;
119
- removeScrollListener: (value: number) => Promise<void>;
120
- removeVisibilityChangeListener: (value: number) => Promise<void>;
121
- removeWindowMetricsListener: (value: number) => Promise<void>;
122
- selectPage: (value: SelectPage) => Promise<void>;
123
- scrollToY: (position: number, duration: number) => Promise<void>;
124
- sendMessageToGroup: (groupId: number, message: IntercomMessage) => Promise<Response>;
125
- sendMessageToPage: (message: IntercomMessage) => Promise<Response>;
126
- sendMessageToUser: (userId: number, message: IntercomMessage) => Promise<Response>;
127
- setAdminMode: (enabled: boolean) => Promise<void>;
128
- setDisplayTimeout: (enabled: boolean) => Promise<DisplayTimeout>;
129
- setFloatingButton: (value: FloatingButton, callback: () => void) => Promise<void>;
130
- setHeight: (height: number) => Promise<void>;
131
- setRefreshScrollEnabled: (enabled: boolean) => Promise<RefreshScrollEnabled>;
132
- setScanQrCode: (value: ScanQrCodeRequest) => Promise<ScanQrCodeResult>;
133
- setTempDesignSettings: (value: DesignSettings) => Promise<void>;
134
- setWaitCursor: (value: WaitCursor) => Promise<void>;
135
- storageGetItem: (key: string, accessMode?: AccessMode) => Promise<any>;
136
- storageRemoveItem: (key: string, accessMode?: AccessMode) => Promise<void>;
137
- storageSetItem: (key: string, value: any, accessMode?: AccessMode, tappIds?: number[]) => Promise<void>;
138
- vibrate: (value: Vibrate) => Promise<void>;
139
- setOverlay: (value: ShowOverlay, callback: () => void) => Promise<void>;
140
- }
141
- export declare type SelectPage = {
142
- id?: number;
143
- position?: number;
144
- path?: string;
145
- showName?: string;
146
- forceSelect?: boolean;
147
- params?: {
148
- [key: string]: string;
149
- };
150
- preventHistory?: boolean;
151
- siteId?: string;
152
- isAdminMode?: boolean;
153
- };
154
- export declare type AccessToken = {
155
- external?: boolean;
156
- };
157
- export declare type AccessTokenResult = {
158
- accessToken: string | undefined;
159
- };
160
- export declare enum AccessMode {
161
- public = 0,
162
- protected = 1,
163
- 'private' = 2
164
- }
165
- export interface RefreshData {
166
- suffix?: boolean;
167
- tapps?: boolean;
168
- user?: boolean;
169
- }
170
- export declare type IntercomMessage = {
171
- text: string;
172
- images?: string[];
173
- };
174
- export declare type ScanQrCodeRequest = {
175
- cancel: boolean;
176
- timeout?: number;
177
- cameraType: 0 | 1 | 2;
178
- };
179
- export declare type ScanQrCodeResult = {
180
- qrCode: string;
181
- geoLocation?: {
182
- latitude: number;
183
- longitude: number;
184
- speed: number;
185
- };
186
- status: number;
187
- resultType: number;
188
- };
189
- declare enum IOSFeedbackVibration {
190
- Unknown = 0,
191
- SelectionChanged = 1,
192
- NotificationError = 2,
193
- NotificationSuccess = 3,
194
- NotificationWarning = 4,
195
- Light = 5,
196
- Medium = 6,
197
- Heavy = 7,
198
- Soft = 8,
199
- Rigid = 9
200
- }
201
- export interface Vibrate {
202
- pattern: number[];
203
- iOSFeedbackVibration?: IOSFeedbackVibration;
204
- }
205
- export interface ShowOverlay {
206
- show?: boolean;
207
- header?: boolean;
208
- url: string;
209
- background?: boolean;
210
- height?: string | number;
211
- login?: boolean;
212
- }
213
- declare enum SnapshotType {
214
- Background = "background",
215
- Settings = "settings",
216
- ColorScheme = "colorScheme",
217
- Cover = "cover",
218
- Tapp = "tapp"
219
- }
220
- declare enum DesignSettingsUpdateBackgroundType {
221
- None = 0,
222
- Image = 1,
223
- Video = 2,
224
- Color = 3
225
- }
226
- interface DesignSettingsUpdateGradient {
227
- startColor?: string;
228
- endColor: string;
229
- type: number;
230
- }
231
- interface DesignSettingsUpdateBackground {
232
- canvasBlur?: number;
233
- canvasOpacity?: number;
234
- color?: string;
235
- filter?: string;
236
- isRepeat?: boolean;
237
- type?: DesignSettingsUpdateBackgroundType;
238
- url?: string;
239
- gradient?: DesignSettingsUpdateGradient;
240
- }
241
- declare enum DesignSettingsUpdateSeasonTypes {
242
- None = 0,
243
- Snowm = 1,
244
- Confetti = 2,
245
- Leaf = 3,
246
- Heart = 4,
247
- Balloon = 5,
248
- Eastern = 6,
249
- Clover = 7,
250
- Coins = 8
251
- }
252
- declare enum DesignSettingsUpdateGalleryAnimationTypes {
253
- Swipe = 0,
254
- Fade = 1,
255
- Parallax = 2,
256
- KenBurns = 3
257
- }
258
- declare enum DesignSettingsUpdateCoverTypes {
259
- Image = 0,
260
- Video = 1,
261
- Slideshow = 2,
262
- Frame = 3,
263
- None = 4
264
- }
265
- interface DesignSettingsUpdateCover {
266
- animationType: DesignSettingsUpdateGalleryAnimationTypes;
267
- seasonAnimation?: DesignSettingsUpdateSeasonTypes;
268
- fallbackUrl?: string;
269
- hide?: boolean;
270
- overlayUrl?: string;
271
- type: DesignSettingsUpdateCoverTypes;
272
- urls: string[];
273
- }
274
- declare enum DesignSettingsUpdateColorSchemeMode {
275
- Normal = 0,
276
- Dark = 1,
277
- Bright = 2
278
- }
279
- interface DesignSettingsUpdateColorScheme {
280
- color: string;
281
- mode: DesignSettingsUpdateColorSchemeMode;
282
- }
283
- interface DesignSettingsUpdateGlobalSettings {
284
- useChatHead?: boolean;
285
- addBackgroundColorInHeader?: boolean;
286
- enableStagingSwitch?: boolean;
287
- hideNavigationButton?: boolean;
288
- }
289
- declare enum DesignSettingsUpdateTappViewModes {
290
- Normal = 0,
291
- Exclusive = 1,
292
- Wide = 2,
293
- Fullscreen = 3,
294
- FullscreenWithBackground = 4
295
- }
296
- interface DesignSettingsUpdateTapp {
297
- viewMode?: DesignSettingsUpdateTappViewModes;
298
- removeLocationBarHeight?: boolean;
299
- }
300
- export interface DesignSettings {
301
- snapshot?: boolean;
302
- resetOnTappChange?: boolean;
303
- reset?: boolean;
304
- updates: DesignSettingsUpdateItem[];
305
- }
306
- interface DesignSettingsUpdateItem {
307
- type: SnapshotType;
308
- value: DesignSettingsUpdateBackground | DesignSettingsUpdateCover | DesignSettingsUpdateColorScheme | DesignSettingsUpdateGlobalSettings | DesignSettingsUpdateTapp;
309
- }
310
- export interface IChaynsReact {
311
- values: ChaynsReactValues;
312
- functions: ChaynsReactFunctions;
313
- addDataListener: (cb: DataChangeCallback) => CleanupCallback;
314
- getSSRData: () => ChaynsReactValues | null;
315
- init: () => Promise<void>;
316
- getInitialData: () => ChaynsReactValues;
317
- }
318
- export interface OpenUrl {
319
- sameWindow?: boolean;
320
- url: string;
321
- openInApp?: boolean;
322
- overlay?: boolean;
323
- }
324
- export interface UserInfo {
325
- personId: string;
326
- userId: number;
327
- firstName: string;
328
- lastName: string;
329
- name: string;
330
- }
331
- export declare type UserInfoQuery = {
332
- personId: string;
333
- userId?: never;
334
- } | {
335
- personId?: string;
336
- userId: number;
337
- };
338
- declare type OpenImageItem = {
339
- url: string;
340
- title?: string;
341
- description?: string;
342
- preventCache?: boolean;
343
- };
344
- export interface OpenImage {
345
- items: [OpenImageItem, ...OpenImageItem[]];
346
- startIndex?: number;
347
- }
348
- export interface OpenVideo {
349
- url: string;
350
- }
351
- declare enum LoginState {
352
- LoginFailed = 2,
353
- AlreadyLoggedIn = 3
354
- }
355
- export interface LoginResult {
356
- loginState: LoginState;
357
- }
358
- export interface Login {
359
- ignoreAuthenticated: boolean;
360
- }
361
- export interface InvokeCall {
362
- action: number;
363
- value: object;
364
- }
365
- export interface WaitCursor {
366
- isEnabled: boolean;
367
- text?: string;
368
- timeout?: number;
369
- progress?: number;
370
- progressText?: string;
371
- }
372
- export declare enum FloatingButtonPosition {
373
- Right = 0,
374
- Center = 1,
375
- Left = 2
376
- }
377
- export interface FloatingButton {
378
- isEnabled: boolean;
379
- position: FloatingButtonPosition;
380
- zIndex: number;
381
- badge: string;
382
- textSize: number;
383
- color: string;
384
- colorText: string;
385
- icon: string;
386
- text: string;
387
- rotateIcon: boolean;
388
- items: {
389
- onClick?: () => Promise<void>;
390
- text: string;
391
- icon: string;
392
- }[];
393
- }
394
- export declare enum SharingApp {
395
- Mail = 0,
396
- WhatsApp = 1,
397
- Facebook = 2,
398
- FacebookMessenger = 3,
399
- GooglePlus = 4,
400
- Twitter = 5
401
- }
402
- export interface AvailableSharingServices {
403
- availableSharingApps: SharingApp[];
404
- availableAndroidApps?: string[];
405
- }
406
- export interface DisplayTimeout {
407
- isEnabled: boolean;
408
- }
409
- export interface AdminMode {
410
- isEnabled: boolean;
411
- }
412
- export interface RefreshScrollEnabled {
413
- isEnabled: boolean;
414
- }
415
- export interface GeoLocation {
416
- accuracy: number | null;
417
- latitude: number;
418
- longitude: number;
419
- speed: number;
420
- code: number;
421
- }
422
- export declare type DataChangeValue = {
423
- type: 'page';
424
- value: Page[];
425
- } | {
426
- type: 'user';
427
- value: ChaynsApiUser | undefined;
428
- } | {
429
- type: 'site';
430
- value: ChaynsApiSite;
431
- } | {
432
- type: 'isAdminModeActive';
433
- value: ChaynsReactValues["isAdminModeActive"];
434
- };
435
- export declare type DataChangeCallback = ((value: DataChangeValue) => void);
436
- export declare type CleanupCallback = (() => void);
437
- export interface WindowMetricsListenerResult {
438
- bottomBarHeight: number;
439
- topBarHeight: number;
440
- offsetTop: number;
441
- windowHeight: number;
442
- pageHeight: number;
443
- pageWidth: number;
444
- pageSize: ScreenSize;
445
- }
446
- export interface VisibilityChangeListenerResult {
447
- isVisible: boolean;
448
- }
449
- export interface ScrollListenerResult {
450
- scrollX: number | null;
451
- scrollY: number | null;
452
- }
453
- interface LayoutDisposition {
454
- barOnTop: boolean;
455
- barWide: boolean;
456
- contentWide: boolean;
457
- coverDetached: boolean;
458
- coverHidden: boolean;
459
- coverWide: boolean;
460
- docked: boolean;
461
- }
462
- interface UacGroup {
463
- id: number;
464
- }
465
- export declare enum IconType {
466
- Font = 0,
467
- Base64 = 1,
468
- Url = 2
469
- }
470
- export interface Page {
471
- id: number;
472
- icon: string;
473
- iconType: IconType;
474
- customUrl: string;
475
- isExclusive: boolean;
476
- isHiddenFromMenu: boolean;
477
- minAge: number;
478
- name: string;
479
- sortId: number;
480
- siteId: string;
481
- uacGroups: UacGroup[];
482
- }
483
- export declare enum Gender {
484
- Unknown = 0,
485
- male = 1,
486
- female = 2,
487
- diverse = 9
488
- }
489
- export declare enum ColorMode {
490
- Classic = 0,
491
- Dark = 1,
492
- Light = 2
493
- }
494
- export declare enum Language {
495
- Unknown = "unknown",
496
- German = "de",
497
- English = "en",
498
- Dutch = "nl",
499
- French = "fr",
500
- Spanish = "es",
501
- Italian = "it",
502
- Portuguese = "pt",
503
- Turkish = "tr",
504
- Polish = "pl",
505
- Ukrainian = "uk"
506
- }
507
- export declare enum RuntimeEnviroment {
508
- Unknown = 0,
509
- ChaynsDe = 1,
510
- ChaynsWeb = 2,
511
- ChaynsRuntime = 3,
512
- IntercomPlugin = 4,
513
- PagemakerPlugin = 5
514
- }
515
- export declare enum DeviceOs {
516
- Unknown = "unknown",
517
- Android = "android",
518
- IOS = "ios",
519
- Windows = "windows",
520
- MacOs = "macos",
521
- Linux = "linux"
522
- }
523
- export declare enum AppName {
524
- Unknown = 0,
525
- David = 1,
526
- Chayns = 2,
527
- Location = 3,
528
- Intercom = 4,
529
- ChaynsLauncher = 5
530
- }
531
- export declare enum BrowserName {
532
- Unknown = "unknown",
533
- Chrome = "chrome",
534
- Safari = "safari",
535
- Firefox = "firefox",
536
- Edge = "edge"
537
- }
538
- export declare enum Environment {
539
- Development = 0,
540
- Qa = 1,
541
- Staging = 2,
542
- Production = 3
543
- }
544
- export declare enum Font {
545
- Unknown = 0,
546
- Roboto = 1,
547
- OpenSans = 2,
548
- Lato = 3,
549
- SourceSansPro = 4,
550
- Ubuntu = 5,
551
- Cabin = 6,
552
- Merriweather = 7,
553
- NotoSerif = 8,
554
- PTSerif = 9,
555
- DroidSerif = 10,
556
- Muli = 11,
557
- Poppins = 12,
558
- RobotoCondensed = 13,
559
- Anton = 14,
560
- ArchitectsDaughter = 15,
561
- DMSerifDisplay = 16,
562
- Pacifico = 17,
563
- PermanentMarker = 18,
564
- Questrial = 19,
565
- RobotoSlab = 20,
566
- ShadowsIntoLightTwo = 21,
567
- WaitingForTheSunrise = 22,
568
- RobotoMedium = 23,
569
- TobitHeadline = 24,
570
- RobotoBold = 25,
571
- RobotoRegular = 26,
572
- Inter = 27
573
- }
574
- export interface SelectInput {
575
- title?: string;
576
- message?: string;
577
- list: Array<SelectDialogItem>;
578
- multiselect?: boolean;
579
- quickfind?: boolean;
580
- type?: selectType;
581
- preventCloseOnClick?: boolean;
582
- buttons?: DialogButton[];
583
- links?: DialogButton[];
584
- selectAllButton?: string;
585
- }
586
- declare enum selectType {
587
- DEFAULT = 0,
588
- ICON = 1
589
- }
590
- export {};
1
+ import { Browser, OperatingSystem } from 'detect-browser';
2
+ import { DialogButton, SelectDialogItem } from "./dialog";
3
+ export type ChaynsApiUser = {
4
+ firstName?: string;
5
+ lastName?: string;
6
+ gender?: Gender;
7
+ uacGroups?: UacGroup[];
8
+ userId?: number;
9
+ personId?: string;
10
+ };
11
+ export type ChaynsApiSite = {
12
+ id: string;
13
+ locationId: number;
14
+ locationPersonId: string;
15
+ color: string;
16
+ colorMode: ColorMode;
17
+ dynamicFontSize: boolean;
18
+ layoutDisposition: LayoutDisposition;
19
+ domain: string;
20
+ font: {
21
+ id: Font;
22
+ dynamicFontSize: boolean;
23
+ headlineFont: Font;
24
+ };
25
+ title: string;
26
+ url: string;
27
+ urlHash: string;
28
+ };
29
+ export declare enum ScreenSize {
30
+ XS = 0,
31
+ SM = 1,
32
+ MD = 2,
33
+ LG = 3,
34
+ XL = 4
35
+ }
36
+ export type ChaynsApiDevice = {
37
+ app?: {
38
+ name: AppName;
39
+ version: number;
40
+ storePackageName?: string;
41
+ };
42
+ browser?: {
43
+ name?: Browser | 'bot' | null;
44
+ version?: string | null;
45
+ majorVersion: number;
46
+ isWebPSupported: boolean;
47
+ };
48
+ imei?: string;
49
+ accessToken?: string;
50
+ os?: OperatingSystem | null;
51
+ isTouch: boolean;
52
+ screenSize: ScreenSize;
53
+ };
54
+ /**
55
+ * @ignore
56
+ */
57
+ export interface ChaynsReactValues {
58
+ site: ChaynsApiSite;
59
+ user: ChaynsApiUser | undefined;
60
+ isAdminModeActive: boolean;
61
+ pages: Page[];
62
+ currentPage: {
63
+ id: number;
64
+ siteId: string;
65
+ };
66
+ device: ChaynsApiDevice;
67
+ language: {
68
+ site: Language;
69
+ translation: Language | null;
70
+ device: Language;
71
+ active: Language;
72
+ };
73
+ /**
74
+ * keys are in lower case
75
+ */
76
+ parameters: {
77
+ [key: string | symbol]: string;
78
+ };
79
+ environment: {
80
+ buildEnvironment: Environment;
81
+ runtimeEnvironment: RuntimeEnviroment | string;
82
+ };
83
+ customData: any;
84
+ }
85
+ /**
86
+ * @ignore
87
+ */
88
+ export interface ChaynsReactFunctions {
89
+ addGeoLocationListener: (value: {
90
+ timeout?: number;
91
+ silent?: boolean;
92
+ }, callback: (geoLocation: GeoLocation) => void) => Promise<number>;
93
+ addScrollListener: (value: {
94
+ throttle?: number;
95
+ }, callback: (result: ScrollListenerResult) => void) => Promise<number>;
96
+ addVisibilityChangeListener: (callback: (result: VisibilityChangeListenerResult) => void) => Promise<number>;
97
+ addWindowMetricsListener: (callback: (result: WindowMetricsListenerResult) => void) => Promise<number>;
98
+ customCallbackFunction: (type: string, data: unknown) => Promise<unknown>;
99
+ getAvailableSharingServices: () => Promise<AvailableSharingServices>;
100
+ getAccessToken: (value?: AccessToken) => Promise<AccessTokenResult>;
101
+ getGeoLocation: (value: {
102
+ timeout?: number;
103
+ silent?: boolean;
104
+ }) => Promise<GeoLocation>;
105
+ getUserInfo: (value: UserInfoQuery) => Promise<UserInfo | null>;
106
+ getScrollPosition: () => Promise<ScrollListenerResult>;
107
+ getWindowMetrics: () => Promise<WindowMetricsListenerResult>;
108
+ invokeCall: (value: InvokeCall, callback?: (result: any) => void) => Promise<any>;
109
+ invokeDialogCall: (value: InvokeCall, callback?: (result: any) => void) => Promise<any>;
110
+ login: (value?: Login, callback?: (result: boolean) => void, closeCallback?: () => void) => Promise<LoginResult>;
111
+ logout: () => Promise<void>;
112
+ navigateBack: () => Promise<void>;
113
+ openImage: (value: OpenImage) => Promise<void>;
114
+ openUrl: (value: OpenUrl) => Promise<void>;
115
+ openVideo: (value: OpenVideo) => Promise<void>;
116
+ refreshData: (value: RefreshData) => Promise<void>;
117
+ refreshAccessToken: () => Promise<void>;
118
+ removeGeoLocationListener: (value: number) => Promise<void>;
119
+ removeScrollListener: (value: number) => Promise<void>;
120
+ removeVisibilityChangeListener: (value: number) => Promise<void>;
121
+ removeWindowMetricsListener: (value: number) => Promise<void>;
122
+ selectPage: (value: SelectPage) => Promise<void>;
123
+ scrollToY: (position: number, duration: number) => Promise<void>;
124
+ sendMessageToGroup: (groupId: number, message: IntercomMessage) => Promise<Response>;
125
+ sendMessageToPage: (message: IntercomMessage) => Promise<Response>;
126
+ sendMessageToUser: (userId: number, message: IntercomMessage) => Promise<Response>;
127
+ setAdminMode: (enabled: boolean) => Promise<void>;
128
+ setDisplayTimeout: (enabled: boolean) => Promise<DisplayTimeout>;
129
+ setFloatingButton: (value: FloatingButton, callback: () => void) => Promise<void>;
130
+ setHeight: (height: number) => Promise<void>;
131
+ setRefreshScrollEnabled: (enabled: boolean) => Promise<RefreshScrollEnabled>;
132
+ setScanQrCode: (value: ScanQrCodeRequest) => Promise<ScanQrCodeResult>;
133
+ setTempDesignSettings: (value: DesignSettings) => Promise<void>;
134
+ setWaitCursor: (value: WaitCursor) => Promise<void>;
135
+ storageGetItem: (key: string, accessMode?: AccessMode) => Promise<any>;
136
+ storageRemoveItem: (key: string, accessMode?: AccessMode) => Promise<void>;
137
+ storageSetItem: (key: string, value: any, accessMode?: AccessMode, tappIds?: number[]) => Promise<void>;
138
+ vibrate: (value: Vibrate) => Promise<void>;
139
+ scrollByY: (position: number, duration?: number) => Promise<void>;
140
+ setOverlay: (value: ShowOverlay, callback: () => void) => Promise<void>;
141
+ }
142
+ export type SelectPage = {
143
+ id?: number;
144
+ position?: number;
145
+ path?: string;
146
+ showName?: string;
147
+ forceSelect?: boolean;
148
+ params?: {
149
+ [key: string]: string;
150
+ };
151
+ preventHistory?: boolean;
152
+ siteId?: string;
153
+ isAdminMode?: boolean;
154
+ };
155
+ export type AccessToken = {
156
+ external?: boolean;
157
+ };
158
+ export type AccessTokenResult = {
159
+ accessToken: string | undefined;
160
+ };
161
+ export declare enum AccessMode {
162
+ public = 0,
163
+ protected = 1,
164
+ 'private' = 2
165
+ }
166
+ export interface RefreshData {
167
+ suffix?: boolean;
168
+ tapps?: boolean;
169
+ user?: boolean;
170
+ }
171
+ export type IntercomMessage = {
172
+ text: string;
173
+ images?: string[];
174
+ };
175
+ export declare enum ScanQrCodeCodeType {
176
+ QR = 0,
177
+ BARCODE = 0,
178
+ ALL = 2
179
+ }
180
+ export declare enum ScanQrCodeCameraTypes {
181
+ AUTO = 0,
182
+ BACK = 1,
183
+ FRONT = 2
184
+ }
185
+ export type ScanQrCodeRequest = {
186
+ cancel?: boolean;
187
+ timeout?: number;
188
+ cameraType?: ScanQrCodeCameraTypes;
189
+ dialogTitle?: string;
190
+ dialogSubtitle?: string;
191
+ enableFlashToggle?: boolean;
192
+ enableCameraSwitch?: boolean;
193
+ ccAnimation?: boolean;
194
+ geoLocation?: boolean;
195
+ showInput?: boolean;
196
+ codeType?: ScanQrCodeCodeType;
197
+ codeFormats?: 4 | 5;
198
+ };
199
+ export type ScanQrCodeResult = {
200
+ qrCode: string;
201
+ geoLocation?: {
202
+ latitude: number;
203
+ longitude: number;
204
+ speed: number;
205
+ };
206
+ status: number;
207
+ resultType: number;
208
+ };
209
+ declare enum IOSFeedbackVibration {
210
+ Unknown = 0,
211
+ SelectionChanged = 1,
212
+ NotificationError = 2,
213
+ NotificationSuccess = 3,
214
+ NotificationWarning = 4,
215
+ Light = 5,
216
+ Medium = 6,
217
+ Heavy = 7,
218
+ Soft = 8,
219
+ Rigid = 9
220
+ }
221
+ export interface Vibrate {
222
+ pattern: number[];
223
+ iOSFeedbackVibration?: IOSFeedbackVibration;
224
+ }
225
+ export interface ShowOverlay {
226
+ show?: boolean;
227
+ header?: boolean;
228
+ url: string;
229
+ background?: boolean;
230
+ height?: string | number;
231
+ login?: boolean;
232
+ }
233
+ declare enum SnapshotType {
234
+ Background = "background",
235
+ Settings = "settings",
236
+ ColorScheme = "colorScheme",
237
+ Cover = "cover",
238
+ Tapp = "tapp"
239
+ }
240
+ declare enum DesignSettingsUpdateBackgroundType {
241
+ None = 0,
242
+ Image = 1,
243
+ Video = 2,
244
+ Color = 3
245
+ }
246
+ interface DesignSettingsUpdateGradient {
247
+ startColor?: string;
248
+ endColor: string;
249
+ type: number;
250
+ }
251
+ interface DesignSettingsUpdateBackground {
252
+ canvasBlur?: number;
253
+ canvasOpacity?: number;
254
+ color?: string;
255
+ filter?: string;
256
+ isRepeat?: boolean;
257
+ type?: DesignSettingsUpdateBackgroundType;
258
+ url?: string;
259
+ gradient?: DesignSettingsUpdateGradient;
260
+ }
261
+ declare enum DesignSettingsUpdateSeasonTypes {
262
+ None = 0,
263
+ Snowm = 1,
264
+ Confetti = 2,
265
+ Leaf = 3,
266
+ Heart = 4,
267
+ Balloon = 5,
268
+ Eastern = 6,
269
+ Clover = 7,
270
+ Coins = 8
271
+ }
272
+ declare enum DesignSettingsUpdateGalleryAnimationTypes {
273
+ Swipe = 0,
274
+ Fade = 1,
275
+ Parallax = 2,
276
+ KenBurns = 3
277
+ }
278
+ declare enum DesignSettingsUpdateCoverTypes {
279
+ Image = 0,
280
+ Video = 1,
281
+ Slideshow = 2,
282
+ Frame = 3,
283
+ None = 4
284
+ }
285
+ interface DesignSettingsUpdateCover {
286
+ animationType: DesignSettingsUpdateGalleryAnimationTypes;
287
+ seasonAnimation?: DesignSettingsUpdateSeasonTypes;
288
+ fallbackUrl?: string;
289
+ hide?: boolean;
290
+ overlayUrl?: string;
291
+ type: DesignSettingsUpdateCoverTypes;
292
+ urls: string[];
293
+ }
294
+ declare enum DesignSettingsUpdateColorSchemeMode {
295
+ Normal = 0,
296
+ Dark = 1,
297
+ Bright = 2
298
+ }
299
+ interface DesignSettingsUpdateColorScheme {
300
+ color: string;
301
+ mode: DesignSettingsUpdateColorSchemeMode;
302
+ }
303
+ interface DesignSettingsUpdateGlobalSettings {
304
+ useChatHead?: boolean;
305
+ addBackgroundColorInHeader?: boolean;
306
+ enableStagingSwitch?: boolean;
307
+ hideNavigationButton?: boolean;
308
+ }
309
+ declare enum DesignSettingsUpdateTappViewModes {
310
+ Normal = 0,
311
+ Exclusive = 1,
312
+ Wide = 2,
313
+ Fullscreen = 3,
314
+ FullscreenWithBackground = 4
315
+ }
316
+ interface DesignSettingsUpdateTapp {
317
+ viewMode?: DesignSettingsUpdateTappViewModes;
318
+ removeLocationBarHeight?: boolean;
319
+ }
320
+ export interface DesignSettings {
321
+ snapshot?: boolean;
322
+ resetOnTappChange?: boolean;
323
+ reset?: boolean;
324
+ updates: DesignSettingsUpdateItem[];
325
+ }
326
+ interface DesignSettingsUpdateItem {
327
+ type: SnapshotType;
328
+ value: DesignSettingsUpdateBackground | DesignSettingsUpdateCover | DesignSettingsUpdateColorScheme | DesignSettingsUpdateGlobalSettings | DesignSettingsUpdateTapp;
329
+ }
330
+ export interface IChaynsReact {
331
+ values: ChaynsReactValues;
332
+ functions: ChaynsReactFunctions;
333
+ addDataListener: (cb: DataChangeCallback) => CleanupCallback;
334
+ getSSRData: () => ChaynsReactValues | null;
335
+ init: () => Promise<void>;
336
+ getInitialData: () => ChaynsReactValues;
337
+ }
338
+ export interface OpenUrl {
339
+ sameWindow?: boolean;
340
+ url: string;
341
+ openInApp?: boolean;
342
+ overlay?: boolean;
343
+ }
344
+ export interface UserInfo {
345
+ personId: string;
346
+ userId: number;
347
+ firstName: string;
348
+ lastName: string;
349
+ name: string;
350
+ }
351
+ export type UserInfoQuery = {
352
+ personId: string;
353
+ userId?: never;
354
+ } | {
355
+ personId?: string;
356
+ userId: number;
357
+ };
358
+ type OpenImageItem = {
359
+ url: string;
360
+ title?: string;
361
+ description?: string;
362
+ preventCache?: boolean;
363
+ };
364
+ export interface OpenImage {
365
+ items: [OpenImageItem, ...OpenImageItem[]];
366
+ startIndex?: number;
367
+ }
368
+ export interface OpenVideo {
369
+ url: string;
370
+ }
371
+ declare enum LoginState {
372
+ FACEBOOK = 0,
373
+ T_WEB = 1,
374
+ LoginFailed = 2,
375
+ AlreadyLoggedIn = 3,
376
+ SUCCESS = 4
377
+ }
378
+ export interface LoginResult {
379
+ loginState: LoginState;
380
+ }
381
+ export interface Login {
382
+ ignoreAuthenticated: boolean;
383
+ }
384
+ export interface InvokeCall {
385
+ action: number;
386
+ value?: object;
387
+ }
388
+ export interface WaitCursor {
389
+ isEnabled: boolean;
390
+ text?: string;
391
+ timeout?: number;
392
+ progress?: number;
393
+ progressText?: string;
394
+ disappearTimeout?: number;
395
+ }
396
+ export declare enum FloatingButtonPosition {
397
+ Right = 0,
398
+ Center = 1,
399
+ Left = 2
400
+ }
401
+ export interface FloatingButton {
402
+ isEnabled: boolean;
403
+ position: FloatingButtonPosition;
404
+ zIndex: number;
405
+ badge: string;
406
+ textSize: number;
407
+ color: string;
408
+ colorText: string;
409
+ icon: string;
410
+ text: string;
411
+ rotateIcon: boolean;
412
+ items: {
413
+ onClick?: () => Promise<void>;
414
+ text: string;
415
+ icon: string;
416
+ }[];
417
+ }
418
+ export declare enum SharingApp {
419
+ Mail = 0,
420
+ WhatsApp = 1,
421
+ Facebook = 2,
422
+ FacebookMessenger = 3,
423
+ GooglePlus = 4,
424
+ Twitter = 5
425
+ }
426
+ export interface AvailableSharingServices {
427
+ availableSharingApps: SharingApp[];
428
+ availableAndroidApps?: string[];
429
+ }
430
+ export interface DisplayTimeout {
431
+ isEnabled: boolean;
432
+ }
433
+ export interface AdminMode {
434
+ isEnabled: boolean;
435
+ }
436
+ export interface RefreshScrollEnabled {
437
+ isEnabled: boolean;
438
+ }
439
+ export interface GeoLocation {
440
+ accuracy: number | null;
441
+ latitude: number;
442
+ longitude: number;
443
+ speed: number;
444
+ code: number;
445
+ }
446
+ export type DataChangeValue = {
447
+ type: 'page';
448
+ value: Page[];
449
+ } | {
450
+ type: 'user';
451
+ value: ChaynsApiUser | undefined;
452
+ } | {
453
+ type: 'site';
454
+ value: ChaynsApiSite;
455
+ } | {
456
+ type: 'isAdminModeActive';
457
+ value: ChaynsReactValues["isAdminModeActive"];
458
+ };
459
+ export type DataChangeCallback = ((value: DataChangeValue) => void);
460
+ export type CleanupCallback = (() => void);
461
+ export interface WindowMetricsListenerResult {
462
+ bottomBarHeight: number;
463
+ topBarHeight: number;
464
+ offsetTop: number;
465
+ windowHeight: number;
466
+ pageHeight: number;
467
+ pageWidth: number;
468
+ pageSize: ScreenSize;
469
+ }
470
+ export declare enum TappEvent {
471
+ OnShow = 0,
472
+ OnHide = 1,
473
+ OnRefresh = 2,
474
+ OnOpenCcScanner = 3,
475
+ OnCloseCcScanner = 4
476
+ }
477
+ export interface VisibilityChangeListenerResult {
478
+ isVisible: boolean;
479
+ tappEvent: TappEvent;
480
+ }
481
+ export interface ScrollListenerResult {
482
+ scrollX: number | null;
483
+ scrollY: number | null;
484
+ }
485
+ interface LayoutDisposition {
486
+ barOnTop: boolean;
487
+ barWide: boolean;
488
+ contentWide: boolean;
489
+ coverDetached: boolean;
490
+ coverHidden: boolean;
491
+ coverWide: boolean;
492
+ docked: boolean;
493
+ }
494
+ interface UacGroup {
495
+ id: number;
496
+ }
497
+ export declare enum IconType {
498
+ Font = 0,
499
+ Base64 = 1,
500
+ Url = 2
501
+ }
502
+ export interface Page {
503
+ id: number;
504
+ icon: string;
505
+ iconType: IconType;
506
+ customUrl: string;
507
+ isExclusive: boolean;
508
+ isHiddenFromMenu: boolean;
509
+ minAge: number;
510
+ name: string;
511
+ sortId: number;
512
+ siteId: string;
513
+ uacGroups: UacGroup[];
514
+ }
515
+ export declare enum Gender {
516
+ Unknown = 0,
517
+ male = 1,
518
+ female = 2,
519
+ diverse = 9
520
+ }
521
+ export declare enum ColorMode {
522
+ Classic = 0,
523
+ Dark = 1,
524
+ Light = 2
525
+ }
526
+ export declare enum Language {
527
+ Unknown = "unknown",
528
+ German = "de",
529
+ English = "en",
530
+ Dutch = "nl",
531
+ French = "fr",
532
+ Spanish = "es",
533
+ Italian = "it",
534
+ Portuguese = "pt",
535
+ Turkish = "tr",
536
+ Polish = "pl",
537
+ Ukrainian = "uk"
538
+ }
539
+ export declare enum RuntimeEnviroment {
540
+ Unknown = 0,
541
+ ChaynsDe = 1,
542
+ ChaynsWeb = 2,
543
+ ChaynsRuntime = 3,
544
+ IntercomPlugin = 4,
545
+ PagemakerPlugin = 5
546
+ }
547
+ export declare enum DeviceOs {
548
+ Unknown = "unknown",
549
+ Android = "android",
550
+ IOS = "ios",
551
+ Windows = "windows",
552
+ MacOs = "macos",
553
+ Linux = "linux"
554
+ }
555
+ export declare enum AppName {
556
+ Unknown = 0,
557
+ David = 1,
558
+ Chayns = 2,
559
+ Location = 3,
560
+ Intercom = 4,
561
+ ChaynsLauncher = 5
562
+ }
563
+ export declare enum BrowserName {
564
+ Unknown = "unknown",
565
+ Chrome = "chrome",
566
+ Safari = "safari",
567
+ Firefox = "firefox",
568
+ Edge = "edge"
569
+ }
570
+ export declare enum Environment {
571
+ Development = 0,
572
+ Qa = 1,
573
+ Staging = 2,
574
+ Production = 3
575
+ }
576
+ export declare enum Font {
577
+ Unknown = 0,
578
+ Roboto = 1,
579
+ OpenSans = 2,
580
+ Lato = 3,
581
+ SourceSansPro = 4,
582
+ Ubuntu = 5,
583
+ Cabin = 6,
584
+ Merriweather = 7,
585
+ NotoSerif = 8,
586
+ PTSerif = 9,
587
+ DroidSerif = 10,
588
+ Muli = 11,
589
+ Poppins = 12,
590
+ RobotoCondensed = 13,
591
+ Anton = 14,
592
+ ArchitectsDaughter = 15,
593
+ DMSerifDisplay = 16,
594
+ Pacifico = 17,
595
+ PermanentMarker = 18,
596
+ Questrial = 19,
597
+ RobotoSlab = 20,
598
+ ShadowsIntoLightTwo = 21,
599
+ WaitingForTheSunrise = 22,
600
+ RobotoMedium = 23,
601
+ TobitHeadline = 24,
602
+ RobotoBold = 25,
603
+ RobotoRegular = 26,
604
+ Inter = 27
605
+ }
606
+ export interface SelectInput {
607
+ title?: string;
608
+ message?: string;
609
+ list: Array<SelectDialogItem>;
610
+ multiselect?: boolean;
611
+ quickfind?: boolean;
612
+ type?: selectType;
613
+ preventCloseOnClick?: boolean;
614
+ buttons?: DialogButton[];
615
+ links?: DialogButton[];
616
+ selectAllButton?: string;
617
+ }
618
+ declare enum selectType {
619
+ DEFAULT = 0,
620
+ ICON = 1
621
+ }
622
+ export {};