chayns-api 1.1.9 → 1.1.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.
@@ -55,7 +55,7 @@ const withCompatMode = Component => {
55
55
  if (this.root) {
56
56
  this.root.unmount();
57
57
  } else {
58
- _reactDom.default.render( /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), this.ref.current);
58
+ _reactDom.default.render(/*#__PURE__*/_react.default.createElement(_react.default.Fragment, null), this.ref.current);
59
59
  }
60
60
  }
61
61
  render() {
@@ -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";
@@ -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
- var _match$groups, _match$groups2, _customMatch$groups, _browser$version$spli, _browser$version, _uaParser$getOS, _uaParser$getOS2;
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 = undefined; // TODO
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;
@@ -68,7 +68,9 @@ class AppWrapper {
68
68
  language = _languages.DeviceLanguage[Number.parseInt(Device === null || Device === void 0 ? void 0 : Device.LanguageID, 10)] || 'de';
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
@@ -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(e) { return e && e.__esModule ? e : { default: e }; }
9
13
  class StaticChaynsApi {
10
14
  constructor() {
11
- const wrapper = new _FrameWrapper.FrameWrapper();
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();
@@ -48,7 +48,7 @@ export const withCompatMode = Component => {
48
48
  if (this.root) {
49
49
  this.root.unmount();
50
50
  } else {
51
- ReactDOM.render( /*#__PURE__*/React.createElement(React.Fragment, null), this.ref.current);
51
+ ReactDOM.render(/*#__PURE__*/React.createElement(React.Fragment, null), this.ref.current);
52
52
  }
53
53
  }
54
54
  render() {
@@ -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";
@@ -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 = undefined; // TODO
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;
@@ -60,7 +60,9 @@ export class AppWrapper {
60
60
  language = DeviceLanguage[Number.parseInt(Device === null || Device === void 0 ? void 0 : Device.LanguageID, 10)] || 'de';
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
@@ -2,9 +2,13 @@ function _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object
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
- const wrapper = new FrameWrapper();
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();
@@ -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,
@@ -185,6 +207,7 @@ export type ChaynsApiDevice = {
185
207
  imei?: string;
186
208
  accessToken?: string;
187
209
  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;
210
+ osVersion?: string;
188
211
  isTouch: boolean;
189
212
  screenSize: ScreenSize;
190
213
  };
@@ -1,5 +1,7 @@
1
1
  import { ChaynsApiDevice, ScreenSize } from '../types/IChaynsReact';
2
- declare const getDeviceInfo: (userAgent: string, acceptHeader: string) => ChaynsApiDevice;
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
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "chayns-api",
3
- "version": "1.1.9",
3
+ "version": "1.1.11",
4
4
  "description": "new chayns api",
5
5
  "main": "dist/cjs/index.js",
6
6
  "module": "dist/esm/index.js",