@trycourier/react-provider 5.1.3-internal.657026c.0 → 6.0.1-internal.00141d1.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.
Files changed (37) hide show
  1. package/dist/hooks/use-courier-actions.js +96 -11
  2. package/dist/hooks/use-courier.js +2 -1
  3. package/dist/index.js +14 -34
  4. package/dist/types.js +1 -21
  5. package/package.json +8 -7
  6. package/typings/hooks/use-courier-actions.d.ts +1 -13
  7. package/typings/hooks/use-courier-actions.d.ts.map +1 -1
  8. package/typings/hooks/use-courier.d.ts +1 -1
  9. package/typings/hooks/use-courier.d.ts.map +1 -1
  10. package/typings/index.d.ts +2 -5
  11. package/typings/index.d.ts.map +1 -1
  12. package/typings/types.d.ts +21 -63
  13. package/typings/types.d.ts.map +1 -1
  14. package/dist/hooks/use-transport.js +0 -82
  15. package/dist/lib/index.js +0 -19
  16. package/dist/transports/base.js +0 -94
  17. package/dist/transports/courier/index.js +0 -147
  18. package/dist/transports/courier/types.js +0 -1
  19. package/dist/transports/index.js +0 -31
  20. package/dist/transports/types.js +0 -0
  21. package/dist/ws.js +0 -304
  22. package/typings/hooks/use-transport.d.ts +0 -13
  23. package/typings/hooks/use-transport.d.ts.map +0 -1
  24. package/typings/lib/index.d.ts +0 -2
  25. package/typings/lib/index.d.ts.map +0 -1
  26. package/typings/transports/base.d.ts +0 -27
  27. package/typings/transports/base.d.ts.map +0 -1
  28. package/typings/transports/courier/index.d.ts +0 -26
  29. package/typings/transports/courier/index.d.ts.map +0 -1
  30. package/typings/transports/courier/types.d.ts +0 -10
  31. package/typings/transports/courier/types.d.ts.map +0 -1
  32. package/typings/transports/index.d.ts +0 -3
  33. package/typings/transports/index.d.ts.map +0 -1
  34. package/typings/transports/types.d.ts +0 -50
  35. package/typings/transports/types.d.ts.map +0 -1
  36. package/typings/ws.d.ts +0 -46
  37. package/typings/ws.d.ts.map +0 -1
@@ -15,7 +15,9 @@ var _react = require("react");
15
15
 
16
16
  var _clientGraphql = require("@trycourier/client-graphql");
17
17
 
18
- var _ = require("..");
18
+ var _transport = require("@trycourier/transport");
19
+
20
+ var _courierJs = _interopRequireDefault(require("@trycourier/courier-js"));
19
21
 
