@inboxsdk/core 0.2.27 → 0.2.28-alpha.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 (132) hide show
  1. package/inboxsdk.js +55 -56
  2. package/inboxsdk.js.map +1 -1
  3. package/package.json +5 -5
  4. package/pageWorld.js +12 -12
  5. package/pageWorld.js.map +1 -1
  6. package/src/build/exec.d.ts +1 -0
  7. package/src/build/spawn.d.ts +1 -0
  8. package/src/common/ajax.d.ts +22 -0
  9. package/src/common/cachebust-url.d.ts +1 -0
  10. package/src/common/censorHTMLstring.d.ts +2 -0
  11. package/src/common/censorHTMLtree.d.ts +1 -0
  12. package/src/common/censorJSONTree.d.ts +1 -0
  13. package/src/common/connectivity-test.d.ts +3 -0
  14. package/src/common/defer.d.ts +6 -0
  15. package/src/common/find-parent.d.ts +1 -0
  16. package/src/common/get-extension-id.d.ts +1 -0
  17. package/src/common/get-or-fail.d.ts +6 -0
  18. package/src/common/get-session-id.d.ts +1 -0
  19. package/src/common/get-stack-trace.d.ts +1 -0
  20. package/src/common/html-to-text.d.ts +1 -0
  21. package/src/common/isElementVisible.d.ts +1 -0
  22. package/src/common/load-script.d.ts +6 -0
  23. package/src/common/log-error.d.ts +10 -0
  24. package/src/common/quoted-split.d.ts +1 -0
  25. package/src/common/rate-limit-queuer.d.ts +1 -0
  26. package/src/common/rate-limit.d.ts +1 -0
  27. package/src/common/version.d.ts +1 -0
  28. package/src/inboxsdk-js/loading/platform-implementation-loader.d.ts +7 -0
  29. package/{inboxsdk.d.ts → src/inboxsdk.d.ts} +0 -0
  30. package/src/injected-js/gmail/constants.d.ts +13 -0
  31. package/src/injected-js/gmail/modify-suggestions.d.ts +23 -0
  32. package/src/injected-js/gmail/setup-gmonkey-handler.d.ts +4 -0
  33. package/src/injected-js/gmail/sync-compose-processor-20220909.d.ts +27 -0
  34. package/src/injected-js/gmail/sync-compose-processor.d.ts +15 -0
  35. package/src/injected-js/gmail/sync-compose-request-processor.d.ts +3 -0
  36. package/src/injected-js/injected-logger.d.ts +2 -0
  37. package/src/injected-js/setupCustomViewEventAssassin.d.ts +1 -0
  38. package/src/platform-implementation-js/constants/nav-item-types.d.ts +16 -0
  39. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.d.ts +5 -0
  40. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-support-item.d.ts +3 -0
  41. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/encodeDraftUrlId.d.ts +1 -0
  42. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-message-id.d.ts +2 -0
  43. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-thread-id.d.ts +2 -0
  44. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts +1 -0
  45. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.d.ts +4 -0
  46. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/get-main-content-element-changed-stream.d.ts +3 -0
  47. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/wait-for-gmail-mode-to-settle.d.ts +2 -0
  48. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts +42 -0
  49. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.d.ts +32 -0
  50. package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.d.ts +55 -0
  51. package/src/platform-implementation-js/dom-driver/gmail/gmail-sync-response-processor.d.ts +42 -0
  52. package/src/platform-implementation-js/dom-driver/gmail/is-compose-titlebar-light-color.d.ts +2 -0
  53. package/src/platform-implementation-js/dom-driver/gmail/makePageParserTree.d.ts +3 -0
  54. package/src/platform-implementation-js/dom-driver/gmail/pageParserOptions.d.ts +3 -0
  55. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.d.ts +22 -0
  56. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/detectClassicRecipientsArea.d.ts +2 -0
  57. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.d.ts +3 -0
  58. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.d.ts +4 -0
  59. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.d.ts +49 -0
  60. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/page-parser.d.ts +7 -0
  61. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/set-recipients.d.ts +3 -0
  62. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/setupLinkPopovers.d.ts +3 -0
  63. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.d.ts +5 -0
  64. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts +70 -0
  65. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-support-item-view.d.ts +15 -0
  66. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-color-classes.d.ts +9 -0
  67. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.d.ts +60 -0
  68. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.d.ts +17 -0
  69. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.d.ts +17 -0
  70. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.d.ts +28 -0
  71. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-dropdown-button-view.d.ts +7 -0
  72. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-parent-accessory-button-view.d.ts +4 -0
  73. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.d.ts +8 -0
  74. package/src/platform-implementation-js/driver-common/getAccountUrlPart.d.ts +1 -0
  75. package/src/platform-implementation-js/driver-common/getOriginalMessagePage.d.ts +11 -0
  76. package/src/platform-implementation-js/driver-common/getSyncThreadsForSearch.d.ts +8 -0
  77. package/src/platform-implementation-js/driver-common/gmailAjax.d.ts +4 -0
  78. package/src/platform-implementation-js/driver-common/render-custom-icon.d.ts +1 -0
  79. package/src/platform-implementation-js/driver-common/update-icon.d.ts +7 -0
  80. package/src/platform-implementation-js/lib/ErrorCollector.d.ts +17 -0
  81. package/src/platform-implementation-js/lib/Membrane.d.ts +12 -0
  82. package/src/platform-implementation-js/lib/ScrollableContainByScreen.d.ts +8 -0
  83. package/src/platform-implementation-js/lib/attemptWithRetries.d.ts +1 -0
  84. package/src/platform-implementation-js/lib/common-page-communicator.d.ts +19 -0
  85. package/src/platform-implementation-js/lib/delay-asap.d.ts +2 -0
  86. package/src/platform-implementation-js/lib/delay-idle.d.ts +2 -0
  87. package/src/platform-implementation-js/lib/dom/block-and-reemit-keyboard-events.d.ts +1 -0
  88. package/src/platform-implementation-js/lib/dom/generic-button-view.d.ts +12 -0
  89. package/src/platform-implementation-js/lib/dom/get-insert-before-element.d.ts +1 -0
  90. package/src/platform-implementation-js/lib/dom/insert-element-in-order.d.ts +1 -0
  91. package/src/platform-implementation-js/lib/dom/keyboard-shortcut-stream.d.ts +2 -0
  92. package/src/platform-implementation-js/lib/dom/make-element-child-stream.d.ts +7 -0
  93. package/src/platform-implementation-js/lib/dom/make-element-stream-merger.d.ts +3 -0
  94. package/src/platform-implementation-js/lib/dom/make-element-view-stream.d.ts +7 -0
  95. package/src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.d.ts +2 -0
  96. package/src/platform-implementation-js/lib/dom/make-mutation-observer-stream.d.ts +2 -0
  97. package/src/platform-implementation-js/lib/dom/outsideClicksAndEscape.d.ts +6 -0
  98. package/src/platform-implementation-js/lib/dom/parentNodes.d.ts +1 -0
  99. package/src/platform-implementation-js/lib/dom/querySelectorOrFail.d.ts +1 -0
  100. package/src/platform-implementation-js/lib/dom/reemitClickEventForReact.d.ts +1 -0
  101. package/src/platform-implementation-js/lib/dom/simulate-key.d.ts +1 -0
  102. package/src/platform-implementation-js/lib/dom/simulate-mouse-event.d.ts +3 -0
  103. package/src/platform-implementation-js/lib/dom/trigger-relay-event.d.ts +11 -0
  104. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.d.ts +2 -0
  105. package/src/platform-implementation-js/lib/fake-window-resize.d.ts +1 -0
  106. package/src/platform-implementation-js/lib/from-event-target-capture.d.ts +7 -0
  107. package/src/platform-implementation-js/lib/fromEventsWithOptions.d.ts +3 -0
  108. package/src/platform-implementation-js/lib/handler-registry.d.ts +12 -0
  109. package/src/platform-implementation-js/lib/idMap.d.ts +2 -0
  110. package/src/platform-implementation-js/lib/imageRequest.d.ts +1 -0
  111. package/src/platform-implementation-js/lib/incrementName.d.ts +1 -0
  112. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.d.ts +1 -0
  113. package/src/platform-implementation-js/lib/inject-script.d.ts +2 -0
  114. package/src/platform-implementation-js/lib/is-valid-app-id.d.ts +1 -0
  115. package/src/platform-implementation-js/lib/is-valid-email.d.ts +1 -0
  116. package/src/platform-implementation-js/lib/isNotNil.d.ts +1 -0
  117. package/src/platform-implementation-js/lib/isStreakAppId.d.ts +1 -0
  118. package/src/platform-implementation-js/lib/logger.d.ts +28 -0
  119. package/src/platform-implementation-js/lib/persistent-queue.d.ts +13 -0
  120. package/src/platform-implementation-js/lib/safe-event-emitter.d.ts +5 -0
  121. package/src/platform-implementation-js/lib/stopper-pool.d.ts +10 -0
  122. package/src/platform-implementation-js/lib/stream-wait-for.d.ts +9 -0
  123. package/src/platform-implementation-js/lib/wait-for.d.ts +1 -0
  124. package/src/platform-implementation-js/lib/waitForAsync.d.ts +1 -0
  125. package/src/platform-implementation-js/namespaces/butter-bar.d.ts +10 -0
  126. package/src/platform-implementation-js/views/SimpleElementView.d.ts +7 -0
  127. package/src/platform-implementation-js/views/compose-button-view.d.ts +24 -0
  128. package/src/platform-implementation-js/views/compose-view.d.ts +89 -0
  129. package/src/platform-implementation-js/views/keyboard-shortcut-handle.d.ts +7 -0
  130. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.d.ts +25 -0
  131. package/src/platform-implementation-js/widgets/buttons/dropdown-button-view-controller.d.ts +22 -0
  132. package/src/platform-implementation-js/widgets/buttons/dropdown-view.d.ts +21 -0
