chayns-api 1.2.0-1 → 1.2.0-11
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/components/withCompatMode.js +10 -6
- package/dist/cjs/host/module/ModuleHost.js +1 -1
- package/dist/cjs/host/module/utils/loadComponent.js +26 -30
- package/dist/cjs/host/module/utils/useDynamicScript.js +4 -6
- package/dist/cjs/index.js +14 -6
- package/dist/cjs/types/IChaynsReact.js +12 -1
- package/dist/cjs/util/deviceHelper.js +7 -3
- package/dist/cjs/util/initModuleFederationSharing.js +44 -0
- package/dist/cjs/wrapper/AppWrapper.js +8 -4
- package/dist/cjs/wrapper/StaticChaynsApi.js +12 -1
- package/dist/esm/components/withCompatMode.js +10 -6
- package/dist/esm/host/module/ModuleHost.js +1 -1
- package/dist/esm/host/module/utils/loadComponent.js +24 -26
- package/dist/esm/index.js +1 -4
- package/dist/esm/types/IChaynsReact.js +11 -0
- package/dist/esm/util/deviceHelper.js +8 -3
- package/dist/esm/util/initModuleFederationSharing.js +36 -0
- package/dist/esm/wrapper/AppWrapper.js +8 -4
- package/dist/esm/wrapper/StaticChaynsApi.js +11 -1
- package/dist/types/components/withCompatMode.d.ts +1 -0
- package/dist/types/host/module/ModuleHost.d.ts +1 -0
- package/dist/types/host/module/utils/loadComponent.d.ts +2 -2
- package/dist/types/index.d.ts +1 -5
- package/dist/types/types/IChaynsReact.d.ts +31 -1
- package/dist/types/util/deviceHelper.d.ts +3 -1
- package/dist/types/util/initModuleFederationSharing.d.ts +1 -0
- package/package.json +5 -4
|
@@ -45,11 +45,14 @@ const withCompatMode = Component => {
|
|
|
45
45
|
const component = /*#__PURE__*/_react.default.createElement(_ErrorBoundary.default, null, /*#__PURE__*/_react.default.createElement(Component, _extends({}, this.props, {
|
|
46
46
|
ref: innerRef
|
|
47
47
|
})));
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
48
|
+
clearTimeout(this.timeout);
|
|
49
|
+
this.timeout = setTimeout(() => {
|
|
50
|
+
if (this.root) {
|
|
51
|
+
this.root.render(component);
|
|
52
|
+
} else {
|
|
53
|
+
_reactDom.default.render(component, this.ref.current);
|
|
54
|
+
}
|
|
55
|
+
}, 0);
|
|
53
56
|
}
|
|
54
57
|
componentWillUnmount() {
|
|
55
58
|
if (this.root) {
|
|
@@ -75,7 +78,8 @@ const withCompatMode = Component => {
|
|
|
75
78
|
requiredVersion: __REQUIRED_REACT_VERSION__,
|
|
76
79
|
environment: process.env.NODE_ENV,
|
|
77
80
|
buildEnv: process.env.BUILD_ENV || process.env.NODE_ENV,
|
|
78
|
-
appVersion: process.env.VERSION
|
|
81
|
+
appVersion: process.env.VERSION,
|
|
82
|
+
version: 2
|
|
79
83
|
};
|
|
80
84
|
};
|
|
81
85
|
exports.withCompatMode = withCompatMode;
|
|
@@ -15,7 +15,7 @@ const System = ({
|
|
|
15
15
|
fallback,
|
|
16
16
|
...props
|
|
17
17
|
}) => {
|
|
18
|
-
const Component = (0, _react.useMemo)(() => (0, _loadComponent.default)(system.scope, system.module, globalThis.window ? system.url : system.serverUrl, undefined, system.preventSingleton), [system.scope, system.module, system.url, system.serverUrl, system.preventSingleton]);
|
|
18
|
+
const Component = (0, _react.useMemo)(() => (0, _loadComponent.default)(system.scope, system.module, globalThis.window ? system.url : system.serverUrl, undefined, system.preventSingleton, system.shareScope), [system.scope, system.module, system.url, system.serverUrl, system.preventSingleton]);
|
|
19
19
|
return /*#__PURE__*/_react.default.createElement(_react.default.Suspense, {
|
|
20
20
|
fallback: fallback || ''
|
|
21
21
|
}, /*#__PURE__*/_react.default.createElement(Component, props));
|
|
@@ -4,38 +4,25 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.loadModule = exports.default = void 0;
|
|
7
|
-
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
8
7
|
var _semver = _interopRequireDefault(require("semver"));
|
|
9
8
|
var _react = _interopRequireDefault(require("react"));
|
|
10
|
-
var _runtime = require("@module-federation/runtime");
|
|
11
|
-
var _process$env$__PACKAG;
|
|
12
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
13
|
-
const
|
|
14
|
-
const
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
scope: 'default',
|
|
24
|
-
lib: () => _react.default
|
|
25
|
-
},
|
|
26
|
-
'react-dom': {
|
|
27
|
-
version: _reactDom.default.version,
|
|
28
|
-
scope: 'default',
|
|
29
|
-
lib: () => _reactDom.default
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
});
|
|
33
|
-
const loadModule = (scope, module, url, preventSingleton = false) => {
|
|
10
|
+
const loadModule = (scope, module, url, preventSingleton = false, shareScope = 'chayns-api2') => {
|
|
11
|
+
const {
|
|
12
|
+
loadRemote,
|
|
13
|
+
registerRemotes
|
|
14
|
+
} = globalThis.moduleFederationRuntime;
|
|
15
|
+
const {
|
|
16
|
+
registeredScopes,
|
|
17
|
+
moduleMap,
|
|
18
|
+
componentMap
|
|
19
|
+
} = globalThis.moduleFederationScopes;
|
|
34
20
|
if (registeredScopes[scope] !== url || preventSingleton) {
|
|
35
21
|
if (scope in registeredScopes) {
|
|
36
22
|
console.error(`[chayns-api] call registerRemote with force for scope ${scope}. url: ${url}`);
|
|
37
23
|
}
|
|
38
|
-
|
|
24
|
+
registerRemotes([{
|
|
25
|
+
shareScope,
|
|
39
26
|
name: scope,
|
|
40
27
|
entry: url,
|
|
41
28
|
alias: scope
|
|
@@ -48,7 +35,7 @@ const loadModule = (scope, module, url, preventSingleton = false) => {
|
|
|
48
35
|
}
|
|
49
36
|
if (!(module in moduleMap[scope])) {
|
|
50
37
|
const path = `${scope}/${module.replace(/^\.\//, '')}`;
|
|
51
|
-
const promise =
|
|
38
|
+
const promise = loadRemote(path);
|
|
52
39
|
promise.catch(e => {
|
|
53
40
|
console.error("[chayns-api] Failed to load module", scope, url, e);
|
|
54
41
|
// causes registerRemote with force = true on next attempt to load the component which tries to load the component again
|
|
@@ -59,15 +46,21 @@ const loadModule = (scope, module, url, preventSingleton = false) => {
|
|
|
59
46
|
return moduleMap[scope][module];
|
|
60
47
|
};
|
|
61
48
|
exports.loadModule = loadModule;
|
|
62
|
-
const loadComponent = (scope, module, url, skipCompatMode = false, preventSingleton = false) => {
|
|
49
|
+
const loadComponent = (scope, module, url, skipCompatMode = false, preventSingleton = false, shareScope) => {
|
|
63
50
|
if (skipCompatMode) {
|
|
64
51
|
console.warn('[chayns-api] skipCompatMode-option is deprecated and is set automatically now');
|
|
65
52
|
}
|
|
53
|
+
const {
|
|
54
|
+
loadShareSync
|
|
55
|
+
} = globalThis.moduleFederationRuntime;
|
|
56
|
+
const {
|
|
57
|
+
componentMap
|
|
58
|
+
} = globalThis.moduleFederationScopes;
|
|
66
59
|
if (!componentMap[scope]) {
|
|
67
60
|
componentMap[scope] = {};
|
|
68
61
|
}
|
|
69
62
|
if (!(module in componentMap[scope])) {
|
|
70
|
-
const promise = loadModule(scope, module, url, preventSingleton).then(async Module => {
|
|
63
|
+
const promise = loadModule(scope, module, url, preventSingleton, shareScope).then(async Module => {
|
|
71
64
|
if (typeof Module.default === 'function') {
|
|
72
65
|
return Module;
|
|
73
66
|
}
|
|
@@ -77,9 +70,10 @@ const loadComponent = (scope, module, url, skipCompatMode = false, preventSingle
|
|
|
77
70
|
environment
|
|
78
71
|
} = Module.default;
|
|
79
72
|
const shareScopes = await new Promise(resolve => {
|
|
80
|
-
|
|
73
|
+
loadShareSync('react', {
|
|
81
74
|
resolver: shareOptions => {
|
|
82
75
|
resolve(shareOptions);
|
|
76
|
+
console.log("shareOptions", shareOptions);
|
|
83
77
|
return shareOptions[0];
|
|
84
78
|
}
|
|
85
79
|
});
|
|
@@ -90,11 +84,13 @@ const loadComponent = (scope, module, url, skipCompatMode = false, preventSingle
|
|
|
90
84
|
}) => {
|
|
91
85
|
return _semver.default.gt(version, hostVersion) && _semver.default.satisfies(version, requiredVersion) || scope === from.split('-').join('_');
|
|
92
86
|
});
|
|
93
|
-
if (!matchReactVersion || environment !== 'production' || process.env.NODE_ENV === 'development') {
|
|
87
|
+
if (!matchReactVersion || environment !== 'production' || process.env.NODE_ENV === 'development' || Module.default.version !== 2) {
|
|
88
|
+
console.log("use compat mode for", scope, module);
|
|
94
89
|
return {
|
|
95
90
|
default: Module.default.CompatComponent
|
|
96
91
|
};
|
|
97
92
|
}
|
|
93
|
+
console.log("use direct component for", scope, module);
|
|
98
94
|
return {
|
|
99
95
|
default: Module.default.Component
|
|
100
96
|
};
|
|
@@ -7,10 +7,9 @@ exports.semaphore = exports.default = void 0;
|
|
|
7
7
|
var _react = _interopRequireWildcard(require("react"));
|
|
8
8
|
var _semaphoreAsyncAwait = _interopRequireDefault(require("semaphore-async-await"));
|
|
9
9
|
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
-
function _getRequireWildcardCache(
|
|
11
|
-
function _interopRequireWildcard(
|
|
12
|
-
const semaphore = {};
|
|
13
|
-
exports.semaphore = semaphore;
|
|
10
|
+
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
11
|
+
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
12
|
+
const semaphore = exports.semaphore = {};
|
|
14
13
|
const useDynamicScript = args => {
|
|
15
14
|
const [ready, setReady] = _react.default.useState(false);
|
|
16
15
|
const [failed, setFailed] = _react.default.useState(false);
|
|
@@ -57,5 +56,4 @@ const useDynamicScript = args => {
|
|
|
57
56
|
failed
|
|
58
57
|
};
|
|
59
58
|
};
|
|
60
|
-
var _default = useDynamicScript;
|
|
61
|
-
exports.default = _default;
|
|
59
|
+
var _default = exports.default = useDynamicScript;
|
package/dist/cjs/index.js
CHANGED
|
@@ -41,7 +41,7 @@ Object.defineProperty(exports, "StaticChaynsApi", {
|
|
|
41
41
|
return _StaticChaynsApi.default;
|
|
42
42
|
}
|
|
43
43
|
});
|
|
44
|
-
exports.dialog =
|
|
44
|
+
exports.dialog = void 0;
|
|
45
45
|
Object.defineProperty(exports, "getClientDeviceInfo", {
|
|
46
46
|
enumerable: true,
|
|
47
47
|
get: function () {
|
|
@@ -178,10 +178,18 @@ var _loadComponent = _interopRequireWildcard(require("./host/module/utils/loadCo
|
|
|
178
178
|
var _DialogHandler = _interopRequireDefault(require("./handler/DialogHandler"));
|
|
179
179
|
var _dialog = _interopRequireWildcard(require("./calls/dialogs/index"));
|
|
180
180
|
exports.dialog = _dialog;
|
|
181
|
+
var _initModuleFederationSharing = require("./util/initModuleFederationSharing");
|
|
182
|
+
Object.keys(_initModuleFederationSharing).forEach(function (key) {
|
|
183
|
+
if (key === "default" || key === "__esModule") return;
|
|
184
|
+
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
185
|
+
if (key in exports && exports[key] === _initModuleFederationSharing[key]) return;
|
|
186
|
+
Object.defineProperty(exports, key, {
|
|
187
|
+
enumerable: true,
|
|
188
|
+
get: function () {
|
|
189
|
+
return _initModuleFederationSharing[key];
|
|
190
|
+
}
|
|
191
|
+
});
|
|
192
|
+
});
|
|
181
193
|
function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); }
|
|
182
194
|
function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; }
|
|
183
|
-
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
184
|
-
var _default = exports.default = {
|
|
185
|
-
buildEnv: process.env.BUILD_ENV,
|
|
186
|
-
appVersion: process.env.VERSION
|
|
187
|
-
};
|
|
195
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
@@ -3,13 +3,23 @@
|
|
|
3
3
|
Object.defineProperty(exports, "__esModule", {
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
|
-
exports.ToastType = exports.TappEvent = exports.SharingApp = exports.ScreenSize = exports.ScanQrCodeCodeType = exports.ScanQrCodeCameraTypes = exports.RuntimeEnviroment = exports.MediaType = exports.Language = exports.IconType = exports.Gender = exports.Font = exports.FloatingButtonPosition = exports.Environment = exports.DialogType = exports.DialogSelectType = exports.DialogInputType = exports.DialogIconType = exports.DialogButtonType = exports.DialogAnimation = exports.DeviceOs = exports.DateType = exports.ColorMode = exports.BrowserName = exports.AppName = exports.AccessMode = void 0;
|
|
6
|
+
exports.WeekDayType = exports.ToastType = exports.TappEvent = exports.SharingApp = exports.ScreenSize = exports.ScanQrCodeCodeType = exports.ScanQrCodeCameraTypes = exports.RuntimeEnviroment = exports.MediaType = exports.Language = exports.IconType = exports.Gender = exports.Font = exports.FloatingButtonPosition = exports.Environment = exports.DialogType = exports.DialogSelectType = exports.DialogInputType = exports.DialogIconType = exports.DialogButtonType = exports.DialogAnimation = exports.DeviceOs = exports.DateType = exports.ColorMode = exports.BrowserName = exports.AppName = exports.AccessMode = void 0;
|
|
7
7
|
let DateType = exports.DateType = /*#__PURE__*/function (DateType) {
|
|
8
8
|
DateType[DateType["DATE"] = 0] = "DATE";
|
|
9
9
|
DateType[DateType["TIME"] = 1] = "TIME";
|
|
10
10
|
DateType[DateType["DATE_TIME"] = 2] = "DATE_TIME";
|
|
11
11
|
return DateType;
|
|
12
12
|
}({});
|
|
13
|
+
let WeekDayType = exports.WeekDayType = /*#__PURE__*/function (WeekDayType) {
|
|
14
|
+
WeekDayType[WeekDayType["SUNDAY"] = 0] = "SUNDAY";
|
|
15
|
+
WeekDayType[WeekDayType["MONDAY"] = 1] = "MONDAY";
|
|
16
|
+
WeekDayType[WeekDayType["TUESDAY"] = 2] = "TUESDAY";
|
|
17
|
+
WeekDayType[WeekDayType["WEDNESDAY"] = 3] = "WEDNESDAY";
|
|
18
|
+
WeekDayType[WeekDayType["THURSDAY"] = 4] = "THURSDAY";
|
|
19
|
+
WeekDayType[WeekDayType["FRIDAY"] = 5] = "FRIDAY";
|
|
20
|
+
WeekDayType[WeekDayType["SATURDAY"] = 6] = "SATURDAY";
|
|
21
|
+
return WeekDayType;
|
|
22
|
+
}({});
|
|
13
23
|
let ToastType = exports.ToastType = /*#__PURE__*/function (ToastType) {
|
|
14
24
|
ToastType[ToastType["NEUTRAL"] = 1] = "NEUTRAL";
|
|
15
25
|
ToastType[ToastType["SUCCESS"] = 2] = "SUCCESS";
|
|
@@ -211,6 +221,7 @@ let RuntimeEnviroment = exports.RuntimeEnviroment = /*#__PURE__*/function (Runti
|
|
|
211
221
|
RuntimeEnviroment[RuntimeEnviroment["ChaynsRuntime"] = 3] = "ChaynsRuntime";
|
|
212
222
|
RuntimeEnviroment[RuntimeEnviroment["IntercomPlugin"] = 4] = "IntercomPlugin";
|
|
213
223
|
RuntimeEnviroment[RuntimeEnviroment["PagemakerPlugin"] = 5] = "PagemakerPlugin";
|
|
224
|
+
RuntimeEnviroment[RuntimeEnviroment["Dialog"] = 6] = "Dialog";
|
|
214
225
|
return RuntimeEnviroment;
|
|
215
226
|
}({});
|
|
216
227
|
let DeviceOs = exports.DeviceOs = /*#__PURE__*/function (DeviceOs) {
|
|
@@ -6,8 +6,10 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
6
6
|
exports.getScreenSize = exports.getClientDeviceInfo = exports.default = void 0;
|
|
7
7
|
var _uaParserJs = require("ua-parser-js");
|
|
8
8
|
var _IChaynsReact = require("../types/IChaynsReact");
|
|
9
|
-
const getDeviceInfo = (userAgent, acceptHeader
|
|
10
|
-
|
|
9
|
+
const getDeviceInfo = (userAgent, acceptHeader, {
|
|
10
|
+
imei
|
|
11
|
+
} = {}) => {
|
|
12
|
+
var _match$groups, _match$groups2, _customMatch$groups, _browser$version$spli, _browser$version, _uaParser$getOS, _uaParser$getOS2, _uaParser$getOS3;
|
|
11
13
|
const uaParser = new _uaParserJs.UAParser(userAgent);
|
|
12
14
|
let appName = _IChaynsReact.AppName.Unknown;
|
|
13
15
|
const match = /(?:my)?chayns\/(?<version>\d+).*(?<siteId>\d{5}-\d{5})/i.exec(userAgent);
|
|
@@ -45,9 +47,11 @@ const getDeviceInfo = (userAgent, acceptHeader) => {
|
|
|
45
47
|
appVersion,
|
|
46
48
|
callVersion: match !== null && match !== void 0 && match.groups ? Number.parseInt(match.groups.version, 10) : NaN
|
|
47
49
|
};
|
|
48
|
-
result.imei =
|
|
50
|
+
result.imei = imei;
|
|
49
51
|
result.engine = uaParser.getEngine();
|
|
52
|
+
// TODO: breaking change on next minor and use object with name and version
|
|
50
53
|
result.os = ((_uaParser$getOS = uaParser.getOS()) === null || _uaParser$getOS === void 0 ? void 0 : _uaParser$getOS.name) === 'Android' ? 'Android OS' : (_uaParser$getOS2 = uaParser.getOS()) === null || _uaParser$getOS2 === void 0 ? void 0 : _uaParser$getOS2.name;
|
|
54
|
+
result.osVersion = (_uaParser$getOS3 = uaParser.getOS()) === null || _uaParser$getOS3 === void 0 ? void 0 : _uaParser$getOS3.version;
|
|
51
55
|
if (typeof window !== 'undefined') {
|
|
52
56
|
result.screenSize = getScreenSize(window.innerWidth);
|
|
53
57
|
result.isTouch = getClientDeviceInfo().isTouch;
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.initModuleFederationSharing = void 0;
|
|
7
|
+
var _react = _interopRequireDefault(require("react"));
|
|
8
|
+
var _reactDom = _interopRequireDefault(require("react-dom"));
|
|
9
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
10
|
+
const initModuleFederationSharing = () => {
|
|
11
|
+
// forces single instance of module federation runtime
|
|
12
|
+
if (!globalThis.moduleFederationRuntime) {
|
|
13
|
+
var _process$env$__PACKAG;
|
|
14
|
+
globalThis.moduleFederationRuntime = require('@module-federation/enhanced/runtime');
|
|
15
|
+
globalThis.moduleFederationScopes = {
|
|
16
|
+
registeredScopes: {},
|
|
17
|
+
moduleMap: {},
|
|
18
|
+
componentMap: {}
|
|
19
|
+
};
|
|
20
|
+
const {
|
|
21
|
+
init
|
|
22
|
+
} = globalThis.moduleFederationRuntime;
|
|
23
|
+
|
|
24
|
+
// init also should only be called once
|
|
25
|
+
init({
|
|
26
|
+
// will be set by chayns-toolkit via DefinePlugin
|
|
27
|
+
name: (_process$env$__PACKAG = process.env.__PACKAGE_NAME__) !== null && _process$env$__PACKAG !== void 0 ? _process$env$__PACKAG : '',
|
|
28
|
+
remotes: [],
|
|
29
|
+
shared: {
|
|
30
|
+
react: {
|
|
31
|
+
version: _react.default.version,
|
|
32
|
+
scope: 'chayns-api2',
|
|
33
|
+
lib: () => _react.default
|
|
34
|
+
},
|
|
35
|
+
'react-dom': {
|
|
36
|
+
version: _reactDom.default.version,
|
|
37
|
+
scope: 'chayns-api2',
|
|
38
|
+
lib: () => _reactDom.default
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
});
|
|
42
|
+
}
|
|
43
|
+
};
|
|
44
|
+
exports.initModuleFederationSharing = initModuleFederationSharing;
|
|
@@ -68,7 +68,9 @@ class AppWrapper {
|
|
|
68
68
|
}
|
|
69
69
|
}
|
|
70
70
|
return {
|
|
71
|
-
device: (0, _deviceHelper.default)(navigator.userAgent, 'image/webp'
|
|
71
|
+
device: (0, _deviceHelper.default)(navigator.userAgent, 'image/webp', {
|
|
72
|
+
imei: Device.IMEI
|
|
73
|
+
}),
|
|
72
74
|
environment: {
|
|
73
75
|
buildEnvironment: _IChaynsReact.Environment.Production,
|
|
74
76
|
runtimeEnvironment: _IChaynsReact.RuntimeEnviroment.Unknown
|
|
@@ -446,14 +448,16 @@ class AppWrapper {
|
|
|
446
448
|
awaitResult: false
|
|
447
449
|
});
|
|
448
450
|
},
|
|
449
|
-
scrollToY: async position => {
|
|
451
|
+
scrollToY: async (position, duration) => {
|
|
450
452
|
window.scrollTo({
|
|
451
|
-
top: position
|
|
453
|
+
top: position,
|
|
454
|
+
behavior: duration ? 'smooth' : 'auto'
|
|
452
455
|
});
|
|
453
456
|
},
|
|
454
457
|
scrollByY: (value, duration) => {
|
|
455
458
|
window.scrollBy({
|
|
456
|
-
top: value
|
|
459
|
+
top: value,
|
|
460
|
+
behavior: duration ? 'smooth' : 'auto'
|
|
457
461
|
});
|
|
458
462
|
},
|
|
459
463
|
sendMessageToGroup: async (groupId, message) => {
|
|
@@ -5,10 +5,21 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
7
|
var _moduleWrapper = require("../components/moduleWrapper");
|
|
8
|
+
var _IChaynsReact = require("../types/IChaynsReact");
|
|
9
|
+
var _deviceHelper = _interopRequireDefault(require("../util/deviceHelper"));
|
|
10
|
+
var _AppWrapper = require("./AppWrapper");
|
|
8
11
|
var _FrameWrapper = require("./FrameWrapper");
|
|
12
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
9
13
|
class StaticChaynsApi {
|
|
10
14
|
constructor() {
|
|
11
|
-
|
|
15
|
+
var _deviceInfo$app$name, _deviceInfo$app;
|
|
16
|
+
let wrapper;
|
|
17
|
+
const deviceInfo = (0, _deviceHelper.default)(navigator.userAgent, '');
|
|
18
|
+
if ([_IChaynsReact.AppName.Chayns, _IChaynsReact.AppName.ChaynsLauncher, _IChaynsReact.AppName.Sidekick, _IChaynsReact.AppName.TobitChat].includes((_deviceInfo$app$name = (_deviceInfo$app = deviceInfo.app) === null || _deviceInfo$app === void 0 ? void 0 : _deviceInfo$app.name) !== null && _deviceInfo$app$name !== void 0 ? _deviceInfo$app$name : _IChaynsReact.AppName.Unknown) && window.self === window.top) {
|
|
19
|
+
wrapper = new _AppWrapper.AppWrapper();
|
|
20
|
+
} else {
|
|
21
|
+
wrapper = new _FrameWrapper.FrameWrapper();
|
|
22
|
+
}
|
|
12
23
|
_moduleWrapper.moduleWrapper.current = wrapper;
|
|
13
24
|
this._wrapper = wrapper;
|
|
14
25
|
this.ready = wrapper.init();
|
|
@@ -38,11 +38,14 @@ export const withCompatMode = Component => {
|
|
|
38
38
|
const component = /*#__PURE__*/React.createElement(ErrorBoundary, null, /*#__PURE__*/React.createElement(Component, _extends({}, this.props, {
|
|
39
39
|
ref: innerRef
|
|
40
40
|
})));
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
41
|
+
clearTimeout(this.timeout);
|
|
42
|
+
this.timeout = setTimeout(() => {
|
|
43
|
+
if (this.root) {
|
|
44
|
+
this.root.render(component);
|
|
45
|
+
} else {
|
|
46
|
+
ReactDOM.render(component, this.ref.current);
|
|
47
|
+
}
|
|
48
|
+
}, 0);
|
|
46
49
|
}
|
|
47
50
|
componentWillUnmount() {
|
|
48
51
|
if (this.root) {
|
|
@@ -68,6 +71,7 @@ export const withCompatMode = Component => {
|
|
|
68
71
|
requiredVersion: __REQUIRED_REACT_VERSION__,
|
|
69
72
|
environment: process.env.NODE_ENV,
|
|
70
73
|
buildEnv: process.env.BUILD_ENV || process.env.NODE_ENV,
|
|
71
|
-
appVersion: process.env.VERSION
|
|
74
|
+
appVersion: process.env.VERSION,
|
|
75
|
+
version: 2
|
|
72
76
|
};
|
|
73
77
|
};
|
|
@@ -7,7 +7,7 @@ const System = _ref => {
|
|
|
7
7
|
fallback,
|
|
8
8
|
...props
|
|
9
9
|
} = _ref;
|
|
10
|
-
const Component = useMemo(() => loadComponent(system.scope, system.module, globalThis.window ? system.url : system.serverUrl, undefined, system.preventSingleton), [system.scope, system.module, system.url, system.serverUrl, system.preventSingleton]);
|
|
10
|
+
const Component = useMemo(() => loadComponent(system.scope, system.module, globalThis.window ? system.url : system.serverUrl, undefined, system.preventSingleton, system.shareScope), [system.scope, system.module, system.url, system.serverUrl, system.preventSingleton]);
|
|
11
11
|
return /*#__PURE__*/React.createElement(React.Suspense, {
|
|
12
12
|
fallback: fallback || ''
|
|
13
13
|
}, /*#__PURE__*/React.createElement(Component, props));
|
|
@@ -1,35 +1,23 @@
|
|
|
1
|
-
var _process$env$__PACKAG;
|
|
2
|
-
import ReactDOM from 'react-dom';
|
|
3
1
|
import semver from 'semver';
|
|
4
|
-
import React from
|
|
5
|
-
import { loadRemote, registerRemotes, loadShareSync, init } from '@module-federation/runtime';
|
|
6
|
-
const registeredScopes = {};
|
|
7
|
-
const moduleMap = {};
|
|
8
|
-
const componentMap = {};
|
|
9
|
-
init({
|
|
10
|
-
// will be set by chayns-toolkit via DefinePlugin
|
|
11
|
-
name: (_process$env$__PACKAG = process.env.__PACKAGE_NAME__) !== null && _process$env$__PACKAG !== void 0 ? _process$env$__PACKAG : '',
|
|
12
|
-
remotes: [],
|
|
13
|
-
shared: {
|
|
14
|
-
react: {
|
|
15
|
-
version: React.version,
|
|
16
|
-
scope: 'default',
|
|
17
|
-
lib: () => React
|
|
18
|
-
},
|
|
19
|
-
'react-dom': {
|
|
20
|
-
version: ReactDOM.version,
|
|
21
|
-
scope: 'default',
|
|
22
|
-
lib: () => ReactDOM
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
});
|
|
2
|
+
import React from "react";
|
|
26
3
|
export const loadModule = function (scope, module, url) {
|
|
27
4
|
let preventSingleton = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
5
|
+
let shareScope = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : 'chayns-api2';
|
|
6
|
+
const {
|
|
7
|
+
loadRemote,
|
|
8
|
+
registerRemotes
|
|
9
|
+
} = globalThis.moduleFederationRuntime;
|
|
10
|
+
const {
|
|
11
|
+
registeredScopes,
|
|
12
|
+
moduleMap,
|
|
13
|
+
componentMap
|
|
14
|
+
} = globalThis.moduleFederationScopes;
|
|
28
15
|
if (registeredScopes[scope] !== url || preventSingleton) {
|
|
29
16
|
if (scope in registeredScopes) {
|
|
30
17
|
console.error(`[chayns-api] call registerRemote with force for scope ${scope}. url: ${url}`);
|
|
31
18
|
}
|
|
32
19
|
registerRemotes([{
|
|
20
|
+
shareScope,
|
|
33
21
|
name: scope,
|
|
34
22
|
entry: url,
|
|
35
23
|
alias: scope
|
|
@@ -55,14 +43,21 @@ export const loadModule = function (scope, module, url) {
|
|
|
55
43
|
const loadComponent = function (scope, module, url) {
|
|
56
44
|
let skipCompatMode = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;
|
|
57
45
|
let preventSingleton = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
46
|
+
let shareScope = arguments.length > 5 ? arguments[5] : undefined;
|
|
58
47
|
if (skipCompatMode) {
|
|
59
48
|
console.warn('[chayns-api] skipCompatMode-option is deprecated and is set automatically now');
|
|
60
49
|
}
|
|
50
|
+
const {
|
|
51
|
+
loadShareSync
|
|
52
|
+
} = globalThis.moduleFederationRuntime;
|
|
53
|
+
const {
|
|
54
|
+
componentMap
|
|
55
|
+
} = globalThis.moduleFederationScopes;
|
|
61
56
|
if (!componentMap[scope]) {
|
|
62
57
|
componentMap[scope] = {};
|
|
63
58
|
}
|
|
64
59
|
if (!(module in componentMap[scope])) {
|
|
65
|
-
const promise = loadModule(scope, module, url, preventSingleton).then(async Module => {
|
|
60
|
+
const promise = loadModule(scope, module, url, preventSingleton, shareScope).then(async Module => {
|
|
66
61
|
if (typeof Module.default === 'function') {
|
|
67
62
|
return Module;
|
|
68
63
|
}
|
|
@@ -75,6 +70,7 @@ const loadComponent = function (scope, module, url) {
|
|
|
75
70
|
loadShareSync('react', {
|
|
76
71
|
resolver: shareOptions => {
|
|
77
72
|
resolve(shareOptions);
|
|
73
|
+
console.log("shareOptions", shareOptions);
|
|
78
74
|
return shareOptions[0];
|
|
79
75
|
}
|
|
80
76
|
});
|
|
@@ -86,11 +82,13 @@ const loadComponent = function (scope, module, url) {
|
|
|
86
82
|
} = _ref;
|
|
87
83
|
return semver.gt(version, hostVersion) && semver.satisfies(version, requiredVersion) || scope === from.split('-').join('_');
|
|
88
84
|
});
|
|
89
|
-
if (!matchReactVersion || environment !== 'production' || process.env.NODE_ENV === 'development') {
|
|
85
|
+
if (!matchReactVersion || environment !== 'production' || process.env.NODE_ENV === 'development' || Module.default.version !== 2) {
|
|
86
|
+
console.log("use compat mode for", scope, module);
|
|
90
87
|
return {
|
|
91
88
|
default: Module.default.CompatComponent
|
|
92
89
|
};
|
|
93
90
|
}
|
|
91
|
+
console.log("use direct component for", scope, module);
|
|
94
92
|
return {
|
|
95
93
|
default: Module.default.Component
|
|
96
94
|
};
|
package/dist/esm/index.js
CHANGED
|
@@ -17,7 +17,4 @@ export { default as DialogHandler } from './handler/DialogHandler';
|
|
|
17
17
|
import * as _dialog from './calls/dialogs/index';
|
|
18
18
|
export { _dialog as dialog };
|
|
19
19
|
export * from './types/IChaynsReact';
|
|
20
|
-
export
|
|
21
|
-
buildEnv: process.env.BUILD_ENV,
|
|
22
|
-
appVersion: process.env.VERSION
|
|
23
|
-
};
|
|
20
|
+
export * from './util/initModuleFederationSharing';
|
|
@@ -4,6 +4,16 @@ export let DateType = /*#__PURE__*/function (DateType) {
|
|
|
4
4
|
DateType[DateType["DATE_TIME"] = 2] = "DATE_TIME";
|
|
5
5
|
return DateType;
|
|
6
6
|
}({});
|
|
7
|
+
export let WeekDayType = /*#__PURE__*/function (WeekDayType) {
|
|
8
|
+
WeekDayType[WeekDayType["SUNDAY"] = 0] = "SUNDAY";
|
|
9
|
+
WeekDayType[WeekDayType["MONDAY"] = 1] = "MONDAY";
|
|
10
|
+
WeekDayType[WeekDayType["TUESDAY"] = 2] = "TUESDAY";
|
|
11
|
+
WeekDayType[WeekDayType["WEDNESDAY"] = 3] = "WEDNESDAY";
|
|
12
|
+
WeekDayType[WeekDayType["THURSDAY"] = 4] = "THURSDAY";
|
|
13
|
+
WeekDayType[WeekDayType["FRIDAY"] = 5] = "FRIDAY";
|
|
14
|
+
WeekDayType[WeekDayType["SATURDAY"] = 6] = "SATURDAY";
|
|
15
|
+
return WeekDayType;
|
|
16
|
+
}({});
|
|
7
17
|
export let ToastType = /*#__PURE__*/function (ToastType) {
|
|
8
18
|
ToastType[ToastType["NEUTRAL"] = 1] = "NEUTRAL";
|
|
9
19
|
ToastType[ToastType["SUCCESS"] = 2] = "SUCCESS";
|
|
@@ -208,6 +218,7 @@ export let RuntimeEnviroment = /*#__PURE__*/function (RuntimeEnviroment) {
|
|
|
208
218
|
RuntimeEnviroment[RuntimeEnviroment["ChaynsRuntime"] = 3] = "ChaynsRuntime";
|
|
209
219
|
RuntimeEnviroment[RuntimeEnviroment["IntercomPlugin"] = 4] = "IntercomPlugin";
|
|
210
220
|
RuntimeEnviroment[RuntimeEnviroment["PagemakerPlugin"] = 5] = "PagemakerPlugin";
|
|
221
|
+
RuntimeEnviroment[RuntimeEnviroment["Dialog"] = 6] = "Dialog";
|
|
211
222
|
return RuntimeEnviroment;
|
|
212
223
|
}({});
|
|
213
224
|
export let DeviceOs = /*#__PURE__*/function (DeviceOs) {
|
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
import { UAParser } from 'ua-parser-js';
|
|
2
2
|
import { AppName, ScreenSize } from '../types/IChaynsReact';
|
|
3
|
-
const getDeviceInfo = (userAgent, acceptHeader)
|
|
4
|
-
var _match$groups, _match$groups2, _customMatch$groups, _browser$version$spli, _browser$version, _uaParser$getOS, _uaParser$getOS2;
|
|
3
|
+
const getDeviceInfo = function (userAgent, acceptHeader) {
|
|
4
|
+
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] : {};
|
|
5
8
|
const uaParser = new UAParser(userAgent);
|
|
6
9
|
let appName = AppName.Unknown;
|
|
7
10
|
const match = /(?:my)?chayns\/(?<version>\d+).*(?<siteId>\d{5}-\d{5})/i.exec(userAgent);
|
|
@@ -39,9 +42,11 @@ const getDeviceInfo = (userAgent, acceptHeader) => {
|
|
|
39
42
|
appVersion,
|
|
40
43
|
callVersion: match !== null && match !== void 0 && match.groups ? Number.parseInt(match.groups.version, 10) : NaN
|
|
41
44
|
};
|
|
42
|
-
result.imei =
|
|
45
|
+
result.imei = imei;
|
|
43
46
|
result.engine = uaParser.getEngine();
|
|
47
|
+
// TODO: breaking change on next minor and use object with name and version
|
|
44
48
|
result.os = ((_uaParser$getOS = uaParser.getOS()) === null || _uaParser$getOS === void 0 ? void 0 : _uaParser$getOS.name) === 'Android' ? 'Android OS' : (_uaParser$getOS2 = uaParser.getOS()) === null || _uaParser$getOS2 === void 0 ? void 0 : _uaParser$getOS2.name;
|
|
49
|
+
result.osVersion = (_uaParser$getOS3 = uaParser.getOS()) === null || _uaParser$getOS3 === void 0 ? void 0 : _uaParser$getOS3.version;
|
|
45
50
|
if (typeof window !== 'undefined') {
|
|
46
51
|
result.screenSize = getScreenSize(window.innerWidth);
|
|
47
52
|
result.isTouch = getClientDeviceInfo().isTouch;
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import ReactDOM from 'react-dom';
|
|
3
|
+
export const initModuleFederationSharing = () => {
|
|
4
|
+
// forces single instance of module federation runtime
|
|
5
|
+
if (!globalThis.moduleFederationRuntime) {
|
|
6
|
+
var _process$env$__PACKAG;
|
|
7
|
+
globalThis.moduleFederationRuntime = require('@module-federation/enhanced/runtime');
|
|
8
|
+
globalThis.moduleFederationScopes = {
|
|
9
|
+
registeredScopes: {},
|
|
10
|
+
moduleMap: {},
|
|
11
|
+
componentMap: {}
|
|
12
|
+
};
|
|
13
|
+
const {
|
|
14
|
+
init
|
|
15
|
+
} = globalThis.moduleFederationRuntime;
|
|
16
|
+
|
|
17
|
+
// init also should only be called once
|
|
18
|
+
init({
|
|
19
|
+
// will be set by chayns-toolkit via DefinePlugin
|
|
20
|
+
name: (_process$env$__PACKAG = process.env.__PACKAGE_NAME__) !== null && _process$env$__PACKAG !== void 0 ? _process$env$__PACKAG : '',
|
|
21
|
+
remotes: [],
|
|
22
|
+
shared: {
|
|
23
|
+
react: {
|
|
24
|
+
version: React.version,
|
|
25
|
+
scope: 'chayns-api2',
|
|
26
|
+
lib: () => React
|
|
27
|
+
},
|
|
28
|
+
'react-dom': {
|
|
29
|
+
version: ReactDOM.version,
|
|
30
|
+
scope: 'chayns-api2',
|
|
31
|
+
lib: () => ReactDOM
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
});
|
|
35
|
+
}
|
|
36
|
+
};
|
|
@@ -60,7 +60,9 @@ export class AppWrapper {
|
|
|
60
60
|
}
|
|
61
61
|
}
|
|
62
62
|
return {
|
|
63
|
-
device: getDeviceInfo(navigator.userAgent, 'image/webp'
|
|
63
|
+
device: getDeviceInfo(navigator.userAgent, 'image/webp', {
|
|
64
|
+
imei: Device.IMEI
|
|
65
|
+
}),
|
|
64
66
|
environment: {
|
|
65
67
|
buildEnvironment: Environment.Production,
|
|
66
68
|
runtimeEnvironment: RuntimeEnviroment.Unknown
|
|
@@ -410,14 +412,16 @@ export class AppWrapper {
|
|
|
410
412
|
awaitResult: false
|
|
411
413
|
});
|
|
412
414
|
},
|
|
413
|
-
scrollToY: async position => {
|
|
415
|
+
scrollToY: async (position, duration) => {
|
|
414
416
|
window.scrollTo({
|
|
415
|
-
top: position
|
|
417
|
+
top: position,
|
|
418
|
+
behavior: duration ? 'smooth' : 'auto'
|
|
416
419
|
});
|
|
417
420
|
},
|
|
418
421
|
scrollByY: (value, duration) => {
|
|
419
422
|
window.scrollBy({
|
|
420
|
-
top: value
|
|
423
|
+
top: value,
|
|
424
|
+
behavior: duration ? 'smooth' : 'auto'
|
|
421
425
|
});
|
|
422
426
|
},
|
|
423
427
|
sendMessageToGroup: async (groupId, message) => {
|
|
@@ -2,9 +2,13 @@ function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key i
|
|
|
2
2
|
function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : i + ""; }
|
|
3
3
|
function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
|
|
4
4
|
import { moduleWrapper } from '../components/moduleWrapper';
|
|
5
|
+
import { AppName } from '../types/IChaynsReact';
|
|
6
|
+
import getDeviceInfo from '../util/deviceHelper';
|
|
7
|
+
import { AppWrapper } from './AppWrapper';
|
|
5
8
|
import { FrameWrapper } from './FrameWrapper';
|
|
6
9
|
class StaticChaynsApi {
|
|
7
10
|
constructor() {
|
|
11
|
+
var _deviceInfo$app$name, _deviceInfo$app;
|
|
8
12
|
_defineProperty(this, "getUser", () => this._wrapper.values.user);
|
|
9
13
|
_defineProperty(this, "getSite", () => this._wrapper.values.site);
|
|
10
14
|
_defineProperty(this, "getCurrentPage", () => this._wrapper.values.currentPage);
|
|
@@ -13,7 +17,13 @@ class StaticChaynsApi {
|
|
|
13
17
|
_defineProperty(this, "getParameters", () => this._wrapper.values.parameters);
|
|
14
18
|
_defineProperty(this, "getPages", () => this._wrapper.values.pages);
|
|
15
19
|
_defineProperty(this, "getEnvironment", () => this._wrapper.values.environment);
|
|
16
|
-
|
|
20
|
+
let wrapper;
|
|
21
|
+
const deviceInfo = getDeviceInfo(navigator.userAgent, '');
|
|
22
|
+
if ([AppName.Chayns, AppName.ChaynsLauncher, AppName.Sidekick, AppName.TobitChat].includes((_deviceInfo$app$name = (_deviceInfo$app = deviceInfo.app) === null || _deviceInfo$app === void 0 ? void 0 : _deviceInfo$app.name) !== null && _deviceInfo$app$name !== void 0 ? _deviceInfo$app$name : AppName.Unknown) && window.self === window.top) {
|
|
23
|
+
wrapper = new AppWrapper();
|
|
24
|
+
} else {
|
|
25
|
+
wrapper = new FrameWrapper();
|
|
26
|
+
}
|
|
17
27
|
moduleWrapper.current = wrapper;
|
|
18
28
|
this._wrapper = wrapper;
|
|
19
29
|
this.ready = wrapper.init();
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export declare const loadModule: (scope: any, module: any, url: any, preventSingleton?: boolean) => any;
|
|
2
|
-
declare const loadComponent: (scope: any, module: any, url: any, skipCompatMode
|
|
1
|
+
export declare const loadModule: (scope: any, module: any, url: any, preventSingleton?: boolean, shareScope?: string) => any;
|
|
2
|
+
declare const loadComponent: (scope: any, module: any, url: any, skipCompatMode: boolean | undefined, preventSingleton: boolean | undefined, shareScope: any) => any;
|
|
3
3
|
export default loadComponent;
|
package/dist/types/index.d.ts
CHANGED
|
@@ -16,8 +16,4 @@ export { default as loadComponent, loadModule } from './host/module/utils/loadCo
|
|
|
16
16
|
export { default as DialogHandler } from './handler/DialogHandler';
|
|
17
17
|
export * as dialog from './calls/dialogs/index';
|
|
18
18
|
export * from './types/IChaynsReact';
|
|
19
|
-
|
|
20
|
-
buildEnv: string | undefined;
|
|
21
|
-
appVersion: string | undefined;
|
|
22
|
-
};
|
|
23
|
-
export default _default;
|
|
19
|
+
export * from './util/initModuleFederationSharing';
|
|
@@ -21,6 +21,28 @@ export interface DialogDate {
|
|
|
21
21
|
multiselect?: boolean;
|
|
22
22
|
monthSelect?: boolean;
|
|
23
23
|
yearSelect?: boolean;
|
|
24
|
+
interval?: boolean;
|
|
25
|
+
disabledDates?: Date[];
|
|
26
|
+
disabledIntervals?: {
|
|
27
|
+
start: Date;
|
|
28
|
+
end: Date;
|
|
29
|
+
}[];
|
|
30
|
+
disabledWeekDayIntervals?: {
|
|
31
|
+
weekDay: WeekDayType;
|
|
32
|
+
interval?: {
|
|
33
|
+
start: Date;
|
|
34
|
+
end: Date;
|
|
35
|
+
};
|
|
36
|
+
}[];
|
|
37
|
+
}
|
|
38
|
+
export declare enum WeekDayType {
|
|
39
|
+
SUNDAY = 0,
|
|
40
|
+
MONDAY = 1,
|
|
41
|
+
TUESDAY = 2,
|
|
42
|
+
WEDNESDAY = 3,
|
|
43
|
+
THURSDAY = 4,
|
|
44
|
+
FRIDAY = 5,
|
|
45
|
+
SATURDAY = 6
|
|
24
46
|
}
|
|
25
47
|
export declare enum ToastType {
|
|
26
48
|
NEUTRAL = 1,
|
|
@@ -133,6 +155,7 @@ export declare enum DialogButtonType {
|
|
|
133
155
|
export type ChaynsApiUser = {
|
|
134
156
|
firstName?: string;
|
|
135
157
|
lastName?: string;
|
|
158
|
+
nickName?: string;
|
|
136
159
|
gender?: Gender;
|
|
137
160
|
uacGroups?: UacGroup[];
|
|
138
161
|
userId?: number;
|
|
@@ -158,10 +181,15 @@ export type ChaynsApiSite = {
|
|
|
158
181
|
originSiteId?: string;
|
|
159
182
|
};
|
|
160
183
|
export declare enum ScreenSize {
|
|
184
|
+
/** screen width smaller than or equal 556px */
|
|
161
185
|
XS = 0,
|
|
186
|
+
/** screen width between 557px and 769px */
|
|
162
187
|
SM = 1,
|
|
188
|
+
/** screen width between 770px and 993px */
|
|
163
189
|
MD = 2,
|
|
190
|
+
/** screen width between 994px and 1200px */
|
|
164
191
|
LG = 3,
|
|
192
|
+
/** screen width larger than 1200px */
|
|
165
193
|
XL = 4
|
|
166
194
|
}
|
|
167
195
|
export type ChaynsApiDevice = {
|
|
@@ -185,6 +213,7 @@ export type ChaynsApiDevice = {
|
|
|
185
213
|
imei?: string;
|
|
186
214
|
accessToken?: string;
|
|
187
215
|
os?: 'AIX' | 'Amiga OS' | 'Android OS' | 'Arch' | 'Bada' | 'BeOS' | 'BlackBerry' | 'CentOS' | 'Chromium OS' | 'Contiki' | 'Fedora' | 'Firefox OS' | 'FreeBSD' | 'Debian' | 'DragonFly' | 'Gentoo' | 'GNU' | 'Haiku' | 'Hurd' | 'iOS' | 'Joli' | 'Linpus' | 'Linux' | 'Mac OS' | 'Mageia' | 'Mandriva' | 'MeeGo' | 'Minix' | 'Mint' | 'Morph OS' | 'NetBSD' | 'Nintendo' | 'OpenBSD' | 'OpenVMS' | 'OS/2' | 'Palm' | 'PCLinuxOS' | 'Plan9' | 'Playstation' | 'QNX' | 'RedHat' | 'RIM Tablet OS' | 'RISC OS' | 'Sailfish' | 'Series40' | 'Slackware' | 'Solaris' | 'SUSE' | 'Symbian' | 'Tizen' | 'Ubuntu' | 'UNIX' | 'VectorLinux' | 'WebOS' | 'Windows' | 'Windows Phone' | 'Windows Mobile' | 'Zenwalk' | null;
|
|
216
|
+
osVersion?: string;
|
|
188
217
|
isTouch: boolean;
|
|
189
218
|
screenSize: ScreenSize;
|
|
190
219
|
};
|
|
@@ -739,7 +768,8 @@ export declare enum RuntimeEnviroment {
|
|
|
739
768
|
ChaynsWeb = 2,
|
|
740
769
|
ChaynsRuntime = 3,
|
|
741
770
|
IntercomPlugin = 4,
|
|
742
|
-
PagemakerPlugin = 5
|
|
771
|
+
PagemakerPlugin = 5,
|
|
772
|
+
Dialog = 6
|
|
743
773
|
}
|
|
744
774
|
export declare enum DeviceOs {
|
|
745
775
|
Unknown = "unknown",
|
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { ChaynsApiDevice, ScreenSize } from '../types/IChaynsReact';
|
|
2
|
-
declare const getDeviceInfo: (userAgent: string, acceptHeader: string
|
|
2
|
+
declare const getDeviceInfo: (userAgent: string, acceptHeader: string, { imei }?: {
|
|
3
|
+
imei?: string | undefined;
|
|
4
|
+
}) => ChaynsApiDevice;
|
|
3
5
|
export declare const getClientDeviceInfo: () => {
|
|
4
6
|
isTouch: boolean;
|
|
5
7
|
};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const initModuleFederationSharing: () => void;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "chayns-api",
|
|
3
|
-
"version": "1.2.0-
|
|
3
|
+
"version": "1.2.0-11",
|
|
4
4
|
"description": "new chayns api",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -42,7 +42,8 @@
|
|
|
42
42
|
"extends": "@chayns-toolkit"
|
|
43
43
|
},
|
|
44
44
|
"dependencies": {
|
|
45
|
-
"@module-federation/
|
|
45
|
+
"@module-federation/enhanced": "^0.6.10",
|
|
46
|
+
"@module-federation/runtime": "^0.6.9",
|
|
46
47
|
"@types/semver": "^7.5.8",
|
|
47
48
|
"comlink": "4.3.1",
|
|
48
49
|
"htmlescape": "^1.1.1",
|
|
@@ -76,8 +77,8 @@
|
|
|
76
77
|
"postcss-prefix-selector": "^1.13.0",
|
|
77
78
|
"prettier": "^3.2.5",
|
|
78
79
|
"prettier-plugin-packagejson": "^2.5.0",
|
|
79
|
-
"react": "^
|
|
80
|
-
"react-dom": "^
|
|
80
|
+
"react": "^18.3.1",
|
|
81
|
+
"react-dom": "^18.3.1",
|
|
81
82
|
"typescript": "^4.9.5"
|
|
82
83
|
},
|
|
83
84
|
"peerDependencies": {
|