20
22
  var useCourierActions = function useCourierActions(state, dispatch) {
21
23
  return (0, _react.useMemo)(function () {
@@ -27,6 +29,20 @@ var useCourierActions = function useCourierActions(state, dispatch) {
27
29
  userId: state.userId,
28
30
  userSignature: state.userSignature
29
31
  });
32
+ var clientKey = state.clientKey; //ensure we always have a clientkey
33
+
34
+ if (!clientKey && state.authorization) {
35
+ clientKey = "JWT_AUTH";
36
+ }
37
+
38
+ _courierJs["default"].init({
39
+ baseUrl: state.apiUrl,
40
+ authorization: state.authorization,
41
+ clientKey: clientKey,
42
+ userId: state.userId,
43
+ userSignature: state.userSignature
44
+ });
45
+
30
46
  var brands = (0, _clientGraphql.Brands)({
31
47
  client: courierClient
32
48
  });
@@ -34,11 +50,80 @@ var useCourierActions = function useCourierActions(state, dispatch) {
34
50
  client: courierClient
35
51
  });
36
52
  return {
37
- init: function () {
38
- var _init = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee(payload) {
53
+ dispatch: dispatch,
54
+ track: function track(event, properties) {
55
+ return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee() {
39
56
  return _regenerator["default"].wrap(function _callee$(_context) {
40
57
  while (1) {
41
58
  switch (_context.prev = _context.next) {
59
+ case 0:
60
+ _context.next = 2;
61
+ return _courierJs["default"].track(event, properties);
62
+
63
+ case 2:
64
+ case "end":
65
+ return _context.stop();
66
+ }
67
+ }
68
+ }, _callee);
69
+ }))();
70
+ },
71
+ identify: function identify(userId, payload) {
72
+ return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2() {
73
+ return _regenerator["default"].wrap(function _callee2$(_context2) {
74
+ while (1) {
75
+ switch (_context2.prev = _context2.next) {
76
+ case 0:
77
+ _context2.next = 2;
78
+ return _courierJs["default"].identify(userId, payload);
79
+
80
+ case 2:
81
+ case "end":
82
+ return _context2.stop();
83
+ }
84
+ }
85
+ }, _callee2);
86
+ }))();
87
+ },
88
+ subscribe: function subscribe(userId, listId) {
89
+ return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee3() {
90
+ return _regenerator["default"].wrap(function _callee3$(_context3) {
91
+ while (1) {
92
+ switch (_context3.prev = _context3.next) {
93
+ case 0:
94
+ _context3.next = 2;
95
+ return _courierJs["default"].subscribe(userId, listId);
96
+
97
+ case 2:
98
+ case "end":
99
+ return _context3.stop();
100
+ }
101
+ }
102
+ }, _callee3);
103
+ }))();
104
+ },
105
+ unsubscribe: function unsubscribe(userId, listId) {
106
+ return (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee4() {
107
+ return _regenerator["default"].wrap(function _callee4$(_context4) {
108
+ while (1) {
109
+ switch (_context4.prev = _context4.next) {
110
+ case 0:
111
+ _context4.next = 2;
112
+ return _courierJs["default"].unsubscribe(userId, listId);
113
+
114
+ case 2:
115
+ case "end":
116
+ return _context4.stop();
117
+ }
118
+ }
119
+ }, _callee4);
120
+ }))();
121
+ },
122
+ init: function () {
123
+ var _init = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(payload) {
124
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
125
+ while (1) {
126
+ switch (_context5.prev = _context5.next) {
42
127
  case 0:
43
128
  dispatch({
44
129
  type: "root/INIT",
@@ -47,10 +132,10 @@ var useCourierActions = function useCourierActions(state, dispatch) {
47
132
 
48
133
  case 1:
49
134
  case "end":
50
- return _context.stop();
135
+ return _context5.stop();
51
136
  }
52
137
  }
53
- }, _callee);
138
+ }, _callee5);
54
139
  }));
55
140
 
56
141
  function init(_x) {
@@ -112,12 +197,12 @@ var useCourierActions = function useCourierActions(state, dispatch) {
112
197
  });
113
198
  },
