@inboxsdk/core 1.2.4 → 1.2.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/inboxsdk.js +4474 -463
- package/inboxsdk.js.map +1 -1
- package/package.json +1 -1
- package/pageWorld.js +1 -1
- package/pageWorld.js.map +1 -1
- package/src/common/load-script.d.ts +0 -6
- package/src/common/load-script.d.ts.map +1 -1
- package/src/inboxsdk-js/loading/platform-implementation-loader.d.ts.map +1 -1
- package/src/inboxsdk.d.ts +29 -0
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.d.ts +2 -2
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts +6 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts +2 -2
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts +5 -0
- package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.d.ts +13 -5
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.d.ts.map +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts +1 -1
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts.map +1 -1
- package/src/platform-implementation-js/lib/inject-script-EMBEDDED.d.ts.map +1 -1
- package/src/platform-implementation-js/namespaces/conversations.d.ts +7 -0
- package/src/platform-implementation-js/namespaces/conversations.d.ts.map +1 -1
- package/src/platform-implementation-js/namespaces/nav-menu.d.ts +4 -2
- package/src/platform-implementation-js/namespaces/nav-menu.d.ts.map +1 -1
- package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts +12 -5
- package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts.map +1 -1
- package/src/platform-implementation-js/views/native-nav-item-view.d.ts +2 -1
- package/src/platform-implementation-js/views/native-nav-item-view.d.ts.map +1 -1
- package/src/build/exec.js +0 -26
- package/src/build/spawn.js +0 -17
- package/src/common/ajax.js +0 -90
- package/src/common/cachebust-url.js +0 -10
- package/src/common/censorHTMLstring.js +0 -37
- package/src/common/censorHTMLtree.js +0 -28
- package/src/common/censorJSONTree.js +0 -15
- package/src/common/connectivity-test.js +0 -21
- package/src/common/defer.js +0 -11
- package/src/common/find-parent.js +0 -10
- package/src/common/get-extension-id.js +0 -7
- package/src/common/get-or-fail.js +0 -8
- package/src/common/get-session-id.js +0 -14
- package/src/common/get-stack-trace.js +0 -6
- package/src/common/html-to-text.js +0 -7
- package/src/common/isElementVisible.js +0 -6
- package/src/common/load-script.js +0 -128
- package/src/common/log-error.js +0 -185
- package/src/common/quoted-split.js +0 -18
- package/src/common/rate-limit-queuer.js +0 -57
- package/src/common/rate-limit.js +0 -14
- package/src/common/version.js +0 -8
- package/src/inboxsdk-js/header.js +0 -19
- package/src/inboxsdk-js/inboxsdk-NONREMOTE-INTEGRATED-PAGEWORLD.js +0 -4
- package/src/inboxsdk-js/inboxsdk-NONREMOTE.js +0 -4
- package/src/inboxsdk-js/inboxsdk-REMOTE.js +0 -2
- package/src/inboxsdk-js/inboxsdk-TEST.js +0 -5
- package/src/inboxsdk-js/inboxsdk.js +0 -23
- package/src/inboxsdk-js/loading/load-platform-implementation-DEV.js +0 -14
- package/src/inboxsdk-js/loading/platform-implementation-loader.js +0 -31
- package/src/injected-js/gmail/constants.js +0 -2
- package/src/injected-js/gmail/modify-suggestions.js +0 -106
- package/src/injected-js/gmail/setup-gmail-interceptor.js +0 -936
- package/src/injected-js/gmail/setup-gmonkey-handler.js +0 -49
- package/src/injected-js/gmail/sync-compose-processor-20220909.js +0 -298
- package/src/injected-js/gmail/sync-compose-processor.js +0 -55
- package/src/injected-js/gmail/sync-compose-request-processor.js +0 -109
- package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +0 -71
- package/src/injected-js/gmail/thread-identifier/index.js +0 -133
- package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +0 -61
- package/src/injected-js/injected-logger.js +0 -50
- package/src/injected-js/main.js +0 -49
- package/src/injected-js/message-metadata-holder.js +0 -103
- package/src/injected-js/setup-data-exposer.js +0 -135
- package/src/injected-js/setup-error-silencer.js +0 -15
- package/src/injected-js/setup-event-reemitter.js +0 -47
- package/src/injected-js/setupCustomViewEventAssassin.js +0 -90
- package/src/injected-js/setupInboxCustomViewLinkFixer.js +0 -24
- package/src/injected-js/setupPushStateListener.js +0 -14
- package/src/injected-js/xhr-helper.js +0 -43
- package/src/injected-js/xhr-proxy-factory.js +0 -537
- package/src/platform-implementation-js/constants/nav-item-types.js +0 -19
- package/src/platform-implementation-js/constants/router.js +0 -60
- package/src/platform-implementation-js/constants/toolbars.js +0 -5
- package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.js +0 -158
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.js +0 -20
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.js +0 -38
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.js +0 -98
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-support-item.js +0 -4
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +0 -14
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.js +0 -60
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/encodeDraftUrlId.js +0 -8
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.js +0 -47
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.js +0 -31
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-message-id.js +0 -12
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-thread-id.js +0 -33
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +0 -22
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +0 -18
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +0 -57
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +0 -40
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +0 -55
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.js +0 -14
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.js +0 -177
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.js +0 -17
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.js +0 -44
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.js +0 -49
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.js +0 -18
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.js +0 -138
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.js +0 -112
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +0 -152
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.js +0 -21
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.js +0 -48
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +0 -357
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.js +0 -19
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.js +0 -36
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.js +0 -36
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +0 -85
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +0 -142
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.js +0 -115
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +0 -50
- package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +0 -723
- package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/get-main-content-element-changed-stream.js +0 -38
- package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/wait-for-gmail-mode-to-settle.js +0 -12
- package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.js +0 -264
- package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.js +0 -201
- package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.js +0 -532
- package/src/platform-implementation-js/dom-driver/gmail/gmail-sync-response-processor.js +0 -300
- package/src/platform-implementation-js/dom-driver/gmail/is-compose-titlebar-light-color.js +0 -21
- package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +0 -92
- package/src/platform-implementation-js/dom-driver/gmail/makePageParserTree.js +0 -28
- package/src/platform-implementation-js/dom-driver/gmail/pageParserOptions.js +0 -19
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.js +0 -129
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +0 -80
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +0 -23
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +0 -26
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.js +0 -16
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +0 -723
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +0 -24
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +0 -172
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +0 -106
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +0 -328
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.js +0 -22
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +0 -720
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +0 -135
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +0 -50
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +0 -65
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.js +0 -101
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +0 -66
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/detectClassicRecipientsArea.js +0 -38
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +0 -10
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +0 -14
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +0 -13
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +0 -60
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +0 -54
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +0 -98
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.js +0 -28
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +0 -13
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +0 -18
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +0 -16
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.js +0 -22
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +0 -23
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.js +0 -233
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +0 -19
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +0 -355
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +0 -21
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +0 -63
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/page-parser.js +0 -223
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +0 -19
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/set-recipients.js +0 -157
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/setupLinkPopovers.js +0 -109
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +0 -123
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +0 -16
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +0 -1542
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.js +0 -4
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +0 -75
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +0 -737
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.js +0 -763
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +0 -103
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +0 -508
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +0 -236
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-support-item-view.js +0 -84
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +0 -986
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +0 -26
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +0 -658
- package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +0 -459
- package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +0 -265
- package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-color-classes.js +0 -33
- package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.js +0 -325
- package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.js +0 -61
- package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.js +0 -58
- package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +0 -23
- package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.js +0 -101
- package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-dropdown-button-view.js +0 -30
- package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-parent-accessory-button-view.js +0 -10
- package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +0 -42
- package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.js +0 -22
- package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +0 -112
- package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.js +0 -122
- package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +0 -194
- package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +0 -352
- package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.js +0 -76
- package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +0 -57
- package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +0 -291
- package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +0 -28
- package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +0 -46
- package/src/platform-implementation-js/driver-common/getAccountUrlPart.js +0 -17
- package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +0 -17
- package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +0 -44
- package/src/platform-implementation-js/driver-common/getOriginalMessagePage.js +0 -33
- package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +0 -18
- package/src/platform-implementation-js/driver-common/getSyncThreadsForSearch.js +0 -49
- package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +0 -13
- package/src/platform-implementation-js/driver-common/gmailAjax.js +0 -65
- package/src/platform-implementation-js/driver-common/inboxAjax.js +0 -5
- package/src/platform-implementation-js/driver-common/render-custom-icon.js +0 -16
- package/src/platform-implementation-js/driver-common/requestGmailThread.js +0 -24
- package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +0 -245
- package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +0 -144
- package/src/platform-implementation-js/driver-common/sidebar/constants.js +0 -26
- package/src/platform-implementation-js/driver-common/update-icon.js +0 -90
- package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +0 -1
- package/src/platform-implementation-js/driver-interfaces/driver.js +0 -1
- package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +0 -1
- package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +0 -1
- package/src/platform-implementation-js/lib/ErrorCollector.js +0 -47
- package/src/platform-implementation-js/lib/Membrane.js +0 -22
- package/src/platform-implementation-js/lib/ScrollableContainByScreen.js +0 -30
- package/src/platform-implementation-js/lib/attemptWithRetries.js +0 -16
- package/src/platform-implementation-js/lib/common-page-communicator.js +0 -137
- package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +0 -35
- package/src/platform-implementation-js/lib/css-selector-escape.js +0 -6
- package/src/platform-implementation-js/lib/delay-asap.js +0 -10
- package/src/platform-implementation-js/lib/delay-idle.js +0 -16
- package/src/platform-implementation-js/lib/dom/block-and-reemit-keyboard-events.js +0 -36
- package/src/platform-implementation-js/lib/dom/custom-events.js +0 -5
- package/src/platform-implementation-js/lib/dom/element-view-mapper.js +0 -9
- package/src/platform-implementation-js/lib/dom/generic-button-view.js +0 -39
- package/src/platform-implementation-js/lib/dom/get-insert-before-element.js +0 -39
- package/src/platform-implementation-js/lib/dom/get-selection.js +0 -30
- package/src/platform-implementation-js/lib/dom/insert-element-in-order.js +0 -38
- package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +0 -83
- package/src/platform-implementation-js/lib/dom/is-node-in-range.js +0 -12
- package/src/platform-implementation-js/lib/dom/keyboard-shortcut-stream.js +0 -12
- package/src/platform-implementation-js/lib/dom/make-element-child-stream.js +0 -79
- package/src/platform-implementation-js/lib/dom/make-element-stream-merger.js +0 -27
- package/src/platform-implementation-js/lib/dom/make-element-view-stream.js +0 -15
- package/src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.js +0 -15
- package/src/platform-implementation-js/lib/dom/make-mutation-observer-stream.js +0 -5
- package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.js +0 -8
- package/src/platform-implementation-js/lib/dom/outsideClicksAndEscape.js +0 -38
- package/src/platform-implementation-js/lib/dom/parentNodes.js +0 -8
- package/src/platform-implementation-js/lib/dom/querySelectorOrFail.js +0 -6
- package/src/platform-implementation-js/lib/dom/reemitClickEventForReact.js +0 -22
- package/src/platform-implementation-js/lib/dom/set-css.js +0 -20
- package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +0 -88
- package/src/platform-implementation-js/lib/dom/simulate-key.js +0 -46
- package/src/platform-implementation-js/lib/dom/simulate-mouse-event.js +0 -16
- package/src/platform-implementation-js/lib/dom/trigger-relay-event.js +0 -7
- package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.js +0 -25
- package/src/platform-implementation-js/lib/fake-window-resize.js +0 -5
- package/src/platform-implementation-js/lib/from-event-target-capture.js +0 -12
- package/src/platform-implementation-js/lib/fromEventsWithOptions.js +0 -10
- package/src/platform-implementation-js/lib/handle-compose-link-chips.js +0 -124
- package/src/platform-implementation-js/lib/handler-registry.js +0 -67
- package/src/platform-implementation-js/lib/idMap.js +0 -40
- package/src/platform-implementation-js/lib/imageRequest.js +0 -8
- package/src/platform-implementation-js/lib/incrementName.js +0 -7
- package/src/platform-implementation-js/lib/inject-script-EMBEDDED.js +0 -8
- package/src/platform-implementation-js/lib/inject-script.js +0 -33
- package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +0 -44
- package/src/platform-implementation-js/lib/is-valid-app-id.js +0 -27
- package/src/platform-implementation-js/lib/is-valid-email.js +0 -14
- package/src/platform-implementation-js/lib/isNotNil.js +0 -5
- package/src/platform-implementation-js/lib/isStreakAppId.js +0 -11
- package/src/platform-implementation-js/lib/logger.js +0 -439
- package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +0 -10
- package/src/platform-implementation-js/lib/persistent-queue.js +0 -107
- package/src/platform-implementation-js/lib/populateRouteID.js +0 -17
- package/src/platform-implementation-js/lib/react/ElementContainer.js +0 -26
- package/src/platform-implementation-js/lib/routeIDmatchesHash.js +0 -8
- package/src/platform-implementation-js/lib/safe-event-emitter.js +0 -16
- package/src/platform-implementation-js/lib/stopper-pool.js +0 -41
- package/src/platform-implementation-js/lib/stream-wait-for.js +0 -30
- package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +0 -12
- package/src/platform-implementation-js/lib/toLiveSet.js +0 -22
- package/src/platform-implementation-js/lib/wait-for.js +0 -38
- package/src/platform-implementation-js/lib/waitForAsync.js +0 -18
- package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +0 -5
- package/src/platform-implementation-js/main.js +0 -42
- package/src/platform-implementation-js/namespaces/app-menu.js +0 -81
- package/src/platform-implementation-js/namespaces/butter-bar.js +0 -163
- package/src/platform-implementation-js/namespaces/compose.js +0 -59
- package/src/platform-implementation-js/namespaces/conversations.js +0 -83
- package/src/platform-implementation-js/namespaces/global.js +0 -30
- package/src/platform-implementation-js/namespaces/keyboard.js +0 -30
- package/src/platform-implementation-js/namespaces/lists.js +0 -40
- package/src/platform-implementation-js/namespaces/modal.js +0 -43
- package/src/platform-implementation-js/namespaces/nav-menu.js +0 -33
- package/src/platform-implementation-js/namespaces/router.js +0 -139
- package/src/platform-implementation-js/namespaces/search.js +0 -29
- package/src/platform-implementation-js/namespaces/toolbars.js +0 -147
- package/src/platform-implementation-js/namespaces/user.js +0 -57
- package/src/platform-implementation-js/namespaces/widgets.js +0 -73
- package/src/platform-implementation-js/platform-implementation.js +0 -178
- package/src/platform-implementation-js/views/SimpleElementView.js +0 -16
- package/src/platform-implementation-js/views/app-menu-item-view.js +0 -442
- package/src/platform-implementation-js/views/app-toolbar-button-view.js +0 -43
- package/src/platform-implementation-js/views/collapsible-panel-view.js +0 -256
- package/src/platform-implementation-js/views/collapsible-section-view.js +0 -63
- package/src/platform-implementation-js/views/compose-button-view.js +0 -45
- package/src/platform-implementation-js/views/compose-view.js +0 -310
- package/src/platform-implementation-js/views/content-panel-view.js +0 -36
- package/src/platform-implementation-js/views/conversations/attachment-card-view.js +0 -41
- package/src/platform-implementation-js/views/conversations/custom-message-view.js +0 -117
- package/src/platform-implementation-js/views/conversations/message-view.js +0 -203
- package/src/platform-implementation-js/views/conversations/thread-view.js +0 -97
- package/src/platform-implementation-js/views/keyboard-shortcut-handle.js +0 -14
- package/src/platform-implementation-js/views/native-nav-item-view.js +0 -60
- package/src/platform-implementation-js/views/nav-item-view.js +0 -130
- package/src/platform-implementation-js/views/route-view/custom-route-view.js +0 -25
- package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +0 -29
- package/src/platform-implementation-js/views/route-view/list-route-view.js +0 -46
- package/src/platform-implementation-js/views/route-view/route-view.js +0 -47
- package/src/platform-implementation-js/views/section-view.js +0 -60
- package/src/platform-implementation-js/views/thread-row-view.js +0 -90
- package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.js +0 -39
- package/src/platform-implementation-js/widgets/buttons/dropdown-button-view-controller.js +0 -98
- package/src/platform-implementation-js/widgets/buttons/dropdown-view.js +0 -121
- package/src/platform-implementation-js/widgets/drawer-view.js +0 -46
- package/src/platform-implementation-js/widgets/modal-view.js +0 -108
- package/src/platform-implementation-js/widgets/mole-view.js +0 -38
- package/src/platform-implementation-js/widgets/top-message-bar-view.js +0 -15
package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/set-recipients.js
DELETED
|
@@ -1,157 +0,0 @@
|
|
|
1
|
-
import Logger from '../../../../lib/logger';
|
|
2
|
-
import querySelector from '../../../../lib/dom/querySelectorOrFail';
|
|
3
|
-
import getRecipients from './get-recipients';
|
|
4
|
-
import { simulateClick } from '../../../../lib/dom/simulate-mouse-event';
|
|
5
|
-
import simulateKey from '../../../../lib/dom/simulate-key';
|
|
6
|
-
import { getRecipientRowForType, getOldRecipientRowForType, } from './page-parser';
|
|
7
|
-
export default function setRecipients(gmailComposeView, addressType, emailAddresses) {
|
|
8
|
-
if (_areContactsEqual(gmailComposeView, addressType, emailAddresses)) {
|
|
9
|
-
return;
|
|
10
|
-
}
|
|
11
|
-
const oldRange = gmailComposeView.getLastSelectionRange();
|
|
12
|
-
let _contactRow = getRecipientRowForType(gmailComposeView.getElement(), addressType);
|
|
13
|
-
function openRecipientsSectionIfNeeded(button) {
|
|
14
|
-
const signalElement = button.closest('.fX.aiL');
|
|
15
|
-
if (signalElement && signalElement.style.display === 'none') {
|
|
16
|
-
const cover = querySelector(gmailComposeView.getElement(), 'div.aoD.hl');
|
|
17
|
-
cover.dispatchEvent(new FocusEvent('focus'));
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
if (addressType === 'cc') {
|
|
21
|
-
const ccButton = gmailComposeView
|
|
22
|
-
.getElement()
|
|
23
|
-
.querySelector('span.pE[role=link]');
|
|
24
|
-
if (ccButton) {
|
|
25
|
-
openRecipientsSectionIfNeeded(ccButton);
|
|
26
|
-
ccButton.click();
|
|
27
|
-
_contactRow = getRecipientRowForType(gmailComposeView.getElement(), addressType);
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
else if (addressType === 'bcc') {
|
|
31
|
-
const bccButton = gmailComposeView
|
|
32
|
-
.getElement()
|
|
33
|
-
.querySelector('span.pB[role=link]');
|
|
34
|
-
if (bccButton) {
|
|
35
|
-
openRecipientsSectionIfNeeded(bccButton);
|
|
36
|
-
bccButton.click();
|
|
37
|
-
_contactRow = getRecipientRowForType(gmailComposeView.getElement(), addressType);
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
const contactRow = _contactRow;
|
|
41
|
-
if (contactRow) {
|
|
42
|
-
// new recipient fields
|
|
43
|
-
// https://workspaceupdates.googleblog.com/2021/10/visual-updates-for-composing-email-in-gmail.html
|
|
44
|
-
const emailAddressEntry = querySelector(contactRow, 'input[role=combobox][aria-autocomplete=list]');
|
|
45
|
-
if (!(emailAddressEntry instanceof HTMLInputElement)) {
|
|
46
|
-
throw new Error();
|
|
47
|
-
}
|
|
48
|
-
// Remove existing recipients
|
|
49
|
-
Array.from(contactRow.querySelectorAll('div[role=option][data-name] div.afX[aria-label]')).forEach((el) => {
|
|
50
|
-
el.click();
|
|
51
|
-
});
|
|
52
|
-
emailAddressEntry.value = '';
|
|
53
|
-
const clipboardData = new DataTransfer();
|
|
54
|
-
clipboardData.setData('text/plain', emailAddresses.join(','));
|
|
55
|
-
emailAddressEntry.dispatchEvent(new ClipboardEvent('paste', { clipboardData }));
|
|
56
|
-
// On fresh composes, if set_Recipients is called immediately, then
|
|
57
|
-
// Gmail asynchronously resets the recipients field. Detect this and
|
|
58
|
-
// put our change back.
|
|
59
|
-
const nameEl = contactRow.closest('div.anm[name]');
|
|
60
|
-
if (emailAddresses.length > 0 &&
|
|
61
|
-
nameEl &&
|
|
62
|
-
!nameEl.hasAttribute('data-inboxsdk-handled-reset')) {
|
|
63
|
-
// We're in a fresh compose.
|
|
64
|
-
// If setRecipients is called multiple times on a fresh compose,
|
|
65
|
-
// we only want the last call's setTimeout callback to do anything.
|
|
66
|
-
// Do this by marking a DOM element with a unique claim value and
|
|
67
|
-
// checking for it in the callback. Note that we generate the claim
|
|
68
|
-
// value by reading from the existing DOM value instead of a variable
|
|
69
|
-
// in module scope because there might be multiple extensions using
|
|
70
|
-
// the InboxSDK; we must use the shared DOM as the source of truth
|
|
71
|
-
// for values shared between InboxSDK instances.
|
|
72
|
-
const claim = String(Number(nameEl.getAttribute('data-inboxsdk-tracking-fresh-compose') || 0) + 1);
|
|
73
|
-
nameEl.setAttribute('data-inboxsdk-tracking-fresh-compose', claim);
|
|
74
|
-
setTimeout(() => {
|
|
75
|
-
if (nameEl.getAttribute('data-inboxsdk-tracking-fresh-compose') === claim) {
|
|
76
|
-
nameEl.removeAttribute('data-inboxsdk-tracking-fresh-compose');
|
|
77
|
-
// Does it look like our contact chips have all been removed?
|
|
78
|
-
if (contactRow.querySelectorAll('div[role=option][data-name] div.afX[aria-label]').length === 0) {
|
|
79
|
-
// put a mark in the DOM to be absolutely sure we can't
|
|
80
|
-
// get in an infinite loop (which could happen if Gmail doesn't
|
|
81
|
-
// actually set the style attribute, and our selector above fails
|
|
82
|
-
// to find the recipient chips).
|
|
83
|
-
nameEl.setAttribute('data-inboxsdk-handled-reset', 'true');
|
|
84
|
-
setRecipients(gmailComposeView, addressType, emailAddresses);
|
|
85
|
-
}
|
|
86
|
-
}
|
|
87
|
-
}, 100);
|
|
88
|
-
}
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
// old recipient fields
|
|
92
|
-
let contactRow;
|
|
93
|
-
try {
|
|
94
|
-
contactRow = getOldRecipientRowForType(gmailComposeView.getElement(), addressType);
|
|
95
|
-
if (!contactRow) {
|
|
96
|
-
throw new Error('getOldRecipientRowForType failed');
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
catch (err) {
|
|
100
|
-
Logger.error(err, { addressType });
|
|
101
|
-
return;
|
|
102
|
-
}
|
|
103
|
-
const emailAddressEntry = contactRow.querySelector('textarea.vO');
|
|
104
|
-
if (!emailAddressEntry ||
|
|
105
|
-
!(emailAddressEntry instanceof HTMLTextAreaElement)) {
|
|
106
|
-
return;
|
|
107
|
-
}
|
|
108
|
-
// Remove existing recipients
|
|
109
|
-
Array.from(contactRow.querySelectorAll('.vR .vM')).forEach((el) => {
|
|
110
|
-
simulateClick(el);
|
|
111
|
-
});
|
|
112
|
-
emailAddressEntry.value = emailAddresses.join(',');
|
|
113
|
-
// Push enter so Gmail interprets the addresses.
|
|
114
|
-
simulateKey(emailAddressEntry, 13, 0);
|
|
115
|
-
// Focus the recipients preview label so Gmail re-renders it.
|
|
116
|
-
const cover = querySelector(gmailComposeView.getElement(), 'div.aoD.hl');
|
|
117
|
-
cover.dispatchEvent(new FocusEvent('focus'));
|
|
118
|
-
if (addressType === 'cc') {
|
|
119
|
-
const ccButton = querySelector(gmailComposeView.getElement(), 'span.aB.gQ.pE');
|
|
120
|
-
simulateClick(ccButton);
|
|
121
|
-
}
|
|
122
|
-
else if (addressType === 'bcc') {
|
|
123
|
-
const bccButton = querySelector(gmailComposeView.getElement(), 'span.aB.gQ.pB');
|
|
124
|
-
simulateClick(bccButton);
|
|
125
|
-
}
|
|
126
|
-
}
|
|
127
|
-
// Then restore focus to what it was before.
|
|
128
|
-
if (document.activeElement instanceof HTMLElement) {
|
|
129
|
-
document.activeElement.blur();
|
|
130
|
-
}
|
|
131
|
-
if (oldRange) {
|
|
132
|
-
const sel = document.getSelection();
|
|
133
|
-
if (!sel)
|
|
134
|
-
throw new Error();
|
|
135
|
-
sel.removeAllRanges();
|
|
136
|
-
sel.addRange(oldRange);
|
|
137
|
-
}
|
|
138
|
-
}
|
|
139
|
-
function _areContactsEqual(gmailComposeView, addressType, emailAddresses) {
|
|
140
|
-
const existingEmailAddresses = getRecipients(gmailComposeView, addressType).map((c) => c.emailAddress);
|
|
141
|
-
if (!emailAddresses) {
|
|
142
|
-
return !!existingEmailAddresses;
|
|
143
|
-
}
|
|
144
|
-
if (!existingEmailAddresses) {
|
|
145
|
-
return !!emailAddresses;
|
|
146
|
-
}
|
|
147
|
-
if (emailAddresses.length !== existingEmailAddresses.length) {
|
|
148
|
-
return false;
|
|
149
|
-
}
|
|
150
|
-
for (let ii = 0; ii < existingEmailAddresses.length; ii++) {
|
|
151
|
-
const existingEmailAddress = existingEmailAddresses[ii];
|
|
152
|
-
if (emailAddresses.indexOf(existingEmailAddress) === -1) {
|
|
153
|
-
return false;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
return true;
|
|
157
|
-
}
|
|
@@ -1,109 +0,0 @@
|
|
|
1
|
-
import * as Kefir from 'kefir';
|
|
2
|
-
import toItemWithLifetimeStream from '../../../../lib/toItemWithLifetimeStream';
|
|
3
|
-
import makeMutationObserverChunkedStream from '../../../../lib/dom/make-mutation-observer-chunked-stream';
|
|
4
|
-
import SafeEventEmitter from '../../../../lib/safe-event-emitter';
|
|
5
|
-
class LinkPopOver extends SafeEventEmitter {
|
|
6
|
-
_linkEl;
|
|
7
|
-
_popOverEl;
|
|
8
|
-
constructor(linkEl, popOverEl) {
|
|
9
|
-
super();
|
|
10
|
-
this._linkEl = linkEl;
|
|
11
|
-
this._popOverEl = popOverEl;
|
|
12
|
-
}
|
|
13
|
-
getLinkElement() {
|
|
14
|
-
return this._linkEl;
|
|
15
|
-
}
|
|
16
|
-
addSection() {
|
|
17
|
-
let containerEl = this._popOverEl.querySelector('.inboxsdk__linkPopOver_section_container');
|
|
18
|
-
if (!containerEl) {
|
|
19
|
-
containerEl = document.createElement('div');
|
|
20
|
-
containerEl.className = 'inboxsdk__linkPopOver_section_container';
|
|
21
|
-
this._popOverEl.appendChild(containerEl);
|
|
22
|
-
}
|
|
23
|
-
return new LinkPopOverSection(this, containerEl);
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
class LinkPopOverSection {
|
|
27
|
-
_el = document.createElement('div');
|
|
28
|
-
constructor(linkPopOver, containerEl) {
|
|
29
|
-
this._el.className = 'inboxsdk__linkPopOver_section';
|
|
30
|
-
containerEl.appendChild(this._el);
|
|
31
|
-
linkPopOver.on('close', () => {
|
|
32
|
-
this.remove();
|
|
33
|
-
});
|
|
34
|
-
}
|
|
35
|
-
getElement() {
|
|
36
|
-
return this._el;
|
|
37
|
-
}
|
|
38
|
-
remove() {
|
|
39
|
-
this._el.remove();
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
function getSelectedLink(gmailComposeView) {
|
|
43
|
-
const focusNode = document.getSelection()?.focusNode;
|
|
44
|
-
if (!focusNode) {
|
|
45
|
-
return null;
|
|
46
|
-
}
|
|
47
|
-
if (focusNode instanceof Text) {
|
|
48
|
-
if (focusNode.previousSibling instanceof HTMLAnchorElement &&
|
|
49
|
-
document.getSelection()?.anchorOffset === 0) {
|
|
50
|
-
// For capturing link creation cases where the cursor ends up behind the link
|
|
51
|
-
return focusNode.previousSibling;
|
|
52
|
-
}
|
|
53
|
-
else if (focusNode.nextSibling instanceof HTMLAnchorElement) {
|
|
54
|
-
// google's popover appears when clicking just in front of a link as well
|
|
55
|
-
return focusNode.nextSibling;
|
|
56
|
-
}
|
|
57
|
-
}
|
|
58
|
-
return findLinkParent(focusNode, gmailComposeView.getBodyElement());
|
|
59
|
-
}
|
|
60
|
-
function findLinkParent(node, composeBody) {
|
|
61
|
-
if (node instanceof HTMLAnchorElement) {
|
|
62
|
-
return node;
|
|
63
|
-
}
|
|
64
|
-
else if (!node || node === composeBody) {
|
|
65
|
-
return null;
|
|
66
|
-
}
|
|
67
|
-
else {
|
|
68
|
-
return findLinkParent(node.parentElement, composeBody);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
export default function setupLinkPopOvers(gmailComposeView) {
|
|
72
|
-
return toItemWithLifetimeStream(gmailComposeView
|
|
73
|
-
.getGmailDriver()
|
|
74
|
-
.getTagTree()
|
|
75
|
-
.getAllByTag('composeLinkPopOverContainer')).flatMap(({ el, removalStream }) => {
|
|
76
|
-
const popOverEl = el.getValue();
|
|
77
|
-
let existingLinkPopOver = null;
|
|
78
|
-
removalStream.onValue(() => {
|
|
79
|
-
if (existingLinkPopOver) {
|
|
80
|
-
existingLinkPopOver.emit('close');
|
|
81
|
-
existingLinkPopOver = null;
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
return makeMutationObserverChunkedStream(popOverEl, {
|
|
85
|
-
attributes: true,
|
|
86
|
-
attributeFilter: ['style'],
|
|
87
|
-
})
|
|
88
|
-
.toProperty(() => null)
|
|
89
|
-
.takeUntilBy(removalStream)
|
|
90
|
-
.flatMap(() => {
|
|
91
|
-
if (existingLinkPopOver) {
|
|
92
|
-
existingLinkPopOver.emit('close');
|
|
93
|
-
existingLinkPopOver = null;
|
|
94
|
-
}
|
|
95
|
-
if (popOverEl.style.visibility === 'visible') {
|
|
96
|
-
const linkEl = getSelectedLink(gmailComposeView);
|
|
97
|
-
if (linkEl && gmailComposeView.getElement().contains(linkEl)) {
|
|
98
|
-
const linkPopOver = new LinkPopOver(linkEl, popOverEl);
|
|
99
|
-
existingLinkPopOver = linkPopOver;
|
|
100
|
-
return Kefir.constant({
|
|
101
|
-
eventName: 'linkPopOver',
|
|
102
|
-
data: linkPopOver,
|
|
103
|
-
});
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
|
-
return Kefir.never();
|
|
107
|
-
});
|
|
108
|
-
});
|
|
109
|
-
}
|
package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js
DELETED
|
@@ -1,123 +0,0 @@
|
|
|
1
|
-
import includes from 'lodash/includes';
|
|
2
|
-
import startsWith from 'lodash/startsWith';
|
|
3
|
-
import findIndex from 'lodash/findIndex';
|
|
4
|
-
import once from 'lodash/once';
|
|
5
|
-
import delayAsap from '../../../../lib/delay-asap';
|
|
6
|
-
import makeMutationObserverChunkedStream from '../../../../lib/dom/make-mutation-observer-chunked-stream';
|
|
7
|
-
import cssSelectorEscape from '../../../../lib/css-selector-escape';
|
|
8
|
-
const MATERIAL_UI_GMAIL_STATUS_HEIGHT = 60;
|
|
9
|
-
const MATERIAL_UI_TOP_FORM_HEIGHT = 72;
|
|
10
|
-
const SELECTOR_ESCAPE_HATCH_PREFIX = 'body:not(.inboxsdk_hack_disableComposeSizeFixer) ';
|
|
11
|
-
var getSizeFixerSheet = once(() => {
|
|
12
|
-
const style = document.createElement('style');
|
|
13
|
-
style.type = 'text/css';
|
|
14
|
-
style.className = 'inboxsdk__compose_size_fixer';
|
|
15
|
-
document.head.appendChild(style);
|
|
16
|
-
var sheet = style.sheet;
|
|
17
|
-
if (!(sheet instanceof CSSStyleSheet)) {
|
|
18
|
-
throw new Error('Could not add stylesheet');
|
|
19
|
-
}
|
|
20
|
-
return sheet;
|
|
21
|
-
});
|
|
22
|
-
// Gets a css selector string for a given id
|
|
23
|
-
function byId(id) {
|
|
24
|
-
return '#' + cssSelectorEscape(id);
|
|
25
|
-
}
|
|
26
|
-
export default function sizeFixer(driver, gmailComposeView) {
|
|
27
|
-
if (gmailComposeView.isInlineReplyForm() ||
|
|
28
|
-
gmailComposeView.getElement().classList.contains('inboxsdk__size_fixer')) {
|
|
29
|
-
return;
|
|
30
|
-
}
|
|
31
|
-
gmailComposeView.getElement().classList.add('inboxsdk__size_fixer');
|
|
32
|
-
var composeEvents = gmailComposeView.getEventStream();
|
|
33
|
-
var stopper = composeEvents.filter(() => false).beforeEnd(() => null);
|
|
34
|
-
var resizeEvents = composeEvents
|
|
35
|
-
.filter((e) => includes(['resize', 'fullscreenChanged'], e.eventName))
|
|
36
|
-
.merge(delayAsap(null));
|
|
37
|
-
var statusAreaParent = gmailComposeView.getStatusArea()
|
|
38
|
-
.parentElement;
|
|
39
|
-
var scrollBody = gmailComposeView.getScrollBody();
|
|
40
|
-
var sheet = getSizeFixerSheet();
|
|
41
|
-
var topForm = gmailComposeView.getTopFormElement();
|
|
42
|
-
var composeId = gmailComposeView.getElement().id;
|
|
43
|
-
if (!composeId) {
|
|
44
|
-
composeId =
|
|
45
|
-
gmailComposeView.getElement().id = `x${Math.random()}x${Date.now()}`;
|
|
46
|
-
}
|
|
47
|
-
function setRuleForSelector(selector, rule) {
|
|
48
|
-
const fullSelector = SELECTOR_ESCAPE_HATCH_PREFIX + byId(composeId) + ' ' + selector;
|
|
49
|
-
const ix = findIndex(sheet.cssRules, (cssRule) => cssRule.selectorText === fullSelector);
|
|
50
|
-
if (ix !== -1) {
|
|
51
|
-
sheet.deleteRule(ix);
|
|
52
|
-
}
|
|
53
|
-
sheet.insertRule(fullSelector + ' { ' + rule + ' }', 0);
|
|
54
|
-
}
|
|
55
|
-
// Emit resize events when the recipients area is toggled
|
|
56
|
-
makeMutationObserverChunkedStream(statusAreaParent, {
|
|
57
|
-
attributes: true,
|
|
58
|
-
})
|
|
59
|
-
.takeUntilBy(stopper)
|
|
60
|
-
.onValue(() => {
|
|
61
|
-
gmailComposeView.getElement().dispatchEvent(new CustomEvent('resize', {
|
|
62
|
-
bubbles: false,
|
|
63
|
-
cancelable: false,
|
|
64
|
-
detail: null,
|
|
65
|
-
}));
|
|
66
|
-
});
|
|
67
|
-
resizeEvents
|
|
68
|
-
.bufferBy(resizeEvents.flatMap(() => delayAsap(null)))
|
|
69
|
-
.filter((x) => x.length > 0)
|
|
70
|
-
.merge(makeMutationObserverChunkedStream(scrollBody, {
|
|
71
|
-
attributes: true,
|
|
72
|
-
}))
|
|
73
|
-
.takeUntilBy(stopper)
|
|
74
|
-
.onValue(() => {
|
|
75
|
-
const statusUnexpectedHeight = Math.max(statusAreaParent.offsetHeight - MATERIAL_UI_GMAIL_STATUS_HEIGHT, 0);
|
|
76
|
-
const topFormUnexpectedHeight = Math.max(topForm.offsetHeight - MATERIAL_UI_TOP_FORM_HEIGHT, 0);
|
|
77
|
-
const unexpectedHeight = statusUnexpectedHeight + topFormUnexpectedHeight;
|
|
78
|
-
const maybeBody = gmailComposeView.getMaybeBodyElement();
|
|
79
|
-
/**
|
|
80
|
-
* In order to support dynamic height in non-fullscreen mode,
|
|
81
|
-
* get height of the inner element of scrollBody
|
|
82
|
-
* this way we still can override height values of scrollBody,
|
|
83
|
-
* but recalculate them based on actual height of an inner child
|
|
84
|
-
*/
|
|
85
|
-
const scrollBodyInner = scrollBody.querySelector('.qz');
|
|
86
|
-
const height = scrollBodyInner?.offsetHeight || scrollBody.offsetHeight;
|
|
87
|
-
const maxHeight = parseInt(scrollBody.style.getPropertyValue('max-height'), 10);
|
|
88
|
-
const isFullScreen = gmailComposeView.isFullscreen();
|
|
89
|
-
const newMaxHeight = maxHeight - unexpectedHeight;
|
|
90
|
-
const newHeight = height > newMaxHeight ? newMaxHeight : null;
|
|
91
|
-
const scrollBodyCssRules = [`max-height: ${newMaxHeight}px !important;`];
|
|
92
|
-
let maybeBodyCssRules;
|
|
93
|
-
if (newHeight) {
|
|
94
|
-
scrollBodyCssRules.push(`height: ${newHeight}px !important;`);
|
|
95
|
-
}
|
|
96
|
-
if (isFullScreen) {
|
|
97
|
-
// in non fullscreen mode compose window can get taller on user input,
|
|
98
|
-
// but in fullscreen mode, compose window size is static so not only max-height
|
|
99
|
-
// should be updated, but also min-height of scrollBody and maybeBody
|
|
100
|
-
// NOTE: max-height and min-height in full screen are same
|
|
101
|
-
scrollBodyCssRules.push(`min-height: ${newMaxHeight}px !important;`);
|
|
102
|
-
const maybeBodyMinHeight = parseInt(maybeBody?.style.minHeight ?? '', 10) || maxHeight;
|
|
103
|
-
const maybeBodyNewMinHeight = maybeBodyMinHeight - unexpectedHeight;
|
|
104
|
-
maybeBodyCssRules = `min-height: ${maybeBodyNewMinHeight}px !important;`;
|
|
105
|
-
}
|
|
106
|
-
if (scrollBodyCssRules.length > 0) {
|
|
107
|
-
setRuleForSelector(byId(scrollBody.id), scrollBodyCssRules.join('\n'));
|
|
108
|
-
}
|
|
109
|
-
if (maybeBodyCssRules && maybeBody) {
|
|
110
|
-
setRuleForSelector(byId(maybeBody.id), maybeBodyCssRules);
|
|
111
|
-
}
|
|
112
|
-
});
|
|
113
|
-
stopper.onValue(() => {
|
|
114
|
-
// Go through the rules array backwards so that we remove them in backwards
|
|
115
|
-
// order. If we went through in ascending order, we'd have to worry about
|
|
116
|
-
// the list shrinking out from under us.
|
|
117
|
-
for (let ix = sheet.cssRules.length - 1; ix >= 0; ix--) {
|
|
118
|
-
if (startsWith(sheet.cssRules[ix].selectorText, SELECTOR_ESCAPE_HATCH_PREFIX + byId(composeId) + ' ')) {
|
|
119
|
-
sheet.deleteRule(ix);
|
|
120
|
-
}
|
|
121
|
-
}
|
|
122
|
-
});
|
|
123
|
-
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
const updateAreaSet = new WeakSet();
|
|
2
|
-
export default function updateInsertMoreAreaLeft(gmailComposeView, oldFormattingAreaOffsetLeft) {
|
|
3
|
-
if (updateAreaSet.has(gmailComposeView))
|
|
4
|
-
return;
|
|
5
|
-
updateAreaSet.add(gmailComposeView);
|
|
6
|
-
window.requestAnimationFrame(() => {
|
|
7
|
-
updateAreaSet.delete(gmailComposeView);
|
|
8
|
-
if (gmailComposeView.isDestroyed())
|
|
9
|
-
return;
|
|
10
|
-
var newFormattingAreaOffsetLeft = gmailComposeView._getFormattingAreaOffsetLeft();
|
|
11
|
-
var insertMoreAreaLeft = parseInt(gmailComposeView.getInsertMoreArea().style.left, 10);
|
|
12
|
-
var diff = newFormattingAreaOffsetLeft - oldFormattingAreaOffsetLeft;
|
|
13
|
-
gmailComposeView.getInsertMoreArea().style.left =
|
|
14
|
-
insertMoreAreaLeft + diff + 'px';
|
|
15
|
-
});
|
|
16
|
-
}
|