@trycourier/react-hooks 1.48.5 → 1.48.6-internal.2f25754.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 (44) hide show
  1. package/README.md +221 -3
  2. package/dist/inbox/actions/init.js +4 -5
  3. package/dist/inbox/actions/mark-all-read.js +33 -2
  4. package/dist/inbox/elemental-inbox/reducer.js +6 -6
  5. package/dist/inbox/elemental-inbox/use-inbox-actions.js +32 -7
  6. package/dist/inbox/reducer.js +33 -7
  7. package/dist/inbox/use-inbox-actions.js +7 -6
  8. package/package.json +3 -3
  9. package/typings/inbox/actions/init.d.ts +3 -3
  10. package/typings/inbox/actions/init.d.ts.map +1 -1
  11. package/typings/inbox/actions/mark-all-read.d.ts +22 -0
  12. package/typings/inbox/actions/mark-all-read.d.ts.map +1 -1
  13. package/typings/inbox/actions/rehydrate-messages.d.ts +4 -3
  14. package/typings/inbox/actions/rehydrate-messages.d.ts.map +1 -1
  15. package/typings/inbox/elemental-inbox/reducer.d.ts +7 -7
  16. package/typings/inbox/elemental-inbox/reducer.d.ts.map +1 -1
  17. package/typings/inbox/elemental-inbox/types.d.ts +1 -1
  18. package/typings/inbox/elemental-inbox/types.d.ts.map +1 -1
  19. package/typings/inbox/elemental-inbox/use-inbox-actions.d.ts +15 -1
  20. package/typings/inbox/elemental-inbox/use-inbox-actions.d.ts.map +1 -1
  21. package/typings/inbox/reducer.d.ts +4 -4
  22. package/typings/inbox/reducer.d.ts.map +1 -1
  23. package/typings/inbox/types.d.ts +5 -2
  24. package/typings/inbox/types.d.ts.map +1 -1
  25. package/typings/inbox/use-inbox-actions.d.ts +2 -2
  26. package/typings/inbox/use-inbox-actions.d.ts.map +1 -1
  27. package/dist/inbox/elemental-inbox/actions/init.js +0 -17
  28. package/dist/inbox/elemental-inbox/actions/mark-message-archived.js +0 -19
  29. package/dist/inbox/elemental-inbox/actions/mark-message-read.js +0 -19
  30. package/dist/inbox/elemental-inbox/actions/mark-message-unread.js +0 -19
  31. package/dist/inbox/elemental-inbox/actions/set-view.js +0 -17
  32. package/dist/inbox/elemental-inbox/actions/toggle-inbox.js +0 -17
  33. package/typings/inbox/elemental-inbox/actions/init.d.ts +0 -8
  34. package/typings/inbox/elemental-inbox/actions/init.d.ts.map +0 -1
  35. package/typings/inbox/elemental-inbox/actions/mark-message-archived.d.ts +0 -9
  36. package/typings/inbox/elemental-inbox/actions/mark-message-archived.d.ts.map +0 -1
  37. package/typings/inbox/elemental-inbox/actions/mark-message-read.d.ts +0 -9
  38. package/typings/inbox/elemental-inbox/actions/mark-message-read.d.ts.map +0 -1
  39. package/typings/inbox/elemental-inbox/actions/mark-message-unread.d.ts +0 -9
  40. package/typings/inbox/elemental-inbox/actions/mark-message-unread.d.ts.map +0 -1
  41. package/typings/inbox/elemental-inbox/actions/set-view.d.ts +0 -9
  42. package/typings/inbox/elemental-inbox/actions/set-view.d.ts.map +0 -1
  43. package/typings/inbox/elemental-inbox/actions/toggle-inbox.d.ts +0 -7
  44. package/typings/inbox/elemental-inbox/actions/toggle-inbox.d.ts.map +0 -1
package/README.md CHANGED
@@ -15,11 +15,107 @@
15
15
 
16
16
  This also enables using this package with `react-native` in a much simpler way.
17
17
 