114
199
  renewSession: function () {
115
- var _renewSession = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee2(token) {
116
- return _regenerator["default"].wrap(function _callee2$(_context2) {
200
+ var _renewSession = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee6(token) {
201
+ return _regenerator["default"].wrap(function _callee6$(_context6) {
117
202
  while (1) {
118
- switch (_context2.prev = _context2.next) {
203
+ switch (_context6.prev = _context6.next) {
119
204
  case 0:
120
- if (state.transport instanceof _.CourierTransport) {
205
+ if (state.transport instanceof _transport.CourierTransport) {
121
206
  state.transport.renewSession(token);
122
207
  }
123
208
 
@@ -128,10 +213,10 @@ var useCourierActions = function useCourierActions(state, dispatch) {
128
213
 
129
214
  case 2:
130
215
  case "end":
131
- return _context2.stop();
216
+ return _context6.stop();
132
217
  }
133
218
  }
134
- }, _callee2);
219
+ }, _callee6);
135
220
  }));
136
221
 
137
222
  function renewSession(_x2) {
@@ -10,7 +10,8 @@ var _react = require("react");
10
10
  var _ = require("../");
11
11
 
12
12
  function useCourier() {
13
- return (0, _react.useContext)(_.CourierContext);
13
+ var context = (0, _react.useContext)(_.CourierContext);
14
+ return context;
14
15
  }
15
16
 
16
17
  var _default = useCourier;
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,20 +43,6 @@ var _theme2 = require("./theme");
43
43
 
44
44
  var _styledComponents = require("styled-components");
45
45
 
46
- var _transports = require("./transports");
47
-
48
- Object.keys(_transports).forEach(function (key) {
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
- });
59
-
60
46
  var _hooks = require("./hooks");
61
47
 
62
48
  Object.keys(_hooks).forEach(function (key) {
@@ -71,20 +57,6 @@ Object.keys(_hooks).forEach(function (key) {
71
57
  });
72
58
  });
73
59
 
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
60
  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
61
 
90
62
  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; }
@@ -119,7 +91,7 @@ var CourierContext = /*#__PURE__*/_react["default"].createContext(undefined);
119
91
 
120
92
  exports.CourierContext = CourierContext;
121
93
 
122
- var CourierProvider = function CourierProvider(_ref2) {
94
+ var CourierProviderInner = function CourierProviderInner(_ref2) {
123
95
  var _window;
124
96
 
125
97
  var apiUrl = _ref2.apiUrl,
@@ -161,7 +133,7 @@ var CourierProvider = function CourierProvider(_ref2) {
161
133
  return applyMiddleware(_middleware["default"]);
162
134
  }, [applyMiddleware]);
163
135
  var useReducer = (0, _react.useCallback)(_createReducer["default"].apply(void 0, (0, _toConsumableArray2["default"])(middleware)), [middleware]);
164
- var transport = typeof window === "undefined" ? undefined : (0, _useTransport["default"])({
136
+ var transport = typeof window === "undefined" ? undefined : (0, _reactHooks.useTransport)({
165
137
  tenantId: tenantId,
166
138
  authorization: authorization,
167
139
  clientSourceId: clientSourceId,
@@ -286,12 +258,20 @@ var CourierProvider = function CourierProvider(_ref2) {
286
258
  }, [state.brand, clientKey, userId, state.localStorage]);
287
259
  return /*#__PURE__*/_react["default"].createElement(CourierContext.Provider, {
288
260
  value: _objectSpread(_objectSpread(_objectSpread({}, state), actions), {}, {
289
- clientSourceId: clientSourceId,
290
- dispatch: dispatch
261
+ clientSourceId: clientSourceId
291
262
  })
292
263
  }, /*#__PURE__*/_react["default"].createElement(GlobalThemeVariables, {
293
264
  theme: theme
294
265
  }), children);
295
266
  };
296
267
 
268
+ var CourierProvider = function CourierProvider(props) {
269
+ if (!props.clientKey && !props.authorization) {
270
+ console.warn("Missing ClientKey or Authorization Token");
271
+ return /*#__PURE__*/_react["default"].createElement(_react["default"].Fragment, null, props.children);
272
+ }
273
+
274
+ return /*#__PURE__*/_react["default"].createElement(CourierProviderInner, props);
275
+ };
276
+
297
277
  exports.CourierProvider = CourierProvider;
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,26 +1,27 @@
1
1
  {
2
2
  "name": "@trycourier/react-provider",
3
- "version": "5.1.3-internal.657026c.0+657026c",
3
+ "version": "6.0.1-internal.00141d1.0+00141d1",
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
- "types": "tsc --emitDeclarationOnly"
13
+ "type-check": "tsc --noEmit",
14
+ "types": "rimraf typings && tsc --emitDeclarationOnly"
16
15
  },
17
16
  "license": "ISC",
18
17
  "dependencies": {
19
- "@trycourier/client-graphql": "^5.1.3-internal.657026c.0+657026c",
18
+ "@trycourier/client-graphql": "^6.0.1-internal.00141d1.0+00141d1",
19
+ "@trycourier/core": "^6.0.1-internal.00141d1.0+00141d1",
20
+ "@trycourier/courier-js": "^1.4.2",
21
+ "@trycourier/transport": "^6.0.1-internal.00141d1.0+00141d1",
20
22
  "buffer": "^6.0.3",
21
23
  "jwt-decode": "^3.1.2",
22
24
  "react-use": "^17.2.1",
23
- "reconnecting-websocket": "^4.4.0",
24
25
  "rimraf": "^3.0.2",
25
26
  "urql": "^2.0.1",
26
27
  "uuid": "^9.0.0"
@@ -33,5 +34,5 @@
33
34
  "dist/",
34
35
  "typings/"
35
36
  ],
36
- "gitHead": "657026ceeb564a3303d3c8ed70a121f45ec3d3d1"
37
+ "gitHead": "00141d141f9340b87df46100da169d0c17a79b34"
37
38
  }
@@ -1,16 +1,4 @@
1
- import { Brand } from "..";
2
1
  import { ICourierContext } from "~/types";
3
- declare const useCourierActions: (state: any, dispatch: any) => {
4
- init: (payload: Partial<ICourierContext>) => Promise<void>;
5
- initToast: (payload: any) => void;
6
- initInbox: (payload: any) => void;
7
- pageVisible: () => void;
8
- wsReconnected: () => void;
9
- getBrand: (brandId?: string | undefined) => void;
10
- setBrand: (brand: Brand) => void;
11
- createTrackEvent: (trackingId: string) => void;
12
- createBatchTrackEvent: (eventType: string) => void;
13
- renewSession: (token: any) => Promise<void>;
14
- };
2
+ declare const useCourierActions: (state: any, dispatch: any) => ICourierContext;
15
3
  export default useCourierActions;
16
4
  //# sourceMappingURL=use-courier-actions.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-courier-actions.d.ts","sourceRoot":"","sources":["../../src/hooks/use-courier-actions.ts"],"names":[],"mappings":"AAOA,OAAO,EAAE,KAAK,EAAoB,MAAM,IAAI,CAAC;AAC7C,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,QAAA,MAAM,iBAAiB;oBAeK,QAAQ,eAAe,CAAC;;;;;;sBAkC5B,KAAK;mCAMQ,MAAM;uCAMF,MAAM;;CAuB9C,CAAC;AAEF,eAAe,iBAAiB,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"}
@@ -1,4 +1,4 @@
1
1
  import { ICourierContext } from "../types";
2
- declare function useCourier<T = any>(): ICourierContext & T;
2
+ declare function useCourier<T = unknown>(): ICourierContext & T;
3
3
  export default useCourier;
4
4
  //# sourceMappingURL=use-courier.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"use-courier.d.ts","sourceRoot":"","sources":["../../src/hooks/use-courier.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,iBAAS,UAAU,CAAC,CAAC,GAAG,GAAG,KAAK,eAAe,GAAG,CAAC,CAElD;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"use-courier.d.ts","sourceRoot":"","sources":["../../src/hooks/use-courier.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,iBAAS,UAAU,CAAC,CAAC,GAAG,OAAO,KAAK,eAAe,GAAG,CAAC,CAGtD;AAED,eAAe,UAAU,CAAC"}
@@ -1,13 +1,10 @@
1
1
  import React, { PropsWithChildren } from "react";
2
- import { Brand, EventType, ICourierContext, ICourierProviderProps, OnEvent, PinDetails, ProviderTheme, WSOptions } from "./types";
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 { Brand, EventType, IActionElemental, ICourierContext, ICourierEventMessage, IInboxMessagePreview, Interceptor, ITextElemental, Middleware, OnEvent, PinDetails, ProviderTheme, WSOptions, };
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
@@ -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,KAAK,EACL,SAAS,EACT,eAAe,EACf,qBAAqB,EACrB,OAAO,EACP,UAAU,EACV,aAAa,EAEb,SAAS,EACV,MAAM,SAAS,CAAC;AAEjB,OAAO,EACL,gBAAgB,EAChB,oBAAoB,EACpB,oBAAoB,EACpB,cAAc,EACd,WAAW,EACZ,MAAM,oBAAoB,CAAC;AAE5B,OAA0B,EACxB,UAAU,EAEX,MAAM,cAAc,CAAC;AAStB,cAAc,cAAc,CAAC;AAC7B,cAAc,SAAS,CAAC;AACxB,cAAc,OAAO,CAAC;AAEtB,eAAO,MAAM,eAAe,oCAAmB,CAAC;AAChD,eAAO,MAAM,kBAAkB,8CAAsB,CAAC;AAEtD,YAAY,EACV,KAAK,EACL,SAAS,EACT,gBAAgB,EAChB,eAAe,EACf,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,cAAc,EACd,UAAU,EACV,OAAO,EACP,UAAU,EACV,aAAa,EACb,SAAS,GACV,CAAC;AAkBF,eAAO,MAAM,cAAc,4CACkC,CAAC;AAE9D,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,iBAAiB,CACnD,iBAAiB,CAAC,qBAAqB,CAAC,CA2NzC,CAAC"}
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;AAQtB,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;AA+N9D,eAAO,MAAM,eAAe,EAAE,KAAK,CAAC,iBAAiB,CACnD,iBAAiB,CAAC,qBAAqB,CAAC,CAQzC,CAAC"}
@@ -1,65 +1,7 @@
1
- import { ErrorEvent } from "reconnecting-websocket";
2
- import { CourierTransport, Transport } from "./transports";
3
- import { IInboxMessagePreview, Interceptor } from "./transports/types";
4
- export { IInboxMessagePreview } from "@trycourier/client-graphql";
5
- export { Interceptor } from "./transports/types";
6
- export declare type ErrorEventHandler = (event: ErrorEvent) => void;
7
- export declare type WSOptions = {
8
- url?: string;
9
- onError?: ErrorEventHandler;
10
- onClose?: () => void;
11
- onReconnect?: () => void;
12
- connectionTimeout?: number;
13
- };
14
- export declare type OnEvent = (eventParams: {
15
- messageId?: string;
16
- message?: IInboxMessagePreview;
17
- event: EventType;
18
- data?: Record<string, unknown>;
19
- }) => void;
20
- export interface PinDetails {
21
- id: string;
22
- label: {
23
- value: string;
24
- color: string;
25
- };
26
- icon: {
27
- value: string;
28
- color: string;
29
- };
30
- }
31
- export interface Brand {
32
- inapp?: {
33
- disableCourierFooter?: boolean;
34
- borderRadius?: string;
35
- disableMessageIcon?: boolean;
36
- placement?: "top" | "bottom" | "left" | "right";
37
- emptyState?: {
38
- textColor?: string;
39
- text?: string;
40
- };
41
- widgetBackground?: {
42
- topColor?: string;
43
- bottomColor?: string;
44
- };
45
- icons?: {
46
- bell?: string;
47
- message?: string;
48
- };
49
- slots?: Array<PinDetails>;
50
- toast?: {
51
- borderRadius?: string;
52
- timerAutoClose?: number;
53
- };
54
- renderActionsAsButtons?: boolean;
55
- };
56
- colors?: {
57
- primary?: string;
58
- secondary?: string;
59
- tertiary?: string;
60
- };
61
- }
62
- export declare type EventType = "add-tag" | "archive" | "click" | "mark-all-read" | "opened" | "read" | "remove-tag" | "unpin" | "unread";
1
+ import { CourierTransport, Transport, WSOptions } from "@trycourier/transport";
2
+ import { Interceptor } from "@trycourier/core";
3
+ import { Brand } from "@trycourier/core";
4
+ import { IInboxMessagePreview } from "@trycourier/core";
63
5
  export interface ThemeVariables {
64
6
  background?: string;
65
7
  textColor?: string;
@@ -68,6 +10,12 @@ export interface ThemeVariables {
68
10
  structure?: string;
69
11
  icon?: string;
70
12
  }
13
+ export declare type OnEvent = (eventParams: {
14
+ messageId?: string;
15
+ message?: IInboxMessagePreview;
16
+ event: string;
17
+ data?: Record<string, unknown>;
18
+ }) => void;
71
19
  export interface ProviderTheme {
72
20
  colorMode?: "dark" | "light";
73
21
  variables?: ThemeVariables;
@@ -92,11 +40,21 @@ export interface ICourierProviderProps {
92
40
  wsOptions?: WSOptions;
93
41
  }
94
42
  export interface ICourierContext extends ICourierProviderProps {
43
+ clientSourceId?: string;
95
44
  dispatch: (action: {
96
45
  type: string;
97
46
  payload?: any;
98
47
  meta?: any;
99
48
  }) => void;
100
- clientSourceId: string;
49
+ getBrand: (brandId?: string) => void;
50
+ createTrackEvent: (trackingId: string) => void;
51
+ identify?: (userId: string, payload: Record<string, unknown>) => Promise<void>;
52
+ subscribe: (userId: string, listId: string) => Promise<void>;
53
+ track: (event: string, properties?: Record<string, unknown>) => Promise<void>;
54
+ unsubscribe: (userId: string, listId: string) => Promise<void>;
55
+ renewSession: (token: string) => void;
56
+ pageVisible: () => void;
57
+ init: (payload: Partial<ICourierContext>) => Promise<void>;
58
+ wsReconnected: () => void;
101
59
  }
102
60
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
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;