@inboxsdk/core 1.2.2 → 1.2.4

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 (75) hide show
  1. package/inboxsdk.js +114 -58
  2. package/inboxsdk.js.map +1 -1
  3. package/package.json +1 -1
  4. package/pageWorld.js +1 -1
  5. package/pageWorld.js.map +1 -1
  6. package/src/inboxsdk-js/loading/platform-implementation-loader.js +2 -2
  7. package/src/inboxsdk.d.ts +32 -72
  8. package/src/injected-js/gmail/thread-identifier/index.d.ts.map +1 -1
  9. package/src/injected-js/gmail/thread-identifier/index.js +13 -2
  10. package/src/injected-js/gmail/thread-identifier/thread-row-parser.d.ts +5 -1
  11. package/src/injected-js/gmail/thread-identifier/thread-row-parser.d.ts.map +1 -1
  12. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +9 -1
  13. package/src/platform-implementation-js/constants/toolbars.d.ts +5 -1
  14. package/src/platform-implementation-js/constants/toolbars.d.ts.map +1 -1
  15. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.d.ts.map +1 -1
  16. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +17 -18
  17. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.d.ts +4 -1
  18. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.d.ts.map +1 -1
  19. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.js +21 -3
  20. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.d.ts.map +1 -1
  21. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.js +3 -2
  22. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.d.ts.map +1 -1
  23. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +2 -0
  24. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.d.ts.map +1 -1
  25. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +3 -10
  26. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.d.ts +3 -2
  27. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.d.ts.map +1 -1
  28. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.d.ts +6 -1
  29. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.d.ts.map +1 -1
  30. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.d.ts +6 -5
  31. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.d.ts.map +1 -1
  32. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +21 -3
  33. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.d.ts +3 -2
  34. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.d.ts.map +1 -1
  35. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.d.ts +32 -5
  36. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.d.ts.map +1 -1
  37. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.d.ts +17 -5
  38. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.d.ts.map +1 -1
  39. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +14 -6
  40. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.d.ts.map +1 -1
  41. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.d.ts +6 -1
  42. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.d.ts.map +1 -1
  43. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.d.ts +6 -1
  44. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.d.ts.map +1 -1
  45. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.d.ts +40 -1
  46. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.d.ts.map +1 -1
  47. package/src/platform-implementation-js/lib/dom/custom-events.d.ts +5 -0
  48. package/src/platform-implementation-js/lib/dom/custom-events.d.ts.map +1 -0
  49. package/src/platform-implementation-js/lib/dom/custom-events.js +5 -0
  50. package/src/platform-implementation-js/lib/wait-for.d.ts +8 -0
  51. package/src/platform-implementation-js/lib/wait-for.d.ts.map +1 -1
  52. package/src/platform-implementation-js/lib/wait-for.js +11 -1
  53. package/src/platform-implementation-js/namespaces/toolbars.d.ts +8 -3
  54. package/src/platform-implementation-js/namespaces/toolbars.d.ts.map +1 -1
  55. package/src/platform-implementation-js/namespaces/toolbars.js +2 -1
  56. package/src/platform-implementation-js/views/app-toolbar-button-view.d.ts +7 -2
  57. package/src/platform-implementation-js/views/app-toolbar-button-view.d.ts.map +1 -1
  58. package/src/platform-implementation-js/views/compose-view.d.ts +63 -11
  59. package/src/platform-implementation-js/views/compose-view.d.ts.map +1 -1
  60. package/src/platform-implementation-js/views/compose-view.js +0 -1
  61. package/src/platform-implementation-js/views/conversations/message-view.d.ts +28 -5
  62. package/src/platform-implementation-js/views/conversations/message-view.d.ts.map +1 -1
  63. package/src/platform-implementation-js/views/conversations/message-view.js +2 -2
  64. package/src/platform-implementation-js/views/conversations/thread-view.d.ts +13 -3
  65. package/src/platform-implementation-js/views/conversations/thread-view.d.ts.map +1 -1
  66. package/src/platform-implementation-js/views/conversations/thread-view.js +1 -1
  67. package/src/platform-implementation-js/views/thread-row-view.d.ts +61 -8
  68. package/src/platform-implementation-js/views/thread-row-view.d.ts.map +1 -1
  69. package/src/platform-implementation-js/views/thread-row-view.js +3 -1
  70. package/src/platform-implementation-js/driver-interfaces/message-view-driver.d.ts +0 -27
  71. package/src/platform-implementation-js/driver-interfaces/message-view-driver.d.ts.map +0 -1
  72. package/src/platform-implementation-js/driver-interfaces/message-view-driver.js +0 -1
  73. package/src/platform-implementation-js/driver-interfaces/thread-row-view-driver.d.ts +0 -11
  74. package/src/platform-implementation-js/driver-interfaces/thread-row-view-driver.d.ts.map +0 -1
  75. package/src/platform-implementation-js/driver-interfaces/thread-row-view-driver.js +0 -1
