chayns-api 1.0.13 → 1.1.0-2

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