@trycourier/react-provider 6.0.1-internal.1cfeff7.0 → 6.0.1-internal.1e0f6ce.0
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/hooks/use-courier-actions.js +2 -2
- package/dist/hooks/use-is-online.js +39 -0
- package/dist/hooks/use-listen-for-transport.js +37 -0
- package/dist/index.js +14 -32
- package/dist/types.js +1 -21
- package/package.json +7 -7
- package/typings/hooks/use-courier-actions.d.ts.map +1 -1
- package/typings/hooks/use-is-online.d.ts +3 -0
- package/typings/hooks/use-is-online.d.ts.map +1 -0
- package/typings/hooks/use-listen-for-transport.d.ts +6 -0
- package/typings/hooks/use-listen-for-transport.d.ts.map +1 -0
- package/typings/index.d.ts +2 -5
- package/typings/index.d.ts.map +1 -1
- package/typings/types.d.ts +12 -95
- package/typings/types.d.ts.map +1 -1
- package/dist/hooks/use-transport.js +0 -82
- package/dist/lib/index.js +0 -19
- package/dist/transports/base.js +0 -94
- package/dist/transports/courier/index.js +0 -147
- package/dist/transports/courier/types.js +0 -1
- package/dist/transports/index.js +0 -31
- package/dist/transports/types.js +0 -0
- package/dist/ws.js +0 -304
- package/typings/hooks/use-transport.d.ts +0 -13
- package/typings/hooks/use-transport.d.ts.map +0 -1
- package/typings/lib/index.d.ts +0 -2
- package/typings/lib/index.d.ts.map +0 -1
- package/typings/transports/base.d.ts +0 -27
- package/typings/transports/base.d.ts.map +0 -1
- package/typings/transports/courier/index.d.ts +0 -26
- package/typings/transports/courier/index.d.ts.map +0 -1
- package/typings/transports/courier/types.d.ts +0 -10
- package/typings/transports/courier/types.d.ts.map +0 -1
- package/typings/transports/index.d.ts +0 -3
- package/typings/transports/index.d.ts.map +0 -1
- package/typings/transports/types.d.ts +0 -50
- package/typings/transports/types.d.ts.map +0 -1
- package/typings/ws.d.ts +0 -46
- package/typings/ws.d.ts.map +0 -1
|
@@ -15,7 +15,7 @@ var _react = require("react");
|
|
|
15
15
|
|
|
16
16
|
var _clientGraphql = require("@trycourier/client-graphql");
|
|
17
17
|
|
|
18
|
-
var
|
|
18
|
+
var _transport = require("@trycourier/transport");
|
|
19
19
|
|
|
20
20
|
var _courierJs = _interopRequireDefault(require("@trycourier/courier-js"));
|
|
21
21
|
|
|
@@ -202,7 +202,7 @@ var useCourierActions = function useCourierActions(state, dispatch) {
|
|
|
202
202
|
while (1) {
|
|
203
203
|
switch (_context6.prev = _context6.next) {
|
|
204
204
|
case 0:
|
|
205
|
-
if (state.transport instanceof
|
|
205
|
+
if (state.transport instanceof _transport.CourierTransport) {
|
|
206
206
|
state.transport.renewSession(token);
|
|
207
207
|
}
|
|
208
208
|
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
+
|
|
5
|
+
Object.defineProperty(exports, "__esModule", {
|
|
6
|
+
value: true
|
|
7
|
+
});
|
|
8
|
+
exports.useIsOnline = void 0;
|
|
9
|
+
|
|
10
|
+
var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/slicedToArray"));
|
|
11
|
+
|
|
12
|
+
var _react = require("react");
|
|
13
|
+
|
|
14
|
+
var useIsOnline = function useIsOnline() {
|
|
15
|
+
if (typeof window === "undefined" || typeof navigator === "undefined") {
|
|
16
|
+
return;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
var _useState = (0, _react.useState)(window.navigator.onLine),
|
|
20
|
+
_useState2 = (0, _slicedToArray2["default"])(_useState, 2),
|
|
21
|
+
isOnline = _useState2[0],
|
|
22
|
+
setOnlineStatus = _useState2[1];
|
|
23
|
+
|
|
24
|
+
(0, _react.useEffect)(function () {
|
|
25
|
+
var toggleOnlineStatus = function toggleOnlineStatus() {
|
|
26
|
+
return setOnlineStatus(window.navigator.onLine);
|
|
27
|
+
};
|
|
28
|
+
|
|
29
|
+
window.addEventListener("online", toggleOnlineStatus);
|
|
30
|
+
window.addEventListener("offline", toggleOnlineStatus);
|
|
31
|
+
return function () {
|
|
32
|
+
window.removeEventListener("online", toggleOnlineStatus);
|
|
33
|
+
window.removeEventListener("offline", toggleOnlineStatus);
|
|
34
|
+
};
|
|
35
|
+
}, [isOnline]);
|
|
36
|
+
return isOnline;
|
|
37
|
+
};
|
|
38
|
+
|
|
39
|
+
exports.useIsOnline = useIsOnline;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useListenForTransportEvent = void 0;
|
|
7
|
+
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
|
|
10
|
+
var useListenForTransportEvent = function useListenForTransportEvent(_ref) {
|
|
11
|
+
var transport = _ref.transport,
|
|
12
|
+
createTrackEvent = _ref.createTrackEvent;
|
|
13
|
+
(0, _react.useEffect)(function () {
|
|
14
|
+
if (!transport) {
|
|
15
|
+
return;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
transport.listen({
|
|
19
|
+
id: "websocket-delivery-listener",
|
|
20
|
+
type: "message",
|
|
21
|
+
listener: function listener(courierEvent) {
|
|
22
|
+
var _courierData$tracking;
|
|
23
|
+
|
|
24
|
+
var courierMessage = courierEvent === null || courierEvent === void 0 ? void 0 : courierEvent.data;
|
|
25
|
+
var courierData = courierMessage === null || courierMessage === void 0 ? void 0 : courierMessage.data;
|
|
26
|
+
|
|
27
|
+
if (courierData !== null && courierData !== void 0 && (_courierData$tracking = courierData.trackingIds) !== null && _courierData$tracking !== void 0 && _courierData$tracking.deliverTrackingId) {
|
|
28
|
+
var _courierData$tracking2;
|
|
29
|
+
|
|
30
|
+
createTrackEvent(courierData === null || courierData === void 0 ? void 0 : (_courierData$tracking2 = courierData.trackingIds) === null || _courierData$tracking2 === void 0 ? void 0 : _courierData$tracking2.deliverTrackingId);
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
});
|
|
34
|
+
}, [createTrackEvent, transport]);
|
|
35
|
+
};
|
|
36
|
+
|
|
37
|
+
exports.useListenForTransportEvent = useListenForTransportEvent;
|
package/dist/index.js
CHANGED
|
@@ -25,6 +25,8 @@ var _react = _interopRequireWildcard(require("react"));
|
|
|
25
25
|
|
|
26
26
|
var _createReducer = _interopRequireDefault(require("react-use/lib/factory/createReducer"));
|
|
27
27
|
|
|
28
|
+
var _reactHooks = require("@trycourier/react-hooks");
|
|
29
|
+
|
|
28
30
|
var _reducer = _interopRequireWildcard(require("./reducer"));
|
|
29
31
|
|
|
30
32
|
var _middleware = _interopRequireWildcard(require("./middleware"));
|
|
@@ -33,8 +35,6 @@ var _useCourierActions = _interopRequireDefault(require("./hooks/use-courier-act
|
|
|
33
35
|
|
|
34
36
|
var _usePageVisible = require("./hooks/use-page-visible");
|
|
35
37
|
|
|
36
|
-
var _useTransport = _interopRequireDefault(require("./hooks/use-transport"));
|
|
37
|
-
|
|
38
38
|
var _useClientSourceId = _interopRequireDefault(require("./hooks/use-client-source-id"));
|
|
39
39
|
|
|
40
40
|
var _deepExtend = _interopRequireDefault(require("deep-extend"));
|
|
@@ -43,19 +43,9 @@ var _theme2 = require("./theme");
|
|
|
43
43
|
|
|
44
44
|
var _styledComponents = require("styled-components");
|
|
45
45
|
|
|
46
|
-
var
|
|
46
|
+
var _useIsOnline = require("./hooks/use-is-online");
|
|
47
47
|
|
|
48
|
-
|
|
49
|
-
if (key === "default" || key === "__esModule") return;
|
|
50
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
51
|
-
if (key in exports && exports[key] === _transports[key]) return;
|
|
52
|
-
Object.defineProperty(exports, key, {
|
|
53
|
-
enumerable: true,
|
|
54
|
-
get: function get() {
|
|
55
|
-
return _transports[key];
|
|
56
|
-
}
|
|
57
|
-
});
|
|
58
|
-
});
|
|
48
|
+
var _useListenForTransport = require("./hooks/use-listen-for-transport");
|
|
59
49
|
|
|
60
50
|
var _hooks = require("./hooks");
|
|
61
51
|
|
|
@@ -71,20 +61,6 @@ Object.keys(_hooks).forEach(function (key) {
|
|
|
71
61
|
});
|
|
72
62
|
});
|
|
73
63
|
|
|
74
|
-
var _lib = require("./lib");
|
|
75
|
-
|
|
76
|
-
Object.keys(_lib).forEach(function (key) {
|
|
77
|
-
if (key === "default" || key === "__esModule") return;
|
|
78
|
-
if (Object.prototype.hasOwnProperty.call(_exportNames, key)) return;
|
|
79
|
-
if (key in exports && exports[key] === _lib[key]) return;
|
|
80
|
-
Object.defineProperty(exports, key, {
|
|
81
|
-
enumerable: true,
|
|
82
|
-
get: function get() {
|
|
83
|
-
return _lib[key];
|
|
84
|
-
}
|
|
85
|
-
});
|
|
86
|
-
});
|
|
87
|
-
|
|
88
64
|
function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }
|
|
89
65
|
|
|
90
66
|
function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { (0, _defineProperty2["default"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
|
|
@@ -161,11 +137,13 @@ var CourierProviderInner = function CourierProviderInner(_ref2) {
|
|
|
161
137
|
return applyMiddleware(_middleware["default"]);
|
|
162
138
|
}, [applyMiddleware]);
|
|
163
139
|
var useReducer = (0, _react.useCallback)(_createReducer["default"].apply(void 0, (0, _toConsumableArray2["default"])(middleware)), [middleware]);
|
|
164
|
-
var
|
|
165
|
-
|
|
140
|
+
var isOnline = (0, _useIsOnline.useIsOnline)();
|
|
141
|
+
var transport = typeof window === "undefined" ? undefined : (0, _reactHooks.useTransport)({
|
|
166
142
|
authorization: authorization,
|
|
167
|
-
clientSourceId: clientSourceId,
|
|
168
143
|
clientKey: clientKey,
|
|
144
|
+
clientSourceId: clientSourceId,
|
|
145
|
+
isOnline: isOnline,
|
|
146
|
+
tenantId: tenantId,
|
|
169
147
|
transport: _transport,
|
|
170
148
|
userSignature: userSignature,
|
|
171
149
|
wsOptions: wsOptions
|
|
@@ -257,7 +235,7 @@ var CourierProviderInner = function CourierProviderInner(_ref2) {
|
|
|
257
235
|
try {
|
|
258
236
|
parsedLocalStorageState = JSON.parse(localStorageState);
|
|
259
237
|
} catch (ex) {
|
|
260
|
-
console.
|
|
238
|
+
console.error(ex);
|
|
261
239
|
}
|
|
262
240
|
}
|
|
263
241
|
}
|
|
@@ -284,6 +262,10 @@ var CourierProviderInner = function CourierProviderInner(_ref2) {
|
|
|
284
262
|
brand: state.brand
|
|
285
263
|
}));
|
|
286
264
|
}, [state.brand, clientKey, userId, state.localStorage]);
|
|
265
|
+
(0, _useListenForTransport.useListenForTransportEvent)({
|
|
266
|
+
transport: transport,
|
|
267
|
+
createTrackEvent: actions.createTrackEvent
|
|
268
|
+
});
|
|
287
269
|
return /*#__PURE__*/_react["default"].createElement(CourierContext.Provider, {
|
|
288
270
|
value: _objectSpread(_objectSpread(_objectSpread({}, state), actions), {}, {
|
|
289
271
|
clientSourceId: clientSourceId
|
package/dist/types.js
CHANGED
|
@@ -1,21 +1 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
Object.defineProperty(exports, "IInboxMessagePreview", {
|
|
7
|
-
enumerable: true,
|
|
8
|
-
get: function get() {
|
|
9
|
-
return _clientGraphql.IInboxMessagePreview;
|
|
10
|
-
}
|
|
11
|
-
});
|
|
12
|
-
Object.defineProperty(exports, "Interceptor", {
|
|
13
|
-
enumerable: true,
|
|
14
|
-
get: function get() {
|
|
15
|
-
return _types.Interceptor;
|
|
16
|
-
}
|
|
17
|
-
});
|
|
18
|
-
|
|
19
|
-
var _clientGraphql = require("@trycourier/client-graphql");
|
|
20
|
-
|
|
21
|
-
var _types = require("./transports/types");
|
|
1
|
+
"use strict";
|
package/package.json
CHANGED
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@trycourier/react-provider",
|
|
3
|
-
"version": "6.0.1-internal.
|
|
3
|
+
"version": "6.0.1-internal.1e0f6ce.0+1e0f6ce",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"types": "typings/index.d.ts",
|
|
7
7
|
"scripts": {
|
|
8
|
-
"test": "jest -c jest.config.js --runInBand",
|
|
9
8
|
"babel": "babel src -d dist --extensions \".ts,.tsx\" --ignore \"src/**/__tests__/**\" --ignore \"src/**/__mocks__/**\"",
|
|
10
9
|
"build:watch": "yarn babel --watch",
|
|
11
10
|
"build": "rimraf dist && yarn babel",
|
|
12
11
|
"clean": "rimraf dist && rimraf typings",
|
|
13
|
-
"type-check": "tsc --noEmit",
|
|
14
12
|
"readme": "concat-md --toc --decrease-title-levels --dir-name-as-title docs > README.md",
|
|
15
|
-
"
|
|
13
|
+
"type-check": "tsc --noEmit",
|
|
14
|
+
"types": "rimraf typings && tsc --emitDeclarationOnly"
|
|
16
15
|
},
|
|
17
16
|
"license": "ISC",
|
|
18
17
|
"dependencies": {
|
|
19
|
-
"@trycourier/client-graphql": "^6.0.1-internal.
|
|
18
|
+
"@trycourier/client-graphql": "^6.0.1-internal.1e0f6ce.0+1e0f6ce",
|
|
19
|
+
"@trycourier/core": "^6.0.1-internal.1e0f6ce.0+1e0f6ce",
|
|
20
20
|
"@trycourier/courier-js": "^1.4.2",
|
|
21
|
+
"@trycourier/transport": "^6.0.1-internal.1e0f6ce.0+1e0f6ce",
|
|
21
22
|
"buffer": "^6.0.3",
|
|
22
23
|
"jwt-decode": "^3.1.2",
|
|
23
24
|
"react-use": "^17.2.1",
|
|
24
|
-
"reconnecting-websocket": "^4.4.0",
|
|
25
25
|
"rimraf": "^3.0.2",
|
|
26
26
|
"urql": "^2.0.1",
|
|
27
27
|
"uuid": "^9.0.0"
|
|
@@ -34,5 +34,5 @@
|
|
|
34
34
|
"dist/",
|
|
35
35
|
"typings/"
|
|
36
36
|
],
|
|
37
|
-
"gitHead": "
|
|
37
|
+
"gitHead": "1e0f6ce4dee7fe62a5cd45736a08b73799659773"
|
|
38
38
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-courier-actions.d.ts","sourceRoot":"","sources":["../../src/hooks/use-courier-actions.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"use-courier-actions.d.ts","sourceRoot":"","sources":["../../src/hooks/use-courier-actions.ts"],"names":[],"mappings":"AAUA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAG1C,QAAA,MAAM,iBAAiB,iCAAsB,eAmH5C,CAAC;AAEF,eAAe,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-is-online.d.ts","sourceRoot":"","sources":["../../src/hooks/use-is-online.ts"],"names":[],"mappings":"AAEA,QAAA,MAAM,WAAW,QAAO,OAAO,GAAG,SAoBjC,CAAC;AAEF,OAAO,EAAE,WAAW,EAAE,CAAC"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { ICourierContext } from "..";
|
|
2
|
+
export declare const useListenForTransportEvent: ({ transport, createTrackEvent, }: {
|
|
3
|
+
transport: ICourierContext["transport"];
|
|
4
|
+
createTrackEvent: (trackingId: string) => void;
|
|
5
|
+
}) => void;
|
|
6
|
+
//# sourceMappingURL=use-listen-for-transport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-listen-for-transport.d.ts","sourceRoot":"","sources":["../../src/hooks/use-listen-for-transport.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,IAAI,CAAC;AAGrC,eAAO,MAAM,0BAA0B;eAI1B,eAAe,CAAC,WAAW,CAAC;mCACR,MAAM,KAAK,IAAI;UAoB/C,CAAC"}
|
package/typings/index.d.ts
CHANGED
|
@@ -1,13 +1,10 @@
|
|
|
1
1
|
import React, { PropsWithChildren } from "react";
|
|
2
|
-
import {
|
|
3
|
-
import { IActionElemental, ICourierEventMessage, IInboxMessagePreview, ITextElemental, Interceptor } from "./transports/types";
|
|
2
|
+
import { ICourierContext, ICourierProviderProps, OnEvent, ProviderTheme } from "./types";
|
|
4
3
|
import { Middleware } from "./middleware";
|
|
5
|
-
export * from "./transports";
|
|
6
4
|
export * from "./hooks";
|
|
7
|
-
export * from "./lib";
|
|
8
5
|
export declare const registerReducer: (scope: any, reducer: any) => void;
|
|
9
6
|
export declare const registerMiddleware: (id: string, middleware: Middleware) => void;
|
|
10
|
-
export type {
|
|
7
|
+
export type { Middleware, OnEvent, ProviderTheme, ICourierContext };
|
|
11
8
|
export declare const CourierContext: React.Context<ICourierContext | undefined>;
|
|
12
9
|
export declare const CourierProvider: React.FunctionComponent<PropsWithChildren<ICourierProviderProps>>;
|
|
13
10
|
//# sourceMappingURL=index.d.ts.map
|
package/typings/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,EAIZ,iBAAiB,EAClB,MAAM,OAAO,CAAC;AAGf,OAAO,EACL,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,EAIZ,iBAAiB,EAClB,MAAM,OAAO,CAAC;AAGf,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,OAAO,EACP,aAAa,EAEd,MAAM,SAAS,CAAC;AAMjB,OAA0B,EACxB,UAAU,EAEX,MAAM,cAAc,CAAC;AAUtB,cAAc,SAAS,CAAC;AAExB,eAAO,MAAM,eAAe,oCAAmB,CAAC;AAChD,eAAO,MAAM,kBAAkB,8CAAsB,CAAC;AAEtD,YAAY,EAAE,UAAU,EAAE,OAAO,EAAE,aAAa,EAAE,eAAe,EAAE,CAAC;AAkBpE,eAAO,MAAM,cAAc,4CACkC,CAAC;AAsO9D,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,iBAAiB,CACnD,iBAAiB,CAAC,qBAAqB,CAAC,CAQzC,CAAC"}
|
package/typings/types.d.ts
CHANGED
|
@@ -1,96 +1,7 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import {
|
|
3
|
-
import {
|
|
4
|
-
|
|
5
|
-
export { Interceptor } from "./transports/types";
|
|
6
|
-
export declare type ErrorEventHandler = (event: ErrorEvent) => void;
|
|
7
|
-
export declare type PreferenceStatus = "OPTED_IN" | "OPTED_OUT" | "REQUIRED";
|
|
8
|
-
export declare type RepeatOn = {
|
|
9
|
-
sunday?: boolean;
|
|
10
|
-
monday?: boolean;
|
|
11
|
-
tuesday?: boolean;
|
|
12
|
-
wednesday?: boolean;
|
|
13
|
-
thursday?: boolean;
|
|
14
|
-
friday?: boolean;
|
|
15
|
-
saturday?: boolean;
|
|
16
|
-
};
|
|
17
|
-
export interface DigestSchedule {
|
|
18
|
-
period: string;
|
|
19
|
-
repetition: string;
|
|
20
|
-
scheduleId: string;
|
|
21
|
-
default?: boolean;
|
|
22
|
-
start: string;
|
|
23
|
-
recurrence: string;
|
|
24
|
-
repeat?: {
|
|
25
|
-
frequency: number;
|
|
26
|
-
interval: "day" | "week" | "month" | "year";
|
|
27
|
-
on?: string | RepeatOn;
|
|
28
|
-
};
|
|
29
|
-
end?: number | string;
|
|
30
|
-
}
|
|
31
|
-
export interface IPreferenceTemplate {
|
|
32
|
-
templateName: string;
|
|
33
|
-
templateId: string;
|
|
34
|
-
defaultStatus: PreferenceStatus;
|
|
35
|
-
digestSchedules?: DigestSchedule[];
|
|
36
|
-
}
|
|
37
|
-
export declare type WSOptions = {
|
|
38
|
-
url?: string;
|
|
39
|
-
onError?: ErrorEventHandler;
|
|
40
|
-
onClose?: () => void;
|
|
41
|
-
onReconnect?: () => void;
|
|
42
|
-
connectionTimeout?: number;
|
|
43
|
-
};
|
|
44
|
-
export declare type OnEvent = (eventParams: {
|
|
45
|
-
messageId?: string;
|
|
46
|
-
message?: IInboxMessagePreview;
|
|
47
|
-
event: EventType;
|
|
48
|
-
data?: Record<string, unknown>;
|
|
49
|
-
}) => void;
|
|
50
|
-
export interface PinDetails {
|
|
51
|
-
id: string;
|
|
52
|
-
label: {
|
|
53
|
-
value: string;
|
|
54
|
-
color: string;
|
|
55
|
-
};
|
|
56
|
-
icon: {
|
|
57
|
-
value: string;
|
|
58
|
-
color: string;
|
|
59
|
-
};
|
|
60
|
-
}
|
|
61
|
-
export interface Brand {
|
|
62
|
-
inapp?: {
|
|
63
|
-
disableCourierFooter?: boolean;
|
|
64
|
-
borderRadius?: string;
|
|
65
|
-
disableMessageIcon?: boolean;
|
|
66
|
-
placement?: "top" | "bottom" | "left" | "right";
|
|
67
|
-
emptyState?: {
|
|
68
|
-
textColor?: string;
|
|
69
|
-
text?: string;
|
|
70
|
-
};
|
|
71
|
-
widgetBackground?: {
|
|
72
|
-
topColor?: string;
|
|
73
|
-
bottomColor?: string;
|
|
74
|
-
};
|
|
75
|
-
icons?: {
|
|
76
|
-
bell?: string;
|
|
77
|
-
message?: string;
|
|
78
|
-
};
|
|
79
|
-
slots?: Array<PinDetails>;
|
|
80
|
-
toast?: {
|
|
81
|
-
borderRadius?: string;
|
|
82
|
-
timerAutoClose?: number;
|
|
83
|
-
};
|
|
84
|
-
renderActionsAsButtons?: boolean;
|
|
85
|
-
};
|
|
86
|
-
preferenceTemplates?: Array<IPreferenceTemplate>;
|
|
87
|
-
colors?: {
|
|
88
|
-
primary?: string;
|
|
89
|
-
secondary?: string;
|
|
90
|
-
tertiary?: string;
|
|
91
|
-
};
|
|
92
|
-
}
|
|
93
|
-
export declare type EventType = "add-tag" | "archive" | "click" | "mark-all-read" | "opened" | "read" | "remove-tag" | "unpin" | "unread";
|
|
1
|
+
import { CourierTransport, WSOptions } from "@trycourier/transport";
|
|
2
|
+
import { Interceptor } from "@trycourier/core";
|
|
3
|
+
import { Brand } from "@trycourier/core";
|
|
4
|
+
import { IInboxMessagePreview } from "@trycourier/core";
|
|
94
5
|
export interface ThemeVariables {
|
|
95
6
|
background?: string;
|
|
96
7
|
textColor?: string;
|
|
@@ -99,6 +10,12 @@ export interface ThemeVariables {
|
|
|
99
10
|
structure?: string;
|
|
100
11
|
icon?: string;
|
|
101
12
|
}
|
|
13
|
+
export declare type OnEvent = (eventParams: {
|
|
14
|
+
messageId?: string;
|
|
15
|
+
message?: IInboxMessagePreview;
|
|
16
|
+
event: string;
|
|
17
|
+
data?: Record<string, unknown>;
|
|
18
|
+
}) => void;
|
|
102
19
|
export interface ProviderTheme {
|
|
103
20
|
colorMode?: "dark" | "light";
|
|
104
21
|
variables?: ThemeVariables;
|
|
@@ -114,10 +31,10 @@ export interface ICourierProviderProps {
|
|
|
114
31
|
inboxApiUrl?: string;
|
|
115
32
|
localStorage?: Storage;
|
|
116
33
|
onMessage?: Interceptor;
|
|
117
|
-
onRouteChange?: (route: string) => void;
|
|
34
|
+
onRouteChange?: (route: string, message: IInboxMessagePreview) => void;
|
|
118
35
|
tenantId?: string;
|
|
119
36
|
theme?: ProviderTheme;
|
|
120
|
-
transport?: CourierTransport
|
|
37
|
+
transport?: CourierTransport;
|
|
121
38
|
userId?: string;
|
|
122
39
|
userSignature?: string;
|
|
123
40
|
wsOptions?: WSOptions;
|
package/typings/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports["default"] = void 0;
|
|
9
|
-
|
|
10
|
-
var _react = require("react");
|
|
11
|
-
|
|
12
|
-
var _transports = require("../transports");
|
|
13
|
-
|
|
14
|
-
var _jwtDecode = _interopRequireDefault(require("jwt-decode"));
|
|
15
|
-
|
|
16
|
-
var useTransport = function useTransport(_ref) {
|
|
17
|
-
var tenantId = _ref.tenantId,
|
|
18
|
-
authorization = _ref.authorization,
|
|
19
|
-
clientSourceId = _ref.clientSourceId,
|
|
20
|
-
clientKey = _ref.clientKey,
|
|
21
|
-
transport = _ref.transport,
|
|
22
|
-
userSignature = _ref.userSignature,
|
|
23
|
-
wsOptions = _ref.wsOptions;
|
|
24
|
-
var transportRef = (0, _react.useRef)();
|
|
25
|
-
var newTransport = (0, _react.useMemo)(function () {
|
|
26
|
-
var _transportRef$current;
|
|
27
|
-
|
|
28
|
-
if (transport) {
|
|
29
|
-
return transport;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
if (authorization && transportRef !== null && transportRef !== void 0 && (_transportRef$current = transportRef.current) !== null && _transportRef$current !== void 0 && _transportRef$current.authorization && transportRef !== null && transportRef !== void 0 && transportRef.current.transport) {
|
|
33
|
-
var _transportRef$current2;
|
|
34
|
-
|
|
35
|
-
var oldDecodedAuth = (0, _jwtDecode["default"])(transportRef === null || transportRef === void 0 ? void 0 : (_transportRef$current2 = transportRef.current) === null || _transportRef$current2 === void 0 ? void 0 : _transportRef$current2.authorization);
|
|
36
|
-
var newDecodedAuth = (0, _jwtDecode["default"])(authorization);
|
|
37
|
-
|
|
38
|
-
if (oldDecodedAuth.scope === newDecodedAuth.scope && oldDecodedAuth.tenantId === newDecodedAuth.tenantId) {
|
|
39
|
-
transportRef.current.transport.renewSession(authorization);
|
|
40
|
-
return transportRef.current.transport;
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
if (!clientKey && !authorization) {
|
|
45
|
-
if (undefined !== "production") {
|
|
46
|
-
console.warn("Courier: Missing ClientKey or Authorization");
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
if (!clientSourceId) {
|
|
53
|
-
if (undefined !== "production") {
|
|
54
|
-
console.warn("Courier: Missing ClientSourceId");
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
return;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
var newTransport = new _transports.CourierTransport({
|
|
61
|
-
tenantId: tenantId,
|
|
62
|
-
authorization: authorization,
|
|
63
|
-
clientSourceId: clientSourceId,
|
|
64
|
-
clientKey: clientKey,
|
|
65
|
-
userSignature: userSignature,
|
|
66
|
-
wsOptions: wsOptions
|
|
67
|
-
}); // keep track of the transport so we don't reconnect when we don't have to
|
|
68
|
-
|
|
69
|
-
if (authorization) {
|
|
70
|
-
transportRef.current = {
|
|
71
|
-
authorization: authorization,
|
|
72
|
-
transport: newTransport
|
|
73
|
-
};
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
return newTransport;
|
|
77
|
-
}, [tenantId, authorization, clientKey, transport, userSignature, wsOptions]);
|
|
78
|
-
return newTransport;
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
var _default = useTransport;
|
|
82
|
-
exports["default"] = _default;
|
package/dist/lib/index.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.getDateDiff = void 0;
|
|
7
|
-
|
|
8
|
-
var getDateDiff = function getDateDiff(date) {
|
|
9
|
-
if (!date) {
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
var now = new Date().getTime();
|
|
14
|
-
var dateDiff = now - date; // if datediff is 0, return 1 so we can do "!datediff"
|
|
15
|
-
|
|
16
|
-
return Math.max(dateDiff, 1);
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
exports.getDateDiff = getDateDiff;
|
package/dist/transports/base.js
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
|
|
4
|
-
|
|
5
|
-
Object.defineProperty(exports, "__esModule", {
|
|
6
|
-
value: true
|
|
7
|
-
});
|
|
8
|
-
exports.Transport = void 0;
|
|
9
|
-
|
|
10
|
-
var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/toConsumableArray"));
|
|
11
|
-
|
|
12
|
-
var _classCallCheck2 = _interopRequireDefault(require("@babel/runtime/helpers/classCallCheck"));
|
|
13
|
-
|
|
14
|
-
function _createForOfIteratorHelper(o, allowArrayLike) { var it; if (typeof Symbol === "undefined" || o[Symbol.iterator] == null) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = o[Symbol.iterator](); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
15
|
-
|
|
16
|
-
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
17
|
-
|
|
18
|
-
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }
|
|
19
|
-
|
|
20
|
-
var ListenerType;
|
|
21
|
-
|
|
22
|
-
(function (ListenerType) {
|
|
23
|
-
ListenerType["message"] = "message";
|
|
24
|
-
ListenerType["event"] = "event";
|
|
25
|
-
})(ListenerType || (ListenerType = {}));
|
|
26
|
-
|
|
27
|
-
var Transport = function Transport() {
|
|
28
|
-
var _this = this;
|
|
29
|
-
|
|
30
|
-
(0, _classCallCheck2["default"])(this, Transport);
|
|
31
|
-
|
|
32
|
-
this.emit = function (courierEvent) {
|
|
33
|
-
var _courierEvent$type;
|
|
34
|
-
|
|
35
|
-
var eventType = (_courierEvent$type = courierEvent.type) !== null && _courierEvent$type !== void 0 ? _courierEvent$type : "message";
|
|
36
|
-
var listeners = _this.listeners[eventType];
|
|
37
|
-
|
|
38
|
-
if (!listeners.length) {
|
|
39
|
-
console.warn("No Listeners Registered");
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
var _iterator = _createForOfIteratorHelper(listeners),
|
|
44
|
-
_step;
|
|
45
|
-
|
|
46
|
-
try {
|
|
47
|
-
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
48
|
-
var listener = _step.value.listener;
|
|
49
|
-
listener(courierEvent);
|
|
50
|
-
}
|
|
51
|
-
} catch (err) {
|
|
52
|
-
_iterator.e(err);
|
|
53
|
-
} finally {
|
|
54
|
-
_iterator.f();
|
|
55
|
-
}
|
|
56
|
-
};
|
|
57
|
-
|
|
58
|
-
this.listen = function (listener) {
|
|
59
|
-
var _listener$type;
|
|
60
|
-
|
|
61
|
-
var didReplaceListener = false;
|
|
62
|
-
var eventType = (_listener$type = listener.type) !== null && _listener$type !== void 0 ? _listener$type : "message";
|
|
63
|
-
var listeners = _this.listeners[eventType];
|
|
64
|
-
listeners = listeners.map(function (l) {
|
|
65
|
-
if (l.id === listener.id) {
|
|
66
|
-
didReplaceListener = true;
|
|
67
|
-
return listener;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
return l;
|
|
71
|
-
});
|
|
72
|
-
|
|
73
|
-
if (didReplaceListener) {
|
|
74
|
-
_this.listeners[eventType] = listeners;
|
|
75
|
-
return;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
_this.listeners[eventType] = [].concat((0, _toConsumableArray2["default"])(_this.listeners[eventType]), [listener]);
|
|
79
|
-
};
|
|
80
|
-
|
|
81
|
-
this.intercept = function (cb) {
|
|
82
|
-
_this.interceptor = cb;
|
|
83
|
-
};
|
|
84
|
-
|
|
85
|
-
this.listeners = {
|
|
86
|
-
message: [],
|
|
87
|
-
event: []
|
|
88
|
-
};
|
|
89
|
-
this.interceptor = undefined;
|
|
90
|
-
}
|
|
91
|
-
/** Callback for emitted events */
|
|
92
|
-
;
|
|
93
|
-
|
|
94
|
-
exports.Transport = Transport;
|