18
+ #### Elemental Inbox
19
+
20
+ React Hooks exposes two inbox hooks, `useInbox` and `useElementalInbox`. Elemental inbox is a new inbox
21
+ that takes advantage of Courier's content specification, [Elemental](https://www.courier.com/docs/elemental/).
22
+
23
+ Elemental provides a more advanced format for delivered
24
+ notifications. This includes the ability to add customized buttons, images, and markdown formatted text
25
+ to your messages.
26
+
27
+ See [types](#1typesmd) for details on the interface.
28
+
29
+ #### Example Usage
30
+
31
+ ```tsx
32
+ import { CourierProvider } from "@trycourier/react-provider";
33
+ import { useElementalInbox } from "@trycourier/react-hooks";
34
+
35
+ const MyApp = () => {
36
+ /**
37
+ * Auth token for courier provider, can be a token from Courier's auth/issue-token endpoint
38
+ * or a JWT signed with a valid courier api key. Must include scope: "user_id:<user_id_here> inbox:read:messages"
39
+ *
40
+ * For more information on the auth/issue-token endpoint, visit:
41
+ * https://courier.com/docs/reference/auth/intro/
42
+ */
43
+ const authorization = await fetchAuthToken();
44
+
45
+ return (
46
+ <CourierProvider authorization="abc123">
47
+ <MyInbox />
48
+ </CourierProvider>
49
+ );
50
+ };
51
+
52
+ const MyInbox = () => {
53
+ const inbox = useElementalInbox();
54
+
55
+ useEffect(() => {
56
+ inbox.fetchMessages();
57
+ }, []);
58
+
59
+ // Sets message.read to current date
60
+ const handleReadMessage = (message) => () => {
61
+ inbox.markMessageRead(message.messageId);
62
+ };
63
+
64
+ // Removes message.read
65
+ const handleUnreadMessage = (message) => () => {
66
+ inbox.markMessageUnread(message.messageId);
67
+ };
68
+
69
+ // Archived messages are not included in inbox.fetchMessages()
70
+ const handleArchiveMessage = (message) => () => {
71
+ inbox.markMessageArchived(message.messageId);
72
+ };
73
+
74
+ // If the supplied authorization token is short lived, renew the session with a fresh token
75
+ // proactively before the token is set to expire. Here we use 5 minutes assuming our token only
76
+ // lasts 10 minutes
77
+ useEffect(() => {
78
+ const interval = setInterval(async () => {
79
+ const authorization = await fetchAuthToken();
80
+ inbox.renewSession(authorization);
81
+ }, 300000);
82
+
83
+ // Return a cleanup function to tell react how to stop renewal when the component is unmounted.
84
+ return () => clearInterval(interval);
85
+ }, []);
86
+
87
+ return (
88
+ <>
89
+ {inbox.messages.map((message) => {
90
+ return (
91
+ <Message>
92
+ {message.read ? (
93
+ <>
94
+ <button onClick={handleUnreadMessage(message)}>
95
+ Unread Me
96
+ </button>
97
+ <button onClick={handleArchiveMessage(message)}>
98
+ Archive Me
99
+ </button>
100
+ </>
101
+ ) : (
102
+ <button onClick={handleReadMessage(message)}>Read Me</button>
103
+ )}
104
+ </Message>
105
+ );
106
+ })}
107
+ </>
108
+ );
109
+ };
110
+ ```
111
+
18
112
  <a name="1typesmd"></a>
19
113
 
20
114
  ### [Types](#types)
21
115
 
22
- ```
116
+ Standard Inbox (`useInbox`):
117
+
118
+ ```ts
23
119
  const inbox: IInbox & IInboxActions = useInbox();
24
120
 
25
121
  interface ITab {
@@ -74,6 +170,66 @@ interface IInbox {
74
170
  }
75
171
  ```
76
172
 
173
+ Elemental Inbox (`useElementalInbox`):
174
+
175
+ ```ts
176
+ // This interface defines the return value of useElemental Inbox
177
+ interface IElementalInbox {
178
+ lastMessagesFetched?: number;
179
+ brand?: Brand;
180
+ from?: number;
181
+ isLoading?: boolean;
182
+ isOpen?: boolean;
183
+ messages?: Array<IElementalInboxMessage>;
184
+ startCursor?: string;
185
+ unreadMessageCount?: number;
186
+ view?: "messages" | "preferences";
187
+ /** Fetches messages from the server, sets inbox.messages to the received value */
188
+ fetchMessages: (params?: IFetchMessagesParams) => void;
189
+ /** Returns a count of messages that do not have a message.read date */
190
+ getUnreadMessageCount: (params?: IGetInboxMessagesParams) => void;
191
+ init: (inbox: IElementalInbox) => void;
192
+ /** Marks all messages as read by setting message.read to the current ISO 8601 date */
193
+ markAllAsRead: () => void;
194
+ /** Archives the supplied message, archived messages are not returned by fetchMessages */
195
+ markMessageArchived: (messageId: string) => Promise<void>;
196
+ /** Sets message.read to the current ISO 8601 date */
197
+ markMessageRead: (messageId: string) => Promise<void>;
198
+ /** Removes message.read, signalling that the message is no longer read */
199
+ markMessageUnread: (messageId: string) => Promise<void>;
200
+ setView: (view: "messages" | "preferences") => void;
201
+ toggleInbox: (isOpen?: boolean) => void;
202
+
203
+ /**
204
+ * Allows for renewal of sessions authorized with short lived tokens.
205
+ * For example, if the supplied authorization token lasts 10 minutes,
206
+ * this function can be called with a new token every 5 minutes to ensure
207
+ * messages are received in real time with no interruptions.
208
+ */
209
+ renewSession: (authorization: string) => void;
210
+ }
211
+
212
+ interface IInboxMessage {
213
+ created?: string;
214
+ messageId: string;
215
+ preview?: string;
216
+ /** ISO 8601 date the message was read */
217
+ read?: string;
218
+ title?: string;
219
+ }
220
+
221
+ export interface IFetchMessagesParams {
222
+ params?: IGetInboxMessagesParams;
223
+ after?: string;
224
+ }
225
+
226
+ export interface IGetInboxMessagesParams {
227
+ status?: "read" | "unread";
228
+ limit?: number;
229
+ tags?: string[];
230
+ }
231
+ ```
232
+
77
233
  <a name="2eventsmd"></a>
78
234
 
79
235
  ### [Events](#events)
@@ -95,7 +251,7 @@ Some of these events are called automatically.
95
251
  - Delivered events are called automatically inside the Courier Provider when a message has been delivered through the websocket
96
252
  - Click events are triggered using our `click through tracking` links. Click events will also automatically trigger a `read` event.
97
253
 
98
- #### Manually calling events
254
+ #### Manually calling events (`useInbox` Example)
99
255
 
100
256
  You can call events manually by importing the corresponding function from the react hook.
101
257
 
@@ -138,7 +294,69 @@ const MyInbox = () => {
138
294
 
139
295
  return (
140
296
  <Container>
141
- {inbox.messsages.map((message) => {
297
+ {inbox.messages.map((message) => {
298
+ return (
299
+ <Message>
300
+ {message.read ? (
301
+ <>
302
+ <button onClick={handleUnreadMessage(message)}>
303
+ Unread Me
304
+ </button>
305
+ <button onClick={handleArchiveMessage(message)}>
306
+ Archive Me
307
+ </button>
308
+ </>
309
+ ) : (
310
+ <button onClick={handleReadMessage(message)}>Read Me</button>
311
+ )}
312
+ </Message>
313
+ );
314
+ })}
315
+ </Container>
316
+ );
317
+ };
318
+
319
+ const MyApp = () => {
320
+ return (
321
+ <CourierProvider userId="MY_USER_ID" clientKey="MY_CLIENT_KEY">
322
+ <MyInbox />
323
+ </CourierProvider>
324
+ );
325
+ };
326
+ ```
327
+
328
+ #### Manually calling events (`useElementalInbox` Example)
329
+
330
+ You can call events manually by importing the corresponding function from the react hook.
331
+
332
+ For Example:
333
+
334
+ ```js
335
+ import { CourierProvider } from "@trycourier/react-provider";
336
+ import { useElementalInbox } from "@trycourier/react-hooks";
337
+
338
+ const MyInbox = () => {
339
+ const inbox = useElementalInbox();
340
+
341
+ useEffect(() => {
342
+ inbox.fetchMessages();
343
+ }, []);
344
+
345
+ const handleReadMessage = (message) => () => {
346
+ inbox.markMessageRead(message.messageId);
347
+ };
348
+
349
+ const handleUnreadMessage = (message) => () => {
350
+ inbox.markMessageUnread(message.messageId);
351
+ };
352
+
353
+ const handleArchiveMessage = (message) => () => {
354
+ inbox.markMessageArchived(message.messageId);
355
+ };
356
+
357
+ return (
358
+ <Container>
359
+ {inbox.messages.map((message) => {
142
360
  return (
143
361
  <Message>
144
362
  {message.read ? (
@@ -3,15 +3,14 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.initInbox = exports.INBOX_INIT = void 0;
6
+ exports.initInbox = initInbox;
7
+ exports.INBOX_INIT = void 0;
7
8
  var INBOX_INIT = "inbox/INIT";
8
9
  exports.INBOX_INIT = INBOX_INIT;
9
10
 
10
- var initInbox = function initInbox(payload) {
11
+ function initInbox(payload) {
11
12
  return {
12
13
  type: INBOX_INIT,
13
14
  payload: payload
14
15
  };
15
- };
16
-
17
- exports.initInbox = initInbox;
16
+ }
@@ -3,9 +3,15 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.markAllRead = exports.INBOX_MARK_ALL_READ = void 0;
6
+ exports.markAllReadDone = exports.markAllReadError = exports.markAllReadPending = exports.markAllRead = exports.INBOX_MARK_ALL_READ_ERROR = exports.INBOX_MARK_ALL_READ_DONE = exports.INBOX_MARK_ALL_READ_PENDING = exports.INBOX_MARK_ALL_READ = void 0;
7
7
  var INBOX_MARK_ALL_READ = "inbox/MARK_ALL_READ";
8
8
  exports.INBOX_MARK_ALL_READ = INBOX_MARK_ALL_READ;
9
+ var INBOX_MARK_ALL_READ_PENDING = "inbox/MARK_ALL_READ/PENDING";
10
+ exports.INBOX_MARK_ALL_READ_PENDING = INBOX_MARK_ALL_READ_PENDING;
11
+ var INBOX_MARK_ALL_READ_DONE = "inbox/MARK_ALL_READ/DONE";
12
+ exports.INBOX_MARK_ALL_READ_DONE = INBOX_MARK_ALL_READ_DONE;
13
+ var INBOX_MARK_ALL_READ_ERROR = "inbox/MARK_ALL_READ/ERROR";
14
+ exports.INBOX_MARK_ALL_READ_ERROR = INBOX_MARK_ALL_READ_ERROR;
9
15
 
10
16
  var markAllRead = function markAllRead() {
11
17
  return {
@@ -13,4 +19,29 @@ var markAllRead = function markAllRead() {
13
19
  };
14
20
  };
15
21
 
16
- exports.markAllRead = markAllRead;
22
+ exports.markAllRead = markAllRead;
23
+
24
+ var markAllReadPending = function markAllReadPending() {
25
+ return {
26
+ type: INBOX_MARK_ALL_READ_PENDING
27
+ };
28
+ };
29
+
30
+ exports.markAllReadPending = markAllReadPending;
31
+
32
+ var markAllReadError = function markAllReadError() {
33
+ return {
34
+ type: INBOX_MARK_ALL_READ_ERROR
35
+ };
36
+ };
37
+
38
+ exports.markAllReadError = markAllReadError;
39
+
40
+ var markAllReadDone = function markAllReadDone(payload) {
41
+ return {
42
+ type: INBOX_MARK_ALL_READ_DONE,
43
+ payload: payload
44
+ };
45
+ };
46
+
47
+ exports.markAllReadDone = markAllReadDone;
@@ -11,21 +11,21 @@ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers
11
11
 
12
12
  var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
13
13
 
14
- var _init = require("./actions/init");
14
+ var _init = require("../actions/init");
15
15
 
16
- var _setView = require("./actions/set-view");
16
+ var _setView = require("../actions/set-view");
17
17
 
18
- var _toggleInbox = require("./actions/toggle-inbox");
18
+ var _toggleInbox = require("../actions/toggle-inbox");
19
19
 
20
20
  var _markAllRead = require("./actions/mark-all-read");
21
21
 
22
22
  var _newMessage = require("./actions/new-message");
23
23
 
24
- var _markMessageArchived = require("./actions/mark-message-archived");
24
+ var _markMessageArchived = require("../actions/mark-message-archived");
25
25
 
26
- var _markMessageRead = require("./actions/mark-message-read");
26
+ var _markMessageRead = require("../actions/mark-message-read");
27
27
 
28
- var _markMessageUnread = require("./actions/mark-message-unread");
28
+ var _markMessageUnread = require("../actions/mark-message-unread");
29
29
 
30
30
  var _fetchUnreadMessageCount = require("./actions/fetch-unread-message-count");
31
31
 
@@ -17,19 +17,19 @@ var _reactProvider = require("@trycourier/react-provider");
17
17
 
18
18
  var _clientGraphql = require("@trycourier/client-graphql");
19
19
 
20
- var _init = require("./actions/init");
20
+ var _init = require("../actions/init");
21
21
 
22
- var _toggleInbox2 = require("./actions/toggle-inbox");
22
+ var _toggleInbox2 = require("../actions/toggle-inbox");
23
23
 
24
- var _setView2 = require("./actions/set-view");
24
+ var _setView2 = require("../actions/set-view");
25
25
 
26
- var _markMessageRead3 = require("./actions/mark-message-read");
26
+ var _markMessageRead3 = require("../actions/mark-message-read");
27
27
 
28
28
  var _markAllRead = require("./actions/mark-all-read");
29
29
 
30
- var _markMessageUnread3 = require("./actions/mark-message-unread");
30
+ var _markMessageUnread3 = require("../actions/mark-message-unread");
31
31
 
32
- var _markMessageArchived3 = require("./actions/mark-message-archived");
32
+ var _markMessageArchived3 = require("../actions/mark-message-archived");
33
33
 
34
34
  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; }
35
35
 
@@ -43,7 +43,8 @@ var useElementalInboxActions = function useElementalInboxActions() {
43
43
  dispatch = _useCourier.dispatch,
44
44
  inbox = _useCourier.inbox,
45
45
  userId = _useCourier.userId,
46
- userSignature = _useCourier.userSignature;
46
+ userSignature = _useCourier.userSignature,
47
+ transport = _useCourier.transport;
47
48
 
48
49
  var courierClient = (0, _clientGraphql.createCourierClient)({
49
50
  authorization: authorization,
@@ -192,6 +193,30 @@ var useElementalInboxActions = function useElementalInboxActions() {
192
193
  }
193
194
 
194
195
  return markMessageArchived;
196
+ }(),
197
+ renewSession: function () {
198
+ var _renewSession = (0, _asyncToGenerator2["default"])( /*#__PURE__*/_regenerator["default"].mark(function _callee5(token) {
199
+ return _regenerator["default"].wrap(function _callee5$(_context5) {
200
+ while (1) {
201
+ switch (_context5.prev = _context5.next) {
202
+ case 0:
203
+ if (transport instanceof _reactProvider.CourierTransport) {
204
+ transport.renewSession(token);
205
+ }
206
+
207
+ case 1:
208
+ case "end":
209
+ return _context5.stop();
210
+ }
211
+ }
212
+ }, _callee5);
213
+ }));
214
+
215
+ function renewSession(_x4) {
216
+ return _renewSession.apply(this, arguments);
217
+ }
218
+
219
+ return renewSession;
195
220
  }()
196
221
  };
197
222
  };
@@ -41,14 +41,14 @@ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (O
41
41
 
42
42
  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; }
43
43
 
44
- var mapMessage = function mapMessage(message) {
44
+ var mapMessage = function mapMessage(message, lastMarkedAllRead) {
45
45
  return {
46
46
  blocks: message.content.blocks,
47
47
  body: message.content.body,
48
48
  created: message.created,
49
49
  data: message.content.data,
50
50
  messageId: message.messageId,
51
- read: message.read,
51
+ read: lastMarkedAllRead ? lastMarkedAllRead > new Date(message.created).getTime() ? true : message.read : message.read,
52
52
  title: message.content.title,
53
53
  trackingIds: message.content.trackingIds
54
54
  };
@@ -148,6 +148,7 @@ var _default = function _default() {
148
148
 
149
149
  if (!state.tabs && action.payload.messages) {
150
150
  return _objectSpread(_objectSpread({}, state), {}, {
151
+ lastMessagesFetched: action.payload.lastMessagesFetched,
151
152
  messages: action.payload.messages,
152
153
  startCursor: action.payload.startCursor,
153
154
  unreadMessageCount: action.payload.unreadMessageCount
@@ -176,6 +177,7 @@ var _default = function _default() {
176
177
  }
177
178
 
178
179
  return _objectSpread(_objectSpread(_objectSpread({}, state), newTabs === null || newTabs === void 0 ? void 0 : (_newTabs$ = newTabs[0]) === null || _newTabs$ === void 0 ? void 0 : _newTabs$.state), {}, {
180
+ lastMessagesFetched: action.payload.lastMessagesFetched,
179
181
  tabs: newTabs,
180
182
  unreadMessageCount: action.payload.unreadMessageCount
181
183
  });
@@ -203,6 +205,7 @@ var _default = function _default() {
203
205
  });
204
206
  return _objectSpread(_objectSpread(_objectSpread({}, state), currentTab === null || currentTab === void 0 ? void 0 : currentTab.state), {}, {
205
207
  isLoading: false,
208
+ lastMessagesFetched: new Date().getTime(),
206
209
  tabs: _newTabs
207
210
  });
208
211
  }
@@ -211,7 +214,9 @@ var _default = function _default() {
211
214
  {
212
215
  var _state$tabs3, _state$currentTab2, _action$meta2;
213
216
 
214
- var mappedMessages = action.payload.messages.map(mapMessage);
217
+ var mappedMessages = action.payload.messages.map(function (message) {
218
+ return mapMessage(message, state.lastMarkedAllRead);
219
+ });
215
220
 
216
221
  if (!state.tabs) {
217
222
  var _state$messages;
@@ -220,8 +225,9 @@ var _default = function _default() {
220
225
 
221
226
  return _objectSpread(_objectSpread({}, state), {}, {
222
227
  isLoading: false,
223
- startCursor: action.payload.startCursor,
224
- messages: _newMessages
228
+ lastMessagesFetched: new Date().getTime(),
229
+ messages: _newMessages,
230
+ startCursor: action.payload.startCursor
225
231
  });
226
232
  }
227
233
 
@@ -245,12 +251,14 @@ var _default = function _default() {
245
251
  if (((_state$currentTab2 = state.currentTab) === null || _state$currentTab2 === void 0 ? void 0 : _state$currentTab2.id) !== ((_action$meta2 = action.meta) === null || _action$meta2 === void 0 ? void 0 : _action$meta2.tabId)) {
246
252
  return _objectSpread(_objectSpread({}, state), {}, {
247
253
  isLoading: false,
254
+ lastMessagesFetched: new Date().getTime(),
248
255
  tabs: tabs
249
256
  });
250
257
  }
251
258
 
252
259
  return _objectSpread(_objectSpread({}, state), {}, {
253
260
  isLoading: false,
261
+ lastMessagesFetched: new Date().getTime(),
254
262
  messages: newMessages,
255
263
  startCursor: action.payload.startCursor,
256
264
  tabs: tabs
@@ -261,7 +269,7 @@ var _default = function _default() {
261
269
  {
262
270
  var _state$unreadMessageC, _currentTab$filters, _state$messages3, _state$tabs5;
263
271
 
264
- var unreadMessageCount = Math.max(((_state$unreadMessageC = state.unreadMessageCount) !== null && _state$unreadMessageC !== void 0 ? _state$unreadMessageC : 0) - 1, 0);
272
+ var unreadMessageCount = Math.max(((_state$unreadMessageC = state.unreadMessageCount) !== null && _state$unreadMessageC !== void 0 ? _state$unreadMessageC : 0) - 1);
265
273
  var _currentTab = state.currentTab;
266
274
 
267
275
  if ((_currentTab === null || _currentTab === void 0 ? void 0 : (_currentTab$filters = _currentTab.filters) === null || _currentTab$filters === void 0 ? void 0 : _currentTab$filters.isRead) === false) {
@@ -459,7 +467,21 @@ var _default = function _default() {
459
467
  });
460
468
  }
461
469
 
462
- case _markAllRead.INBOX_MARK_ALL_READ:
470
+ case _markAllRead.INBOX_MARK_ALL_READ_PENDING:
471
+ {
472
+ return _objectSpread(_objectSpread({}, state), {}, {
473
+ markingAllAsRead: true
474
+ });
475
+ }
476
+
477
+ case _markAllRead.INBOX_MARK_ALL_READ_ERROR:
478
+ {
479
+ return _objectSpread(_objectSpread({}, state), {}, {
480
+ markingAllAsRead: false
481
+ });
482
+ }
483
+
484
+ case _markAllRead.INBOX_MARK_ALL_READ_DONE:
463
485
  {
464
486
  var _currentTab3$filters, _state$messages7, _state$tabs9;
465
487
 
@@ -490,6 +512,8 @@ var _default = function _default() {
490
512
  });
491
513
 
492
514
  return _objectSpread(_objectSpread({}, state), {}, {
515
+ lastMarkedAllRead: new Date().getTime(),
516
+ markingAllAsRead: false,
493
517
  messages: [],
494
518
  tabs: _tabs6,
495
519
  unreadMessageCount: _unreadMessageCount3
@@ -523,6 +547,8 @@ var _default = function _default() {
523
547
  });
524
548
 
525
549
  return _objectSpread(_objectSpread({}, state), {}, {
550
+ lastMarkedAllRead: new Date().getTime(),
551
+ markingAllAsRead: false,
526
552
  messages: _newMessages7,
527
553
  tabs: _tabs5,
528
554
  unreadMessageCount: _unreadMessageCount3
@@ -27,8 +27,6 @@ var _setCurrentTab2 = require("./actions/set-current-tab");
27
27
 
28
28
  var _markMessageRead3 = require("./actions/mark-message-read");
29
29
 
30
- var _markAllRead = require("./actions/mark-all-read");
31
-
32
30
  var _markMessageUnread3 = require("./actions/mark-message-unread");
33
31
 
34
32
  var _markMessageArchived3 = require("./actions/mark-message-archived");
@@ -269,11 +267,14 @@ var useInboxActions = function useInboxActions() {
269
267
  while (1) {
270
268
  switch (_context3.prev = _context3.next) {
271
269
  case 0:
272
- dispatch((0, _markAllRead.markAllRead)());
273
- _context3.next = 3;
274
- return events.trackEventBatch("read");
270
+ dispatch({
271
+ type: "inbox/MARK_ALL_READ",
272
+ payload: function payload() {
273
+ return events.trackEventBatch("read");
274
+ }
275
+ });
275
276
 
276
- case 3:
277
+ case 1:
277
278
  case "end":
278
279
  return _context3.stop();
279
280
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@trycourier/react-hooks",
3
- "version": "1.48.5",
3
+ "version": "1.48.6-internal.2f25754.0+2f25754",
4
4
  "description": "",
5
5
  "main": "dist/index.js",
6
6
  "types": "typings/index.d.ts",
@@ -20,7 +20,7 @@
20
20
  "concat-md": "^0.3.5"
21
21
  },
22
22
  "dependencies": {
23
- "@trycourier/client-graphql": "^1.48.5",
23
+ "@trycourier/client-graphql": "^1.48.6-internal.2f25754.0+2f25754",
24
24
  "deep-extend": "^0.6.0",
25
25
  "rimraf": "^3.0.2"
26
26
  },
@@ -36,5 +36,5 @@
36
36
  ".": "./dist/index.js",
37
37
  "./use-inbox": "./dist/inbox/use-inbox.js"
38
38
  },
39
- "gitHead": "517ceb82177ad9b1fd05a47196c1f8c66a3a7b04"
39
+ "gitHead": "2f2575421ba3e0822a4355f742410528ecb0b2b8"
40
40
  }
@@ -1,8 +1,8 @@
1
1
  import { IInbox } from "../types";
2
- export declare type InboxInit = {
2
+ export declare type InboxInit<T = IInbox> = {
3
3
  type: "inbox/INIT";
4
- payload: IInbox;
4
+ payload: T;
5
5
  };
6
6
  export declare const INBOX_INIT = "inbox/INIT";
7
- export declare const initInbox: (payload: IInbox) => InboxInit;
7
+ export declare function initInbox<T = IInbox>(payload: T): InboxInit<T>;
8
8
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/inbox/actions/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,oBAAY,SAAS,GAAG;IACtB,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,UAAU,eAAe,CAAC;AAEvC,eAAO,MAAM,SAAS,YAAa,MAAM,KAAG,SAG1C,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/inbox/actions/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,oBAAY,SAAS,CAAC,CAAC,GAAG,MAAM,IAAI;IAClC,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,CAAC,CAAC;CACZ,CAAC;AAEF,eAAO,MAAM,UAAU,eAAe,CAAC;AAEvC,wBAAgB,SAAS,CAAC,CAAC,GAAG,MAAM,EAAE,OAAO,EAAE,CAAC,GAAG,SAAS,CAAC,CAAC,CAAC,CAK9D"}
@@ -1,6 +1,28 @@
1
1
  export declare type MarkAllRead = {
2
2
  type: "inbox/MARK_ALL_READ";
3
3
  };
4
+ export declare type MarkAllReadPending = {
5
+ type: "inbox/MARK_ALL_READ/PENDING";
6
+ };
7
+ export declare type MarkAllReadError = {
8
+ type: "inbox/MARK_ALL_READ/ERROR";
9
+ };
10
+ export declare type MarkAllReadDone = {
11
+ type: "inbox/MARK_ALL_READ/DONE";
12
+ payload: {
13
+ ids: string[];
14
+ };
15
+ };
4
16
  export declare const INBOX_MARK_ALL_READ = "inbox/MARK_ALL_READ";
17
+ export declare const INBOX_MARK_ALL_READ_PENDING = "inbox/MARK_ALL_READ/PENDING";
18
+ export declare const INBOX_MARK_ALL_READ_DONE = "inbox/MARK_ALL_READ/DONE";
19
+ export declare const INBOX_MARK_ALL_READ_ERROR = "inbox/MARK_ALL_READ/ERROR";
5
20
  export declare const markAllRead: () => MarkAllRead;
21
+ export declare const markAllReadPending: () => MarkAllReadPending;
22
+ export declare const markAllReadError: () => MarkAllReadError;
23
+ interface MarkAllReadDonePayload {
24
+ ids: string[];
25
+ }
26
+ export declare const markAllReadDone: (payload: MarkAllReadDonePayload) => MarkAllReadDone;
27
+ export {};
6
28
  //# sourceMappingURL=mark-all-read.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"mark-all-read.d.ts","sourceRoot":"","sources":["../../../src/inbox/actions/mark-all-read.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW,GAAG;IACxB,IAAI,EAAE,qBAAqB,CAAC;CAC7B,CAAC;AAEF,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AAEzD,eAAO,MAAM,WAAW,QAAO,WAE7B,CAAC"}
1
+ {"version":3,"file":"mark-all-read.d.ts","sourceRoot":"","sources":["../../../src/inbox/actions/mark-all-read.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW,GAAG;IACxB,IAAI,EAAE,qBAAqB,CAAC;CAC7B,CAAC;AAEF,oBAAY,kBAAkB,GAAG;IAC/B,IAAI,EAAE,6BAA6B,CAAC;CACrC,CAAC;AAEF,oBAAY,gBAAgB,GAAG;IAC7B,IAAI,EAAE,2BAA2B,CAAC;CACnC,CAAC;AAEF,oBAAY,eAAe,GAAG;IAC5B,IAAI,EAAE,0BAA0B,CAAC;IACjC,OAAO,EAAE;QACP,GAAG,EAAE,MAAM,EAAE,CAAC;KACf,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,mBAAmB,wBAAwB,CAAC;AACzD,eAAO,MAAM,2BAA2B,gCAAgC,CAAC;AACzE,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AACnE,eAAO,MAAM,yBAAyB,8BAA8B,CAAC;AAErE,eAAO,MAAM,WAAW,QAAO,WAE7B,CAAC;AAEH,eAAO,MAAM,kBAAkB,QAAO,kBAEpC,CAAC;AAEH,eAAO,MAAM,gBAAgB,QAAO,gBAElC,CAAC;AAEH,UAAU,sBAAsB;IAC9B,GAAG,EAAE,MAAM,EAAE,CAAC;CACf;AAED,eAAO,MAAM,eAAe,YACjB,sBAAsB,KAC9B,eAGD,CAAC"}
@@ -1,13 +1,14 @@
1
1
  import { IMessage, ITab } from "../types";
2
- export declare type Rehydratemessages = {
2
+ export declare type RehydrateMessages = {
3
3
  type: "inbox/REHYDRATE_MESSAGES";
4
4
  payload: {
5
- tabs?: ITab[];
5
+ lastMessagesFetched?: number;
6
6
  messages?: IMessage[];
7
7
  startCursor?: string;
8
+ tabs?: ITab[];
8
9
  unreadMessageCount?: number;
9
10
  };
10
11
  };
11
12
  export declare const INBOX_REHYDRATE_MESSAGES = "inbox/REHYDRATE_MESSAGES";
12
- export declare const rehydrateMessages: (payload: Rehydratemessages["payload"]) => Rehydratemessages;
13
+ export declare const rehydrateMessages: (payload: RehydrateMessages["payload"]) => RehydrateMessages;
13
14
  //# sourceMappingURL=rehydrate-messages.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"rehydrate-messages.d.ts","sourceRoot":"","sources":["../../../src/inbox/actions/rehydrate-messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAE1C,oBAAY,iBAAiB,GAAG;IAC9B,IAAI,EAAE,0BAA0B,CAAC;IACjC,OAAO,EAAE;QACP,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;QACd,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AAEnE,eAAO,MAAM,iBAAiB,YACnB,iBAAiB,CAAC,SAAS,CAAC,KACpC,iBAGD,CAAC"}
1
+ {"version":3,"file":"rehydrate-messages.d.ts","sourceRoot":"","sources":["../../../src/inbox/actions/rehydrate-messages.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,UAAU,CAAC;AAE1C,oBAAY,iBAAiB,GAAG;IAC9B,IAAI,EAAE,0BAA0B,CAAC;IACjC,OAAO,EAAE;QACP,mBAAmB,CAAC,EAAE,MAAM,CAAC;QAC7B,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;QACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;KAC7B,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,wBAAwB,6BAA6B,CAAC;AAEnE,eAAO,MAAM,iBAAiB,YACnB,iBAAiB,CAAC,SAAS,CAAC,KACpC,iBAGD,CAAC"}
@@ -1,16 +1,16 @@
1
1
  import { IElementalInbox } from "./types";
2
- import { InboxInit } from "./actions/init";
3
- import { InboxSetView } from "./actions/set-view";
4
- import { ToggleInbox } from "./actions/toggle-inbox";
2
+ import { InboxInit } from "../actions/init";
3
+ import { InboxSetView } from "../actions/set-view";
4
+ import { ToggleInbox } from "../actions/toggle-inbox";
5
5
  import { MarkAllRead } from "./actions/mark-all-read";
6
6
  import { NewMessage } from "./actions/new-message";
7
- import { MarkMessageArchived } from "./actions/mark-message-archived";
8
- import { MarkMessageRead } from "./actions/mark-message-read";
9
- import { MarkMessageUnread } from "./actions/mark-message-unread";
7
+ import { MarkMessageArchived } from "../actions/mark-message-archived";
8
+ import { MarkMessageRead } from "../actions/mark-message-read";
9
+ import { MarkMessageUnread } from "../actions/mark-message-unread";
10
10
  import { FetchUnreadMessageCountDone } from "./actions/fetch-unread-message-count";
11
11
  import { FetchMessagesDone, FetchMessagesError, FetchMessagesPending } from "./actions/fetch-messages";
12
12
  export declare const initialState: IElementalInbox;
13
- declare type ElementalInboxAction = FetchMessagesDone | FetchMessagesError | FetchMessagesPending | FetchUnreadMessageCountDone | InboxInit | InboxSetView | MarkAllRead | MarkMessageArchived | MarkMessageRead | MarkMessageUnread | NewMessage | ToggleInbox;
13
+ declare type ElementalInboxAction = FetchMessagesDone | FetchMessagesError | FetchMessagesPending | FetchUnreadMessageCountDone | InboxInit<IElementalInbox> | InboxSetView | MarkAllRead | MarkMessageArchived | MarkMessageRead | MarkMessageUnread | NewMessage | ToggleInbox;
14
14
  declare const _default: (state?: IElementalInbox, action?: ElementalInboxAction | undefined) => IElementalInbox;
15
15
  export default _default;
16
16
  //# sourceMappingURL=reducer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../../src/inbox/elemental-inbox/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAiC,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,SAAS,EAAc,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAkB,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAgB,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAuB,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAqB,MAAM,uBAAuB,CAAC;AACtE,OAAO,EACL,mBAAmB,EAEpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,eAAe,EAEhB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,iBAAiB,EAElB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,2BAA2B,EAE5B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EAIrB,MAAM,0BAA0B,CAAC;AAElC,eAAO,MAAM,YAAY,EAAE,eAK1B,CAAC;AAEF,aAAK,oBAAoB,GACrB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,2BAA2B,GAC3B,SAAS,GACT,YAAY,GACZ,WAAW,GACX,mBAAmB,GACnB,eAAe,GACf,iBAAiB,GACjB,UAAU,GACV,WAAW,CAAC;iCAGP,eAAe,gDAErB,eAAe;AAHlB,wBAuKE"}
1
+ {"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../../src/inbox/elemental-inbox/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAiC,MAAM,SAAS,CAAC;AACzE,OAAO,EAAE,SAAS,EAAc,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAkB,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAgB,MAAM,yBAAyB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAuB,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAqB,MAAM,uBAAuB,CAAC;AACtE,OAAO,EACL,mBAAmB,EAEpB,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,eAAe,EAEhB,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACL,iBAAiB,EAElB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EACL,2BAA2B,EAE5B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EAIrB,MAAM,0BAA0B,CAAC;AAElC,eAAO,MAAM,YAAY,EAAE,eAK1B,CAAC;AAEF,aAAK,oBAAoB,GACrB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,2BAA2B,GAC3B,SAAS,CAAC,eAAe,CAAC,GAC1B,YAAY,GACZ,WAAW,GACX,mBAAmB,GACnB,eAAe,GACf,iBAAiB,GACjB,UAAU,GACV,WAAW,CAAC;iCAGP,eAAe,gDAErB,eAAe;AAHlB,wBAuKE"}
@@ -1,11 +1,11 @@
1
1
  import { IInboxMessage, IInboxMessagePreview } from "@trycourier/client-graphql";
2
2
  import { Brand } from "@trycourier/react-provider";
3
3
  export interface IElementalInbox {
4
- lastMessagesFetched?: number;
5
4
  brand?: Brand;
6
5
  from?: number;
7
6
  isLoading?: boolean;
8
7
  isOpen?: boolean;
8
+ lastMessagesFetched?: number;
9
9
  messages?: Array<IElementalInboxMessagePreview>;
10
10
  startCursor?: string;
11
11
  unreadMessageCount?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/inbox/elemental-inbox/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,oBAAoB,EACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,IAAI,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC;CACnC;AAED,oBAAY,sBAAsB,GAAG,aAAa,CAAC;AACnD,oBAAY,6BAA6B,GAAG,oBAAoB,CAAC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/inbox/elemental-inbox/types.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,aAAa,EACb,oBAAoB,EACrB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,MAAM,4BAA4B,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,EAAE,KAAK,CAAC,6BAA6B,CAAC,CAAC;IAChD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,IAAI,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC;CACnC;AAED,oBAAY,sBAAsB,GAAG,aAAa,CAAC;AACnD,oBAAY,6BAA6B,GAAG,oBAAoB,CAAC"}
@@ -1,19 +1,33 @@
1
1
  import { IElementalInbox } from "./types";
2
2
  import { IGetInboxMessagesParams } from "@trycourier/client-graphql";
3
+ import { IInbox } from "../types";
3
4
  export interface IFetchMessagesParams {
4
5
  params?: IGetInboxMessagesParams;
5
6
  after?: string;
6
7
  }
7
8
  interface IInboxActions {
9
+ /** Fetches messages from the server, sets inbox.messages to the received value */
8
10
  fetchMessages: (params?: IFetchMessagesParams) => void;
11
+ /** Returns a count of messages that do not have a message.read date */
9
12
  getUnreadMessageCount: (params?: IGetInboxMessagesParams) => void;
10
- init: (inbox: IElementalInbox) => void;
13
+ init: (inbox: IInbox<IElementalInbox>) => void;
14
+ /** Marks all messages as read by setting message.read to the current ISO 8601 date */
11
15
  markAllAsRead: () => void;
16
+ /** Archives the supplied message, archived messages are not returned by fetchMessages */
12
17
  markMessageArchived: (messageId: string) => Promise<void>;
18
+ /** Sets message.read to the current ISO 8601 date */
13
19
  markMessageRead: (messageId: string) => Promise<void>;
20
+ /** Removes message.read, signalling that the message is no longer read */
14
21
  markMessageUnread: (messageId: string) => Promise<void>;
15
22
  setView: (view: "messages" | "preferences") => void;
16
23
  toggleInbox: (isOpen?: boolean) => void;
24
+ /**
25
+ * Allows for renewal of sessions authorized with short lived tokens.
26
+ * For example, if the supplied authorization token lasts 10 minutes,
27
+ * this function can be called with a new token every 5 minutes to ensure
28
+ * messages are received in real time with no interruptions.
29
+ */
30
+ renewSession: (authorization: string) => void;
17
31
  }
18
32
  declare const useElementalInboxActions: () => IInboxActions;
19
33
  export default useElementalInboxActions;
@@ -1 +1 @@
1
- {"version":3,"file":"use-inbox-actions.d.ts","sourceRoot":"","sources":["../../../src/inbox/elemental-inbox/use-inbox-actions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AASrE,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,aAAa,EAAE,CAAC,MAAM,CAAC,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACvD,qBAAqB,EAAE,CAAC,MAAM,CAAC,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAClE,IAAI,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IACvC,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,KAAK,IAAI,CAAC;IACpD,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;AAED,QAAA,MAAM,wBAAwB,QAAO,aAgFpC,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
1
+ {"version":3,"file":"use-inbox-actions.d.ts","sourceRoot":"","sources":["../../../src/inbox/elemental-inbox/use-inbox-actions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AAE1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAQrE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,uBAAuB,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,kFAAkF;IAClF,aAAa,EAAE,CAAC,MAAM,CAAC,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACvD,uEAAuE;IACvE,qBAAqB,EAAE,CAAC,MAAM,CAAC,EAAE,uBAAuB,KAAK,IAAI,CAAC;IAClE,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,CAAC,eAAe,CAAC,KAAK,IAAI,CAAC;IAC/C,sFAAsF;IACtF,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,yFAAyF;IACzF,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC1D,sDAAsD;IACtD,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACtD,0EAA0E;IAC1E,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACxD,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,KAAK,IAAI,CAAC;IACpD,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC;;;;;OAKG;IACH,YAAY,EAAE,CAAC,aAAa,EAAE,MAAM,KAAK,IAAI,CAAC;CAC/C;AAED,QAAA,MAAM,wBAAwB,QAAO,aAsFpC,CAAC;AAEF,eAAe,wBAAwB,CAAC"}
@@ -3,9 +3,9 @@ import { IMessage, IInbox } from "./types";
3
3
  import { InboxInit } from "./actions/init";
4
4
  import { InboxSetView } from "./actions/set-view";
5
5
  import { ToggleInbox } from "./actions/toggle-inbox";
6
- import { MarkAllRead } from "./actions/mark-all-read";
6
+ import { MarkAllReadDone, MarkAllReadPending, MarkAllReadError } from "./actions/mark-all-read";
7
7
  import { NewMessage } from "./actions/new-message";
8
- import { Rehydratemessages } from "./actions/rehydrate-messages";
8
+ import { RehydrateMessages } from "./actions/rehydrate-messages";
9
9
  import { MarkMessageArchived } from "./actions/mark-message-archived";
10
10
  import { MarkMessageRead } from "./actions/mark-message-read";
11
11
  import { MarkMessageUnread } from "./actions/mark-message-unread";
@@ -13,9 +13,9 @@ import { FetchUnreadMessageCountDone } from "./actions/fetch-unread-message-coun
13
13
  import { FetchMessagesDone, FetchMessagesError, FetchMessagesPending } from "./actions/fetch-messages";
14
14
  import { FetchMessageListsDone, FetchMessageListsError, FetchMessageListsPending } from "./actions/fetch-message-lists";
15
15
  import { SetCurrentTab } from "./actions/set-current-tab";
16
- export declare const mapMessage: (message: IGraphMessageResponse) => IMessage;
16
+ export declare const mapMessage: (message: IGraphMessageResponse, lastMarkedAllRead?: number | undefined) => IMessage;
17
17
  export declare const initialState: IInbox;
18
- declare type InboxAction = FetchMessageListsDone | FetchMessageListsError | FetchMessageListsPending | FetchMessagesDone | FetchMessagesError | FetchMessagesPending | FetchUnreadMessageCountDone | InboxInit | InboxSetView | MarkAllRead | Rehydratemessages | MarkMessageArchived | MarkMessageRead | MarkMessageUnread | NewMessage | SetCurrentTab | ToggleInbox;
18
+ declare type InboxAction = FetchMessageListsDone | FetchMessageListsError | FetchMessageListsPending | FetchMessagesDone | FetchMessagesError | FetchMessagesPending | FetchUnreadMessageCountDone | InboxInit | InboxSetView | MarkAllReadError | MarkAllReadPending | MarkAllReadDone | RehydrateMessages | MarkMessageArchived | MarkMessageRead | MarkMessageUnread | NewMessage | SetCurrentTab | ToggleInbox;
19
19
  declare const _default: (state?: IInbox, action?: InboxAction | undefined) => IInbox;
20
20
  export default _default;
21
21
  //# sourceMappingURL=reducer.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../src/inbox/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAQ,MAAM,SAAS,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAc,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAkB,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAgB,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAAE,WAAW,EAAuB,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,UAAU,EAAqB,MAAM,uBAAuB,CAAC;AACtE,OAAO,EACL,iBAAiB,EAElB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,mBAAmB,EAEpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,eAAe,EAEhB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,iBAAiB,EAElB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,2BAA2B,EAE5B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EAIrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EAIzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,aAAa,EAEd,MAAM,2BAA2B,CAAC;AAEnC,eAAO,MAAM,UAAU,YAAa,qBAAqB,KAAG,QAS1D,CAAC;AAEH,eAAO,MAAM,YAAY,EAAE,MAK1B,CAAC;AAEF,aAAK,WAAW,GACZ,qBAAqB,GACrB,sBAAsB,GACtB,wBAAwB,GACxB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,2BAA2B,GAC3B,SAAS,GACT,YAAY,GACZ,WAAW,GACX,iBAAiB,GACjB,mBAAmB,GACnB,eAAe,GACf,iBAAiB,GACjB,UAAU,GACV,aAAa,GACb,WAAW,CAAC;iCAEO,MAAM,uCAAwC,MAAM;AAA3E,wBA4cE"}
1
+ {"version":3,"file":"reducer.d.ts","sourceRoot":"","sources":["../../src/inbox/reducer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,EAAQ,MAAM,SAAS,CAAC;AAEjD,OAAO,EAAE,SAAS,EAAc,MAAM,gBAAgB,CAAC;AACvD,OAAO,EAAE,YAAY,EAAkB,MAAM,oBAAoB,CAAC;AAClE,OAAO,EAAE,WAAW,EAAgB,MAAM,wBAAwB,CAAC;AACnE,OAAO,EAEL,eAAe,EACf,kBAAkB,EAClB,gBAAgB,EAGjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,UAAU,EAAqB,MAAM,uBAAuB,CAAC;AACtE,OAAO,EACL,iBAAiB,EAElB,MAAM,8BAA8B,CAAC;AAEtC,OAAO,EACL,mBAAmB,EAEpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,EACL,eAAe,EAEhB,MAAM,6BAA6B,CAAC;AACrC,OAAO,EACL,iBAAiB,EAElB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,2BAA2B,EAE5B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,oBAAoB,EAIrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EACL,qBAAqB,EACrB,sBAAsB,EACtB,wBAAwB,EAIzB,MAAM,+BAA+B,CAAC;AACvC,OAAO,EACL,aAAa,EAEd,MAAM,2BAA2B,CAAC;AAEnC,eAAO,MAAM,UAAU,YACZ,qBAAqB,6CAE7B,QAaD,CAAC;AAEH,eAAO,MAAM,YAAY,EAAE,MAK1B,CAAC;AAEF,aAAK,WAAW,GACZ,qBAAqB,GACrB,sBAAsB,GACtB,wBAAwB,GACxB,iBAAiB,GACjB,kBAAkB,GAClB,oBAAoB,GACpB,2BAA2B,GAC3B,SAAS,GACT,YAAY,GACZ,gBAAgB,GAChB,kBAAkB,GAClB,eAAe,GACf,iBAAiB,GACjB,mBAAmB,GACnB,eAAe,GACf,iBAAiB,GACjB,UAAU,GACV,aAAa,GACb,WAAW,CAAC;iCAEO,MAAM,uCAAwC,MAAM;AAA3E,wBAmeE"}
@@ -30,14 +30,17 @@ export interface IMessage {
30
30
  unreadTrackingId: string;
31
31
  };
32
32
  }
33
- export interface IInbox {
33
+ export interface IInbox<T = IMessage> {
34
34
  autoMarkAsRead?: boolean;
35
35
  brand?: Brand;
36
36
  currentTab?: ITab;
37
37
  from?: number;
38
38
  isLoading?: boolean;
39
39
  isOpen?: boolean;
40
- messages?: Array<IMessage>;
40
+ lastMarkedAllRead?: number;
41
+ lastMessagesFetched?: number;
42
+ markingAllAsRead?: boolean;
43
+ messages?: Array<T>;
41
44
  startCursor?: string;
42
45
  tabs?: ITab[];
43
46
  unreadMessageCount?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/inbox/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7E,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE;QACP,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC,CAAC;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,iBAAiB,EAAE,MAAM,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,WAAW,MAAM;IACrB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,QAAQ,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC3B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,IAAI,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC;CACnC"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/inbox/types.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,4BAA4B,CAAC;AAE7E,MAAM,WAAW,IAAI;IACnB,OAAO,EAAE;QACP,MAAM,CAAC,EAAE,OAAO,CAAC;KAClB,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,CAAC,EAAE;QACN,QAAQ,CAAC,EAAE,QAAQ,EAAE,CAAC;QACtB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAED,MAAM,WAAW,QAAQ;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,KAAK,CAAC,YAAY,GAAG,UAAU,CAAC,CAAC;IAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE;QACL,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,WAAW,CAAC,EAAE;QACZ,iBAAiB,EAAE,MAAM,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,cAAc,EAAE,MAAM,CAAC;QACvB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,WAAW,MAAM,CAAC,CAAC,GAAG,QAAQ;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,IAAI,CAAC,EAAE,IAAI,EAAE,CAAC;IACd,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,IAAI,CAAC,EAAE,UAAU,GAAG,aAAa,CAAC;CACnC"}
@@ -1,6 +1,6 @@
1
1
  import { IInbox, ITab } from "./types";
2
2
  import { IGetMessagesParams } from "@trycourier/client-graphql";
3
- import { Rehydratemessages } from "./actions/rehydrate-messages";
3
+ import { RehydrateMessages } from "./actions/rehydrate-messages";
4
4
  export interface IFetchMessagesParams {
5
5
  params?: IGetMessagesParams;
6
6
  after?: string;
@@ -14,7 +14,7 @@ interface IInboxActions {
14
14
  markMessageArchived: (messageId: string, trackingId: string) => Promise<void>;
15
15
  markMessageRead: (messageId: string, trackingId?: string) => Promise<void>;
16
16
  markMessageUnread: (messageId: string, trackingId: string) => Promise<void>;
17
- rehydrateMessages: (payload: Rehydratemessages["payload"]) => void;
17
+ rehydrateMessages: (payload: RehydrateMessages["payload"]) => void;
18
18
  setCurrentTab: (newTab: ITab) => void;
19
19
  setView: (view: "messages" | "preferences") => void;
20
20
  toggleInbox: (isOpen?: boolean) => void;
@@ -1 +1 @@
1
- {"version":3,"file":"use-inbox-actions.d.ts","sourceRoot":"","sources":["../../src/inbox/use-inbox-actions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AASvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAShE,OAAO,EAEL,iBAAiB,EAClB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,iBAAiB,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IAC3C,aAAa,EAAE,CAAC,MAAM,CAAC,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACvD,qBAAqB,EAAE,CAAC,MAAM,CAAC,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC7D,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,iBAAiB,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IACnE,aAAa,EAAE,CAAC,MAAM,EAAE,IAAI,KAAK,IAAI,CAAC;IACtC,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,KAAK,IAAI,CAAC;IACpD,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;AAED,QAAA,MAAM,eAAe,QAAO,aA0J3B,CAAC;AAEF,eAAe,eAAe,CAAC"}
1
+ {"version":3,"file":"use-inbox-actions.d.ts","sourceRoot":"","sources":["../../src/inbox/use-inbox-actions.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AASvC,OAAO,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAQhE,OAAO,EAEL,iBAAiB,EAClB,MAAM,8BAA8B,CAAC;AAEtC,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,aAAa;IACrB,iBAAiB,EAAE,CAAC,IAAI,CAAC,EAAE,IAAI,EAAE,KAAK,IAAI,CAAC;IAC3C,aAAa,EAAE,CAAC,MAAM,CAAC,EAAE,oBAAoB,KAAK,IAAI,CAAC;IACvD,qBAAqB,EAAE,CAAC,MAAM,CAAC,EAAE,kBAAkB,KAAK,IAAI,CAAC;IAC7D,IAAI,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAC9B,aAAa,EAAE,MAAM,IAAI,CAAC;IAC1B,mBAAmB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,eAAe,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3E,iBAAiB,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5E,iBAAiB,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC;IACnE,aAAa,EAAE,CAAC,MAAM,EAAE,IAAI,KAAK,IAAI,CAAC;IACtC,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,GAAG,aAAa,KAAK,IAAI,CAAC;IACpD,WAAW,EAAE,CAAC,MAAM,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;CACzC;AAED,QAAA,MAAM,eAAe,QAAO,aA4J3B,CAAC;AAEF,eAAe,eAAe,CAAC"}
@@ -1,17 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.initInbox = exports.INBOX_INIT = void 0;
7
- var INBOX_INIT = "inbox/INIT";
8
- exports.INBOX_INIT = INBOX_INIT;
9
-
10
- var initInbox = function initInbox(payload) {
11
- return {
12
- type: INBOX_INIT,
13
- payload: payload
14
- };
15
- };
16
-
17
- exports.initInbox = initInbox;
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.markMessageArchived = exports.INBOX_MARK_MESSAGE_ARCHIVED = void 0;
7
- var INBOX_MARK_MESSAGE_ARCHIVED = "inbox/MARK_MESSAGE_ARCHIVED";
8
- exports.INBOX_MARK_MESSAGE_ARCHIVED = INBOX_MARK_MESSAGE_ARCHIVED;
9
-
10
- var markMessageArchived = function markMessageArchived(messageId) {
11
- return {
12
- type: INBOX_MARK_MESSAGE_ARCHIVED,
13
- payload: {
14
- messageId: messageId
15
- }
16
- };
17
- };
18
-
19
- exports.markMessageArchived = markMessageArchived;
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.markMessageRead = exports.INBOX_MARK_MESSAGE_READ = void 0;
7
- var INBOX_MARK_MESSAGE_READ = "inbox/MARK_MESSAGE_READ";
8
- exports.INBOX_MARK_MESSAGE_READ = INBOX_MARK_MESSAGE_READ;
9
-
10
- var markMessageRead = function markMessageRead(messageId) {
11
- return {
12
- type: INBOX_MARK_MESSAGE_READ,
13
- payload: {
14
- messageId: messageId
15
- }
16
- };
17
- };
18
-
19
- exports.markMessageRead = markMessageRead;
@@ -1,19 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.markMessageUnread = exports.INBOX_MARK_MESSAGE_UNREAD = void 0;
7
- var INBOX_MARK_MESSAGE_UNREAD = "inbox/MARK_MESSAGE_UNREAD";
8
- exports.INBOX_MARK_MESSAGE_UNREAD = INBOX_MARK_MESSAGE_UNREAD;
9
-
10
- var markMessageUnread = function markMessageUnread(messageId) {
11
- return {
12
- type: INBOX_MARK_MESSAGE_UNREAD,
13
- payload: {
14
- messageId: messageId
15
- }
16
- };
17
- };
18
-
19
- exports.markMessageUnread = markMessageUnread;
@@ -1,17 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.setView = exports.INBOX_SET_VIEW = void 0;
7
- var INBOX_SET_VIEW = "inbox/SET_VIEW";
8
- exports.INBOX_SET_VIEW = INBOX_SET_VIEW;
9
-
10
- var setView = function setView(view) {
11
- return {
12
- type: INBOX_SET_VIEW,
13
- payload: view
14
- };
15
- };
16
-
17
- exports.setView = setView;
@@ -1,17 +0,0 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.toggleInbox = exports.INBOX_TOGGLE = void 0;
7
- var INBOX_TOGGLE = "inbox/TOGGLE_INBOX";
8
- exports.INBOX_TOGGLE = INBOX_TOGGLE;
9
-
10
- var toggleInbox = function toggleInbox(isOpen) {
11
- return {
12
- type: INBOX_TOGGLE,
13
- payload: isOpen
14
- };
15
- };
16
-
17
- exports.toggleInbox = toggleInbox;
@@ -1,8 +0,0 @@
1
- import { IElementalInbox } from "../types";
2
- export declare type InboxInit = {
3
- type: "inbox/INIT";
4
- payload: IElementalInbox;
5
- };
6
- export declare const INBOX_INIT = "inbox/INIT";
7
- export declare const initInbox: (payload: IElementalInbox) => InboxInit;
8
- //# sourceMappingURL=init.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../../src/inbox/elemental-inbox/actions/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,oBAAY,SAAS,GAAG;IACtB,IAAI,EAAE,YAAY,CAAC;IACnB,OAAO,EAAE,eAAe,CAAC;CAC1B,CAAC;AAEF,eAAO,MAAM,UAAU,eAAe,CAAC;AAEvC,eAAO,MAAM,SAAS,YAAa,eAAe,KAAG,SAGnD,CAAC"}
@@ -1,9 +0,0 @@
1
- export declare type MarkMessageArchived = {
2
- type: "inbox/MARK_MESSAGE_ARCHIVED";
3
- payload: {
4
- messageId: string;
5
- };
6
- };
7
- export declare const INBOX_MARK_MESSAGE_ARCHIVED = "inbox/MARK_MESSAGE_ARCHIVED";
8
- export declare const markMessageArchived: (messageId: string) => MarkMessageArchived;
9
- //# sourceMappingURL=mark-message-archived.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mark-message-archived.d.ts","sourceRoot":"","sources":["../../../../src/inbox/elemental-inbox/actions/mark-message-archived.ts"],"names":[],"mappings":"AAAA,oBAAY,mBAAmB,GAAG;IAChC,IAAI,EAAE,6BAA6B,CAAC;IACpC,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,2BAA2B,gCAAgC,CAAC;AAEzE,eAAO,MAAM,mBAAmB,cACnB,MAAM,KAChB,mBAKD,CAAC"}
@@ -1,9 +0,0 @@
1
- export declare type MarkMessageRead = {
2
- type: "inbox/MARK_MESSAGE_READ";
3
- payload: {
4
- messageId: string;
5
- };
6
- };
7
- export declare const INBOX_MARK_MESSAGE_READ = "inbox/MARK_MESSAGE_READ";
8
- export declare const markMessageRead: (messageId: string) => MarkMessageRead;
9
- //# sourceMappingURL=mark-message-read.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mark-message-read.d.ts","sourceRoot":"","sources":["../../../../src/inbox/elemental-inbox/actions/mark-message-read.ts"],"names":[],"mappings":"AAAA,oBAAY,eAAe,GAAG;IAC5B,IAAI,EAAE,yBAAyB,CAAC;IAChC,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,uBAAuB,4BAA4B,CAAC;AAEjE,eAAO,MAAM,eAAe,cAAe,MAAM,KAAG,eAKlD,CAAC"}
@@ -1,9 +0,0 @@
1
- export declare type MarkMessageUnread = {
2
- type: "inbox/MARK_MESSAGE_UNREAD";
3
- payload: {
4
- messageId: string;
5
- };
6
- };
7
- export declare const INBOX_MARK_MESSAGE_UNREAD = "inbox/MARK_MESSAGE_UNREAD";
8
- export declare const markMessageUnread: (messageId: string) => MarkMessageUnread;
9
- //# sourceMappingURL=mark-message-unread.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"mark-message-unread.d.ts","sourceRoot":"","sources":["../../../../src/inbox/elemental-inbox/actions/mark-message-unread.ts"],"names":[],"mappings":"AAAA,oBAAY,iBAAiB,GAAG;IAC9B,IAAI,EAAE,2BAA2B,CAAC;IAClC,OAAO,EAAE;QACP,SAAS,EAAE,MAAM,CAAC;KACnB,CAAC;CACH,CAAC;AAEF,eAAO,MAAM,yBAAyB,8BAA8B,CAAC;AAErE,eAAO,MAAM,iBAAiB,cAAe,MAAM,KAAG,iBAKpD,CAAC"}
@@ -1,9 +0,0 @@
1
- declare type InboxView = "messages" | "preferences";
2
- export declare type InboxSetView = {
3
- type: "inbox/SET_VIEW";
4
- payload: InboxView;
5
- };
6
- export declare const INBOX_SET_VIEW = "inbox/SET_VIEW";
7
- export declare const setView: (view: "messages" | "preferences") => InboxSetView;
8
- export {};
9
- //# sourceMappingURL=set-view.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"set-view.d.ts","sourceRoot":"","sources":["../../../../src/inbox/elemental-inbox/actions/set-view.ts"],"names":[],"mappings":"AAAA,aAAK,SAAS,GAAG,UAAU,GAAG,aAAa,CAAC;AAE5C,oBAAY,YAAY,GAAG;IACzB,IAAI,EAAE,gBAAgB,CAAC;IACvB,OAAO,EAAE,SAAS,CAAC;CACpB,CAAC;AAEF,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAE/C,eAAO,MAAM,OAAO,SAAU,UAAU,GAAG,aAAa,KAAG,YAGzD,CAAC"}
@@ -1,7 +0,0 @@
1
- export declare type ToggleInbox = {
2
- type: "inbox/TOGGLE_INBOX";
3
- payload?: boolean;
4
- };
5
- export declare const INBOX_TOGGLE = "inbox/TOGGLE_INBOX";
6
- export declare const toggleInbox: (isOpen?: boolean | undefined) => ToggleInbox;
7
- //# sourceMappingURL=toggle-inbox.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"toggle-inbox.d.ts","sourceRoot":"","sources":["../../../../src/inbox/elemental-inbox/actions/toggle-inbox.ts"],"names":[],"mappings":"AAAA,oBAAY,WAAW,GAAG;IACxB,IAAI,EAAE,oBAAoB,CAAC;IAC3B,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,eAAO,MAAM,YAAY,uBAAuB,CAAC;AAEjD,eAAO,MAAM,WAAW,oCAAuB,WAG7C,CAAC"}