chayns-api 2.5.0 → 2.5.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.
- package/dist/cjs/calls/dialogs/date.js +1 -1
- package/dist/cjs/calls/dialogs/iFrame.js +9 -6
- package/dist/cjs/calls/index.js +3 -1
- package/dist/cjs/components/ChaynsProvider.js +1 -2
- package/dist/cjs/components/withCompatMode.js +1 -2
- package/dist/cjs/components/withHydrationBoundary.js +1 -2
- package/dist/cjs/host/ChaynsHost.js +1 -2
- package/dist/cjs/host/iframe/HostIframe.js +1 -2
- package/dist/cjs/host/module/ModuleHost.js +1 -2
- package/dist/cjs/index.js +1 -2
- package/dist/cjs/umd.index.js +1 -2
- package/dist/cjs/util/transferNestedFunctions.js +1 -2
- package/dist/cjs/wrapper/AppWrapper.js +9 -3
- package/dist/cjs/wrapper/FrameWrapper.js +6 -3
- package/dist/cjs/wrapper/StaticChaynsApi.js +1 -3
- package/dist/esm/calls/dialogs/alert.js +1 -3
- package/dist/esm/calls/dialogs/communication.js +3 -6
- package/dist/esm/calls/dialogs/confirm.js +1 -4
- package/dist/esm/calls/dialogs/date.js +4 -8
- package/dist/esm/calls/dialogs/dropUpAlert.js +1 -2
- package/dist/esm/calls/dialogs/fileSelect.js +1 -2
- package/dist/esm/calls/dialogs/iFrame.js +11 -9
- package/dist/esm/calls/dialogs/input.js +1 -2
- package/dist/esm/calls/dialogs/mediaSelect.js +1 -2
- package/dist/esm/calls/dialogs/toast.js +1 -2
- package/dist/esm/calls/dialogs/utils/callback.js +1 -2
- package/dist/esm/calls/index.js +53 -156
- package/dist/esm/components/ChaynsProvider.js +16 -19
- package/dist/esm/components/WaitUntil.js +5 -6
- package/dist/esm/components/withHydrationBoundary.js +5 -6
- package/dist/esm/handler/DialogHandler.js +1 -2
- package/dist/esm/hooks/geoLocationListener.js +5 -6
- package/dist/esm/hooks/scrollListener.js +12 -15
- package/dist/esm/hooks/usePages.js +16 -19
- package/dist/esm/hooks/windowMetricsListener.js +3 -4
- package/dist/esm/host/ChaynsHost.js +23 -24
- package/dist/esm/host/iframe/HostIframe.js +21 -22
- package/dist/esm/host/module/ModuleHost.js +24 -26
- package/dist/esm/host/module/utils/loadComponent.js +2 -5
- package/dist/esm/util/appStorage.js +3 -6
- package/dist/esm/util/deviceHelper.js +3 -4
- package/dist/esm/util/initModuleFederationSharing.js +3 -4
- package/dist/esm/util/is.js +4 -5
- package/dist/esm/util/transferNestedFunctions.js +1 -2
- package/dist/esm/wrapper/AppWrapper.js +23 -26
- package/dist/esm/wrapper/FrameWrapper.js +14 -21
- package/dist/esm/wrapper/ModuleFederationWrapper.js +2 -5
- package/dist/esm/wrapper/StaticChaynsApi.js +2 -5
- package/dist/types/calls/dialogs/iFrame.d.ts +10 -4
- package/dist/types/calls/index.d.ts +2 -0
- package/dist/types/types/IChaynsReact.d.ts +22 -4
- package/dist/types/wrapper/StaticChaynsApi.d.ts +68 -4
- package/eslint.config.mjs +3 -0
- package/package.json +23 -21
- package/{toolkit.config.js → toolkit.config.ts} +6 -3
- package/tsconfig.json +1 -0
- package/.eslintrc +0 -17
|
@@ -7,8 +7,7 @@ export function isAppStorageAvailable() {
|
|
|
7
7
|
}
|
|
8
8
|
return ((_this$values$device$a2 = this.values.device.app) === null || _this$values$device$a2 === void 0 ? void 0 : _this$values$device$a2.appVersion) >= (['iOS', 'Mac OS'].includes(this.values.device.os) ? 1046 : 1033);
|
|
9
9
|
}
|
|
10
|
-
export function getAppStorageItem(storeName, key) {
|
|
11
|
-
let callbackPrefix = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : 'chaynsApiV5Callback';
|
|
10
|
+
export function getAppStorageItem(storeName, key, callbackPrefix = 'chaynsApiV5Callback') {
|
|
12
11
|
const callbackName = `${callbackPrefix}_${this.counter++}`;
|
|
13
12
|
return new Promise(resolve => {
|
|
14
13
|
window[callbackName] = (_key, _storeName, value) => {
|
|
@@ -31,8 +30,7 @@ export function getAppStorageItem(storeName, key) {
|
|
|
31
30
|
}
|
|
32
31
|
});
|
|
33
32
|
}
|
|
34
|
-
export function setAppStorageItem(storeName, key, value) {
|
|
35
|
-
let callbackPrefix = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'chaynsApiV5Callback';
|
|
33
|
+
export function setAppStorageItem(storeName, key, value, callbackPrefix = 'chaynsApiV5Callback') {
|
|
36
34
|
const callbackName = `${callbackPrefix}_${this.counter++}`;
|
|
37
35
|
return new Promise((resolve, reject) => {
|
|
38
36
|
window[callbackName] = () => {
|
|
@@ -70,8 +68,7 @@ export function clearAppStorage(storeName) {
|
|
|
70
68
|
window.chaynsWebViewStorage.chaynsDataErase(storeName);
|
|
71
69
|
}
|
|
72
70
|
}
|
|
73
|
-
export async function addAppStorageListener(storeName, prefix, callback) {
|
|
74
|
-
let callbackPrefix = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 'chaynsApiV5Callback';
|
|
71
|
+
export async function addAppStorageListener(storeName, prefix, callback, callbackPrefix = 'chaynsApiV5Callback') {
|
|
75
72
|
const callbackName = `${callbackPrefix}_${this.counter++}`;
|
|
76
73
|
const {
|
|
77
74
|
shouldInitialize
|
|
@@ -1,10 +1,9 @@
|
|
|
1
1
|
import { UAParser } from 'ua-parser-js';
|
|
2
2
|
import { AppFlavor, AppName, ScreenSize } from '../types/IChaynsReact';
|
|
3
|
-
const getDeviceInfo =
|
|
3
|
+
const getDeviceInfo = (userAgent, acceptHeader, {
|
|
4
|
+
imei
|
|
5
|
+
} = {}) => {
|
|
4
6
|
var _match$groups, _match$groups2, _customMatch$groups, _browser$version$spli, _browser$version, _uaParser$getOS, _uaParser$getOS2, _uaParser$getOS3;
|
|
5
|
-
let {
|
|
6
|
-
imei
|
|
7
|
-
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
8
7
|
const uaParser = new UAParser(userAgent);
|
|
9
8
|
let appName = AppName.Unknown;
|
|
10
9
|
const match = /(?:my)?chayns\/(?<version>\d+).*(?<siteId>\d{5}-\d{5})/i.exec(userAgent);
|
|
@@ -5,10 +5,9 @@ let ReactDOMClient;
|
|
|
5
5
|
try {
|
|
6
6
|
ReactDOMClient = require('react-dom/client');
|
|
7
7
|
} catch (e) {}
|
|
8
|
-
export const initModuleFederationSharing =
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
} = _ref;
|
|
8
|
+
export const initModuleFederationSharing = ({
|
|
9
|
+
name
|
|
10
|
+
}) => {
|
|
12
11
|
if (globalThis.moduleFederationRuntime) {
|
|
13
12
|
return;
|
|
14
13
|
}
|
package/dist/esm/util/is.js
CHANGED
|
@@ -4,12 +4,11 @@ export const isApp = () => {
|
|
|
4
4
|
var _getDevice$app$name, _getDevice$app;
|
|
5
5
|
return ((_getDevice$app$name = (_getDevice$app = getDevice().app) === null || _getDevice$app === void 0 ? void 0 : _getDevice$app.name) !== null && _getDevice$app$name !== void 0 ? _getDevice$app$name : AppName.Unknown) !== AppName.Unknown;
|
|
6
6
|
};
|
|
7
|
-
export const isAppCallSupported =
|
|
7
|
+
export const isAppCallSupported = ({
|
|
8
|
+
minAndroidVersion = 1,
|
|
9
|
+
minIOSVersion = 1
|
|
10
|
+
}) => {
|
|
8
11
|
var _device$app;
|
|
9
|
-
let {
|
|
10
|
-
minAndroidVersion = 1,
|
|
11
|
-
minIOSVersion = 1
|
|
12
|
-
} = _ref;
|
|
13
12
|
if (!isApp()) return false;
|
|
14
13
|
const device = getDevice();
|
|
15
14
|
if (!((_device$app = device.app) !== null && _device$app !== void 0 && _device$app.callVersion) || isNaN(device.app.callVersion)) return false;
|
|
@@ -6,8 +6,7 @@ Comlink.transferHandlers.set("FUNCTION", {
|
|
|
6
6
|
serialize(obj) {
|
|
7
7
|
obj._functionKeys = [];
|
|
8
8
|
const ports = [];
|
|
9
|
-
Object.entries(obj).forEach(
|
|
10
|
-
let [k, v] = _ref;
|
|
9
|
+
Object.entries(obj).forEach(([k, v]) => {
|
|
11
10
|
if (typeof v === 'function') {
|
|
12
11
|
const {
|
|
13
12
|
port1,
|
|
@@ -4,6 +4,7 @@ function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e =
|
|
|
4
4
|
import throttle from 'lodash.throttle';
|
|
5
5
|
import getUserInfo from '../calls/getUserInfo';
|
|
6
6
|
import { sendMessageToGroup, sendMessageToPage, sendMessageToUser } from '../calls/sendMessage';
|
|
7
|
+
import { DefaultLoginDialogOptions } from '../constants';
|
|
7
8
|
import { DeviceLanguage } from '../constants/languages';
|
|
8
9
|
import DialogHandler from '../handler/DialogHandler';
|
|
9
10
|
import { addApiListener, dispatchApiEvent, removeApiListener } from '../helper/apiListenerHelper';
|
|
@@ -12,7 +13,6 @@ import invokeAppCall from '../util/appCall';
|
|
|
12
13
|
import { addAppStorageListener, clearAppStorage, isAppStorageAvailable, setAppStorageItem } from '../util/appStorage';
|
|
13
14
|
import getDeviceInfo, { getScreenSize } from '../util/deviceHelper';
|
|
14
15
|
import { isAppCallSupported } from '../util/is';
|
|
15
|
-
import { DefaultLoginDialogOptions } from '../constants';
|
|
16
16
|
export class AppWrapper {
|
|
17
17
|
async loadStyleSettings(siteId) {
|
|
18
18
|
try {
|
|
@@ -145,7 +145,6 @@ export class AppWrapper {
|
|
|
145
145
|
};
|
|
146
146
|
}
|
|
147
147
|
constructor() {
|
|
148
|
-
var _this = this;
|
|
149
148
|
_defineProperty(this, "values", null);
|
|
150
149
|
_defineProperty(this, "accessToken", '');
|
|
151
150
|
_defineProperty(this, "listeners", []);
|
|
@@ -297,12 +296,16 @@ export class AppWrapper {
|
|
|
297
296
|
callback
|
|
298
297
|
});
|
|
299
298
|
},
|
|
299
|
+
invokePaymentCall: async (value, callback) => {
|
|
300
|
+
return this.appCall(value.action, value.value, {
|
|
301
|
+
callback
|
|
302
|
+
});
|
|
303
|
+
},
|
|
300
304
|
invokeDialogCall: async (value, callback) => {
|
|
301
305
|
const callbackName = `chaynsApiV5Callback_${this.counter++}`;
|
|
302
|
-
window[callbackName] =
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
} = _ref;
|
|
306
|
+
window[callbackName] = ({
|
|
307
|
+
retVal
|
|
308
|
+
}) => {
|
|
306
309
|
callback === null || callback === void 0 || callback(retVal);
|
|
307
310
|
delete window[callbackName];
|
|
308
311
|
};
|
|
@@ -315,20 +318,18 @@ export class AppWrapper {
|
|
|
315
318
|
};
|
|
316
319
|
invokeAppCall(callObj);
|
|
317
320
|
},
|
|
318
|
-
login: async
|
|
319
|
-
let value = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
|
|
320
|
-
let callback = arguments.length > 1 ? arguments[1] : undefined;
|
|
321
|
-
let closeCallback = arguments.length > 2 ? arguments[2] : undefined;
|
|
321
|
+
login: async (value = {}, callback, closeCallback) => {
|
|
322
322
|
const {
|
|
323
323
|
result,
|
|
324
324
|
buttonType
|
|
325
|
-
} = await
|
|
325
|
+
} = await this.functions.createDialog({
|
|
326
326
|
...DefaultLoginDialogOptions,
|
|
327
327
|
...value
|
|
328
328
|
}).open();
|
|
329
329
|
if (buttonType === DialogButtonType.OK && result.token) {
|
|
330
330
|
const response = {
|
|
331
331
|
loginState: LoginState.SUCCESS,
|
|
332
|
+
buttonType,
|
|
332
333
|
...result
|
|
333
334
|
};
|
|
334
335
|
if (callback) callback(response);
|
|
@@ -336,6 +337,7 @@ export class AppWrapper {
|
|
|
336
337
|
}
|
|
337
338
|
const response = {
|
|
338
339
|
loginState: LoginState.LoginFailed,
|
|
340
|
+
buttonType,
|
|
339
341
|
...result
|
|
340
342
|
};
|
|
341
343
|
if (closeCallback) closeCallback(response);
|
|
@@ -431,8 +433,7 @@ export class AppWrapper {
|
|
|
431
433
|
url.pathname += `/${options.path}`;
|
|
432
434
|
}
|
|
433
435
|
if (options.params) {
|
|
434
|
-
Object.entries(options.params).forEach(
|
|
435
|
-
let [k, v] = _ref2;
|
|
436
|
+
Object.entries(options.params).forEach(([k, v]) => {
|
|
436
437
|
url.searchParams.set(k, v);
|
|
437
438
|
});
|
|
438
439
|
}
|
|
@@ -612,9 +613,8 @@ export class AppWrapper {
|
|
|
612
613
|
});
|
|
613
614
|
return currentDialogId;
|
|
614
615
|
},
|
|
615
|
-
closeDialog:
|
|
616
|
-
|
|
617
|
-
const dialog = _this.dialogs.find(x => x.dialogId === dialogId);
|
|
616
|
+
closeDialog: (dialogId, result, buttonType = -1) => {
|
|
617
|
+
const dialog = this.dialogs.find(x => x.dialogId === dialogId);
|
|
618
618
|
if (dialog) {
|
|
619
619
|
dialog.resolve({
|
|
620
620
|
buttonType,
|
|
@@ -684,12 +684,10 @@ export class AppWrapper {
|
|
|
684
684
|
notImplemented(call) {
|
|
685
685
|
console.warn(`call ${call} not implement in app`);
|
|
686
686
|
}
|
|
687
|
-
appCall(action
|
|
688
|
-
|
|
689
|
-
|
|
690
|
-
|
|
691
|
-
awaitResult = true
|
|
692
|
-
} = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};
|
|
687
|
+
appCall(action, value = {}, {
|
|
688
|
+
callback,
|
|
689
|
+
awaitResult = true
|
|
690
|
+
} = {}) {
|
|
693
691
|
if (!awaitResult) {
|
|
694
692
|
invokeAppCall({
|
|
695
693
|
action,
|
|
@@ -742,10 +740,9 @@ export class AppWrapper {
|
|
|
742
740
|
this.appCall(254, {
|
|
743
741
|
enabled: true
|
|
744
742
|
}, {
|
|
745
|
-
callback:
|
|
746
|
-
|
|
747
|
-
|
|
748
|
-
} = _ref3;
|
|
743
|
+
callback: ({
|
|
744
|
+
colorMode
|
|
745
|
+
}) => {
|
|
749
746
|
this.values = {
|
|
750
747
|
...this.values,
|
|
751
748
|
site: {
|
|
@@ -9,7 +9,6 @@ import { sendMessageToGroup, sendMessageToPage, sendMessageToUser } from '../cal
|
|
|
9
9
|
import { setTappHeight } from '../util/heightHelper';
|
|
10
10
|
export class FrameWrapper {
|
|
11
11
|
constructor() {
|
|
12
|
-
var _this = this;
|
|
13
12
|
_defineProperty(this, "resolve", null);
|
|
14
13
|
_defineProperty(this, "exposedFunctions", null);
|
|
15
14
|
_defineProperty(this, "exposedCustomFunctions", {});
|
|
@@ -33,7 +32,7 @@ export class FrameWrapper {
|
|
|
33
32
|
if (!this.initialized) await this.ready;
|
|
34
33
|
try {
|
|
35
34
|
return await this.exposedFunctions.addVisibilityChangeListener(comlink.proxy(result => callback(result)));
|
|
36
|
-
} catch
|
|
35
|
+
} catch {
|
|
37
36
|
return addVisibilityChangeListener(callback);
|
|
38
37
|
}
|
|
39
38
|
},
|
|
@@ -83,6 +82,10 @@ export class FrameWrapper {
|
|
|
83
82
|
if (!this.initialized) await this.ready;
|
|
84
83
|
return this.exposedFunctions.invokeCall(value, callback && comlink.proxy(result => callback(result)));
|
|
85
84
|
},
|
|
85
|
+
invokePaymentCall: async (value, callback) => {
|
|
86
|
+
if (!this.initialized) await this.ready;
|
|
87
|
+
return this.exposedFunctions.invokePaymentCall(value, callback && comlink.proxy(result => callback(result)));
|
|
88
|
+
},
|
|
86
89
|
invokeDialogCall: async (value, callback) => {
|
|
87
90
|
if (!this.initialized) await this.ready;
|
|
88
91
|
return this.exposedFunctions.invokeDialogCall(value, callback && comlink.proxy(result => callback(result)));
|
|
@@ -299,13 +302,10 @@ export class FrameWrapper {
|
|
|
299
302
|
if (p in target) {
|
|
300
303
|
return target[p];
|
|
301
304
|
}
|
|
302
|
-
return target[p] = async
|
|
303
|
-
if (!
|
|
304
|
-
for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
|
|
305
|
-
args[_key] = arguments[_key];
|
|
306
|
-
}
|
|
305
|
+
return target[p] = async (...args) => {
|
|
306
|
+
if (!this.initialized) await this.ready;
|
|
307
307
|
const wrappedArgs = args.map(v => typeof v === 'function' ? comlink.proxy(v) : v);
|
|
308
|
-
return
|
|
308
|
+
return this.exposedCustomFunctions[p](...wrappedArgs);
|
|
309
309
|
};
|
|
310
310
|
}
|
|
311
311
|
}));
|
|
@@ -325,15 +325,13 @@ export class FrameWrapper {
|
|
|
325
325
|
}
|
|
326
326
|
}
|
|
327
327
|
async init() {
|
|
328
|
-
var _await$exposed$_custo
|
|
329
|
-
_this2 = this;
|
|
328
|
+
var _await$exposed$_custo;
|
|
330
329
|
if (this.initialized) return;
|
|
331
330
|
const exposed = comlink.wrap(comlink.windowEndpoint(window.parent))[window.name];
|
|
332
|
-
const dataListener = () => exposed.addDataListener(comlink.proxy(
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
} = _ref;
|
|
331
|
+
const dataListener = () => exposed.addDataListener(comlink.proxy(({
|
|
332
|
+
type,
|
|
333
|
+
value
|
|
334
|
+
}) => {
|
|
337
335
|
if (this.initialized) {
|
|
338
336
|
this.values = {
|
|
339
337
|
...this.values,
|
|
@@ -361,12 +359,7 @@ export class FrameWrapper {
|
|
|
361
359
|
this.exposedCustomFunctions = exposed.customFunctions;
|
|
362
360
|
this.exposedCustomFunctionNames = (_await$exposed$_custo = await exposed._customFunctionNames) !== null && _await$exposed$_custo !== void 0 ? _await$exposed$_custo : [];
|
|
363
361
|
this.customFunctions = this.exposedCustomFunctionNames.reduce((p, e) => {
|
|
364
|
-
p[e] = function ()
|
|
365
|
-
for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {
|
|
366
|
-
args[_key2] = arguments[_key2];
|
|
367
|
-
}
|
|
368
|
-
return _this2.exposedCustomFunctions[e](...args.map(a => typeof a === 'function' ? comlink.proxy(a) : a));
|
|
369
|
-
};
|
|
362
|
+
p[e] = (...args) => this.exposedCustomFunctions[e](...args.map(a => typeof a === 'function' ? comlink.proxy(a) : a));
|
|
370
363
|
return p;
|
|
371
364
|
}, {});
|
|
372
365
|
this.initialized = true;
|
|
@@ -26,11 +26,8 @@ export class ModuleFederationWrapper {
|
|
|
26
26
|
this.functions.sendMessageToGroup = async (groupId, object) => sendMessageToGroup(this, object, groupId);
|
|
27
27
|
this.functions.sendMessageToPage = async object => sendMessageToPage(this, object);
|
|
28
28
|
this.functions.sendMessageToUser = async (userId, object) => sendMessageToUser(this, object, userId);
|
|
29
|
-
Object.entries(functions).forEach(
|
|
30
|
-
|
|
31
|
-
this.functions[k] = async function () {
|
|
32
|
-
return fn(...arguments);
|
|
33
|
-
};
|
|
29
|
+
Object.entries(functions).forEach(([k, fn]) => {
|
|
30
|
+
this.functions[k] = async (...args) => fn(...args);
|
|
34
31
|
});
|
|
35
32
|
if (customFunctions) {
|
|
36
33
|
this.customFunctions = customFunctions;
|
|
@@ -6,7 +6,7 @@ import { AppFlavor } from '../types/IChaynsReact';
|
|
|
6
6
|
import getDeviceInfo from '../util/deviceHelper';
|
|
7
7
|
import { AppWrapper } from './AppWrapper';
|
|
8
8
|
import { FrameWrapper } from './FrameWrapper';
|
|
9
|
-
import { ModuleFederationWrapper } from
|
|
9
|
+
import { ModuleFederationWrapper } from './ModuleFederationWrapper';
|
|
10
10
|
class StaticChaynsApi {
|
|
11
11
|
constructor(values, functions) {
|
|
12
12
|
var _deviceInfo$app;
|
|
@@ -34,10 +34,7 @@ class StaticChaynsApi {
|
|
|
34
34
|
this._wrapper = wrapper;
|
|
35
35
|
this.ready = wrapper.init();
|
|
36
36
|
this.addDataListener = wrapper.addDataListener;
|
|
37
|
-
Object.
|
|
38
|
-
let [k, v] = _ref;
|
|
39
|
-
this[k] = v;
|
|
40
|
-
});
|
|
37
|
+
Object.assign(this, wrapper.functions);
|
|
41
38
|
}
|
|
42
39
|
}
|
|
43
40
|
export default StaticChaynsApi;
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { DialogButtonOld } from "../../types/dialog";
|
|
2
|
-
type
|
|
2
|
+
type IFrameDialog = {
|
|
3
3
|
buttons?: DialogButtonOld[];
|
|
4
|
-
callType?: number;
|
|
5
|
-
tappIframeName?: string;
|
|
6
4
|
url: string;
|
|
5
|
+
input?: object;
|
|
6
|
+
seamless?: boolean;
|
|
7
|
+
transparent?: boolean;
|
|
8
|
+
waitCursor?: boolean;
|
|
9
|
+
maxHeight?: string;
|
|
10
|
+
width?: number;
|
|
11
|
+
fullHeight?: boolean;
|
|
12
|
+
customTransitionTimeout?: number;
|
|
7
13
|
};
|
|
8
|
-
export declare function iFrame(dialog?:
|
|
14
|
+
export declare function iFrame(dialog?: IFrameDialog): Promise<unknown>;
|
|
9
15
|
export declare function _chaynsCallResponder(obj: any): void;
|
|
10
16
|
export {};
|
|
@@ -65,6 +65,8 @@ export declare const getWindowMetrics: (...args: Parameters<ChaynsReactFunctions
|
|
|
65
65
|
/** @internal */
|
|
66
66
|
export declare const invokeCall: (...args: Parameters<ChaynsReactFunctions["invokeCall"]>) => Promise<any>;
|
|
67
67
|
/** @internal */
|
|
68
|
+
export declare const invokePaymentCall: (...args: Parameters<ChaynsReactFunctions["invokePaymentCall"]>) => Promise<unknown>;
|
|
69
|
+
/** @internal */
|
|
68
70
|
export declare const invokeDialogCall: (...args: Parameters<ChaynsReactFunctions["invokeDialogCall"]>) => Promise<any>;
|
|
69
71
|
/**
|
|
70
72
|
* This method will show a login dialog where the user has the opportunity to log in.
|
|
@@ -372,6 +372,7 @@ export interface ChaynsReactFunctions {
|
|
|
372
372
|
getScrollPosition: () => Promise<ScrollListenerResult>;
|
|
373
373
|
getWindowMetrics: () => Promise<WindowMetricsListenerResult>;
|
|
374
374
|
invokeCall: (value: InvokeCall, callback?: (result: any) => void) => Promise<any>;
|
|
375
|
+
invokePaymentCall: <T>(value: InvokeCall, callback?: (result: T) => void) => Promise<T>;
|
|
375
376
|
invokeDialogCall: (value: InvokeCall, callback?: (result: any) => void) => Promise<any>;
|
|
376
377
|
login: (value?: Login, callback?: (result: boolean) => void, closeCallback?: () => void) => Promise<LoginResult>;
|
|
377
378
|
logout: () => Promise<void>;
|
|
@@ -698,11 +699,28 @@ export declare enum LoginState {
|
|
|
698
699
|
SUCCESS = 4
|
|
699
700
|
}
|
|
700
701
|
export interface LoginResult {
|
|
702
|
+
/** @deprecated Check buttonType instead **/
|
|
701
703
|
loginState: LoginState;
|
|
702
|
-
|
|
703
|
-
|
|
704
|
-
|
|
705
|
-
|
|
704
|
+
buttonType: DialogButtonType;
|
|
705
|
+
token?: string;
|
|
706
|
+
confirmationToken?: string;
|
|
707
|
+
authCode?: string;
|
|
708
|
+
redirectUri?: string;
|
|
709
|
+
}
|
|
710
|
+
export type Login = BaseDialog & DialogModule<{
|
|
711
|
+
preventLogin?: boolean;
|
|
712
|
+
restore?: number;
|
|
713
|
+
tokenType?: number;
|
|
714
|
+
/**
|
|
715
|
+
* SiteId for which site the token should be generated.
|
|
716
|
+
* @warning Only works when tokenLocationId is defined too
|
|
717
|
+
**/
|
|
718
|
+
tokenSiteId?: string;
|
|
719
|
+
/**
|
|
720
|
+
* @warning Only works when tokenSiteId is defined too
|
|
721
|
+
*/
|
|
722
|
+
tokenLocationId?: number;
|
|
723
|
+
}>;
|
|
706
724
|
export interface InvokeCall {
|
|
707
725
|
action: number;
|
|
708
726
|
value?: object;
|
|
@@ -1,9 +1,73 @@
|
|
|
1
|
-
import { DataChangeCallback } from '../types/IChaynsReact';
|
|
2
|
-
declare class StaticChaynsApi {
|
|
1
|
+
import { ChaynsReactFunctions, ChaynsReactValues, DataChangeCallback } from '../types/IChaynsReact';
|
|
2
|
+
declare class StaticChaynsApi implements ChaynsReactFunctions {
|
|
3
|
+
addGeoLocationListener: ChaynsReactFunctions['addGeoLocationListener'];
|
|
4
|
+
addScrollListener: ChaynsReactFunctions['addScrollListener'];
|
|
5
|
+
addVisibilityChangeListener: ChaynsReactFunctions['addVisibilityChangeListener'];
|
|
6
|
+
addToolbarChangeListener: ChaynsReactFunctions['addToolbarChangeListener'];
|
|
7
|
+
addWindowMetricsListener: ChaynsReactFunctions['addWindowMetricsListener'];
|
|
8
|
+
customCallbackFunction: ChaynsReactFunctions['customCallbackFunction'];
|
|
9
|
+
getAvailableSharingServices: ChaynsReactFunctions['getAvailableSharingServices'];
|
|
10
|
+
getAccessToken: ChaynsReactFunctions['getAccessToken'];
|
|
11
|
+
getCustomCookie: ChaynsReactFunctions['getCustomCookie'];
|
|
12
|
+
getGeoLocation: ChaynsReactFunctions['getGeoLocation'];
|
|
13
|
+
getUserInfo: ChaynsReactFunctions['getUserInfo'];
|
|
14
|
+
getScrollPosition: ChaynsReactFunctions['getScrollPosition'];
|
|
15
|
+
getWindowMetrics: ChaynsReactFunctions['getWindowMetrics'];
|
|
16
|
+
invokeCall: ChaynsReactFunctions['invokeCall'];
|
|
17
|
+
invokePaymentCall: ChaynsReactFunctions['invokePaymentCall'];
|
|
18
|
+
invokeDialogCall: ChaynsReactFunctions['invokeDialogCall'];
|
|
19
|
+
login: ChaynsReactFunctions['login'];
|
|
20
|
+
logout: ChaynsReactFunctions['logout'];
|
|
21
|
+
navigateBack: ChaynsReactFunctions['navigateBack'];
|
|
22
|
+
openImage: ChaynsReactFunctions['openImage'];
|
|
23
|
+
openUrl: ChaynsReactFunctions['openUrl'];
|
|
24
|
+
openVideo: ChaynsReactFunctions['openVideo'];
|
|
25
|
+
openMedia: ChaynsReactFunctions['openMedia'];
|
|
26
|
+
refreshData: ChaynsReactFunctions['refreshData'];
|
|
27
|
+
refreshAccessToken: ChaynsReactFunctions['refreshAccessToken'];
|
|
28
|
+
removeGeoLocationListener: ChaynsReactFunctions['removeGeoLocationListener'];
|
|
29
|
+
removeScrollListener: ChaynsReactFunctions['removeScrollListener'];
|
|
30
|
+
removeVisibilityChangeListener: ChaynsReactFunctions['removeVisibilityChangeListener'];
|
|
31
|
+
removeToolbarChangeListener: ChaynsReactFunctions['removeToolbarChangeListener'];
|
|
32
|
+
removeWindowMetricsListener: ChaynsReactFunctions['removeWindowMetricsListener'];
|
|
33
|
+
selectPage: ChaynsReactFunctions['selectPage'];
|
|
34
|
+
scrollToY: ChaynsReactFunctions['scrollToY'];
|
|
35
|
+
sendMessageToGroup: ChaynsReactFunctions['sendMessageToGroup'];
|
|
36
|
+
sendMessageToPage: ChaynsReactFunctions['sendMessageToPage'];
|
|
37
|
+
sendMessageToUser: ChaynsReactFunctions['sendMessageToUser'];
|
|
38
|
+
setAdminMode: ChaynsReactFunctions['setAdminMode'];
|
|
39
|
+
setCustomCookie: ChaynsReactFunctions['setCustomCookie'];
|
|
40
|
+
setDisplayTimeout: ChaynsReactFunctions['setDisplayTimeout'];
|
|
41
|
+
setFloatingButton: ChaynsReactFunctions['setFloatingButton'];
|
|
42
|
+
setHeight: ChaynsReactFunctions['setHeight'];
|
|
43
|
+
setRefreshScrollEnabled: ChaynsReactFunctions['setRefreshScrollEnabled'];
|
|
44
|
+
setScanQrCode: ChaynsReactFunctions['setScanQrCode'];
|
|
45
|
+
setTempDesignSettings: ChaynsReactFunctions['setTempDesignSettings'];
|
|
46
|
+
setWaitCursor: ChaynsReactFunctions['setWaitCursor'];
|
|
47
|
+
storageGetItem: ChaynsReactFunctions['storageGetItem'];
|
|
48
|
+
storageRemoveItem: ChaynsReactFunctions['storageRemoveItem'];
|
|
49
|
+
storageSetItem: ChaynsReactFunctions['storageSetItem'];
|
|
50
|
+
vibrate: ChaynsReactFunctions['vibrate'];
|
|
51
|
+
scrollByY: ChaynsReactFunctions['scrollByY'];
|
|
52
|
+
setOverlay: ChaynsReactFunctions['setOverlay'];
|
|
53
|
+
createDialog: ChaynsReactFunctions['createDialog'];
|
|
54
|
+
openDialog: ChaynsReactFunctions['openDialog'];
|
|
55
|
+
closeDialog: ChaynsReactFunctions['closeDialog'];
|
|
56
|
+
setDialogResult: ChaynsReactFunctions['setDialogResult'];
|
|
57
|
+
dispatchEventToDialogClient: ChaynsReactFunctions['dispatchEventToDialogClient'];
|
|
58
|
+
addDialogClientEventListener: ChaynsReactFunctions['addDialogClientEventListener'];
|
|
59
|
+
removeDialogClientEventListener: ChaynsReactFunctions['removeDialogClientEventListener'];
|
|
60
|
+
dispatchEventToDialogHost: ChaynsReactFunctions['dispatchEventToDialogHost'];
|
|
61
|
+
addDialogHostEventListener: ChaynsReactFunctions['addDialogHostEventListener'];
|
|
62
|
+
removeDialogHostEventListener: ChaynsReactFunctions['removeDialogHostEventListener'];
|
|
63
|
+
addAnonymousAccount: ChaynsReactFunctions['addAnonymousAccount'];
|
|
64
|
+
addAccessTokenChangeListener: ChaynsReactFunctions['addAccessTokenChangeListener'];
|
|
65
|
+
removeAccessTokenChangeListener: ChaynsReactFunctions['removeAccessTokenChangeListener'];
|
|
66
|
+
redirect: ChaynsReactFunctions['redirect'];
|
|
3
67
|
ready: Promise<void>;
|
|
4
68
|
addDataListener: (cb: DataChangeCallback) => () => void;
|
|
5
69
|
private _wrapper;
|
|
6
|
-
constructor(values
|
|
70
|
+
constructor(values?: ChaynsReactValues, functions?: ChaynsReactFunctions);
|
|
7
71
|
getUser: () => import("../types/IChaynsReact").ChaynsApiUser | undefined;
|
|
8
72
|
getSite: () => import("../types/IChaynsReact").ChaynsApiSite;
|
|
9
73
|
getCurrentPage: () => {
|
|
@@ -30,6 +94,6 @@ declare class StaticChaynsApi {
|
|
|
30
94
|
};
|
|
31
95
|
getStyleSettings: () => import("../types/IChaynsReact").ChaynsStyleSettings | undefined;
|
|
32
96
|
getCustomFunction: (key: string) => (...args: any[]) => Promise<any>;
|
|
33
|
-
getDialogInput: () =>
|
|
97
|
+
getDialogInput: <T>() => T;
|
|
34
98
|
}
|
|
35
99
|
export default StaticChaynsApi;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "chayns-api",
|
|
3
|
-
"version": "2.5.
|
|
3
|
+
"version": "2.5.2",
|
|
4
4
|
"description": "new chayns api",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -13,6 +13,9 @@
|
|
|
13
13
|
"default": "./dist/esm/index.js"
|
|
14
14
|
}
|
|
15
15
|
},
|
|
16
|
+
"sideEffects": [
|
|
17
|
+
"**/utils/transferNestedFunctions.*"
|
|
18
|
+
],
|
|
16
19
|
"keywords": [
|
|
17
20
|
"chayns",
|
|
18
21
|
"chayns-toolkit",
|
|
@@ -48,33 +51,32 @@
|
|
|
48
51
|
"comlink": "4.3.1",
|
|
49
52
|
"htmlescape": "^1.1.1",
|
|
50
53
|
"lodash.throttle": "^4.1.1",
|
|
51
|
-
"ua-parser-js": "^1.0.
|
|
52
|
-
"use-sync-external-store": "^1.
|
|
54
|
+
"ua-parser-js": "^1.0.41",
|
|
55
|
+
"use-sync-external-store": "^1.6.0"
|
|
53
56
|
},
|
|
54
57
|
"devDependencies": {
|
|
55
|
-
"@babel/cli": "^7.
|
|
56
|
-
"@babel/core": "^7.
|
|
57
|
-
"@babel/preset-env": "^7.
|
|
58
|
-
"@babel/preset-react": "^7.
|
|
59
|
-
"@babel/preset-typescript": "^7.
|
|
60
|
-
"@chayns-toolkit/eslint-config": "^
|
|
61
|
-
"@rsbuild/plugin-umd": "^1.0.
|
|
58
|
+
"@babel/cli": "^7.28.3",
|
|
59
|
+
"@babel/core": "^7.28.5",
|
|
60
|
+
"@babel/preset-env": "^7.28.5",
|
|
61
|
+
"@babel/preset-react": "^7.28.5",
|
|
62
|
+
"@babel/preset-typescript": "^7.28.5",
|
|
63
|
+
"@chayns-toolkit/eslint-config": "^3.0.2",
|
|
64
|
+
"@rsbuild/plugin-umd": "^1.0.5",
|
|
62
65
|
"@types/htmlescape": "^1.1.3",
|
|
63
66
|
"@types/lodash.throttle": "^4.1.9",
|
|
64
|
-
"@types/prop-types": "^15.7.
|
|
65
|
-
"@types/react": "^18.3.
|
|
66
|
-
"@types/react-dom": "^18.3.
|
|
67
|
+
"@types/prop-types": "^15.7.15",
|
|
68
|
+
"@types/react": "^18.3.27",
|
|
69
|
+
"@types/react-dom": "^18.3.7",
|
|
67
70
|
"@types/ua-parser-js": "^0.7.39",
|
|
68
|
-
"@types/use-sync-external-store": "^
|
|
69
|
-
"
|
|
70
|
-
"
|
|
71
|
-
"
|
|
72
|
-
"
|
|
73
|
-
"prettier": "^
|
|
74
|
-
"prettier-plugin-packagejson": "^2.5.10",
|
|
71
|
+
"@types/use-sync-external-store": "^1.5.0",
|
|
72
|
+
"chayns-toolkit": "^3.3.6",
|
|
73
|
+
"concurrently": "^9.2.1",
|
|
74
|
+
"cross-env": "^10.1.0",
|
|
75
|
+
"prettier": "^3.7.4",
|
|
76
|
+
"prettier-plugin-packagejson": "^2.5.20",
|
|
75
77
|
"react": "^18.3.1",
|
|
76
78
|
"react-dom": "^18.3.1",
|
|
77
|
-
"typescript": "^5.
|
|
79
|
+
"typescript": "^5.9.3"
|
|
78
80
|
},
|
|
79
81
|
"peerDependencies": {
|
|
80
82
|
"react": "^16.8 || ^17.0.1 || ^18.0.0 || ^19.0.0",
|
|
@@ -1,7 +1,8 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
/* eslint-disable no-param-reassign,import/no-extraneous-dependencies */
|
|
2
|
+
import { buildToolkitConfig } from 'chayns-toolkit';
|
|
3
|
+
import { pluginUmd } from '@rsbuild/plugin-umd';
|
|
3
4
|
|
|
4
|
-
|
|
5
|
+
export default buildToolkitConfig({
|
|
5
6
|
development: {
|
|
6
7
|
host: '0.0.0.0',
|
|
7
8
|
port: 8081,
|
|
@@ -18,9 +19,11 @@ module.exports = buildToolkitConfig({
|
|
|
18
19
|
path: 'dist',
|
|
19
20
|
},
|
|
20
21
|
webpack(config) {
|
|
22
|
+
config.plugins ??= [];
|
|
21
23
|
config.plugins.push(pluginUmd({
|
|
22
24
|
name: 'ChaynsApi',
|
|
23
25
|
}));
|
|
26
|
+
config.output ??= {};
|
|
24
27
|
config.output.sourceMap = false;
|
|
25
28
|
return config;
|
|
26
29
|
},
|
package/tsconfig.json
CHANGED
|
@@ -52,5 +52,6 @@
|
|
|
52
52
|
// "experimentalDecorators": true, /* Enables experimental support for ES7 decorators. */
|
|
53
53
|
// "emitDecoratorMetadata": true, /* Enables experimental support for emitting type metadata for decorators. */
|
|
54
54
|
},
|
|
55
|
+
"include": ["src"],
|
|
55
56
|
"exclude": ["node_modules", "**/*.spec.ts", "**/*.spec.tsx", "dist"]
|
|
56
57
|
}
|
package/.eslintrc
DELETED
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"extends": "@chayns-toolkit",
|
|
3
|
-
"rules": {
|
|
4
|
-
"no-void": "off",
|
|
5
|
-
"react/function-component-definition": [
|
|
6
|
-
"error",
|
|
7
|
-
{
|
|
8
|
-
"namedComponents": "arrow-function",
|
|
9
|
-
"unnamedComponents": "arrow-function"
|
|
10
|
-
}
|
|
11
|
-
],
|
|
12
|
-
"@typescript-eslint/require-await": "off",
|
|
13
|
-
"@typescript-eslint/no-explicit-any": "off",
|
|
14
|
-
"class-methods-use-this": "off",
|
|
15
|
-
"react/jsx-props-no-spreading": "off"
|
|
16
|
-
}
|
|
17
|
-
}
|