@@ -0,0 +1 @@
1
+ export default function exec(cmd: string, options?: any): Promise<any>;
@@ -0,0 +1 @@
1
+ export default function spawn(command: string, args?: string[]): Promise<void>;
@@ -0,0 +1,22 @@
1
+ export interface CommonAjaxOpts {
2
+ url: string;
3
+ method?: string;
4
+ cachebust?: boolean;
5
+ headers?: {
6
+ [index: string]: string;
7
+ };
8
+ xhrFields?: object;
9
+ data?: {
10
+ [index: string]: string;
11
+ } | string;
12
+ canRetry?: boolean;
13
+ retryNum?: number;
14
+ }
15
+ export interface AjaxOpts extends CommonAjaxOpts {
16
+ XMLHttpRequest?: typeof XMLHttpRequest;
17
+ }
18
+ export interface AjaxResponse {
19
+ text: string;
20
+ xhr: XMLHttpRequest;
21
+ }
22
+ export default function ajax(opts: AjaxOpts): Promise<AjaxResponse>;
@@ -0,0 +1 @@
1
+ export default function cachebustUrl(url: string): string;
@@ -0,0 +1,2 @@
1
+ export declare const ATTRIBUTE_WHITELIST: Set<string>;
2
+ export default function censorHTMLstring(html: string): string;
@@ -0,0 +1 @@
1
+ export default function censorHTMLtree(target: HTMLElement): string;
@@ -0,0 +1 @@
1
+ export default function censorJSONTree(object: any): string;
@@ -0,0 +1,3 @@
1
+ export default function connectivityTest(): Promise<{
2
+ [url: string]: boolean;
3
+ }>;
@@ -0,0 +1,6 @@
1
+ export interface Defer<T> {
2
+ readonly resolve: (value: T) => void;
3
+ readonly reject: (err: any) => void;
4
+ readonly promise: Promise<T>;
5
+ }
6
+ export default function defer<T>(): Defer<T>;
@@ -0,0 +1 @@
1
+ export default function findParent(el: HTMLElement, cb: (el: Element) => boolean): HTMLElement | null;
@@ -0,0 +1 @@
1
+ export default function getExtensionId(): string | null;
@@ -0,0 +1,6 @@
1
+ interface Get {
2
+ <K, V>(map: Map<K, V>, key: K): V;
3
+ <K extends object, V>(map: WeakMap<K, V>, key: K): V;
4
+ }
5
+ declare const get: Get;
6
+ export default get;
@@ -0,0 +1 @@
1
+ export default function getSessionId(): string;
@@ -0,0 +1 @@
1
+ export default function getStackTrace(): string;
@@ -0,0 +1 @@
1
+ export default function htmlToText(html: string): string;
@@ -0,0 +1 @@
1
+ export default function isElementVisible(el: HTMLElement): boolean;
@@ -0,0 +1,6 @@
1
+ export interface LoadScriptOptions {
2
+ nowrap?: boolean;
3
+ disableSourceMappingURL?: boolean;
4
+ XMLHttpRequest?: typeof XMLHttpRequest;
5
+ }
6
+ export default function loadScript(url: string, opts?: LoadScriptOptions): Promise<void>;
@@ -0,0 +1,10 @@
1
+ export interface LogErrorContext {
2
+ appId?: string;
3
+ appIds?: any[];
4
+ sentByApp?: boolean;
5
+ loaderVersion?: string;
6
+ implVersion?: string;
7
+ userEmailHash?: string;
8
+ isUsingSyncAPI?: boolean;
9
+ }
10
+ export default function logError(err: Error | unknown, details: any, context: LogErrorContext): void;
@@ -0,0 +1 @@
1
+ export default function quotedSplit(s: string): string[];
@@ -0,0 +1 @@
1
+ export default function rateLimitQueuer<T extends (...args: any) => Promise<any>>(fn: T, period: number, count: number): T;
@@ -0,0 +1 @@
1
+ export default function rateLimit<T extends Function>(fn: T, period: number, count: number): T;
@@ -0,0 +1 @@
1
+ export declare const BUILD_VERSION: string;
@@ -0,0 +1,7 @@
1
+ import { PlatformImplementation } from '../../platform-implementation-js/platform-implementation';
2
+ declare const PlatformImplementationLoader: {
3
+ load(appId: string, opts: object): Promise<PlatformImplementation>;
4
+ _loadScript: () => Promise<void>;
5
+ preload(): void;
6
+ };
7
+ export default PlatformImplementationLoader;
File without changes
@@ -0,0 +1,13 @@
1
+ import { Contact } from '../../platform-implementation-js/driver-interfaces/compose-view-driver';
2
+ export type ComposeRequestType = 'FIRST_DRAFT_SAVE' | 'DRAFT_SAVE' | 'SEND';
3
+ export type ComposeRequest = {
4
+ draftID: string;
5
+ to: Contact[] | null;
6
+ cc: Contact[] | null;
7
+ bcc: Contact[] | null;
8
+ body: string;
9
+ subject: string;
10
+ type: ComposeRequestType;
11
+ };
12
+ export declare const SEND_ACTIONS: string[];
13
+ export declare const DRAFT_SAVING_ACTIONS: string[];
@@ -0,0 +1,23 @@
1
+ export interface AutocompleteSearchResult {
2
+ name?: null | string;
3
+ nameHTML?: null | string;
4
+ description?: null | string;
5
+ descriptionHTML?: null | string;
6
+ routeName?: null | string;
7
+ routeParams?: null | {
8
+ [ix: string]: string | number;
9
+ };
10
+ externalURL?: null | string;
11
+ searchTerm?: null | string;
12
+ iconUrl?: null | string;
13
+ iconClass?: null | string;
14
+ iconHTML?: null | string;
15
+ onClick?: null | (() => void);
16
+ }
17
+ export interface AutocompleteSearchResultWithId extends AutocompleteSearchResult {
18
+ id: string;
19
+ providerId: string;
20
+ }
21
+ declare function modifySuggestions(responseText: string, modifications: AutocompleteSearchResultWithId[]): string;
22
+ declare const _default: typeof modifySuggestions;
23
+ export default _default;
@@ -0,0 +1,4 @@
1
+ declare global {
2
+ var gmonkey: any | undefined;
3
+ }
4
+ export default function setupGmonkeyHandler(): void;
@@ -0,0 +1,27 @@
1
+ import type { Contact } from '../../platform-implementation-js/driver-interfaces/compose-view-driver';
2
+ import { ComposeRequestType } from './constants';
3
+ export declare function parseComposeRequestBody_2022_09_09(request: Array<any>): {
4
+ threadId: string;
5
+ messageId: string;
6
+ to: Contact[] | null;
7
+ cc: Contact[] | null;
8
+ bcc: Contact[] | null;
9
+ subject: any;
10
+ body: any;
11
+ actions: any;
12
+ type: "FIRST_DRAFT_SAVE" | "DRAFT_SAVE" | "SEND";
13
+ } | null;
14
+ export declare function parseComposeResponseBody_2022_09_09(response: Array<any>): {
15
+ threadId: string;
16
+ messageId: string;
17
+ to: Contact[] | null;
18
+ cc: Contact[] | null;
19
+ bcc: Contact[] | null;
20
+ actions: string[];
21
+ rfcID: any;
22
+ oldMessageId: any;
23
+ oldThreadId: any;
24
+ type: ComposeRequestType;
25
+ }[];
26
+ export declare function replaceBodyContentInComposeSendRequestBody_2022_09_09(request: Array<any>, newBodyHtmlContent: string): Array<any> | null;
27
+ export declare function actionsToComposeRequestType(actions: string[]): ComposeRequestType | null;
@@ -0,0 +1,15 @@
1
+ import { ComposeRequest } from './constants';
2
+ export declare function parseComposeRequestBody(request: string): ComposeRequest | null;
3
+ export declare function parseComposeResponseBody(response: string): {
4
+ threadId: string;
5
+ messageId: string;
6
+ to: import("../../platform-implementation-js/driver-interfaces/compose-view-driver").Contact[] | null;
7
+ cc: import("../../platform-implementation-js/driver-interfaces/compose-view-driver").Contact[] | null;
8
+ bcc: import("../../platform-implementation-js/driver-interfaces/compose-view-driver").Contact[] | null;
9
+ actions: string[];
10
+ rfcID: any;
11
+ oldMessageId: any;
12
+ oldThreadId: any;
13
+ type: import("./constants").ComposeRequestType;
14
+ }[];
15
+ export declare function replaceBodyContentInComposeSendRequestBody(request: string, newBodyHtmlContent: string): string;
@@ -0,0 +1,3 @@
1
+ import { ComposeRequest } from './constants';
2
+ export declare function getDetailsOfComposeRequest(parsed: Record<any, any>): ComposeRequest | null;
3
+ export declare function replaceEmailBodyForSendRequest(request: string, newBody?: string): string;
@@ -0,0 +1,2 @@
1
+ export declare function error(err: Error | unknown, details?: any): void;
2
+ export declare function eventSdkPassive(name: string, details?: any, sensitive?: boolean): void;
@@ -0,0 +1 @@
1
+ export default function setupCustomViewEventAssassin(): void;
@@ -0,0 +1,16 @@
1
+ /**
2
+ * The different nav item types that exist
3
+ */
4
+ declare const navItemTypes: Readonly<{
5
+ /**
6
+ * standard nav item for navigating
7
+ */
8
+ readonly NAVIGATION: "NAVIGATION";
9
+ /**
10
+ * nav item that looks like a link
11
+ */
12
+ readonly LINK: "LINK";
13
+ readonly GROUPER: "GROUPER";
14
+ readonly MANAGE: "MANAGE";
15
+ }>;
16
+ export default navItemTypes;
@@ -0,0 +1,5 @@
1
+ import * as Kefir from 'kefir';
2
+ import GmailNavItemView from '../views/gmail-nav-item-view';
3
+ import GmailDriver from '../gmail-driver';
4
+ export default function addNavItem(driver: GmailDriver, orderGroup: string, navItemDescriptor: Kefir.Observable<any, any>): Promise<GmailNavItemView>;
5
+ export declare const waitForNavMenuReady: () => Promise<void>;
@@ -0,0 +1,3 @@
1
+ import GmailSupportItemView, { SupportItemDescriptor } from '../views/gmail-support-item-view';
2
+ import GmailDriver from '../gmail-driver';
3
+ export default function addSupportItem(driver: GmailDriver, supportItemDescriptor: SupportItemDescriptor): GmailSupportItemView;
@@ -0,0 +1 @@
1
+ export default function encodeDraftUrlId(syncThreadId: string, syncMessageId: string): string;
@@ -0,0 +1,2 @@
1
+ import GmailDriver from '../gmail-driver';
2
+ export default function getRfcMessageIdForGmailMessageId(driver: GmailDriver, gmailMessageId: string): Promise<string>;
@@ -0,0 +1,2 @@
1
+ import GmailDriver from '../gmail-driver';
2
+ export default function getRfcMessageIdForGmailThreadId(driver: GmailDriver, gmailThreadId: string): Promise<string>;
@@ -0,0 +1 @@
1
+ export default function isIntegratedViewGmail(): boolean;
@@ -0,0 +1,4 @@
1
+ import GmailDriver from '../gmail-driver';
2
+ export default function openDraftByMessageID(driver: GmailDriver, messageID: string): Promise<void>;
3
+ export declare function makeNewHash(oldHash: string, messageID: string): string;
4
+ export declare function makeNewSyncHash(oldHash: string, syncThreadID: string, syncMessageID: string): string;
@@ -0,0 +1,3 @@
1
+ import * as Kefir from 'kefir';
2
+ import _GmailElementGetter from '../gmail-element-getter';
3
+ export default function getMainContentElementChangedStream(GmailElementGetter: typeof _GmailElementGetter): Kefir.Observable<HTMLElement, never>;
@@ -0,0 +1,2 @@
1
+ declare const waitForGmailModeToSettle: () => import("kefir").Property<undefined, never>;
2
+ export default waitForGmailModeToSettle;
@@ -0,0 +1,42 @@
1
+ import * as Kefir from 'kefir';
2
+ import { ElementWithLifetime } from '../../lib/dom/make-element-child-stream';
3
+ declare const GmailElementGetter: {
4
+ getActiveMoreMenu(): HTMLElement | null;
5
+ getAddonSidebarContainerElement(): HTMLElement | null;
6
+ getCompanionSidebarContentContainerElement(): HTMLElement | null;
7
+ getCompanionSidebarIconContainerElement(): HTMLElement | null;
8
+ getComposeButton(): HTMLElement | null;
9
+ getComposeWindowContainer(): HTMLElement | null;
10
+ getContentSectionElement(): HTMLElement | undefined | null;
11
+ getFullscreenComposeWindowContainer(): HTMLElement | null;
12
+ getFullscreenComposeWindowContainerStream(): Kefir.Observable<ElementWithLifetime, never>;
13
+ getGtalkButtons(): HTMLElement | null;
14
+ getLeftNavContainerElement(): HTMLElement | null;
15
+ getLeftNavHeightElement(): HTMLElement | null;
16
+ getMainContentBodyContainerElement(): HTMLElement | null;
17
+ getMainContentContainer(): HTMLElement | null;
18
+ getMainContentElementChangedStream: (this: any) => Kefir.Observable<HTMLElement, never>;
19
+ getMoleParent(): HTMLElement | null;
20
+ shouldAddNavItemsInline(): boolean;
21
+ getSeparateSectionNavItemMenuInjectionContainer(): HTMLElement | null;
22
+ getSameSectionNavItemMenuInjectionContainer(): HTMLElement | null;
23
+ getRowListElements(): HTMLElement[];
24
+ getScrollContainer(): HTMLElement | null;
25
+ getSearchInput(): HTMLInputElement | null;
26
+ getSearchSuggestionsBoxParent(): HTMLElement | null;
27
+ getSidebarContainerElement(): HTMLElement | null;
28
+ getThreadBackButton(): HTMLElement | null;
29
+ getThreadContainerElement(): HTMLElement | null;
30
+ getToolbarElement(): HTMLElement;
31
+ getTopAccountContainer(): HTMLElement | null;
32
+ isGplusEnabled(): boolean;
33
+ isPreviewPane(): boolean;
34
+ isStandalone(): boolean;
35
+ isStandaloneComposeWindow(): boolean;
36
+ isStandaloneThreadWindow(): boolean;
37
+ StandaloneCompose: {
38
+ getComposeWindowContainer(): HTMLElement | null;
39
+ };
40
+ waitForGmailModeToSettle(): Promise<void>;
41
+ };
42
+ export default GmailElementGetter;
@@ -0,0 +1,32 @@
1
+ import { AutocompleteSearchResultWithId } from '../../../injected-js/gmail/modify-suggestions';
2
+ import CommonPageCommunicator from '../../lib/common-page-communicator';
3
+ export default class GmailPageCommunicator extends CommonPageCommunicator {
4
+ getMessageDate(threadId: string, message: HTMLElement): Promise<number | null>;
5
+ getMessageRecipients(threadId: string, message: HTMLElement): Promise<Array<{
6
+ emailAddress: string;
7
+ name: string | null | undefined;
8
+ }> | null>;
9
+ private _getMessageData;
10
+ getThreadIdForThreadRowByDatabase(threadRow: HTMLElement): string | null;
11
+ getThreadIdForThreadRowByClick(threadRow: HTMLElement): string | null;
12
+ getCurrentThreadID(threadContainerElement: HTMLElement, isPreviewedThread?: boolean): string;
13
+ getUserOriginalPreviewPaneMode(): string | null;
14
+ getActionTokenValue(): string;
15
+ isUsingSyncAPI(): boolean;
16
+ isConversationViewDisabled(): Promise<boolean>;
17
+ registerSuggestionsModifier(providerID: string): void;
18
+ provideAutocompleteSuggestions(providerID: string, query: string, suggestions: AutocompleteSearchResultWithId[]): void;
19
+ setupCustomListResultsQuery(query: string): void;
20
+ setCustomListNewQuery(detail: {
21
+ query: string;
22
+ start: number;
23
+ newQuery: string;
24
+ newStart: number;
25
+ }): void;
26
+ setCustomListResults(query: string, newResults: string | null): void;
27
+ createCustomSearchTerm(term: string): void;
28
+ setSearchQueryReplacement(query: string, newQuery: string): void;
29
+ registerComposeRequestModifier(keyId: string, appId: string): string;
30
+ unregisterComposeRequestModifier(keyId: string, modifierId: string): void;
31
+ modifyComposeRequest(keyId: string, modifierId: string, composeParams: any): void;
32
+ }
@@ -0,0 +1,55 @@
1
+ export declare function interpretSentEmailResponse(responseString: string): {
2
+ threadID: string;
3
+ messageID: string;
4
+ };
5
+ export declare function extractGmailMessageIdFromSentEmail(emailSentArray: any): string | null;
6
+ export declare function extractGmailThreadIdFromSentEmail(emailSentArray: any): string | null;
7
+ export declare function extractGmailThreadIdFromMessageIdSearch(responseString: string): string | null;
8
+ export declare function rewriteSingleQuotes(s: string): string;
9
+ export interface MessageOptions {
10
+ includeLengths: boolean;
11
+ suggestionMode: boolean;
12
+ noArrayNewLines: boolean;
13
+ includeExplicitNulls: boolean;
14
+ }
15
+ export declare function deserialize(threadResponseString: string): {
16
+ value: any[];
17
+ options: MessageOptions;
18
+ };
19
+ export declare function deserializeArray(value: string): any[];
20
+ export declare function serialize(value: any[], options: MessageOptions): string;
21
+ export interface Thread {
22
+ subject: string;
23
+ shortDate: string;
24
+ timeString: string;
25
+ peopleHtml: string;
26
+ timestamp: number;
27
+ isUnread: boolean;
28
+ lastEmailAddress: string | null | undefined;
29
+ bodyPreviewHtml: string;
30
+ someGmailMessageIds: string[];
31
+ gmailThreadId: string;
32
+ }
33
+ export declare function readDraftId(response: string, messageID: string): string | null;
34
+ export declare function replaceThreadsInResponse(response: string, replacementThreads: Thread[], { start, total }: {
35
+ start: number;
36
+ total?: number | 'MANY';
37
+ }): string;
38
+ export declare function extractThreads(response: string): Thread[];
39
+ export declare function extractThreadsFromDeserialized(value: any[]): Thread[];
40
+ export declare function extractMessageIdsFromThreadBatchRequest(response: string): {
41
+ [threadId: string]: string;
42
+ };
43
+ export declare function cleanupPeopleLine(peopleHtml: string): string;
44
+ export interface Message {
45
+ date: number;
46
+ messageID?: string;
47
+ recipients?: Array<{
48
+ emailAddress: string;
49
+ name: string | null | undefined;
50
+ }>;
51
+ }
52
+ export declare function extractMessages(response: string): Array<{
53
+ threadID: string;
54
+ messages: Message[];
55
+ }>;
@@ -0,0 +1,42 @@
1
+ interface Recipient {
2
+ emailAddress: string;
3
+ name?: string;
4
+ }
5
+ export interface SyncThread {
6
+ subject: string;
7
+ snippet: string;
8
+ syncThreadID: string;
9
+ oldGmailThreadID: string;
10
+ rawResponse: any;
11
+ extraMetaData: {
12
+ snippet: string;
13
+ syncMessageData: Array<{
14
+ syncMessageID: string;
15
+ oldMessageID?: string;
16
+ date: number;
17
+ recipients?: Recipient[];
18
+ }>;
19
+ };
20
+ }
21
+ export interface MinimalSyncThread {
22
+ syncThreadID: string;
23
+ extraMetaData: {
24
+ syncMessageData: Array<{
25
+ syncMessageID: string;
26
+ date: number;
27
+ recipients?: Recipient[];
28
+ }>;
29
+ };
30
+ }
31
+ export declare function extractThreadsFromSearchResponse(response: string): SyncThread[];
32
+ export declare function extractThreadsFromSearchResponse_20220909(parsedResponse: any[]): SyncThread[];
33
+ export declare function extractThreadsFromThreadResponse(response: string): Array<SyncThread | MinimalSyncThread>;
34
+ export declare function replaceThreadsInSearchResponse(response: string, replacementThreads: SyncThread[], _unused: {
35
+ start: number;
36
+ total?: number | 'MANY';
37
+ }): string;
38
+ export declare function replaceThreadsInSearchResponse_20220909(parsedResponse: any[], replacementThreads: SyncThread[], _unused: {
39
+ start: number;
40
+ total?: number | 'MANY';
41
+ }): string;
42
+ export {};
@@ -0,0 +1,2 @@
1
+ declare const isComposeTitleBarLightColor: () => boolean;
2
+ export default isComposeTitleBarLightColor;
@@ -0,0 +1,3 @@
1
+ import { Driver } from '../../driver-interfaces/driver';
2
+ import PageParserTree from 'page-parser-tree';
3
+ export default function makePageParserTree(driver: Driver | null, root: Document | HTMLElement): PageParserTree;
@@ -0,0 +1,3 @@
1
+ import { PageParserTreeOptions } from 'page-parser-tree';
2
+ declare const pageParserOptions: PageParserTreeOptions;
3
+ export default pageParserOptions;
@@ -0,0 +1,22 @@
1
+ import SimpleElementView from '../../../../views/SimpleElementView';
2
+ import GmailComposeView from '../gmail-compose-view';
3
+ import { StatusBar as IStatusBar } from '../../../../driver-interfaces/compose-view-driver';
4
+ declare const _default: typeof addStatusBar;
5
+ export default _default;
6
+ declare function addStatusBar(gmailComposeView: GmailComposeView, options: {
7
+ height?: number;
8
+ orderHint?: number;
9
+ addAboveNativeStatusBar?: boolean;
10
+ }): StatusBar;
11
+ declare class StatusBar extends SimpleElementView implements IStatusBar {
12
+ private _addAboveNativeStatusBar;
13
+ private _gmailComposeView;
14
+ private _nativeStatusContainer;
15
+ private _prependContainer;
16
+ private _stopper;
17
+ constructor(gmailComposeView: GmailComposeView, height: number, orderHint: number, addAboveNativeStatusBar: boolean);
18
+ destroy(): void;
19
+ setHeight(newHeight: number): void;
20
+ private _updateTotalHeight;
21
+ private _setStatusBar;
22
+ }
@@ -0,0 +1,2 @@
1
+ declare const _default: () => void;
2
+ export default _default;
@@ -0,0 +1,3 @@
1
+ import GmailComposeView from '../gmail-compose-view';
2
+ import { Contact } from '../../../../driver-interfaces/compose-view-driver';
3
+ export default function getAddressInformationExtractor(addressType: string, composeView: GmailComposeView): (node: HTMLElement) => Contact | null;
@@ -0,0 +1,4 @@
1
+ import GmailComposeView from '../gmail-compose-view';
2
+ import { Contact } from '../../../../driver-interfaces/compose-view-driver';
3
+ import { ReceiverType } from './set-recipients';
4
+ export default function getRecipients(gmailComposeView: GmailComposeView, addressType: ReceiverType): Contact[];
@@ -0,0 +1,49 @@
1
+ import * as Kefir from 'kefir';
2
+ import KeyboardShortcutHandle from '../../../../views/keyboard-shortcut-handle';
3
+ import { ButtonViewI } from '../../../../widgets/buttons/basic-button-view-controller';
4
+ export interface ButtonViewOptions {
5
+ iconClass?: null | string;
6
+ iconUrl?: null | string;
7
+ title?: null | string;
8
+ text?: null | string;
9
+ tooltip?: null | string;
10
+ enabled?: null | boolean;
11
+ hasDropdown?: null | boolean;
12
+ keyboardShortcutHandle?: null | KeyboardShortcutHandle;
13
+ noOverflow?: null | boolean;
14
+ }
15
+ export default class GmailComposeButtonView implements ButtonViewI {
16
+ private _element;
17
+ private _iconElement;
18
+ private _iconImgElement;
19
+ private _iconClass;
20
+ private _iconUrl;
21
+ private _tooltip;
22
+ private _hasDropdown;
23
+ private _isEnabled;
24
+ private _keyboardShortcutHandle;
25
+ private _eventStream;
26
+ constructor(options: ButtonViewOptions);
27
+ destroy(): void;
28
+ getElement(): HTMLElement;
29
+ getEventStream(): Kefir.Observable<any, any>;
30
+ activate(): void;
31
+ deactivate(): void;
32
+ addClass(className: string): void;
33
+ removeClass(className: string): void;
34
+ simulateHover(): void;
35
+ setEnabled(value: boolean): void;
36
+ isEnabled(): boolean;
37
+ update(options: any): void;
38
+ private _createElement;
39
+ private _createMainElement;
40
+ private _createIconElement;
41
+ private _createIconImgElement;
42
+ private _updateTooltip;
43
+ private _updateIconUrl;
44
+ private _updateIconClass;
45
+ private _setEnabled;
46
+ private _setupEventStream;
47
+ private _setupKeyboardShortcutEvent;
48
+ private _setupAestheticEvents;
49
+ }
@@ -0,0 +1,7 @@
1
+ import PageParserTree from 'page-parser-tree';
2
+ import Logger from '../../../../lib/logger';
3
+ export declare function makePageParser(element: HTMLElement, logger: Logger): PageParserTree;
4
+ export declare function getRecipientChips(element: HTMLElement, addressType: 'to' | 'cc' | 'bcc'): Array<HTMLElement> | NodeListOf<HTMLElement>;
5
+ export declare function getRecipientRowElements(element: HTMLElement): HTMLElement[];
6
+ export declare function getRecipientRowForType(element: HTMLElement, addressType: 'to' | 'cc' | 'bcc'): HTMLElement | null;
7
+ export declare function getOldRecipientRowForType(element: HTMLElement, addressType: 'to' | 'cc' | 'bcc'): HTMLElement | null;
@@ -0,0 +1,3 @@
1
+ import GmailComposeView from '../gmail-compose-view';
2
+ export type ReceiverType = 'to' | 'cc' | 'bcc';
3
+ export default function setRecipients(gmailComposeView: GmailComposeView, addressType: ReceiverType, emailAddresses: string[]): void;
@@ -0,0 +1,3 @@
1
+ import * as Kefir from 'kefir';
2
+ import type GmailComposeView from '../gmail-compose-view';
3
+ export default function setupLinkPopOvers(gmailComposeView: GmailComposeView): Kefir.Observable<any, never>;
@@ -0,0 +1,5 @@
1
+ import SafeEventEmitter from '../../../../lib/safe-event-emitter';
2
+ declare class AttachmentIcon extends SafeEventEmitter {
3
+ }
4
+ declare const _default: typeof AttachmentIcon;
5
+ export default _default;