@@ -1,10 +1,64 @@
1
- import EventEmitter from '../lib/safe-event-emitter';
2
1
  import ComposeButtonView from './compose-button-view';
3
2
  import type Membrane from '../lib/Membrane';
4
3
  import type { Driver } from '../driver-interfaces/driver';
5
4
  import type { ComposeViewDriver, ComposeNotice, StatusBar } from '../driver-interfaces/compose-view-driver';
6
- import type { Contact } from '../../inboxsdk';
7
- export default class ComposeView extends EventEmitter {
5
+ import type { Contact, ComposeView as IComposeView } from '../../inboxsdk';
6
+ import type TypedEventEmitter from 'typed-emitter';
7
+ export type LinkPopOver = {
8
+ getLinkElement(): HTMLAnchorElement;
9
+ addSection(): LinkPopOverSection;
10
+ } & TypedEventEmitter<{
11
+ close(): void;
12
+ }>;
13
+ export interface LinkPopOverSection {
14
+ getElement(): HTMLElement;
15
+ remove(): void;
16
+ }
17
+ export type ComposeViewEvent = {
18
+ newListener: (eventName: string) => void;
19
+ close(): void;
20
+ bodyChanged(): void;
21
+ buttonAdded(): void;
22
+ discardCanceled(): void;
23
+ draftSaved(): void;
24
+ fullscreenChanged(data: {
25
+ fullscreen: boolean;
26
+ }): void;
27
+ linkPopOver(data: LinkPopOver): void;
28
+ minimized(): void;
29
+ recipientsChanged(data: unknown): void;
30
+ resize(): void;
31
+ restored(): void;
32
+ sendCanceled(): void;
33
+ sending(): void;
34
+ sent(data: {
35
+ getMessageID(): Promise<string>;
36
+ getThreadID(): Promise<string>;
37
+ }): void;
38
+ subjectChanged(): void;
39
+ destroy(data: {
40
+ /**
41
+ * If the composeView was closed without being sent and the draft was saved, then this property will have the draft's message ID after it saved. Otherwise it will be null.
42
+ */
43
+ messageID: string | null | undefined;
44
+ /**
45
+ * Whether or not the ComposeView was closed by an extension calling ComposeView.close(), including other extensions besides your own. False if the ComposeView was closed due to a user action like clicking the discard/close buttons or hitting escape
46
+ */
47
+ closedByInboxSDK: boolean;
48
+ }): void;
49
+ discard(data: {
50
+ cancel(): void;
51
+ }): void;
52
+ responseTypeChanged(data: {
53
+ isForward: boolean;
54
+ }): void;
55
+ presending(data: {
56
+ cancel(): void;
57
+ }): void;
58
+ messageIDChange(data: string | null | undefined): void;
59
+ };
60
+ declare const ComposeView_base: new () => TypedEventEmitter<ComposeViewEvent>;
61
+ export default class ComposeView extends ComposeView_base implements IComposeView {
8
62
  destroyed: boolean;
9
63
  constructor(driver: Driver, composeViewImplementation: ComposeViewDriver, membrane: Membrane);
10
64
  addButton(buttonDescriptor: any): ComposeButtonView;
@@ -36,8 +90,8 @@ export default class ComposeView extends EventEmitter {
36
90
  getInitialMessageID(): string;
37
91
  getMessageID(): string;
38
92
  getThreadID(): string;
39
- getDraftID(): Promise<string | null | void>;
40
- getCurrentDraftID(): Promise<string | null | void>;
93
+ getDraftID(): Promise<string | undefined | null>;
94
+ getCurrentDraftID(): Promise<string | null | undefined>;
41
95
  getHTMLContent(): string;
42
96
  getSelectedBodyHTML(): string | null | void;
43
97
  getSelectedBodyText(): string | null | void;
@@ -47,7 +101,7 @@ export default class ComposeView extends EventEmitter {
47
101
  getCcRecipients(): Contact[];
48
102
  getBccRecipients(): Contact[];
49
103
  insertTextIntoBodyAtCursor(text: string): HTMLElement | null | void;
50
- insertHTMLIntoBodyAtCursor(html: string): HTMLElement | null | void;
104
+ insertHTMLIntoBodyAtCursor(html: string): HTMLElement | null | undefined;
51
105
  insertLinkChipIntoBodyAtCursor(text: string, url: string, iconUrl: string): HTMLElement | void;
52
106
  insertLinkIntoBodyAtCursor(text: string, url: string): HTMLElement | null | void;
53
107
  isForward(): boolean;
@@ -74,12 +128,9 @@ export default class ComposeView extends EventEmitter {
74
128
  dragFilesIntoCompose(files: Blob[]): Promise<void>;
75
129
  getElement(): HTMLElement;
76
130
  registerRequestModifier(modifier: (composeParams: {
131
+ isPlainText?: boolean;
77
132
  body: string;
78
- }) => {
79
- body: string;
80
- } | Promise<{
81
- body: string;
82
- }>): void;
133
+ }) => void): void;
83
134
  replaceSendButton({ el }: {
84
135
  el: HTMLElement;
85
136
  }): () => void;
@@ -88,4 +139,5 @@ export default class ComposeView extends EventEmitter {
88
139
  ensureAppButtonToolbarsAreClosed(): void;
89
140
  overrideEditSubject(): void;
90
141
  }
142
+ export {};
91
143
  //# sourceMappingURL=compose-view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"compose-view.d.ts","sourceRoot":"","sources":["../../../../../src/platform-implementation-js/views/compose-view.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"compose-view.d.ts","sourceRoot":"","sources":["../../../../../src/platform-implementation-js/views/compose-view.ts"],"names":[],"mappings":"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"}
@@ -5,7 +5,6 @@ import * as ud from 'ud';
5
5
  import get from '../../common/get-or-fail';
6
6
  import ComposeButtonView from './compose-button-view';
7
7
  const memberMap = ud.defonce(module, () => new WeakMap());
8
- // documented in src/docs/
9
8
  export default class ComposeView extends EventEmitter {
10
9
  destroyed = false;
11
10
  constructor(driver, composeViewImplementation, membrane) {
@@ -1,12 +1,35 @@
1
- import EventEmitter from '../../lib/safe-event-emitter';
2
1
  import type Membrane from '../../lib/Membrane';
3
2
  import type AttachmentCardView from './attachment-card-view';
4
- import type { MessageViewDriver, VIEW_STATE, MessageViewLinkDescriptor } from '../../driver-interfaces/message-view-driver';
3
+ import Conversations from '../../namespaces/conversations';
5
4
  import type { Driver } from '../../driver-interfaces/driver';
6
5
  import type { Contact, MessageView as IMessageView } from '../../../inboxsdk';
7
- declare class MessageView extends EventEmitter implements IMessageView {
6
+ import type { MessageViewDriverEventByName } from '../../dom-driver/gmail/views/gmail-message-view';
7
+ import type TypedEventEmitter from 'typed-emitter';
8
+ import type MessageViewDriver from '../../dom-driver/gmail/views/gmail-message-view';
9
+ export type VIEW_STATE = 'HIDDEN' | 'COLLAPSED' | 'EXPANDED';
10
+ type MessageViewLinkDescriptor = {
11
+ text: string;
12
+ html: string;
13
+ element: HTMLElement;
14
+ href: string;
15
+ isInQuotedArea: boolean;
16
+ };
17
+ export type MessageViewEvent = {
18
+ contactHover(data: Omit<MessageViewDriverEventByName['contactHover'], 'eventName'>): void;
19
+ destroy(): void;
20
+ load(data: {
21
+ messageView: MessageView;
22
+ }): void;
23
+ viewStateChange(data: {
24
+ oldViewState: VIEW_STATE;
25
+ newViewState: VIEW_STATE;
26
+ messageView: MessageView;
27
+ }): void;
28
+ };
29
+ declare const MessageView_base: new () => TypedEventEmitter<MessageViewEvent>;
30
+ declare class MessageView extends MessageView_base implements IMessageView {
8
31
  destroyed: boolean;
9
- constructor(messageViewImplementation: MessageViewDriver, appId: string, membrane: Membrane, Conversations: Record<string, any>, driver: Driver);
32
+ constructor(messageViewImplementation: MessageViewDriver, appId: string, membrane: Membrane, Conversations: Conversations, driver: Driver);
10
33
  addAttachmentCardView(cardOptions: Record<string, any>): AttachmentCardView;
11
34
  addAttachmentCardViewNoPreview(cardOptions: Record<string, any>): AttachmentCardView;
12
35
  addAttachmentsToolbarButton(buttonOptions: Record<string, any>): void;
@@ -25,7 +48,7 @@ declare class MessageView extends EventEmitter implements IMessageView {
25
48
  getRecipientsFull(): Promise<Array<Contact>>;
26
49
  getThreadView(): ReturnType<IMessageView['getThreadView']>;
27
50
  getDateString(): string;
28
- addAttachmentIcon(iconDescriptor: Parameters<IMessageView['addAttachmentIcon']>[0]): import("../../../inboxsdk").AttachmentIcon;
51
+ addAttachmentIcon(iconDescriptor: Parameters<IMessageView['addAttachmentIcon']>[0]): import("../../dom-driver/gmail/views/gmail-message-view/attachment-icon").default;
29
52
  getViewState(): VIEW_STATE;
30
53
  hasOpenReply(): boolean;
31
54
  }
@@ -1 +1 @@
1
- {"version":3,"file":"message-view.d.ts","sourceRoot":"","sources":["../../../../../../src/platform-implementation-js/views/conversations/message-view.ts"],"names":[],"mappings":"AAEA,OAAO,YAAY,MAAM,8BAA8B,CAAC;AACxD,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAC;AAE/C,OAAO,KAAK,kBAAkB,MAAM,wBAAwB,CAAC;AAE7D,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,yBAAyB,EAC1B,MAAM,6CAA6C,CAAC;AACrD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gCAAgC,CAAC;AAC7D,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,IAAI,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAY9E,cAAM,WAAY,SAAQ,YAAa,YAAW,YAAY;IAC5D,SAAS,EAAE,OAAO,CAAS;gBAGzB,yBAAyB,EAAE,iBAAiB,EAC5C,KAAK,EAAE,MAAM,EACb,QAAQ,EAAE,QAAQ,EAClB,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAClC,MAAM,EAAE,MAAM;IAmBhB,qBAAqB,CAAC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,kBAAkB;IAiB3E,8BAA8B,CAC5B,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC/B,kBAAkB;IAIrB,2BAA2B,CAAC,aAAa,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAgB9D,gBAAgB,CACd,aAAa,CAAC,EAAE,UAAU,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,CAAC;IAmBjE,cAAc,IAAI,WAAW;IAI7B,YAAY,IAAI,MAAM;IAUtB,iBAAiB,IAAI,OAAO,CAAC,MAAM,CAAC;IAOpC,0BAA0B,IAAI,KAAK,CAAC,kBAAkB,CAAC;IAWvD,sBAAsB,IAAI,KAAK,CAAC,kBAAkB,CAAC;IAgBnD,qBAAqB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO;IAMpD,QAAQ,IAAI,OAAO;IAInB,cAAc,IAAI,KAAK,CAAC,yBAAyB,CAAC;IAmBlD,SAAS,IAAI,OAAO;IAIpB,aAAa,IAAI,KAAK,CAAC,OAAO,CAAC;IAa/B,0BAA0B,IAAI,KAAK,CAAC,MAAM,CAAC;IAO3C,iBAAiB,IAAI,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAI5C,aAAa,IAAI,UAAU,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;IAK1D,aAAa,IAAI,MAAM;IAIvB,iBAAiB,CACf,cAAc,EAAE,UAAU,CAAC,YAAY,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,CAAC;IAOlE,YAAY,IAAI,UAAU;IAO1B,YAAY,IAAI,OAAO;CAUxB;AAwDD,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"message-view.d.ts","sourceRoot":"","sources":["../../../../../../src/platform-implementation-js/views/conversations/message-view.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,8 @@ import { defonce } from 'ud';
2
2
  import asap from 'asap';
3
3
  import EventEmitter from '../../lib/safe-event-emitter';
4
4
  import get from '../../../common/get-or-fail';
5
- import { MessageViewToolbarSectionNames } from '../../namespaces/conversations';
6
- const memberMap = defonce(module, () => new WeakMap()); // documented in src/docs/
5
+ import { MessageViewToolbarSectionNames, } from '../../namespaces/conversations';
6
+ const memberMap = defonce(module, () => new WeakMap());
7
7
  class MessageView extends EventEmitter {
8
8
  destroyed = false;
9
9
  constructor(messageViewImplementation, appId, membrane, Conversations, driver) {
@@ -1,14 +1,24 @@
1
- import EventEmitter from '../../lib/safe-event-emitter';
2
1
  import type Membrane from '../../lib/Membrane';
3
2
  import type SimpleElementView from '../../views/SimpleElementView';
4
3
  import ContentPanelView from '../content-panel-view';
5
4
  import type MessageView from './message-view';
6
5
  import type { Driver, ThreadViewDriver } from '../../driver-interfaces/driver';
7
6
  import type CustomMessageView from '../../views/conversations/custom-message-view';
8
- declare class ThreadView extends EventEmitter {
7
+ import type { Contact, ContentPanelDescriptor, ThreadView as IThreadView } from '../../../inboxsdk';
8
+ import type TypedEventEmitter from 'typed-emitter';
9
+ export type ThreadViewEvents = {
10
+ destroy(): void;
11
+ contactHover(data: {
12
+ messageView: MessageView;
13
+ contact: Contact;
14
+ threadView: ThreadView;
15
+ }): void;
16
+ };
17
+ declare const ThreadView_base: new () => TypedEventEmitter<ThreadViewEvents>;
18
+ declare class ThreadView extends ThreadView_base implements IThreadView {
9
19
  destroyed: boolean;
10
20
  constructor(threadViewImplementation: ThreadViewDriver, appId: string, driver: Driver, membrane: Membrane);
11
- addSidebarContentPanel(descriptor: Record<string, any>): ContentPanelView | null | undefined;
21
+ addSidebarContentPanel(descriptor: ContentPanelDescriptor): ContentPanelView;
12
22
  addNoticeBar(): SimpleElementView;
13
23
  registerHiddenCustomMessageNoticeProvider(provider: (numberCustomMessagesHidden: number, numberNativeMessagesHidden: number | null | undefined, unmountPromise: Promise<void>) => HTMLElement): void;
14
24
  addCustomMessage(descriptor: Record<string, any>): CustomMessageView;
@@ -1 +1 @@
1
- {"version":3,"file":"thread-view.d.ts","sourceRoot":"","sources":["../../../../../../src/platform-implementation-js/views/conversations/thread-view.ts"],"names":[],"mappings":"AACA,OAAO,YAAY,MAAM,8BAA8B,CAAC;AACxD,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,iBAAiB,MAAM,+BAA+B,CAAC;AAGnE,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAErD,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,KAAK,iBAAiB,MAAM,+CAA+C,CAAC;AAUnF,cAAM,UAAW,SAAQ,YAAY;IACnC,SAAS,EAAE,OAAO,CAAS;gBAGzB,wBAAwB,EAAE,gBAAgB,EAC1C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ;IAcpB,sBAAsB,CACpB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC9B,gBAAgB,GAAG,IAAI,GAAG,SAAS;IAqBtC,YAAY,IAAI,iBAAiB;IAKjC,yCAAyC,CACvC,QAAQ,EAAE,CACR,0BAA0B,EAAE,MAAM,EAClC,0BAA0B,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACrD,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,KAC1B,WAAW;IAQlB,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,iBAAiB;IAYpE,eAAe,IAAI,KAAK,CAAC,WAAW,CAAC;IAQrC,kBAAkB,IAAI,KAAK,CAAC,WAAW,CAAC;IAOxC,UAAU,IAAI,MAAM;IAIpB,WAAW,IAAI,MAAM;IAUrB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,QAAQ,IAAI,iBAAiB;CAG9B;AAED,eAAe,UAAU,CAAC"}
1
+ {"version":3,"file":"thread-view.d.ts","sourceRoot":"","sources":["../../../../../../src/platform-implementation-js/views/conversations/thread-view.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,QAAQ,MAAM,oBAAoB,CAAC;AAC/C,OAAO,KAAK,iBAAiB,MAAM,+BAA+B,CAAC;AAGnE,OAAO,gBAAgB,MAAM,uBAAuB,CAAC;AAErD,OAAO,KAAK,WAAW,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,MAAM,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAC/E,OAAO,KAAK,iBAAiB,MAAM,+CAA+C,CAAC;AACnF,OAAO,KAAK,EACV,OAAO,EACP,sBAAsB,EACtB,UAAU,IAAI,WAAW,EAC1B,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,iBAAiB,MAAM,eAAe,CAAC;AASnD,MAAM,MAAM,gBAAgB,GAAG;IAC7B,OAAO,IAAI,IAAI,CAAC;IAChB,YAAY,CAAC,IAAI,EAAE;QACjB,WAAW,EAAE,WAAW,CAAC;QACzB,OAAO,EAAE,OAAO,CAAC;QACjB,UAAU,EAAE,UAAU,CAAC;KACxB,GAAG,IAAI,CAAC;CACV,CAAC;yCAKmC,kBAAkB,gBAAgB,CAAC;AADxE,cAAM,UACJ,SAAQ,eACR,YAAW,WAAW;IAEtB,SAAS,UAAS;gBAGhB,wBAAwB,EAAE,gBAAgB,EAC1C,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,QAAQ;IAcpB,sBAAsB,CAAC,UAAU,EAAE,sBAAsB,GAAG,gBAAgB;IAkB5E,YAAY,IAAI,iBAAiB;IAKjC,yCAAyC,CACvC,QAAQ,EAAE,CACR,0BAA0B,EAAE,MAAM,EAClC,0BAA0B,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EACrD,cAAc,EAAE,OAAO,CAAC,IAAI,CAAC,KAC1B,WAAW;IAQlB,gBAAgB,CAAC,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,iBAAiB;IAYpE,eAAe,IAAI,KAAK,CAAC,WAAW,CAAC;IAQrC,kBAAkB,IAAI,KAAK,CAAC,WAAW,CAAC;IAOxC,UAAU,IAAI,MAAM;IAIpB,WAAW,IAAI,MAAM;IAUrB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,QAAQ,IAAI,iBAAiB;CAG9B;AAED,eAAe,UAAU,CAAC"}
@@ -4,7 +4,7 @@ import kefirCast from 'kefir-cast';
4
4
  import Kefir from 'kefir';
5
5
  import ContentPanelView from '../content-panel-view';
6
6
  import get from '../../../common/get-or-fail';
7
- const memberMap = defonce(module, () => new WeakMap()); // documented in src/docs/
7
+ const memberMap = defonce(module, () => new WeakMap());
8
8
  class ThreadView extends EventEmitter {
9
9
  destroyed = false;
10
10
  constructor(threadViewImplementation, appId, driver, membrane) {
@@ -1,22 +1,74 @@
1
- import EventEmitter from '../lib/safe-event-emitter';
2
1
  import type GmailThreadRowView from '../dom-driver/gmail/views/gmail-thread-row-view';
3
- import { Contact } from '../../inboxsdk';
4
- export default class ThreadRowView extends EventEmitter {
2
+ import type { Contact, LabelDescriptor, ThreadDateDescriptor, DraftLabelDescriptor } from '../../inboxsdk';
3
+ import { Observable } from 'kefir';
4
+ import type TypedEventEmitter from 'typed-emitter';
5
+ export interface ImageDescriptor {
6
+ imageUrl?: string;
7
+ imageClass?: string;
8
+ tooltip?: string;
9
+ orderHint?: number;
10
+ }
11
+ type EmitterType = TypedEventEmitter<{
12
+ destroy: () => void;
13
+ }>;
14
+ export type IThreadRowView = EmitterType & {
15
+ /**
16
+ * This property is set to true once the view is destroyed
17
+ */
18
+ readonly destroyed: boolean;
19
+ addLabel(labelDescriptor: LabelDescriptor | Observable<LabelDescriptor | null, unknown> | null): void;
20
+ addAttachmentIcon(threadRowAttachmentIconDescriptor: any): void;
21
+ addImage(imageDescriptor: ImageDescriptor | Observable<ImageDescriptor | null, any>): void;
22
+ getElement(): HTMLElement;
23
+ getVisibleDraftCount(): number;
24
+ /** @deprecated */
25
+ getThreadIDIfStable(): string | null | undefined;
26
+ /**
27
+ * Gets the Gmail Thread ID of the thread only if the thread ID is stable. Some threads such as those with only a single Draft message in them will occasionally change their thread ID. If you're using the thread ID as a key, you may experience unexpected behavior if you're not careful about this fact. This method provides you with an easy way to tell if the thread has a stable ID.
28
+ *
29
+ * @return a Promise<String> for the thread ID if it is expected to stay the same, otherwise it will return a Promise<null>
30
+ */
31
+ getThreadIDIfStableAsync(): Promise<string | null>;
32
+ addButton(threadRowButtonDescriptor: any): void;
33
+ /** @deprecated */
34
+ getThreadID(): string;
35
+ /**
36
+ * @returns a Promise<String> of the Gmail Thread ID of the thread
37
+ */
38
+ getThreadIDAsync(): Promise<string>;
39
+ /**
40
+ * Returns a Promise<String> for the thread row's draft ID, if the thread row represents a single draft. Otherwise the promise may resolve to null.
41
+ */
42
+ getDraftID(): Promise<string | null | undefined>;
43
+ replaceDate(threadDateDescriptor: ThreadDateDescriptor | null | Observable<ThreadDateDescriptor | null, any>): void;
44
+ getVisibleMessageCount(): number;
45
+ getSubject(): string;
46
+ replaceSubject(newSubjectStr: string): void;
47
+ getContacts(): Array<{
48
+ name: string | null;
49
+ emailAddress: string;
50
+ }>;
51
+ replaceDraftLabel(descriptor: DraftLabelDescriptor | null | Observable<DraftLabelDescriptor | null, any>): void;
52
+ };
53
+ declare const ThreadRowView_base: new () => EmitterType;
54
+ export default class ThreadRowView extends ThreadRowView_base implements IThreadRowView {
5
55
  destroyed: boolean;
6
56
  constructor(threadRowViewDriver: GmailThreadRowView);
7
- addLabel(labelDescriptor: Record<string, any>): void;
8
- addImage(imageDescriptor: Record<string, any>): void;
9
- addButton(buttonDescriptor: Record<string, any>): void;
57
+ addLabel(labelDescriptor: LabelDescriptor | null | Observable<LabelDescriptor | null, unknown>): void;
58
+ addImage(imageDescriptor: ImageDescriptor | Observable<ImageDescriptor | null, any>): void;
59
+ addButton(buttonDescriptor: any): void;
10
60
  addActionButton(actionButtonDescriptor: Record<string, any>): void;
11
61
  addAttachmentIcon(threadRowAttachmentIconDescriptor: Record<string, any>): void;
12
- replaceDate(threadRowDateDescriptor: Record<string, any>): void;
13
- replaceDraftLabel(draftLabelDescriptor: Record<string, any>): void;
62
+ replaceDate(threadRowDateDescriptor: ThreadDateDescriptor | null | Observable<ThreadDateDescriptor | null, any>): void;
63
+ replaceDraftLabel(draftLabelDescriptor: DraftLabelDescriptor | null | Observable<DraftLabelDescriptor | null, any>): void;
14
64
  getElement(): HTMLElement;
15
65
  getSubject(): string;
16
66
  replaceSubject(newSubjectStr: string): void;
17
67
  getDateString(): string;
68
+ /** @deprecated */
18
69
  getThreadID(): string;
19
70
  getThreadIDAsync(): Promise<string>;
71
+ /** @deprecated */
20
72
  getThreadIDIfStable(): string | null | undefined;
21
73
  getThreadIDIfStableAsync(): Promise<null | string>;
22
74
  getDraftID(): Promise<string | null | undefined>;
@@ -24,4 +76,5 @@ export default class ThreadRowView extends EventEmitter {
24
76
  getVisibleMessageCount(): number;
25
77
  getContacts(): Contact[];
26
78
  }
79
+ export {};
27
80
  //# sourceMappingURL=thread-row-view.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"thread-row-view.d.ts","sourceRoot":"","sources":["../../../../../src/platform-implementation-js/views/thread-row-view.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,2BAA2B,CAAC;AACrD,OAAO,KAAK,kBAAkB,MAAM,iDAAiD,CAAC;AAEtF,OAAO,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAGzC,MAAM,CAAC,OAAO,OAAO,aAAc,SAAQ,YAAY;IACrD,SAAS,EAAE,OAAO,CAAC;gBAEP,mBAAmB,EAAE,kBAAkB;IAcnD,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAI7C,QAAQ,CAAC,eAAe,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAI7C,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAI/C,eAAe,CAAC,sBAAsB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAM3D,iBAAiB,CAAC,iCAAiC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAMxE,WAAW,CAAC,uBAAuB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAMxD,iBAAiB,CAAC,oBAAoB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAM3D,UAAU,IAAI,WAAW;IAIzB,UAAU,IAAI,MAAM;IAIpB,cAAc,CAAC,aAAa,EAAE,MAAM;IAIpC,aAAa,IAAI,MAAM;IAIvB,WAAW,IAAI,MAAM;IAKrB,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAInC,mBAAmB,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS;IAShD,wBAAwB,IAAI,OAAO,CAAC,IAAI,GAAG,MAAM,CAAC;IAQlD,UAAU,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IAIhD,oBAAoB,IAAI,MAAM;IAI9B,sBAAsB,IAAI,MAAM;IAIhC,WAAW,IAAI,OAAO,EAAE;CAGzB"}
1
+ {"version":3,"file":"thread-row-view.d.ts","sourceRoot":"","sources":["../../../../../src/platform-implementation-js/views/thread-row-view.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import EventEmitter from '../lib/safe-event-emitter';
2
2
  import get from '../../common/get-or-fail';
3
- const membersMap = new WeakMap(); // documented in src/docs/
3
+ const membersMap = new WeakMap();
4
4
  export default class ThreadRowView extends EventEmitter {
5
5
  destroyed;
6
6
  constructor(threadRowViewDriver) {
@@ -49,6 +49,7 @@ export default class ThreadRowView extends EventEmitter {
49
49
  getDateString() {
50
50
  return get(membersMap, this).threadRowViewDriver.getDateString();
51
51
  }
52
+ /** @deprecated */
52
53
  getThreadID() {
53
54
  // TODO mark deprecated
54
55
  return get(membersMap, this).threadRowViewDriver.getThreadID();
@@ -56,6 +57,7 @@ export default class ThreadRowView extends EventEmitter {
56
57
  getThreadIDAsync() {
57
58
  return get(membersMap, this).threadRowViewDriver.getThreadIDAsync();
58
59
  }
60
+ /** @deprecated */
59
61
  getThreadIDIfStable() {
60
62
  // TODO mark deprecated
61
63
  if (this.getVisibleMessageCount() > 0) {
@@ -1,27 +0,0 @@
1
- import type * as Kefir from 'kefir';
2
- import type { AttachmentCardViewDriver } from './driver';
3
- import type { MessageView, MessageViewToolbarButtonDescriptor } from '../../inboxsdk';
4
- export type VIEW_STATE = 'HIDDEN' | 'COLLAPSED' | 'EXPANDED';
5
- export type MessageViewLinkDescriptor = {
6
- text: string;
7
- html: string;
8
- element: HTMLElement;
9
- href: string;
10
- isInQuotedArea: boolean;
11
- };
12
- export type MessageViewDriver = MessageView & {
13
- getMessageID(): string;
14
- getContentsElement(): HTMLElement;
15
- addMoreMenuItem(options: MessageViewToolbarButtonDescriptor): void;
16
- getAttachmentCardViewDrivers(): Array<AttachmentCardViewDriver>;
17
- addAttachmentCard(options: Record<string, any>): AttachmentCardViewDriver;
18
- addButtonToDownloadAllArea(options: Record<string, any>): void;
19
- getEventStream(): Kefir.Observable<Record<string, any>, unknown>;
20
- getViewState(): VIEW_STATE;
21
- getDateString(): string;
22
- getReadyStream(): Kefir.Observable<any, unknown>;
23
- getRecipientEmailAddresses(): Array<string>;
24
- getThreadViewDriver(): Record<string, any>;
25
- hasOpenReply(): boolean;
26
- };
27
- //# sourceMappingURL=message-view-driver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"message-view-driver.d.ts","sourceRoot":"","sources":["../../../../../src/platform-implementation-js/driver-interfaces/message-view-driver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,KAAK,KAAK,MAAM,OAAO,CAAC;AACpC,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,UAAU,CAAC;AACzD,OAAO,KAAK,EACV,WAAW,EACX,kCAAkC,EACnC,MAAM,gBAAgB,CAAC;AAExB,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,WAAW,GAAG,UAAU,CAAC;AAC7D,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,WAAW,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,OAAO,CAAC;CACzB,CAAC;AACF,MAAM,MAAM,iBAAiB,GAAG,WAAW,GAAG;IAC5C,YAAY,IAAI,MAAM,CAAC;IACvB,kBAAkB,IAAI,WAAW,CAAC;IAClC,eAAe,CAAC,OAAO,EAAE,kCAAkC,GAAG,IAAI,CAAC;IACnE,4BAA4B,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC;IAChE,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,wBAAwB,CAAC;IAC1E,0BAA0B,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC/D,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC;IACjE,YAAY,IAAI,UAAU,CAAC;IAC3B,aAAa,IAAI,MAAM,CAAC;IACxB,cAAc,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACjD,0BAA0B,IAAI,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5C,mBAAmB,IAAI,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC3C,YAAY,IAAI,OAAO,CAAC;CACzB,CAAC"}
@@ -1,11 +0,0 @@
1
- export type ThreadRowViewDriver = {
2
- addLabel(label: Record<string, any>): void;
3
- addButton(buttonDescriptor: Record<string, any>): void;
4
- addAttachmentIcon(opts: Record<string, any>): void;
5
- replaceDate(opts: Record<string, any>): void;
6
- getSubject(): string;
7
- replaceSubject(newSubjectStr: string): void;
8
- getDateString(): string;
9
- getThreadID(): string;
10
- };
11
- //# sourceMappingURL=thread-row-view-driver.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"thread-row-view-driver.d.ts","sourceRoot":"","sources":["../../../../../src/platform-implementation-js/driver-interfaces/thread-row-view-driver.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC3C,SAAS,CAAC,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACvD,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IACnD,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAAG,IAAI,CAAC;IAC7C,UAAU,IAAI,MAAM,CAAC;IACrB,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5C,aAAa,IAAI,MAAM,CAAC;IACxB,WAAW,IAAI,MAAM,CAAC;CACvB,CAAC"}