@inboxsdk/core 0.2.28 → 0.2.29-alpha.1

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 (669) hide show
  1. package/inboxsdk.js +62 -28
  2. package/inboxsdk.js.map +1 -1
  3. package/package.json +5 -1
  4. package/pageWorld.js.map +1 -1
  5. package/src/build/exec.d.ts +1 -0
  6. package/src/build/exec.d.ts.map +1 -0
  7. package/src/build/exec.js +26 -0
  8. package/src/build/spawn.d.ts +1 -0
  9. package/src/build/spawn.d.ts.map +1 -0
  10. package/src/build/spawn.js +17 -0
  11. package/src/common/ajax.d.ts +1 -0
  12. package/src/common/ajax.d.ts.map +1 -0
  13. package/src/common/ajax.js +90 -0
  14. package/src/common/cachebust-url.d.ts +1 -0
  15. package/src/common/cachebust-url.d.ts.map +1 -0
  16. package/src/common/cachebust-url.js +10 -0
  17. package/src/common/censorHTMLstring.d.ts +1 -0
  18. package/src/common/censorHTMLstring.d.ts.map +1 -0
  19. package/src/common/censorHTMLstring.js +37 -0
  20. package/src/common/censorHTMLtree.d.ts +1 -0
  21. package/src/common/censorHTMLtree.d.ts.map +1 -0
  22. package/src/common/censorHTMLtree.js +28 -0
  23. package/src/common/censorJSONTree.d.ts +1 -0
  24. package/src/common/censorJSONTree.d.ts.map +1 -0
  25. package/src/common/censorJSONTree.js +15 -0
  26. package/src/common/connectivity-test.d.ts +1 -0
  27. package/src/common/connectivity-test.d.ts.map +1 -0
  28. package/src/common/connectivity-test.js +21 -0
  29. package/src/common/defer.d.ts +1 -0
  30. package/src/common/defer.d.ts.map +1 -0
  31. package/src/common/defer.js +11 -0
  32. package/src/common/find-parent.d.ts +1 -0
  33. package/src/common/find-parent.d.ts.map +1 -0
  34. package/src/common/find-parent.js +10 -0
  35. package/src/common/get-extension-id.d.ts +1 -0
  36. package/src/common/get-extension-id.d.ts.map +1 -0
  37. package/src/common/get-extension-id.js +7 -0
  38. package/src/common/get-or-fail.d.ts +1 -0
  39. package/src/common/get-or-fail.d.ts.map +1 -0
  40. package/src/common/get-or-fail.js +8 -0
  41. package/src/common/get-session-id.d.ts +1 -0
  42. package/src/common/get-session-id.d.ts.map +1 -0
  43. package/src/common/get-session-id.js +14 -0
  44. package/src/common/get-stack-trace.d.ts +1 -0
  45. package/src/common/get-stack-trace.d.ts.map +1 -0
  46. package/src/common/get-stack-trace.js +6 -0
  47. package/src/common/html-to-text.d.ts +1 -0
  48. package/src/common/html-to-text.d.ts.map +1 -0
  49. package/src/common/html-to-text.js +7 -0
  50. package/src/common/isElementVisible.d.ts +1 -0
  51. package/src/common/isElementVisible.d.ts.map +1 -0
  52. package/src/common/isElementVisible.js +6 -0
  53. package/src/common/load-script.d.ts +1 -0
  54. package/src/common/load-script.d.ts.map +1 -0
  55. package/src/common/load-script.js +127 -0
  56. package/src/common/log-error.d.ts +1 -0
  57. package/src/common/log-error.d.ts.map +1 -0
  58. package/src/common/log-error.js +191 -0
  59. package/src/common/quoted-split.d.ts +1 -0
  60. package/src/common/quoted-split.d.ts.map +1 -0
  61. package/src/common/quoted-split.js +18 -0
  62. package/src/common/rate-limit-queuer.d.ts +1 -0
  63. package/src/common/rate-limit-queuer.d.ts.map +1 -0
  64. package/src/common/rate-limit-queuer.js +57 -0
  65. package/src/common/rate-limit.d.ts +1 -0
  66. package/src/common/rate-limit.d.ts.map +1 -0
  67. package/src/common/rate-limit.js +14 -0
  68. package/src/common/version.d.ts +1 -0
  69. package/src/common/version.d.ts.map +1 -0
  70. package/src/common/version.js +6 -0
  71. package/src/inboxsdk-js/check-requirements.js +7 -3
  72. package/src/inboxsdk-js/header.js +1 -0
  73. package/src/inboxsdk-js/inboxsdk-NONREMOTE-INTEGRATED-PAGEWORLD.js +5 -6
  74. package/src/inboxsdk-js/inboxsdk-NONREMOTE.js +4 -3
  75. package/src/inboxsdk-js/inboxsdk-REMOTE.js +3 -1
  76. package/src/inboxsdk-js/inboxsdk-TEST.js +4 -3
  77. package/src/inboxsdk-js/inboxsdk.js +33 -39
  78. package/src/inboxsdk-js/loading/load-platform-implementation-DEV.js +15 -18
  79. package/src/inboxsdk-js/loading/platform-implementation-loader.d.ts +1 -0
  80. package/src/inboxsdk-js/loading/platform-implementation-loader.d.ts.map +1 -0
  81. package/src/inboxsdk-js/loading/platform-implementation-loader.js +27 -0
  82. package/src/inboxsdk.d.ts +12 -27
  83. package/src/injected-js/gmail/constants.d.ts +1 -0
  84. package/src/injected-js/gmail/constants.d.ts.map +1 -0
  85. package/src/injected-js/gmail/constants.js +2 -0
  86. package/src/injected-js/gmail/modify-suggestions.d.ts +1 -0
  87. package/src/injected-js/gmail/modify-suggestions.d.ts.map +1 -0
  88. package/src/injected-js/gmail/modify-suggestions.js +106 -0
  89. package/src/injected-js/gmail/modify-suggestions.test.js +8 -9
  90. package/src/injected-js/gmail/setup-gmail-interceptor.js +340 -579
  91. package/src/injected-js/gmail/setup-gmonkey-handler.d.ts +1 -0
  92. package/src/injected-js/gmail/setup-gmonkey-handler.d.ts.map +1 -0
  93. package/src/injected-js/gmail/setup-gmonkey-handler.js +49 -0
  94. package/src/injected-js/gmail/sync-compose-processor-20220909.d.ts +1 -0
  95. package/src/injected-js/gmail/sync-compose-processor-20220909.d.ts.map +1 -0
  96. package/src/injected-js/gmail/sync-compose-processor-20220909.js +298 -0
  97. package/src/injected-js/gmail/sync-compose-processor.d.ts +1 -0
  98. package/src/injected-js/gmail/sync-compose-processor.d.ts.map +1 -0
  99. package/src/injected-js/gmail/sync-compose-processor.js +55 -0
  100. package/src/injected-js/gmail/sync-compose-request-processor.d.ts +1 -0
  101. package/src/injected-js/gmail/sync-compose-request-processor.d.ts.map +1 -0
  102. package/src/injected-js/gmail/sync-compose-request-processor.js +110 -0
  103. package/src/injected-js/gmail/sync-compose-request-processor.test.js +39 -49
  104. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +20 -33
  105. package/src/injected-js/gmail/thread-identifier/index.js +57 -93
  106. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +22 -31
  107. package/src/injected-js/gmail/thread-identifier/thread-row-parser.test.js +12 -28
  108. package/src/injected-js/inbox/setupAjaxInterceptor.js +64 -121
  109. package/src/injected-js/inbox/setupClickAndGetNewIframeSrc.js +53 -66
  110. package/src/injected-js/inbox/setupComposeViewDraftIDFinder.js +20 -36
  111. package/src/injected-js/inbox/setupInboxFakeWindowResizeListener.js +13 -13
  112. package/src/injected-js/injected-logger.d.ts +1 -0
  113. package/src/injected-js/injected-logger.d.ts.map +1 -0
  114. package/src/injected-js/injected-logger.js +50 -0
  115. package/src/injected-js/main.js +11 -24
  116. package/src/injected-js/message-metadata-holder.js +52 -82
  117. package/src/injected-js/setup-data-exposer.js +89 -148
  118. package/src/injected-js/setup-error-silencer.js +21 -21
  119. package/src/injected-js/setup-event-reemitter.js +30 -22
  120. package/src/injected-js/setupCustomViewEventAssassin.d.ts +1 -0
  121. package/src/injected-js/setupCustomViewEventAssassin.d.ts.map +1 -0
  122. package/src/injected-js/setupCustomViewEventAssassin.js +90 -0
  123. package/src/injected-js/setupInboxCustomViewLinkFixer.js +24 -29
  124. package/src/injected-js/setupPushStateListener.js +18 -11
  125. package/src/injected-js/xhr-helper.js +62 -65
  126. package/src/injected-js/xhr-proxy-factory.js +195 -445
  127. package/src/injected-js/xhr-proxy-factory.test.js +824 -991
  128. package/src/platform-implementation-js/constants/nav-item-types.d.ts +1 -0
  129. package/src/platform-implementation-js/constants/nav-item-types.d.ts.map +1 -0
  130. package/src/platform-implementation-js/constants/nav-item-types.js +19 -0
  131. package/src/platform-implementation-js/constants/router.js +22 -9
  132. package/src/platform-implementation-js/constants/toolbars.js +8 -3
  133. package/src/platform-implementation-js/dom-driver/gmail/custom-style.js +13 -13
  134. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.js +115 -136
  135. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.d.ts +5 -0
  136. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.d.ts.map +1 -0
  137. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.js +21 -0
  138. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.d.ts +5 -0
  139. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.d.ts.map +1 -0
  140. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.js +28 -0
  141. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.d.ts +3 -2
  142. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.d.ts.map +1 -0
  143. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.js +98 -0
  144. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-support-item.d.ts +1 -0
  145. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-support-item.d.ts.map +1 -0
  146. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-support-item.js +4 -0
  147. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +13 -14
  148. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.js +27 -48
  149. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/encodeDraftUrlId.d.ts +1 -0
  150. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/encodeDraftUrlId.d.ts.map +1 -0
  151. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/encodeDraftUrlId.js +8 -0
  152. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.js +31 -42
  153. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.js +30 -40
  154. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-message-id.d.ts +1 -0
  155. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-message-id.d.ts.map +1 -0
  156. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-message-id.js +12 -0
  157. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-thread-id.d.ts +1 -0
  158. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-thread-id.d.ts.map +1 -0
  159. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-thread-id.js +33 -0
  160. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +10 -18
  161. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +21 -28
  162. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +33 -45
  163. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +31 -49
  164. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +58 -65
  165. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts +1 -0
  166. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts.map +1 -0
  167. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.js +4 -0
  168. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.js +40 -124
  169. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.js +17 -22
  170. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.d.ts +1 -0
  171. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.d.ts.map +1 -0
  172. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.js +44 -0
  173. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.test.js +10 -11
  174. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.js +44 -80
  175. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.js +19 -26
  176. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.js +71 -147
  177. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.js +91 -148
  178. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +150 -166
  179. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.test.js +70 -120
  180. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.js +15 -15
  181. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.js +44 -67
  182. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +230 -379
  183. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.test.js +121 -307
  184. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.js +17 -24
  185. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.js +41 -49
  186. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.js +30 -40
  187. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +28 -60
  188. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +61 -133
  189. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.d.ts +2 -0
  190. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.d.ts.map +1 -0
  191. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.js +83 -110
  192. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +30 -42
  193. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.test.js +52 -46
  194. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts +13 -3
  195. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +355 -683
  196. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/get-main-content-element-changed-stream.d.ts +1 -0
  197. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/get-main-content-element-changed-stream.d.ts.map +1 -0
  198. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/get-main-content-element-changed-stream.js +38 -0
  199. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/wait-for-gmail-mode-to-settle.d.ts +1 -0
  200. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/wait-for-gmail-mode-to-settle.d.ts.map +1 -0
  201. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/wait-for-gmail-mode-to-settle.js +12 -0
  202. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts +4 -0
  203. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts.map +1 -0
  204. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.js +253 -0
  205. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.d.ts +1 -0
  206. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.d.ts.map +1 -0
  207. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.js +200 -0
  208. package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.d.ts +1 -0
  209. package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.d.ts.map +1 -0
  210. package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.js +533 -0
  211. package/src/platform-implementation-js/dom-driver/gmail/gmail-sync-response-processor.d.ts +1 -0
  212. package/src/platform-implementation-js/dom-driver/gmail/gmail-sync-response-processor.d.ts.map +1 -0
  213. package/src/platform-implementation-js/dom-driver/gmail/gmail-sync-response-processor.js +289 -0
  214. package/src/platform-implementation-js/dom-driver/gmail/is-compose-titlebar-light-color.d.ts +1 -0
  215. package/src/platform-implementation-js/dom-driver/gmail/is-compose-titlebar-light-color.d.ts.map +1 -0
  216. package/src/platform-implementation-js/dom-driver/gmail/is-compose-titlebar-light-color.js +21 -0
  217. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +77 -93
  218. package/src/platform-implementation-js/dom-driver/gmail/makePageParserTree.d.ts +1 -0
  219. package/src/platform-implementation-js/dom-driver/gmail/makePageParserTree.d.ts.map +1 -0
  220. package/src/platform-implementation-js/dom-driver/gmail/makePageParserTree.js +28 -0
  221. package/src/platform-implementation-js/dom-driver/gmail/pageParserOptions.d.ts +1 -0
  222. package/src/platform-implementation-js/dom-driver/gmail/pageParserOptions.d.ts.map +1 -0
  223. package/src/platform-implementation-js/dom-driver/gmail/pageParserOptions.js +19 -0
  224. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.d.ts +39 -0
  225. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.d.ts.map +1 -0
  226. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.js +126 -0
  227. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +35 -82
  228. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.test.js +44 -94
  229. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +12 -19
  230. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +17 -29
  231. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.js +26 -26
  232. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +391 -797
  233. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +7 -9
  234. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +60 -109
  235. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +95 -135
  236. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +103 -211
  237. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.test.js +61 -61
  238. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.js +17 -17
  239. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +188 -541
  240. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +67 -135
  241. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +27 -49
  242. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-inner-sidebar.js +7 -13
  243. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-outer-sidebar.js +9 -22
  244. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +36 -63
  245. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.d.ts +1 -0
  246. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.d.ts.map +1 -0
  247. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.js +101 -0
  248. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +38 -113
  249. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/detectClassicRecipientsArea.d.ts +1 -0
  250. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/detectClassicRecipientsArea.d.ts.map +1 -0
  251. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/detectClassicRecipientsArea.js +38 -0
  252. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +11 -16
  253. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +11 -17
  254. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +8 -11
  255. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +27 -47
  256. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +11 -24
  257. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +59 -111
  258. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.d.ts +1 -0
  259. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.d.ts.map +1 -0
  260. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.js +28 -0
  261. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +15 -14
  262. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +11 -17
  263. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +18 -24
  264. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.d.ts +1 -0
  265. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.d.ts.map +1 -0
  266. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.js +22 -0
  267. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +19 -23
  268. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.d.ts +1 -0
  269. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.d.ts.map +1 -0
  270. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.js +233 -0
  271. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +11 -19
  272. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +141 -376
  273. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +17 -28
  274. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +34 -70
  275. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/page-parser.d.ts +1 -0
  276. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/page-parser.d.ts.map +1 -0
  277. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/page-parser.js +223 -0
  278. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +10 -17
  279. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/set-recipients.d.ts +1 -0
  280. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/set-recipients.d.ts.map +1 -0
  281. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/set-recipients.js +157 -0
  282. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/setupLinkPopovers.d.ts +1 -0
  283. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/setupLinkPopovers.d.ts.map +1 -0
  284. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/setupLinkPopovers.js +109 -0
  285. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +83 -137
  286. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +10 -19
  287. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +632 -1190
  288. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.d.ts +1 -0
  289. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.d.ts.map +1 -0
  290. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.js +5 -0
  291. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +29 -38
  292. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +327 -617
  293. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts +34 -1
  294. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts.map +1 -0
  295. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.js +759 -0
  296. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +31 -48
  297. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +221 -378
  298. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +104 -194
  299. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-support-item-view.d.ts +1 -0
  300. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-support-item-view.d.ts.map +1 -0
  301. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-support-item-view.js +84 -0
  302. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +382 -811
  303. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view/add-icon-area.js +34 -58
  304. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.js +330 -581
  305. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.test.js +123 -277
  306. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +15 -35
  307. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +216 -571
  308. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +152 -336
  309. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +87 -211
  310. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-color-classes.d.ts +1 -0
  311. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-color-classes.d.ts.map +1 -0
  312. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-color-classes.js +33 -0
  313. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.d.ts +1 -0
  314. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.d.ts.map +1 -0
  315. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.js +325 -0
  316. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.d.ts +1 -0
  317. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.d.ts.map +1 -0
  318. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.js +58 -0
  319. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.d.ts +1 -0
  320. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.d.ts.map +1 -0
  321. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.js +55 -0
  322. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +10 -11
  323. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.d.ts +1 -0
  324. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.d.ts.map +1 -0
  325. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.js +96 -0
  326. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-dropdown-button-view.d.ts +1 -0
  327. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-dropdown-button-view.d.ts.map +1 -0
  328. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-dropdown-button-view.js +30 -0
  329. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-parent-accessory-button-view.d.ts +1 -0
  330. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-parent-accessory-button-view.d.ts.map +1 -0
  331. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-parent-accessory-button-view.js +10 -0
  332. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +20 -29
  333. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.d.ts +1 -0
  334. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.d.ts.map +1 -0
  335. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.js +22 -0
  336. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +41 -76
  337. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.js +45 -99
  338. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +76 -128
  339. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +128 -319
  340. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.js +45 -78
  341. package/src/platform-implementation-js/dom-driver/inbox/__mocks__/getSidebarClassnames.js +8 -4
  342. package/src/platform-implementation-js/dom-driver/inbox/addNavItem.js +36 -54
  343. package/src/platform-implementation-js/dom-driver/inbox/addRecipientRow.js +35 -53
  344. package/src/platform-implementation-js/dom-driver/inbox/createLink.js +13 -15
  345. package/src/platform-implementation-js/dom-driver/inbox/createLink.test.js +15 -18
  346. package/src/platform-implementation-js/dom-driver/inbox/custom-style.js +14 -13
  347. package/src/platform-implementation-js/dom-driver/inbox/detection/appToolbarLocation/parser.js +14 -20
  348. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentCard/parser.js +14 -13
  349. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentOverlay/parser.js +35 -67
  350. package/src/platform-implementation-js/dom-driver/inbox/detection/chatSidebar/parser.js +16 -18
  351. package/src/platform-implementation-js/dom-driver/inbox/detection/compose/parser.js +68 -185
  352. package/src/platform-implementation-js/dom-driver/inbox/detection/message/parser.js +28 -56
  353. package/src/platform-implementation-js/dom-driver/inbox/detection/nativeDrawer/parser.js +12 -10
  354. package/src/platform-implementation-js/dom-driver/inbox/detection/searchBar/parser.js +16 -16
  355. package/src/platform-implementation-js/dom-driver/inbox/detection/thread/parser.js +24 -35
  356. package/src/platform-implementation-js/dom-driver/inbox/detection/thread-row/parser.js +37 -89
  357. package/src/platform-implementation-js/dom-driver/inbox/getComposeViewDriverLiveSet.js +56 -78
  358. package/src/platform-implementation-js/dom-driver/inbox/getInboxMessageIdForInboxThreadId.js +26 -32
  359. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.js +52 -109
  360. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.test.js +7 -8
  361. package/src/platform-implementation-js/dom-driver/inbox/gotoView.js +16 -20
  362. package/src/platform-implementation-js/dom-driver/inbox/gotoView.test.js +15 -16
  363. package/src/platform-implementation-js/dom-driver/inbox/inbox-butter-bar-driver.js +75 -83
  364. package/src/platform-implementation-js/dom-driver/inbox/inbox-driver.js +531 -823
  365. package/src/platform-implementation-js/dom-driver/inbox/inbox-page-communicator.js +48 -61
  366. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.js +9 -12
  367. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.test.js +12 -19
  368. package/src/platform-implementation-js/dom-driver/inbox/makePageParserTree.js +24 -33
  369. package/src/platform-implementation-js/dom-driver/inbox/pageParserOptions.js +201 -388
  370. package/src/platform-implementation-js/dom-driver/inbox/registerSearchSuggestionsProvider.js +249 -265
  371. package/src/platform-implementation-js/dom-driver/inbox/setupCustomAutocompleteSelectionHandling.js +84 -152
  372. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.js +55 -67
  373. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.test.js +43 -65
  374. package/src/platform-implementation-js/dom-driver/inbox/views/InboxLabelView.js +31 -56
  375. package/src/platform-implementation-js/dom-driver/inbox/views/InboxMoleViewDriver.js +191 -294
  376. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarButtonView.js +32 -45
  377. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarView.js +21 -39
  378. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-sidebar-view.js +153 -240
  379. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-button-view.js +75 -150
  380. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-tooltip-view.js +20 -37
  381. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-card-view.js +60 -114
  382. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-overlay-view.js +47 -65
  383. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +41 -52
  384. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-chat-sidebar-view.js +27 -36
  385. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-button-view.js +52 -80
  386. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-view.js +465 -649
  387. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.js +37 -58
  388. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.test.js +14 -26
  389. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +118 -235
  390. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dropdown-view.js +10 -11
  391. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dummy-route-view.js +28 -46
  392. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-message-view.js +131 -202
  393. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-modal-view.js +40 -80
  394. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-route-view.js +35 -61
  395. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-row-view.js +124 -221
  396. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.js +125 -213
  397. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.test.js +104 -126
  398. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-tooltip-view.js +36 -51
  399. package/src/platform-implementation-js/dom-driver/inbox/views/inboxNavItemView.js +158 -297
  400. package/src/platform-implementation-js/dom-driver/inbox/waitForAnimationClickBlockerGone.js +21 -35
  401. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +24 -43
  402. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +39 -68
  403. package/src/platform-implementation-js/driver-common/getAccountUrlPart.d.ts +1 -0
  404. package/src/platform-implementation-js/driver-common/getAccountUrlPart.d.ts.map +1 -0
  405. package/src/platform-implementation-js/driver-common/getAccountUrlPart.js +17 -0
  406. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +14 -19
  407. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +27 -35
  408. package/src/platform-implementation-js/driver-common/getOriginalMessagePage.d.ts +1 -0
  409. package/src/platform-implementation-js/driver-common/getOriginalMessagePage.d.ts.map +1 -0
  410. package/src/platform-implementation-js/driver-common/getOriginalMessagePage.js +33 -0
  411. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +16 -22
  412. package/src/platform-implementation-js/driver-common/getSyncThreadsForSearch.d.ts +1 -0
  413. package/src/platform-implementation-js/driver-common/getSyncThreadsForSearch.d.ts.map +1 -0
  414. package/src/platform-implementation-js/driver-common/getSyncThreadsForSearch.js +49 -0
  415. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +14 -14
  416. package/src/platform-implementation-js/driver-common/gmailAjax.d.ts +1 -0
  417. package/src/platform-implementation-js/driver-common/gmailAjax.d.ts.map +1 -0
  418. package/src/platform-implementation-js/driver-common/gmailAjax.js +65 -0
  419. package/src/platform-implementation-js/driver-common/inboxAjax.js +12 -7
  420. package/src/platform-implementation-js/driver-common/render-custom-icon.d.ts +1 -0
  421. package/src/platform-implementation-js/driver-common/render-custom-icon.d.ts.map +1 -0
  422. package/src/platform-implementation-js/driver-common/render-custom-icon.js +16 -0
  423. package/src/platform-implementation-js/driver-common/requestGmailThread.js +19 -20
  424. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +197 -306
  425. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +113 -161
  426. package/src/platform-implementation-js/driver-common/update-icon.d.ts +1 -0
  427. package/src/platform-implementation-js/driver-common/update-icon.d.ts.map +1 -0
  428. package/src/platform-implementation-js/driver-common/update-icon.js +90 -0
  429. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +1 -114
  430. package/src/platform-implementation-js/driver-interfaces/driver.d.ts +5 -0
  431. package/src/platform-implementation-js/driver-interfaces/driver.js +1 -126
  432. package/src/platform-implementation-js/driver-interfaces/message-view-driver.js +4 -48
  433. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +1 -29
  434. package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +1 -32
  435. package/src/platform-implementation-js/driver-interfaces/thread-row-view-driver.js +1 -11
  436. package/src/platform-implementation-js/lib/ErrorCollector.d.ts +1 -0
  437. package/src/platform-implementation-js/lib/ErrorCollector.d.ts.map +1 -0
  438. package/src/platform-implementation-js/lib/ErrorCollector.js +47 -0
  439. package/src/platform-implementation-js/lib/Membrane.d.ts +1 -0
  440. package/src/platform-implementation-js/lib/Membrane.d.ts.map +1 -0
  441. package/src/platform-implementation-js/lib/Membrane.js +22 -0
  442. package/src/platform-implementation-js/lib/ScrollableContainByScreen.d.ts +1 -0
  443. package/src/platform-implementation-js/lib/ScrollableContainByScreen.d.ts.map +1 -0
  444. package/src/platform-implementation-js/lib/ScrollableContainByScreen.js +30 -0
  445. package/src/platform-implementation-js/lib/array-to-lifetimes.js +43 -41
  446. package/src/platform-implementation-js/lib/array-to-lifetimes.test.js +139 -155
  447. package/src/platform-implementation-js/lib/attemptWithRetries.d.ts +1 -0
  448. package/src/platform-implementation-js/lib/attemptWithRetries.d.ts.map +1 -0
  449. package/src/platform-implementation-js/lib/attemptWithRetries.js +16 -0
  450. package/src/platform-implementation-js/lib/common-page-communicator.d.ts +1 -0
  451. package/src/platform-implementation-js/lib/common-page-communicator.d.ts.map +1 -0
  452. package/src/platform-implementation-js/lib/common-page-communicator.js +137 -0
  453. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +19 -38
  454. package/src/platform-implementation-js/lib/css-selector-escape.js +7 -3
  455. package/src/platform-implementation-js/lib/delay-asap.d.ts +1 -0
  456. package/src/platform-implementation-js/lib/delay-asap.d.ts.map +1 -0
  457. package/src/platform-implementation-js/lib/delay-asap.js +12 -0
  458. package/src/platform-implementation-js/lib/delay-idle.d.ts +1 -0
  459. package/src/platform-implementation-js/lib/delay-idle.d.ts.map +1 -0
  460. package/src/platform-implementation-js/lib/delay-idle.js +16 -0
  461. package/src/platform-implementation-js/lib/dom/block-and-reemit-keyboard-events.d.ts +1 -0
  462. package/src/platform-implementation-js/lib/dom/block-and-reemit-keyboard-events.d.ts.map +1 -0
  463. package/src/platform-implementation-js/lib/dom/block-and-reemit-keyboard-events.js +36 -0
  464. package/src/platform-implementation-js/lib/dom/element-view-mapper.js +8 -11
  465. package/src/platform-implementation-js/lib/dom/generic-button-view.d.ts +1 -0
  466. package/src/platform-implementation-js/lib/dom/generic-button-view.d.ts.map +1 -0
  467. package/src/platform-implementation-js/lib/dom/generic-button-view.js +39 -0
  468. package/src/platform-implementation-js/lib/dom/get-insert-before-element.d.ts +1 -0
  469. package/src/platform-implementation-js/lib/dom/get-insert-before-element.d.ts.map +1 -0
  470. package/src/platform-implementation-js/lib/dom/get-insert-before-element.js +39 -0
  471. package/src/platform-implementation-js/lib/dom/get-selection.js +23 -52
  472. package/src/platform-implementation-js/lib/dom/insert-element-in-order.d.ts +1 -0
  473. package/src/platform-implementation-js/lib/dom/insert-element-in-order.d.ts.map +1 -0
  474. package/src/platform-implementation-js/lib/dom/insert-element-in-order.js +38 -0
  475. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +69 -101
  476. package/src/platform-implementation-js/lib/dom/is-node-in-range.js +8 -10
  477. package/src/platform-implementation-js/lib/dom/keyboard-shortcut-stream.d.ts +1 -0
  478. package/src/platform-implementation-js/lib/dom/keyboard-shortcut-stream.d.ts.map +1 -0
  479. package/src/platform-implementation-js/lib/dom/keyboard-shortcut-stream.js +12 -0
  480. package/src/platform-implementation-js/lib/dom/make-element-child-stream.d.ts +1 -0
  481. package/src/platform-implementation-js/lib/dom/make-element-child-stream.d.ts.map +1 -0
  482. package/src/platform-implementation-js/lib/dom/make-element-child-stream.js +79 -0
  483. package/src/platform-implementation-js/lib/dom/make-element-stream-merger.d.ts +1 -0
  484. package/src/platform-implementation-js/lib/dom/make-element-stream-merger.d.ts.map +1 -0
  485. package/src/platform-implementation-js/lib/dom/make-element-stream-merger.js +28 -0
  486. package/src/platform-implementation-js/lib/dom/make-element-view-stream.d.ts +1 -0
  487. package/src/platform-implementation-js/lib/dom/make-element-view-stream.d.ts.map +1 -0
  488. package/src/platform-implementation-js/lib/dom/make-element-view-stream.js +15 -0
  489. package/src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.d.ts +1 -0
  490. package/src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.d.ts.map +1 -0
  491. package/src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.js +15 -0
  492. package/src/platform-implementation-js/lib/dom/make-mutation-observer-stream.d.ts +1 -0
  493. package/src/platform-implementation-js/lib/dom/make-mutation-observer-stream.d.ts.map +1 -0
  494. package/src/platform-implementation-js/lib/dom/make-mutation-observer-stream.js +5 -0
  495. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.js +15 -17
  496. package/src/platform-implementation-js/lib/dom/outsideClicksAndEscape.d.ts +1 -0
  497. package/src/platform-implementation-js/lib/dom/outsideClicksAndEscape.d.ts.map +1 -0
  498. package/src/platform-implementation-js/lib/dom/outsideClicksAndEscape.js +39 -0
  499. package/src/platform-implementation-js/lib/dom/parentNodes.d.ts +1 -0
  500. package/src/platform-implementation-js/lib/dom/parentNodes.d.ts.map +1 -0
  501. package/src/platform-implementation-js/lib/dom/parentNodes.js +8 -0
  502. package/src/platform-implementation-js/lib/dom/querySelectorOne.js +8 -11
  503. package/src/platform-implementation-js/lib/dom/querySelectorOrFail.d.ts +1 -0
  504. package/src/platform-implementation-js/lib/dom/querySelectorOrFail.d.ts.map +1 -0
  505. package/src/platform-implementation-js/lib/dom/querySelectorOrFail.js +6 -0
  506. package/src/platform-implementation-js/lib/dom/reemitClickEventForReact.d.ts +1 -0
  507. package/src/platform-implementation-js/lib/dom/reemitClickEventForReact.d.ts.map +1 -0
  508. package/src/platform-implementation-js/lib/dom/reemitClickEventForReact.js +22 -0
  509. package/src/platform-implementation-js/lib/dom/set-css.js +7 -3
  510. package/src/platform-implementation-js/lib/dom/set-value-and-dispatch-event.js +9 -11
  511. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +32 -33
  512. package/src/platform-implementation-js/lib/dom/simulate-key.d.ts +1 -0
  513. package/src/platform-implementation-js/lib/dom/simulate-key.d.ts.map +1 -0
  514. package/src/platform-implementation-js/lib/dom/simulate-key.js +46 -0
  515. package/src/platform-implementation-js/lib/dom/simulate-mouse-event.d.ts +1 -0
  516. package/src/platform-implementation-js/lib/dom/simulate-mouse-event.d.ts.map +1 -0
  517. package/src/platform-implementation-js/lib/dom/simulate-mouse-event.js +16 -0
  518. package/src/platform-implementation-js/lib/dom/trigger-relay-event.d.ts +1 -0
  519. package/src/platform-implementation-js/lib/dom/trigger-relay-event.d.ts.map +1 -0
  520. package/src/platform-implementation-js/lib/dom/trigger-relay-event.js +7 -0
  521. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.d.ts +1 -0
  522. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.d.ts.map +1 -0
  523. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.js +25 -0
  524. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.test.js +23 -26
  525. package/src/platform-implementation-js/lib/fake-window-resize.d.ts +1 -0
  526. package/src/platform-implementation-js/lib/fake-window-resize.d.ts.map +1 -0
  527. package/src/platform-implementation-js/lib/fake-window-resize.js +5 -0
  528. package/src/platform-implementation-js/lib/from-event-target-capture.d.ts +1 -0
  529. package/src/platform-implementation-js/lib/from-event-target-capture.d.ts.map +1 -0
  530. package/src/platform-implementation-js/lib/from-event-target-capture.js +12 -0
  531. package/src/platform-implementation-js/lib/fromEventsWithOptions.d.ts +1 -0
  532. package/src/platform-implementation-js/lib/fromEventsWithOptions.d.ts.map +1 -0
  533. package/src/platform-implementation-js/lib/fromEventsWithOptions.js +10 -0
  534. package/src/platform-implementation-js/lib/handle-compose-link-chips.js +86 -149
  535. package/src/platform-implementation-js/lib/handler-registry.d.ts +1 -0
  536. package/src/platform-implementation-js/lib/handler-registry.d.ts.map +1 -0
  537. package/src/platform-implementation-js/lib/handler-registry.js +67 -0
  538. package/src/platform-implementation-js/lib/idMap.d.ts +1 -0
  539. package/src/platform-implementation-js/lib/idMap.d.ts.map +1 -0
  540. package/src/platform-implementation-js/lib/idMap.js +45 -0
  541. package/src/platform-implementation-js/lib/imageRequest.d.ts +1 -0
  542. package/src/platform-implementation-js/lib/imageRequest.d.ts.map +1 -0
  543. package/src/platform-implementation-js/lib/imageRequest.js +8 -0
  544. package/src/platform-implementation-js/lib/incrementName.d.ts +1 -0
  545. package/src/platform-implementation-js/lib/incrementName.d.ts.map +1 -0
  546. package/src/platform-implementation-js/lib/incrementName.js +7 -0
  547. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.d.ts +1 -0
  548. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.d.ts.map +1 -0
  549. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.js +14 -0
  550. package/src/platform-implementation-js/lib/inject-script.d.ts +1 -0
  551. package/src/platform-implementation-js/lib/inject-script.d.ts.map +1 -0
  552. package/src/platform-implementation-js/lib/inject-script.js +33 -0
  553. package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +42 -57
  554. package/src/platform-implementation-js/lib/is-valid-app-id.d.ts +1 -0
  555. package/src/platform-implementation-js/lib/is-valid-app-id.d.ts.map +1 -0
  556. package/src/platform-implementation-js/lib/is-valid-app-id.js +27 -0
  557. package/src/platform-implementation-js/lib/is-valid-email.d.ts +1 -0
  558. package/src/platform-implementation-js/lib/is-valid-email.d.ts.map +1 -0
  559. package/src/platform-implementation-js/lib/is-valid-email.js +14 -0
  560. package/src/platform-implementation-js/lib/isNotNil.d.ts +1 -0
  561. package/src/platform-implementation-js/lib/isNotNil.d.ts.map +1 -0
  562. package/src/platform-implementation-js/lib/isNotNil.js +5 -0
  563. package/src/platform-implementation-js/lib/isStreakAppId.d.ts +1 -0
  564. package/src/platform-implementation-js/lib/isStreakAppId.d.ts.map +1 -0
  565. package/src/platform-implementation-js/lib/isStreakAppId.js +11 -0
  566. package/src/platform-implementation-js/lib/logger.d.ts +1 -0
  567. package/src/platform-implementation-js/lib/logger.d.ts.map +1 -0
  568. package/src/platform-implementation-js/lib/logger.js +441 -0
  569. package/src/platform-implementation-js/lib/make-revocable-function.js +19 -21
  570. package/src/platform-implementation-js/lib/make-revocable-function.test.js +20 -22
  571. package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +15 -17
  572. package/src/platform-implementation-js/lib/parseParamsFromRouteID.test.js +9 -18
  573. package/src/platform-implementation-js/lib/persistent-queue.d.ts +1 -0
  574. package/src/platform-implementation-js/lib/persistent-queue.d.ts.map +1 -0
  575. package/src/platform-implementation-js/lib/persistent-queue.js +107 -0
  576. package/src/platform-implementation-js/lib/populateRouteID.js +8 -9
  577. package/src/platform-implementation-js/lib/populateRouteID.test.js +20 -19
  578. package/src/platform-implementation-js/lib/react/ElementContainer.js +23 -20
  579. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.js +10 -9
  580. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.test.js +13 -20
  581. package/src/platform-implementation-js/lib/routeIDmatchesHash.js +13 -18
  582. package/src/platform-implementation-js/lib/routeIDmatchesHash.test.js +11 -17
  583. package/src/platform-implementation-js/lib/safe-event-emitter.d.ts +1 -0
  584. package/src/platform-implementation-js/lib/safe-event-emitter.d.ts.map +1 -0
  585. package/src/platform-implementation-js/lib/safe-event-emitter.js +17 -0
  586. package/src/platform-implementation-js/lib/shared-style.js +14 -13
  587. package/src/platform-implementation-js/lib/stopper-pool.d.ts +1 -0
  588. package/src/platform-implementation-js/lib/stopper-pool.d.ts.map +1 -0
  589. package/src/platform-implementation-js/lib/stopper-pool.js +41 -0
  590. package/src/platform-implementation-js/lib/stream-wait-for.d.ts +1 -0
  591. package/src/platform-implementation-js/lib/stream-wait-for.d.ts.map +1 -0
  592. package/src/platform-implementation-js/lib/stream-wait-for.js +30 -0
  593. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +18 -17
  594. package/src/platform-implementation-js/lib/toLiveSet.js +17 -15
  595. package/src/platform-implementation-js/lib/wait-for.d.ts +2 -1
  596. package/src/platform-implementation-js/lib/wait-for.d.ts.map +1 -0
  597. package/src/platform-implementation-js/lib/wait-for.js +28 -0
  598. package/src/platform-implementation-js/lib/waitForAsync.d.ts +1 -0
  599. package/src/platform-implementation-js/lib/waitForAsync.d.ts.map +1 -0
  600. package/src/platform-implementation-js/lib/waitForAsync.js +19 -0
  601. package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +6 -5
  602. package/src/platform-implementation-js/main.js +9 -24
  603. package/src/platform-implementation-js/namespaces/app-menu.d.ts +40 -0
  604. package/src/platform-implementation-js/namespaces/app-menu.d.ts.map +1 -0
  605. package/src/platform-implementation-js/namespaces/app-menu.js +19 -0
  606. package/src/platform-implementation-js/namespaces/butter-bar.d.ts +1 -0
  607. package/src/platform-implementation-js/namespaces/butter-bar.d.ts.map +1 -0
  608. package/src/platform-implementation-js/namespaces/butter-bar.js +163 -0
  609. package/src/platform-implementation-js/namespaces/compose.js +37 -60
  610. package/src/platform-implementation-js/namespaces/conversations.js +52 -124
  611. package/src/platform-implementation-js/namespaces/global.js +27 -39
  612. package/src/platform-implementation-js/namespaces/keyboard.js +29 -33
  613. package/src/platform-implementation-js/namespaces/lists.js +25 -31
  614. package/src/platform-implementation-js/namespaces/modal.js +34 -28
  615. package/src/platform-implementation-js/namespaces/nav-menu.js +30 -45
  616. package/src/platform-implementation-js/namespaces/router.js +70 -137
  617. package/src/platform-implementation-js/namespaces/search.js +19 -17
  618. package/src/platform-implementation-js/namespaces/toolbars.js +71 -117
  619. package/src/platform-implementation-js/namespaces/user.js +36 -37
  620. package/src/platform-implementation-js/namespaces/widgets.js +54 -61
  621. package/src/platform-implementation-js/platform-implementation.d.ts +2 -0
  622. package/src/platform-implementation-js/platform-implementation.js +98 -226
  623. package/src/platform-implementation-js/views/SimpleElementView.d.ts +1 -0
  624. package/src/platform-implementation-js/views/SimpleElementView.d.ts.map +1 -0
  625. package/src/platform-implementation-js/views/SimpleElementView.js +16 -0
  626. package/src/platform-implementation-js/views/app-menu-item-view.d.ts +23 -0
  627. package/src/platform-implementation-js/views/app-menu-item-view.d.ts.map +1 -0
  628. package/src/platform-implementation-js/views/app-menu-item-view.js +324 -0
  629. package/src/platform-implementation-js/views/app-toolbar-button-view.js +26 -47
  630. package/src/platform-implementation-js/views/collapsible-panel-view.d.ts +37 -0
  631. package/src/platform-implementation-js/views/collapsible-panel-view.d.ts.map +1 -0
  632. package/src/platform-implementation-js/views/collapsible-panel-view.js +167 -0
  633. package/src/platform-implementation-js/views/collapsible-section-view.js +66 -63
  634. package/src/platform-implementation-js/views/compose-button-view.d.ts +1 -0
  635. package/src/platform-implementation-js/views/compose-button-view.d.ts.map +1 -0
  636. package/src/platform-implementation-js/views/compose-button-view.js +45 -0
  637. package/src/platform-implementation-js/views/compose-view.d.ts +1 -0
  638. package/src/platform-implementation-js/views/compose-view.d.ts.map +1 -0
  639. package/src/platform-implementation-js/views/compose-view.js +312 -0
  640. package/src/platform-implementation-js/views/content-panel-view.js +28 -30
  641. package/src/platform-implementation-js/views/conversations/attachment-card-view.js +21 -44
  642. package/src/platform-implementation-js/views/conversations/custom-message-view.js +44 -104
  643. package/src/platform-implementation-js/views/conversations/message-view.js +131 -202
  644. package/src/platform-implementation-js/views/conversations/thread-view.js +75 -127
  645. package/src/platform-implementation-js/views/keyboard-shortcut-handle.d.ts +1 -0
  646. package/src/platform-implementation-js/views/keyboard-shortcut-handle.d.ts.map +1 -0
  647. package/src/platform-implementation-js/views/keyboard-shortcut-handle.js +14 -0
  648. package/src/platform-implementation-js/views/native-nav-item-view.js +32 -65
  649. package/src/platform-implementation-js/views/nav-item-view.d.ts +24 -0
  650. package/src/platform-implementation-js/views/nav-item-view.js +51 -115
  651. package/src/platform-implementation-js/views/route-view/custom-route-view.js +25 -20
  652. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +18 -18
  653. package/src/platform-implementation-js/views/route-view/list-route-view.js +30 -52
  654. package/src/platform-implementation-js/views/route-view/route-view.js +24 -35
  655. package/src/platform-implementation-js/views/section-view.js +60 -52
  656. package/src/platform-implementation-js/views/thread-row-view.js +49 -74
  657. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.d.ts +1 -0
  658. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.d.ts.map +1 -0
  659. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.js +39 -0
  660. package/src/platform-implementation-js/widgets/buttons/dropdown-button-view-controller.d.ts +1 -0
  661. package/src/platform-implementation-js/widgets/buttons/dropdown-button-view-controller.d.ts.map +1 -0
  662. package/src/platform-implementation-js/widgets/buttons/dropdown-button-view-controller.js +98 -0
  663. package/src/platform-implementation-js/widgets/buttons/dropdown-view.d.ts +1 -0
  664. package/src/platform-implementation-js/widgets/buttons/dropdown-view.d.ts.map +1 -0
  665. package/src/platform-implementation-js/widgets/buttons/dropdown-view.js +122 -0
  666. package/src/platform-implementation-js/widgets/drawer-view.js +29 -36
  667. package/src/platform-implementation-js/widgets/modal-view.js +39 -68
  668. package/src/platform-implementation-js/widgets/mole-view.js +22 -22
  669. package/src/platform-implementation-js/widgets/top-message-bar-view.js +13 -10
@@ -1,206 +1,126 @@
1
- /* @flow */
2
-
3
- import type LiveSet from 'live-set';
4
- import toValueObservable from 'live-set/toValueObservable';
5
- import { defn } from 'ud';
6
- import t from 'transducers.js';
7
- import Kefir from 'kefir';
8
- import kefirStopper from 'kefir-stopper';
9
- import kefirBus from 'kefir-bus';
10
- import type { Bus } from 'kefir-bus';
11
- import type { TagTree } from 'tag-tree';
12
- import type PageParserTree from 'page-parser-tree';
13
- import asap from 'asap';
14
- import includes from 'lodash/includes';
15
-
16
- import get from '../../../common/get-or-fail';
17
- import showAppIdWarning from './gmail-driver/show-app-id-warning';
18
- import makePageParserTree from './makePageParserTree';
19
-
20
- import GmailElementGetter from './gmail-element-getter';
21
- import makeXhrInterceptor from './make-xhr-interceptor';
22
- import GmailBackdrop from './views/gmail-backdrop';
23
- import type GmailThreadRowView from './views/gmail-thread-row-view';
24
- import type GmailAppToolbarButtonView from './views/gmail-app-toolbar-button-view';
25
-
26
- import { removeAllThreadRowUnclaimedModifications } from './views/gmail-thread-row-view';
27
-
28
- import GmailTopMessageBarDriver from './widgets/gmail-top-message-bar-driver';
29
- import GmailModalViewDriver from './widgets/gmail-modal-view-driver';
30
- import GmailMoleViewDriver from './widgets/gmail-mole-view-driver';
31
- import InboxDrawerView from '../inbox/views/inbox-drawer-view';
32
- import GmailRouteProcessor from './views/gmail-route-view/gmail-route-processor';
33
- import KeyboardShortcutHelpModifier from './gmail-driver/keyboard-shortcut-help-modifier';
34
- import openDraftByMessageID from './gmail-driver/open-draft-by-message-id';
35
- import UserInfo from './gmail-driver/user-info';
36
- import GmailButterBarDriver from './gmail-butter-bar-driver';
37
- import trackGmailStyles from './gmail-driver/track-gmail-styles';
38
- import temporaryTrackDownloadUrlValidity from './gmail-driver/temporary-track-download-url-validity';
39
- import getGmailThreadIdForRfcMessageId from '../../driver-common/getGmailThreadIdForRfcMessageId';
40
- import getRfcMessageIdForGmailThreadId from './gmail-driver/get-rfc-message-id-for-gmail-thread-id';
41
- import getGmailMessageIdForSyncMessageId from '../../driver-common/getGmailMessageIdForSyncMessageId';
42
- import BiMapCache from 'bimapcache';
43
- import type KeyboardShortcutHandle from '../../views/keyboard-shortcut-handle';
44
- import getDraftIDForMessageID from './gmail-driver/get-draft-id-for-message-id';
45
- import type { GetDraftIdResult } from './gmail-driver/get-draft-id-for-message-id';
46
- import addNavItem from './gmail-driver/add-nav-item';
47
- import addSupportItem from './gmail-driver/add-support-item';
48
- import gotoView from './gmail-driver/goto-view';
49
- import showCustomThreadList from './gmail-driver/show-custom-thread-list';
50
- import showCustomRouteView from './gmail-driver/show-custom-route-view';
51
- import showNativeRouteView from './gmail-driver/show-native-route-view';
52
- import registerSearchSuggestionsProvider from './gmail-driver/register-search-suggestions-provider';
53
- import setupComposeViewDriverStream from './gmail-driver/setup-compose-view-driver-stream';
54
- import trackEvents from './gmail-driver/track-events';
55
- import gmailLoadEvent from './gmail-driver/gmail-load-event';
56
- import ThreadRowIdentifier from './gmail-driver/thread-row-identifier';
57
- import customStyle from './custom-style';
58
- import overrideGmailBackButton from './gmail-driver/override-gmail-back-button';
59
- import addToolbarButtonForApp from './gmail-driver/add-toolbar-button-for-app';
60
- import setupRouteViewDriverStream from './gmail-driver/setup-route-view-driver-stream';
61
- import getNativeNavItem from './gmail-driver/get-native-nav-item';
62
- import createLink from './gmail-driver/create-link';
63
- import registerSearchQueryRewriter from './gmail-driver/register-search-query-rewriter';
64
- import openComposeWindow from './gmail-driver/open-compose-window';
65
- import GmailAppSidebarView from './views/gmail-app-sidebar-view';
66
- import suppressAddon from './gmail-driver/suppressAddon';
67
-
68
- import getSyncThreadFromSyncThreadId from './gmail-driver/getSyncThreadFromSyncThreadId';
69
- import getSyncThreadForOldGmailThreadId from './gmail-driver/getSyncThreadForOldGmailThreadId';
70
-
71
- import toItemWithLifetimeStream from '../../lib/toItemWithLifetimeStream';
72
- import toLiveSet from '../../lib/toLiveSet';
73
-
74
- import waitFor from '../../lib/stream-wait-for';
75
- import promiseWaitFor from '../../lib/wait-for';
76
-
77
- import type Logger from '../../lib/logger';
78
- import type PageCommunicator from './gmail-page-communicator';
79
- import type { RouteParams } from '../../namespaces/router';
80
- import type ButterBar from '../../namespaces/butter-bar';
81
- import type { Driver, DrawerViewOptions } from '../../driver-interfaces/driver';
82
- import type { ComposeViewDriver } from '../../driver-interfaces/compose-view-driver';
83
- import type GmailComposeView from './views/gmail-compose-view';
84
- import type GmailMessageView from './views/gmail-message-view';
85
- import type GmailThreadView from './views/gmail-thread-view';
86
- import type GmailToolbarView from './views/gmail-toolbar-view';
87
- import type GmailRowListView from './views/gmail-row-list-view';
88
- import type GmailRouteView from './views/gmail-route-view/gmail-route-view';
89
- import type GmailSupportItemView from './views/gmail-support-item-view';
90
- import type SupportItemDescriptor from './views/gmail-support-item-view';
91
- import type { PiOpts, EnvData } from '../../platform-implementation';
92
- import type NativeGmailNavItemView from './views/native-gmail-nav-item-view';
93
-
94
- import type ContentPanelViewDriver from '../../driver-common/sidebar/ContentPanelViewDriver';
95
- import GmailNavItemView from './views/gmail-nav-item-view';
96
-
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _toValueObservable = _interopRequireDefault(require("live-set/toValueObservable"));
10
+ var _ud = require("ud");
11
+ var _transducers = _interopRequireDefault(require("transducers.js"));
12
+ var _kefir = _interopRequireDefault(require("kefir"));
13
+ var _kefirStopper = _interopRequireDefault(require("kefir-stopper"));
14
+ var _kefirBus = _interopRequireDefault(require("kefir-bus"));
15
+ var _asap = _interopRequireDefault(require("asap"));
16
+ var _includes = _interopRequireDefault(require("lodash/includes"));
17
+ var _getOrFail = _interopRequireDefault(require("../../../common/get-or-fail"));
18
+ var _showAppIdWarning = _interopRequireDefault(require("./gmail-driver/show-app-id-warning"));
19
+ var _makePageParserTree = _interopRequireDefault(require("./makePageParserTree"));
20
+ var _gmailElementGetter = _interopRequireDefault(require("./gmail-element-getter"));
21
+ var _makeXhrInterceptor = _interopRequireDefault(require("./make-xhr-interceptor"));
22
+ var _gmailBackdrop = _interopRequireDefault(require("./views/gmail-backdrop"));
23
+ var _gmailThreadRowView = require("./views/gmail-thread-row-view");
24
+ var _gmailTopMessageBarDriver = _interopRequireDefault(require("./widgets/gmail-top-message-bar-driver"));
25
+ var _gmailModalViewDriver = _interopRequireDefault(require("./widgets/gmail-modal-view-driver"));
26
+ var _gmailMoleViewDriver = _interopRequireDefault(require("./widgets/gmail-mole-view-driver"));
27
+ var _inboxDrawerView = _interopRequireDefault(require("../inbox/views/inbox-drawer-view"));
28
+ var _gmailRouteProcessor = _interopRequireDefault(require("./views/gmail-route-view/gmail-route-processor"));
29
+ var _keyboardShortcutHelpModifier = _interopRequireDefault(require("./gmail-driver/keyboard-shortcut-help-modifier"));
30
+ var _openDraftByMessageId = _interopRequireDefault(require("./gmail-driver/open-draft-by-message-id"));
31
+ var _userInfo = _interopRequireDefault(require("./gmail-driver/user-info"));
32
+ var _gmailButterBarDriver = _interopRequireDefault(require("./gmail-butter-bar-driver"));
33
+ var _trackGmailStyles = _interopRequireDefault(require("./gmail-driver/track-gmail-styles"));
34
+ var _temporaryTrackDownloadUrlValidity = _interopRequireDefault(require("./gmail-driver/temporary-track-download-url-validity"));
35
+ var _getGmailThreadIdForRfcMessageId = _interopRequireDefault(require("../../driver-common/getGmailThreadIdForRfcMessageId"));
36
+ var _getRfcMessageIdForGmailThreadId = _interopRequireDefault(require("./gmail-driver/get-rfc-message-id-for-gmail-thread-id"));
37
+ var _getGmailMessageIdForSyncMessageId = _interopRequireDefault(require("../../driver-common/getGmailMessageIdForSyncMessageId"));
38
+ var _bimapcache = _interopRequireDefault(require("bimapcache"));
39
+ var _getDraftIdForMessageId = _interopRequireDefault(require("./gmail-driver/get-draft-id-for-message-id"));
40
+ var _addNavItem = _interopRequireDefault(require("./gmail-driver/add-nav-item"));
41
+ var _addAppMenuItem = require("./gmail-driver/add-app-menu-item");
42
+ var _addSupportItem = _interopRequireDefault(require("./gmail-driver/add-support-item"));
43
+ var _gotoView = _interopRequireDefault(require("./gmail-driver/goto-view"));
44
+ var _showCustomThreadList = _interopRequireDefault(require("./gmail-driver/show-custom-thread-list"));
45
+ var _showCustomRouteView = _interopRequireDefault(require("./gmail-driver/show-custom-route-view"));
46
+ var _showNativeRouteView = _interopRequireDefault(require("./gmail-driver/show-native-route-view"));
47
+ var _registerSearchSuggestionsProvider = _interopRequireDefault(require("./gmail-driver/register-search-suggestions-provider"));
48
+ var _setupComposeViewDriverStream = _interopRequireDefault(require("./gmail-driver/setup-compose-view-driver-stream"));
49
+ var _trackEvents = _interopRequireDefault(require("./gmail-driver/track-events"));
50
+ var _gmailLoadEvent = _interopRequireDefault(require("./gmail-driver/gmail-load-event"));
51
+ var _threadRowIdentifier = _interopRequireDefault(require("./gmail-driver/thread-row-identifier"));
52
+ var _customStyle = _interopRequireDefault(require("./custom-style"));
53
+ var _overrideGmailBackButton = _interopRequireDefault(require("./gmail-driver/override-gmail-back-button"));
54
+ var _addToolbarButtonForApp = _interopRequireDefault(require("./gmail-driver/add-toolbar-button-for-app"));
55
+ var _setupRouteViewDriverStream = _interopRequireDefault(require("./gmail-driver/setup-route-view-driver-stream"));
56
+ var _getNativeNavItem = _interopRequireDefault(require("./gmail-driver/get-native-nav-item"));
57
+ var _createLink = _interopRequireDefault(require("./gmail-driver/create-link"));
58
+ var _registerSearchQueryRewriter = _interopRequireDefault(require("./gmail-driver/register-search-query-rewriter"));
59
+ var _openComposeWindow = _interopRequireDefault(require("./gmail-driver/open-compose-window"));
60
+ var _gmailAppSidebarView = _interopRequireDefault(require("./views/gmail-app-sidebar-view"));
61
+ var _suppressAddon = _interopRequireDefault(require("./gmail-driver/suppressAddon"));
62
+ var _getSyncThreadFromSyncThreadId = _interopRequireDefault(require("./gmail-driver/getSyncThreadFromSyncThreadId"));
63
+ var _getSyncThreadForOldGmailThreadId = _interopRequireDefault(require("./gmail-driver/getSyncThreadForOldGmailThreadId"));
64
+ var _toItemWithLifetimeStream = _interopRequireDefault(require("../../lib/toItemWithLifetimeStream"));
65
+ var _toLiveSet = _interopRequireDefault(require("../../lib/toLiveSet"));
66
+ var _streamWaitFor = _interopRequireDefault(require("../../lib/stream-wait-for"));
67
+ var _waitFor = _interopRequireDefault(require("../../lib/wait-for"));
68
+ var _gmailNavItemView = _interopRequireDefault(require("./views/gmail-nav-item-view"));
97
69
  class GmailDriver {
98
- _appId: string;
99
- _logger: Logger;
100
- _opts: PiOpts;
101
- _envData: EnvData;
102
- _customRouteIDs: Set<string> = new Set();
103
- _customListRouteIDs: Map<string, Function> = new Map();
104
- _customListSearchStringsToRouteIds: Map<string, string> = new Map();
105
- _messageIDsToThreadIDs: Map<string, string> = new Map();
106
- _threadRowIdentifier: ThreadRowIdentifier;
107
- _gmailRouteProcessor: GmailRouteProcessor;
108
- _keyboardShortcutHelpModifier: KeyboardShortcutHelpModifier;
109
- onready: Promise<void>;
110
- _page: PageParserTree;
111
- _pageCommunicator: PageCommunicator;
112
- _pageCommunicatorPromise: Promise<PageCommunicator>;
113
- _butterBar: ?ButterBar;
114
- _butterBarDriver: GmailButterBarDriver;
115
- _routeViewDriverStream: Kefir.Observable<GmailRouteView>;
116
- _rowListViewDriverStream: Kefir.Observable<Object>;
117
- _threadRowViewDriverKefirStream: Kefir.Observable<Object>;
118
- _threadViewDriverLiveSet: LiveSet<GmailThreadView>;
119
- _toolbarViewDriverLiveSet: LiveSet<GmailToolbarView>;
120
- _composeViewDriverStream: Kefir.Observable<GmailComposeView>;
121
- _xhrInterceptorStream: Kefir.Observable<Object>;
122
- _messageViewDriverStream: Kefir.Observable<GmailMessageView>;
123
- _stopper = kefirStopper();
124
- _navMarkerHiddenChanged: Bus<null> = kefirBus();
125
- _addonSidebarHiddenChanged: Bus<null> = kefirBus();
126
- _userInfo: UserInfo;
127
- _timestampAccountSwitcherReady: ?number;
128
- _timestampGlobalsFound: ?number;
129
- _timestampOnready: ?number;
130
- _lastCustomThreadListActivity: ?{ customRouteID: string, timestamp: Date };
131
- _currentRouteViewDriver: GmailRouteView;
132
- _appSidebarView: ?GmailAppSidebarView = null;
133
-
134
- getGmailThreadIdForRfcMessageId: (rfcId: string) => Promise<string>;
135
- getRfcMessageIdForGmailThreadId: (threadId: string) => Promise<string>;
136
- getSyncThreadIdForOldGmailThreadId: (threadId: string) => Promise<string>;
137
- getOldGmailThreadIdFromSyncThreadId: (threadId: string) => Promise<string>;
138
- removeCachedOldGmailThreadIdFromSyncThreadId: (threadId: string) => void;
139
-
140
- getGmailMessageIdForSyncDraftId: (syncDraftId: string) => Promise<string>;
141
- getGmailMessageIdForSyncMessageId: (syncMessageId: string) => Promise<string>;
142
- removeCachedGmailMessageIdForSyncMessageId: (syncMessageID: string) => void;
143
-
144
- constructor(
145
- appId: string,
146
- LOADER_VERSION: string,
147
- IMPL_VERSION: string,
148
- logger: Logger,
149
- opts: PiOpts,
150
- envData: EnvData
151
- ) {
152
- (this: Driver); // interface check
153
- customStyle();
154
-
70
+ constructor(appId, LOADER_VERSION, IMPL_VERSION, logger, opts, envData) {
71
+ (0, _defineProperty2.default)(this, "_customRouteIDs", new Set());
72
+ (0, _defineProperty2.default)(this, "_customListRouteIDs", new Map());
73
+ (0, _defineProperty2.default)(this, "_customListSearchStringsToRouteIds", new Map());
74
+ (0, _defineProperty2.default)(this, "_messageIDsToThreadIDs", new Map());
75
+ (0, _defineProperty2.default)(this, "_stopper", (0, _kefirStopper.default)());
76
+ (0, _defineProperty2.default)(this, "_navMarkerHiddenChanged", (0, _kefirBus.default)());
77
+ (0, _defineProperty2.default)(this, "_addonSidebarHiddenChanged", (0, _kefirBus.default)());
78
+ (0, _defineProperty2.default)(this, "_appSidebarView", null);
79
+ (0, _defineProperty2.default)(this, "_recentSyncDraftIds", new Map());
80
+ (0, _defineProperty2.default)(this, "_selectedThreadRows", _transducers.default.mapcat(gmailRowListView => gmailRowListView.getSelectedThreadRowViewDrivers()));
81
+ (0, _defineProperty2.default)(this, "_threadRowViewSelectionChanges", (0, _kefirBus.default)());
82
+ this; // interface check
83
+ (0, _customStyle.default)();
155
84
  this._appId = appId;
156
85
  this._logger = logger;
157
86
  this._opts = opts;
158
87
  this._envData = envData;
159
- this._page = makePageParserTree(this, document);
88
+ this._page = (0, _makePageParserTree.default)(this, document);
160
89
  this._stopper.onValue(() => this._page.dump());
161
90
 
162
91
  // Manages the mapping between RFC Message Ids and Gmail Message Ids. Caches to
163
92
  // localStorage. Used for custom thread lists.
164
93
  {
165
- const rfcIdCache = new BiMapCache({
94
+ const rfcIdCache = new _bimapcache.default({
166
95
  key: 'inboxsdk__cached_thread_ids',
167
- getAfromB: (gmailThreadId) =>
168
- getRfcMessageIdForGmailThreadId(this, gmailThreadId),
169
- getBfromA: (rfcMessageId) =>
170
- getGmailThreadIdForRfcMessageId(this, rfcMessageId),
96
+ getAfromB: gmailThreadId => (0, _getRfcMessageIdForGmailThreadId.default)(this, gmailThreadId),
97
+ getBfromA: rfcMessageId => (0, _getGmailThreadIdForRfcMessageId.default)(this, rfcMessageId)
171
98
  });
172
- this.getGmailThreadIdForRfcMessageId = (rfcMessageId) =>
173
- rfcIdCache.getBfromA(rfcMessageId);
174
- this.getRfcMessageIdForGmailThreadId = (gmailThreadId) =>
175
- rfcIdCache.getAfromB(gmailThreadId);
99
+ this.getGmailThreadIdForRfcMessageId = rfcMessageId => rfcIdCache.getBfromA(rfcMessageId);
100
+ this.getRfcMessageIdForGmailThreadId = gmailThreadId => rfcIdCache.getAfromB(gmailThreadId);
176
101
  }
177
102
 
178
103
  // Manages mapping between old hex thread ids and new sync based thread ids
179
104
  {
180
- const syncThreadIdToOldGmailThreadIdCache = new BiMapCache({
105
+ const syncThreadIdToOldGmailThreadIdCache = new _bimapcache.default({
181
106
  key: 'inboxsdk__cached_sync_thread_id_old_gmail_thread_id',
182
- getAfromB: (oldGmailThreadId: string) => {
183
- return getSyncThreadForOldGmailThreadId(this, oldGmailThreadId).then(
184
- ({ syncThreadID }) => syncThreadID
185
- );
186
- },
187
- getBfromA: (syncThreadID: string) => {
188
- return getSyncThreadFromSyncThreadId(this, syncThreadID).then(
189
- (syncThread) => {
190
- if (syncThread) return syncThread.oldGmailThreadID;
191
- else throw new Error('syncThread not found');
192
- }
193
- );
107
+ getAfromB: oldGmailThreadId => {
108
+ return (0, _getSyncThreadForOldGmailThreadId.default)(this, oldGmailThreadId).then(_ref => {
109
+ let {
110
+ syncThreadID
111
+ } = _ref;
112
+ return syncThreadID;
113
+ });
194
114
  },
115
+ getBfromA: syncThreadID => {
116
+ return (0, _getSyncThreadFromSyncThreadId.default)(this, syncThreadID).then(syncThread => {
117
+ if (syncThread) return syncThread.oldGmailThreadID;else throw new Error('syncThread not found');
118
+ });
119
+ }
195
120
  });
196
- this.getSyncThreadIdForOldGmailThreadId = (oldGmailThreadId) =>
197
- syncThreadIdToOldGmailThreadIdCache.getAfromB(oldGmailThreadId);
198
-
199
- this.getOldGmailThreadIdFromSyncThreadId = (syncThreadId) =>
200
- syncThreadIdToOldGmailThreadIdCache.getBfromA(syncThreadId);
201
-
202
- this.removeCachedOldGmailThreadIdFromSyncThreadId = (syncThreadId) =>
203
- syncThreadIdToOldGmailThreadIdCache.removeAfromCache(syncThreadId);
121
+ this.getSyncThreadIdForOldGmailThreadId = oldGmailThreadId => syncThreadIdToOldGmailThreadIdCache.getAfromB(oldGmailThreadId);
122
+ this.getOldGmailThreadIdFromSyncThreadId = syncThreadId => syncThreadIdToOldGmailThreadIdCache.getBfromA(syncThreadId);
123
+ this.removeCachedOldGmailThreadIdFromSyncThreadId = syncThreadId => syncThreadIdToOldGmailThreadIdCache.removeAfromCache(syncThreadId);
204
124
  }
205
125
 
206
126
  // mapping between sync message ids and old message ids
@@ -208,111 +128,92 @@ class GmailDriver {
208
128
  try {
209
129
  // TODO remove sometime after March 24 2019 to give time for this to
210
130
  // run for most users.
211
- localStorage.removeItem(
212
- 'inboxsdk__cached_gmail_and_inbox_message_ids_2'
213
- );
131
+ localStorage.removeItem('inboxsdk__cached_gmail_and_inbox_message_ids_2');
214
132
  } catch (err) {
215
133
  // eslint-disable-next-line no-console
216
134
  console.error(err);
217
135
  }
218
- const gmailMessageIdForSyncMessageIdCache = new BiMapCache({
136
+ const gmailMessageIdForSyncMessageIdCache = new _bimapcache.default({
219
137
  key: 'inboxsdk__cached_gmail_and_inbox_message_ids_3',
220
- getAfromB: (sync: string) =>
221
- getGmailMessageIdForSyncMessageId(this, sync),
138
+ getAfromB: sync => (0, _getGmailMessageIdForSyncMessageId.default)(this, sync),
222
139
  getBfromA() {
223
140
  throw new Error('should not happen');
224
- },
141
+ }
225
142
  });
226
- this.getGmailMessageIdForSyncMessageId = (syncMessageId) =>
227
- gmailMessageIdForSyncMessageIdCache.getAfromB(syncMessageId);
228
- this.removeCachedGmailMessageIdForSyncMessageId = (syncMessageId) =>
229
- gmailMessageIdForSyncMessageIdCache.removeBfromCache(syncMessageId);
143
+ this.getGmailMessageIdForSyncMessageId = syncMessageId => gmailMessageIdForSyncMessageIdCache.getAfromB(syncMessageId);
144
+ this.removeCachedGmailMessageIdForSyncMessageId = syncMessageId => gmailMessageIdForSyncMessageIdCache.removeBfromCache(syncMessageId);
230
145
 
231
146
  // It's important that this doesn't use the same cache for looking up
232
147
  // sync message IDs, because the legacy ID of a draft changes when it's
233
148
  // sent. It doesn't really need to be cached so it's not here.
234
- this.getGmailMessageIdForSyncDraftId = (syncDraftId) =>
235
- getGmailMessageIdForSyncMessageId(this, syncDraftId);
149
+ this.getGmailMessageIdForSyncDraftId = syncDraftId => (0, _getGmailMessageIdForSyncMessageId.default)(this, syncDraftId);
236
150
  }
237
-
238
- this._gmailRouteProcessor = new GmailRouteProcessor();
239
- this._keyboardShortcutHelpModifier = new KeyboardShortcutHelpModifier();
240
- this._butterBarDriver = new GmailButterBarDriver();
241
-
242
- Kefir.later(45 * 1000)
243
- .takeUntilBy(
244
- toItemWithLifetimeStream(this._page.tree.getAllByTag('supportMenu'))
245
- )
246
- .onValue(() => {
247
- this._logger.errorSite(new Error('Failed to find gmail supportMenu'));
248
- });
249
-
151
+ this._gmailRouteProcessor = new _gmailRouteProcessor.default();
152
+ this._keyboardShortcutHelpModifier = new _keyboardShortcutHelpModifier.default();
153
+ this._butterBarDriver = new _gmailButterBarDriver.default();
154
+ _kefir.default.later(45 * 1000).takeUntilBy((0, _toItemWithLifetimeStream.default)(this._page.tree.getAllByTag('supportMenu'))).onValue(() => {
155
+ this._logger.errorSite(new Error('Failed to find gmail supportMenu'));
156
+ });
250
157
  this._setupEventStreams();
251
-
252
- this.onready
253
- .then(() => {
254
- trackEvents(this);
255
- gmailLoadEvent(this);
256
- overrideGmailBackButton(this, this._gmailRouteProcessor);
257
- trackGmailStyles();
258
- temporaryTrackDownloadUrlValidity(this);
259
- if (opts.suppressAddonTitle != null) {
260
- suppressAddon(this, opts.suppressAddonTitle);
261
- }
262
- })
263
- .catch((err) => {
264
- this._logger.error(err);
265
- });
158
+ this.onready.then(() => {
159
+ (0, _trackEvents.default)(this);
160
+ (0, _gmailLoadEvent.default)(this);
161
+ (0, _overrideGmailBackButton.default)(this, this._gmailRouteProcessor);
162
+ (0, _trackGmailStyles.default)();
163
+ (0, _temporaryTrackDownloadUrlValidity.default)(this);
164
+ if (opts.suppressAddonTitle != null) {
165
+ (0, _suppressAddon.default)(this, opts.suppressAddonTitle);
166
+ }
167
+ }).catch(err => {
168
+ this._logger.error(err);
169
+ });
266
170
  }
267
-
268
171
  destroy() {
269
172
  this._threadRowViewSelectionChanges.end();
270
173
  this._keyboardShortcutHelpModifier.destroy();
271
174
  this._stopper.destroy();
272
-
273
- removeAllThreadRowUnclaimedModifications();
175
+ (0, _gmailThreadRowView.removeAllThreadRowUnclaimedModifications)();
274
176
  }
275
-
276
- getAppId(): string {
177
+ getAppId() {
277
178
  return this._appId;
278
179
  }
279
- getOpts(): PiOpts {
180
+ getOpts() {
280
181
  return this._opts;
281
182
  }
282
- getPageCommunicator(): PageCommunicator {
183
+ getPageCommunicator() {
283
184
  return this._pageCommunicator;
284
185
  }
285
- getPageCommunicatorPromise(): Promise<PageCommunicator> {
186
+ getPageCommunicatorPromise() {
286
187
  return this._pageCommunicatorPromise;
287
188
  }
288
- getLogger(): Logger {
189
+ getLogger() {
289
190
  return this._logger;
290
191
  }
291
- getTagTree(): TagTree<HTMLElement> {
192
+ getTagTree() {
292
193
  return this._page.tree;
293
194
  }
294
- getCustomListSearchStringsToRouteIds(): Map<string, string> {
195
+ getCustomListSearchStringsToRouteIds() {
295
196
  return this._customListSearchStringsToRouteIds;
296
197
  }
297
- getThreadRowIdentifier(): ThreadRowIdentifier {
198
+ getThreadRowIdentifier() {
298
199
  return this._threadRowIdentifier;
299
200
  }
300
- getButterBarDriver(): GmailButterBarDriver {
201
+ getButterBarDriver() {
301
202
  return this._butterBarDriver;
302
203
  }
303
- getButterBar(): ?ButterBar {
204
+ getButterBar() {
304
205
  return this._butterBar;
305
206
  }
306
- setButterBar(bb: ButterBar) {
207
+ setButterBar(bb) {
307
208
  this._butterBar = bb;
308
209
  }
309
- getCustomRouteIDs(): Set<string> {
210
+ getCustomRouteIDs() {
310
211
  return this._customRouteIDs;
311
212
  }
312
- getCustomListRouteIDs(): Map<string, Function> {
213
+ getCustomListRouteIDs() {
313
214
  return this._customListRouteIDs;
314
215
  }
315
- getKeyboardShortcutHelpModifier(): KeyboardShortcutHelpModifier {
216
+ getKeyboardShortcutHelpModifier() {
316
217
  return this._keyboardShortcutHelpModifier;
317
218
  }
318
219
  getRouteViewDriverStream() {
@@ -325,41 +226,32 @@ class GmailDriver {
325
226
  return this._threadRowViewDriverKefirStream;
326
227
  }
327
228
  getThreadViewDriverStream() {
328
- return toItemWithLifetimeStream(this._threadViewDriverLiveSet).map(
329
- ({ el }) => el
330
- );
229
+ return (0, _toItemWithLifetimeStream.default)(this._threadViewDriverLiveSet).map(_ref2 => {
230
+ let {
231
+ el
232
+ } = _ref2;
233
+ return el;
234
+ });
331
235
  }
332
236
  getAttachmentCardViewDriverStream() {
333
- return this._messageViewDriverStream
334
- .flatMap((messageViewDriver) =>
335
- messageViewDriver.isLoaded()
336
- ? Kefir.constant(messageViewDriver)
337
- : messageViewDriver
338
- .getEventStream()
339
- .filter((event) => event.eventName === 'messageLoad')
340
- .map(() => messageViewDriver)
341
- .take(1)
342
- )
343
- .map((messageView) => messageView.getAttachmentCardViewDrivers())
344
- .flatten();
237
+ return this._messageViewDriverStream.flatMap(messageViewDriver => messageViewDriver.isLoaded() ? _kefir.default.constant(messageViewDriver) : messageViewDriver.getEventStream().filter(event => event.eventName === 'messageLoad').map(() => messageViewDriver).take(1)).map(messageView => messageView.getAttachmentCardViewDrivers()).flatten();
345
238
  }
346
239
  getComposeViewDriverStream() {
347
240
  return this._composeViewDriverStream;
348
241
  }
349
- getXhrInterceptorStream(): Kefir.Observable<Object> {
242
+ getXhrInterceptorStream() {
350
243
  return this._xhrInterceptorStream;
351
244
  }
352
245
  getMessageViewDriverStream() {
353
246
  return this._messageViewDriverStream;
354
247
  }
355
- getStopper(): Kefir.Observable<null> {
248
+ getStopper() {
356
249
  return this._stopper;
357
250
  }
358
- getEnvData(): EnvData {
251
+ getEnvData() {
359
252
  return this._envData;
360
253
  }
361
-
362
- getTimestampOnReady(): number {
254
+ getTimestampOnReady() {
363
255
  if (this._timestampOnready == null) {
364
256
  this._logger.error(new Error('getTimestampOnReady called before ready'));
365
257
  return Date.now();
@@ -369,218 +261,169 @@ class GmailDriver {
369
261
 
370
262
  // Returns a stream that emits an event once at least `time` milliseconds has
371
263
  // passed since the GmailDriver's ready event.
372
- delayToTimeAfterReady(time: number): Kefir.Observable<void> {
264
+ delayToTimeAfterReady(time) {
373
265
  const targetTime = this.getTimestampOnReady() + time;
374
266
  const timeToWait = Math.max(0, targetTime - Date.now());
375
- return Kefir.later(timeToWait);
267
+ return _kefir.default.later(timeToWait);
376
268
  }
377
-
378
- getTimings(): { [ix: string]: ?number } {
269
+ getTimings() {
379
270
  return {
380
271
  piMainStarted: this._envData.piMainStarted,
381
272
  piLoadStarted: this._envData.piLoadStarted,
382
273
  globalsFound: this._timestampGlobalsFound,
383
274
  accountSwitcherReady: this._timestampAccountSwitcherReady,
384
- onready: this._timestampOnready,
275
+ onready: this._timestampOnready
385
276
  };
386
277
  }
387
-
388
- registerThreadButton(options: Object) {
389
- const unregister = kefirStopper();
390
-
391
- const removeButtonOnUnregister = (button) => {
278
+ registerThreadButton(options) {
279
+ const unregister = (0, _kefirStopper.default)();
280
+ const removeButtonOnUnregister = button => {
392
281
  unregister.takeUntilBy(button.getStopper()).onValue(() => {
393
282
  button.destroy();
394
283
  });
395
284
  };
396
-
397
- const toolbarViewSub = toValueObservable(
398
- this._toolbarViewDriverLiveSet
399
- ).subscribe(({ value: gmailToolbarView }: { value: GmailToolbarView }) => {
285
+ const toolbarViewSub = (0, _toValueObservable.default)(this._toolbarViewDriverLiveSet).subscribe(_ref3 => {
286
+ let {
287
+ value: gmailToolbarView
288
+ } = _ref3;
400
289
  if (gmailToolbarView.isForThread()) {
401
- if (!options.positions || includes(options.positions, 'THREAD')) {
402
- removeButtonOnUnregister(
403
- gmailToolbarView.addButton({
404
- ...options,
405
- section: options.threadSection || 'METADATA_STATE',
406
- onClick: (event) => {
407
- options.onClick({
408
- position: 'THREAD',
409
- dropdown: event.dropdown,
410
- selectedThreadViewDrivers: [
411
- gmailToolbarView.getThreadViewDriver(),
412
- ],
413
- selectedThreadRowViewDrivers: [],
414
- });
415
- },
416
- })
417
- );
290
+ if (!options.positions || (0, _includes.default)(options.positions, 'THREAD')) {
291
+ removeButtonOnUnregister(gmailToolbarView.addButton({
292
+ ...options,
293
+ section: options.threadSection || 'METADATA_STATE',
294
+ onClick: event => {
295
+ options.onClick({
296
+ position: 'THREAD',
297
+ dropdown: event.dropdown,
298
+ selectedThreadViewDrivers: [gmailToolbarView.getThreadViewDriver()],
299
+ selectedThreadRowViewDrivers: []
300
+ });
301
+ }
302
+ }));
418
303
  }
419
304
  } else if (gmailToolbarView.isForRowList()) {
420
- if (!options.positions || includes(options.positions, 'LIST')) {
421
- removeButtonOnUnregister(
422
- gmailToolbarView.addButton({
423
- ...options,
424
- section: options.listSection || 'METADATA_STATE',
425
- onClick: (event) => {
426
- const selectedThreadRowViewDrivers = Array.from(
427
- gmailToolbarView.getThreadRowViewDrivers()
428
- ).filter((gmailThreadRow) => gmailThreadRow.isSelected());
429
-
430
- options.onClick({
431
- position: 'LIST',
432
- dropdown: event.dropdown,
433
- selectedThreadViewDrivers: [],
434
- selectedThreadRowViewDrivers,
435
- });
436
- },
437
- })
438
- );
305
+ if (!options.positions || (0, _includes.default)(options.positions, 'LIST')) {
306
+ removeButtonOnUnregister(gmailToolbarView.addButton({
307
+ ...options,
308
+ section: options.listSection || 'METADATA_STATE',
309
+ onClick: event => {
310
+ const selectedThreadRowViewDrivers = Array.from(gmailToolbarView.getThreadRowViewDrivers()).filter(gmailThreadRow => gmailThreadRow.isSelected());
311
+ options.onClick({
312
+ position: 'LIST',
313
+ dropdown: event.dropdown,
314
+ selectedThreadViewDrivers: [],
315
+ selectedThreadRowViewDrivers
316
+ });
317
+ }
318
+ }));
439
319
  }
440
320
  }
441
321
  });
442
322
  unregister.onValue(() => {
443
323
  toolbarViewSub.unsubscribe();
444
324
  });
445
-
446
- if (!options.positions || includes(options.positions, 'ROW')) {
447
- const perThreadRow = (gmailThreadRow: GmailThreadRowView) => {
448
- gmailThreadRow.addButton(
449
- Kefir.constant({
450
- hasDropdown: options.hasDropdown,
451
- iconClass: options.iconClass,
452
- iconUrl: options.iconUrl,
453
- orderHint: options.orderHint,
454
- onClick: (event) => {
455
- if (!options.onClick) return;
456
- options.onClick({
457
- position: 'ROW',
458
- dropdown: event.dropdown,
459
- selectedThreadViewDrivers: [],
460
- selectedThreadRowViewDrivers: [gmailThreadRow],
461
- });
462
- },
463
- }).merge(unregister)
464
- );
325
+ if (!options.positions || (0, _includes.default)(options.positions, 'ROW')) {
326
+ const perThreadRow = gmailThreadRow => {
327
+ gmailThreadRow.addButton(_kefir.default.constant({
328
+ hasDropdown: options.hasDropdown,
329
+ iconClass: options.iconClass,
330
+ iconUrl: options.iconUrl,
331
+ orderHint: options.orderHint,
332
+ onClick: event => {
333
+ if (!options.onClick) return;
334
+ options.onClick({
335
+ position: 'ROW',
336
+ dropdown: event.dropdown,
337
+ selectedThreadViewDrivers: [],
338
+ selectedThreadRowViewDrivers: [gmailThreadRow]
339
+ });
340
+ }
341
+ }).merge(unregister));
465
342
  };
466
-
467
343
  if (this._currentRouteViewDriver) {
468
- this._currentRouteViewDriver
469
- .getRowListViews()
470
- .forEach((gmailRowListView) => {
471
- gmailRowListView.getThreadRowViewDrivers().forEach(perThreadRow);
472
- });
344
+ this._currentRouteViewDriver.getRowListViews().forEach(gmailRowListView => {
345
+ gmailRowListView.getThreadRowViewDrivers().forEach(perThreadRow);
346
+ });
473
347
  }
474
348
  const threadRowViewSub = this._threadRowViewDriverKefirStream.observe({
475
- value: perThreadRow,
349
+ value: perThreadRow
476
350
  });
477
351
  unregister.onValue(() => {
478
352
  threadRowViewSub.unsubscribe();
479
353
  });
480
354
  }
481
-
482
355
  return () => {
483
356
  unregister.destroy();
484
357
  };
485
358
  }
486
-
487
- hashChangeNoViewChange(hash: string) {
359
+ hashChangeNoViewChange(hash) {
488
360
  if (hash[0] !== '#') {
489
361
  throw new Error('bad hash');
490
362
  }
491
363
  window.history.replaceState(null, null, hash);
492
- var hce = new (window: any).HashChangeEvent('hashchange', {
493
- oldURL:
494
- document.location.href.replace(/#.*$/, '') + '#inboxsdk-fake-no-vc',
495
- newURL: document.location.href.replace(/#.*$/, '') + hash,
364
+ var hce = new window.HashChangeEvent('hashchange', {
365
+ oldURL: document.location.href.replace(/#.*$/, '') + '#inboxsdk-fake-no-vc',
366
+ newURL: document.location.href.replace(/#.*$/, '') + hash
496
367
  });
497
368
  window.dispatchEvent(hce);
498
369
  }
499
-
500
- addCustomRouteID(routeID: string): () => void {
370
+ addCustomRouteID(routeID) {
501
371
  this._customRouteIDs.add(routeID);
502
- this._pageCommunicator.registerAllowedHashLinkStartTerm(
503
- routeID.split('/')[0]
504
- );
372
+ this._pageCommunicator.registerAllowedHashLinkStartTerm(routeID.split('/')[0]);
505
373
  return () => {
506
374
  this._customRouteIDs.delete(routeID);
507
375
  };
508
376
  }
509
-
510
- addCustomListRouteID(routeID: string, handler: Function): () => void {
377
+ addCustomListRouteID(routeID, handler) {
511
378
  this._customListRouteIDs.set(routeID, handler);
512
- this._pageCommunicator.registerAllowedHashLinkStartTerm(
513
- routeID.split('/')[0]
514
- );
379
+ this._pageCommunicator.registerAllowedHashLinkStartTerm(routeID.split('/')[0]);
515
380
  return () => {
516
381
  this._customListRouteIDs.delete(routeID);
517
382
  };
518
383
  }
519
-
520
- signalCustomThreadListActivity(customRouteID: string) {
384
+ signalCustomThreadListActivity(customRouteID) {
521
385
  this._lastCustomThreadListActivity = {
522
386
  customRouteID,
523
- timestamp: new Date(),
387
+ timestamp: new Date()
524
388
  };
525
389
  }
526
390
 
527
391
  // Returns the last time a request for a custom thread list search has gone
528
392
  // out or we got a response, and the customRouteID for that.
529
- getLastCustomThreadListActivity(): ?{
530
- customRouteID: string,
531
- timestamp: Date,
532
- } {
393
+ getLastCustomThreadListActivity() {
533
394
  return this._lastCustomThreadListActivity;
534
395
  }
535
-
536
- showCustomThreadList(
537
- customRouteID: string,
538
- onActivate: Function,
539
- params: Array<string>
540
- ) {
541
- showCustomThreadList(this, customRouteID, onActivate, params);
396
+ showCustomThreadList(customRouteID, onActivate, params) {
397
+ (0, _showCustomThreadList.default)(this, customRouteID, onActivate, params);
542
398
  }
543
-
544
- showCustomRouteView(element: HTMLElement) {
545
- showCustomRouteView(this, element);
399
+ showCustomRouteView(element) {
400
+ (0, _showCustomRouteView.default)(this, element);
546
401
  }
547
-
548
402
  showNativeRouteView() {
549
- showNativeRouteView(this);
403
+ (0, _showNativeRouteView.default)(this);
550
404
  }
551
-
552
- createLink(routeID: string, params: ?RouteParams | string) {
553
- return createLink(this._gmailRouteProcessor, routeID, params);
405
+ createLink(routeID, params) {
406
+ return (0, _createLink.default)(this._gmailRouteProcessor, routeID, params);
554
407
  }
555
-
556
- goto(routeID: string, params: ?RouteParams | string): Promise<void> {
557
- return gotoView(this, routeID, params);
408
+ goto(routeID, params) {
409
+ return (0, _gotoView.default)(this, routeID, params);
558
410
  }
559
-
560
- resolveUrlRedirects(url: string): Promise<string> {
561
- return this._pageCommunicatorPromise.then((pageCommunicator) =>
562
- pageCommunicator.resolveUrlRedirects(url)
563
- );
411
+ resolveUrlRedirects(url) {
412
+ return this._pageCommunicatorPromise.then(pageCommunicator => pageCommunicator.resolveUrlRedirects(url));
564
413
  }
565
-
566
- registerSearchSuggestionsProvider(handler: Function) {
567
- registerSearchSuggestionsProvider(this, handler);
414
+ registerSearchSuggestionsProvider(handler) {
415
+ (0, _registerSearchSuggestionsProvider.default)(this, handler);
568
416
  }
569
-
570
- registerSearchQueryRewriter(obj: Object) {
571
- registerSearchQueryRewriter(this._pageCommunicator, obj);
417
+ registerSearchQueryRewriter(obj) {
418
+ (0, _registerSearchQueryRewriter.default)(this._pageCommunicator, obj);
572
419
  }
573
-
574
- addToolbarButtonForApp(
575
- buttonDescriptor: Object
576
- ): Promise<GmailAppToolbarButtonView> {
577
- return addToolbarButtonForApp(this, buttonDescriptor);
420
+ addToolbarButtonForApp(buttonDescriptor) {
421
+ return (0, _addToolbarButtonForApp.default)(this, buttonDescriptor);
578
422
  }
579
-
580
- async openNewComposeViewDriver(): Promise<GmailComposeView> {
423
+ async openNewComposeViewDriver() {
581
424
  try {
582
425
  const composeViewDriverPromise = this.getNextComposeViewDriver();
583
- await openComposeWindow(this);
426
+ await (0, _openComposeWindow.default)(this);
584
427
  const composeViewDriver = await composeViewDriverPromise;
585
428
  return composeViewDriver;
586
429
  } catch (err) {
@@ -588,402 +431,231 @@ class GmailDriver {
588
431
  throw err;
589
432
  }
590
433
  }
591
-
592
- getNextComposeViewDriver(
593
- timeout: number = 10 * 1000
594
- ): Promise<GmailComposeView> {
595
- return this._composeViewDriverStream
596
- .merge(
597
- Kefir.later(
598
- timeout,
599
- new Error(
600
- 'Reached timeout while waiting for getNextComposeViewDriver'
601
- )
602
- )
603
- )
604
- .beforeEnd(
605
- () => new Error('Driver was shut down before a new compose was found')
606
- )
607
- .flatMap((x) =>
608
- x instanceof Error ? Kefir.constantError(x) : Kefir.constant(x)
609
- )
610
- .take(1)
611
- .takeErrors(1)
612
- .toPromise();
434
+ getNextComposeViewDriver() {
435
+ let timeout = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 10 * 1000;
436
+ return this._composeViewDriverStream.merge(_kefir.default.later(timeout, new Error('Reached timeout while waiting for getNextComposeViewDriver'))).beforeEnd(() => new Error('Driver was shut down before a new compose was found')).flatMap(x => x instanceof Error ? _kefir.default.constantError(x) : _kefir.default.constant(x)).take(1).takeErrors(1).toPromise();
613
437
  }
614
-
615
- openDraftByMessageID(messageID: string): Promise<void> {
616
- return openDraftByMessageID(this, messageID);
438
+ openDraftByMessageID(messageID) {
439
+ return (0, _openDraftByMessageId.default)(this, messageID);
617
440
  }
618
-
619
- createModalViewDriver(options: Object): GmailModalViewDriver {
620
- return new GmailModalViewDriver(options);
441
+ createModalViewDriver(options) {
442
+ return new _gmailModalViewDriver.default(options);
621
443
  }
622
-
623
- createMoleViewDriver(options: Object): GmailMoleViewDriver {
624
- return new GmailMoleViewDriver(this, options);
444
+ createMoleViewDriver(options) {
445
+ return new _gmailMoleViewDriver.default(this, options);
625
446
  }
626
-
627
- createDrawerViewDriver(options: DrawerViewOptions) {
628
- return new InboxDrawerView(options);
447
+ createDrawerViewDriver(options) {
448
+ return new _inboxDrawerView.default(options);
629
449
  }
630
-
631
- createBackdrop(zIndex?: number, target?: HTMLElement) {
632
- return new GmailBackdrop(zIndex, target);
450
+ createBackdrop(zIndex, target) {
451
+ return new _gmailBackdrop.default(zIndex, target);
633
452
  }
634
-
635
- addNavItem(
636
- appId: string,
637
- navItemDescriptorPropertyStream: Kefir.Observable<Object>
638
- ): Promise<GmailNavItemView> {
639
- return addNavItem(this, appId, navItemDescriptorPropertyStream);
453
+ addNavItem(appId, navItemDescriptorPropertyStream, navMenuInjectionContainer) {
454
+ return (0, _addNavItem.default)(this, appId, navItemDescriptorPropertyStream, navMenuInjectionContainer);
640
455
  }
641
-
642
- addSupportItem(
643
- supportItemDescriptor: SupportItemDescriptor
644
- ): GmailSupportItemView {
645
- return addSupportItem(this, supportItemDescriptor);
456
+ addAppMenuItem(menuItemDescriptor) {
457
+ return (0, _addAppMenuItem.addAppMenuItem)(this, menuItemDescriptor);
646
458
  }
647
-
648
- getSentMailNativeNavItem(): Promise<NativeGmailNavItemView> {
649
- const p = getNativeNavItem(this, 'sent');
650
- p.catch((err) => this._logger.error(err));
459
+ addSupportItem(supportItemDescriptor) {
460
+ return (0, _addSupportItem.default)(this, supportItemDescriptor);
461
+ }
462
+ getSentMailNativeNavItem() {
463
+ const p = (0, _getNativeNavItem.default)(this, 'sent');
464
+ p.catch(err => this._logger.error(err));
651
465
  return p;
652
466
  }
653
-
654
- setShowNativeNavMarker(isNative: boolean) {
467
+ setShowNativeNavMarker(isNative) {
655
468
  this._navMarkerHiddenChanged.emit(null);
656
- const leftNavContainerElement =
657
- GmailElementGetter.getLeftNavContainerElement();
469
+ const leftNavContainerElement = _gmailElementGetter.default.getLeftNavContainerElement();
658
470
  if (leftNavContainerElement) {
659
471
  if (isNative) {
660
- leftNavContainerElement.classList.remove(
661
- 'inboxsdk__hide_native_marker'
662
- );
472
+ leftNavContainerElement.classList.remove('inboxsdk__hide_native_marker');
663
473
  } else {
664
474
  leftNavContainerElement.classList.add('inboxsdk__hide_native_marker');
665
475
  this._stopper.takeUntilBy(this._navMarkerHiddenChanged).onValue(() => {
666
- leftNavContainerElement.classList.remove(
667
- 'inboxsdk__hide_native_marker'
668
- );
476
+ leftNavContainerElement.classList.remove('inboxsdk__hide_native_marker');
669
477
  });
670
478
  }
671
479
  }
672
480
  }
673
-
674
- setShowNativeAddonSidebar(isNative: boolean) {
481
+ setShowNativeAddonSidebar(isNative) {
675
482
  this._addonSidebarHiddenChanged.emit(null);
676
- const addonContainerElement =
677
- GmailElementGetter.getAddonSidebarContainerElement();
678
- const mainContentBodyContainerElement =
679
- GmailElementGetter.getMainContentBodyContainerElement();
680
-
483
+ const addonContainerElement = _gmailElementGetter.default.getAddonSidebarContainerElement();
484
+ const mainContentBodyContainerElement = _gmailElementGetter.default.getMainContentBodyContainerElement();
681
485
  if (addonContainerElement && mainContentBodyContainerElement) {
682
486
  const parent = mainContentBodyContainerElement.parentElement;
683
487
  if (!parent) return;
684
-
685
488
  if (isNative) {
686
489
  parent.classList.remove('inboxsdk__hide_addon_container');
687
490
  } else {
688
491
  parent.classList.add('inboxsdk__hide_addon_container');
689
- this._stopper
690
- .takeUntilBy(this._addonSidebarHiddenChanged)
691
- .onValue(() => {
692
- parent.classList.remove('inboxsdk__hide_addon_container');
693
- });
492
+ this._stopper.takeUntilBy(this._addonSidebarHiddenChanged).onValue(() => {
493
+ parent.classList.remove('inboxsdk__hide_addon_container');
494
+ });
694
495
  }
695
496
  }
696
497
  }
697
-
698
- async getGmailActionToken(): Promise<string> {
498
+ async getGmailActionToken() {
699
499
  return this._pageCommunicator.getActionTokenValue();
700
500
  }
701
-
702
- getUserEmailAddress(): string {
501
+ getUserEmailAddress() {
703
502
  return this._pageCommunicator.getUserEmailAddress();
704
503
  }
705
-
706
- isConversationViewDisabled(): Promise<boolean> {
504
+ isConversationViewDisabled() {
707
505
  return this._pageCommunicator.isConversationViewDisabled();
708
506
  }
709
-
710
- getUserLanguage(): string {
507
+ getUserLanguage() {
711
508
  return this._pageCommunicator.getUserLanguage();
712
509
  }
713
-
714
- getUserContact(): Contact {
510
+ getUserContact() {
715
511
  return {
716
512
  emailAddress: this.getUserEmailAddress(),
717
- name: this._userInfo.getUserName(),
513
+ name: this._userInfo.getUserName()
718
514
  };
719
515
  }
720
-
721
- getAccountSwitcherContactList(): Contact[] {
516
+ getAccountSwitcherContactList() {
722
517
  return this._userInfo.getAccountSwitcherContactList();
723
518
  }
724
-
725
- activateShortcut(
726
- keyboardShortcutHandle: KeyboardShortcutHandle,
727
- appName: ?string,
728
- appIconUrl: ?string
729
- ) {
730
- this.getKeyboardShortcutHelpModifier().set(
731
- keyboardShortcutHandle,
732
- this._appId,
733
- appName,
734
- appIconUrl
735
- );
519
+ activateShortcut(keyboardShortcutHandle, appName, appIconUrl) {
520
+ this.getKeyboardShortcutHelpModifier().set(keyboardShortcutHandle, this._appId, appName, appIconUrl);
736
521
  keyboardShortcutHandle.once('destroy', () => {
737
522
  this.getKeyboardShortcutHelpModifier().delete(keyboardShortcutHandle);
738
523
  });
739
524
  }
740
-
741
525
  _setupEventStreams() {
742
- var result = makeXhrInterceptor();
743
-
744
- this._xhrInterceptorStream = result.xhrInterceptStream.takeUntilBy(
745
- this._stopper
746
- );
747
-
526
+ var result = (0, _makeXhrInterceptor.default)();
527
+ this._xhrInterceptorStream = result.xhrInterceptStream.takeUntilBy(this._stopper);
748
528
  this._pageCommunicatorPromise = result.pageCommunicatorPromise;
749
-
750
- this.onready = this._pageCommunicatorPromise.then((pageCommunicator) => {
529
+ this.onready = this._pageCommunicatorPromise.then(pageCommunicator => {
751
530
  this._timestampGlobalsFound = Date.now();
752
531
  this._pageCommunicator = pageCommunicator;
753
532
  this._logger.setUserEmailAddress(this.getUserEmailAddress());
754
533
  this._logger.setIsUsingSyncAPI(pageCommunicator.isUsingSyncAPI());
755
- this._userInfo = new UserInfo(this);
756
-
534
+ this._userInfo = new _userInfo.default(this);
757
535
  this._timestampAccountSwitcherReady = Date.now();
758
-
759
- this._routeViewDriverStream = setupRouteViewDriverStream(
760
- this._gmailRouteProcessor,
761
- this
762
- )
763
- .takeUntilBy(this._stopper)
764
- .toProperty();
765
-
766
- this._routeViewDriverStream.onValue((gmailRouteView) => {
536
+ this._routeViewDriverStream = (0, _setupRouteViewDriverStream.default)(this._gmailRouteProcessor, this).takeUntilBy(this._stopper).toProperty();
537
+ this._routeViewDriverStream.onValue(gmailRouteView => {
767
538
  this._currentRouteViewDriver = gmailRouteView;
768
539
  });
769
-
770
- this._rowListViewDriverStream = this._setupRouteSubViewDriver(
771
- 'newGmailRowListView'
772
- ).takeUntilBy(this._stopper);
773
-
540
+ this._rowListViewDriverStream = this._setupRouteSubViewDriver('newGmailRowListView').takeUntilBy(this._stopper);
774
541
  this._setupThreadRowViewDriverKefirStream();
775
- this._threadViewDriverLiveSet = toLiveSet(
776
- this._setupRouteSubViewDriver('newGmailThreadView')
777
- .takeUntilBy(this._stopper)
778
- .flatMap((gmailThreadView) =>
779
- gmailThreadView.getReadyStream().map(() => gmailThreadView)
780
- )
781
- .map((gmailThreadView) => ({
782
- el: gmailThreadView,
783
- removalStream: gmailThreadView.getStopper(),
784
- }))
785
- );
786
-
542
+ this._threadViewDriverLiveSet = (0, _toLiveSet.default)(this._setupRouteSubViewDriver('newGmailThreadView').takeUntilBy(this._stopper).flatMap(gmailThreadView => gmailThreadView.getReadyStream().map(() => gmailThreadView)).map(gmailThreadView => ({
543
+ el: gmailThreadView,
544
+ removalStream: gmailThreadView.getStopper()
545
+ })));
787
546
  this._setupToolbarViewDriverStream();
788
547
  this._setupMessageViewDriverStream();
789
548
  this._setupComposeViewDriverStream();
790
-
791
- this._threadRowIdentifier = new ThreadRowIdentifier(this);
792
-
549
+ this._threadRowIdentifier = new _threadRowIdentifier.default(this);
793
550
  this._timestampOnready = Date.now();
794
551
  });
795
552
  }
796
-
797
553
  _setupComposeViewDriverStream() {
798
- this._composeViewDriverStream = setupComposeViewDriverStream(
799
- this,
800
- this._messageViewDriverStream,
801
- this._xhrInterceptorStream
802
- ).takeUntilBy(this._stopper);
554
+ this._composeViewDriverStream = (0, _setupComposeViewDriverStream.default)(this, this._messageViewDriverStream, this._xhrInterceptorStream).takeUntilBy(this._stopper);
803
555
  }
804
-
805
- _setupRouteSubViewDriver(viewName: string): Kefir.Observable<Object> {
806
- return this._routeViewDriverStream.flatMap((gmailRouteView) => {
807
- return gmailRouteView
808
- .getEventStream()
809
- .filter((event) => event.eventName === viewName)
810
- .map((event) => event.view);
556
+ _setupRouteSubViewDriver(viewName) {
557
+ return this._routeViewDriverStream.flatMap(gmailRouteView => {
558
+ return gmailRouteView.getEventStream().filter(event => event.eventName === viewName).map(event => event.view);
811
559
  });
812
560
  }
813
-
814
561
  _setupThreadRowViewDriverKefirStream() {
815
- this._threadRowViewDriverKefirStream = this._rowListViewDriverStream
816
- .flatMap((rowListViewDriver) =>
817
- rowListViewDriver.getRowViewDriverStream()
818
- )
819
- .takeUntilBy(this._stopper);
562
+ this._threadRowViewDriverKefirStream = this._rowListViewDriverStream.flatMap(rowListViewDriver => rowListViewDriver.getRowViewDriverStream()).takeUntilBy(this._stopper);
820
563
  }
821
-
822
564
  _setupToolbarViewDriverStream() {
823
- this._toolbarViewDriverLiveSet = toLiveSet(
824
- Kefir.merge([
825
- this._rowListViewDriverStream.map((gmailRowListView) =>
826
- gmailRowListView.getToolbarView()
827
- ),
828
- this.getThreadViewDriverStream().map((gmailThreadView) =>
829
- gmailThreadView.getToolbarView()
830
- ),
831
- ])
832
- .filter(Boolean)
833
- .flatMap((gmailToolbarView) => gmailToolbarView.waitForReady())
834
- .map((gmailToolbarView) => ({
835
- el: gmailToolbarView,
836
- removalStream: gmailToolbarView.getStopper(),
837
- }))
838
- .takeUntilBy(this._stopper)
839
- );
565
+ this._toolbarViewDriverLiveSet = (0, _toLiveSet.default)(_kefir.default.merge([this._rowListViewDriverStream.map(gmailRowListView => gmailRowListView.getToolbarView()), this.getThreadViewDriverStream().map(gmailThreadView => gmailThreadView.getToolbarView())]).filter(Boolean).flatMap(gmailToolbarView => gmailToolbarView.waitForReady()).map(gmailToolbarView => ({
566
+ el: gmailToolbarView,
567
+ removalStream: gmailToolbarView.getStopper()
568
+ })).takeUntilBy(this._stopper));
840
569
  this._toolbarViewDriverLiveSet.subscribe({});
841
570
  }
842
-
843
571
  _setupMessageViewDriverStream() {
844
- this._messageViewDriverStream = this.getThreadViewDriverStream()
845
- .flatMap((gmailThreadView) =>
846
- gmailThreadView.getMessageViewDriverStream()
847
- )
848
- .takeUntilBy(this._stopper);
572
+ this._messageViewDriverStream = this.getThreadViewDriverStream().flatMap(gmailThreadView => gmailThreadView.getMessageViewDriverStream()).takeUntilBy(this._stopper);
849
573
  }
850
-
851
- async addGlobalSidebarContentPanel(
852
- descriptor: Kefir.Observable<Object>
853
- ): Promise<?ContentPanelViewDriver> {
854
- await this.waitForGlobalSidebarReady()
855
- .merge(
856
- this._stopper.flatMap(() =>
857
- Kefir.constantError(new Error('Driver instance was destroyed early'))
858
- )
859
- )
860
- .take(1)
861
- .takeErrors(1)
862
- .toPromise();
574
+ async addGlobalSidebarContentPanel(descriptor) {
575
+ await this.waitForGlobalSidebarReady().merge(this._stopper.flatMap(() => _kefir.default.constantError(new Error('Driver instance was destroyed early')))).take(1).takeErrors(1).toPromise();
863
576
  const appSidebar = this.getGlobalSidebar();
864
577
  return appSidebar.addGlobalSidebarContentPanel(descriptor);
865
578
  }
866
-
867
- waitForGlobalSidebarReady(): Kefir.Observable<void> {
868
- const condition = () =>
869
- GmailElementGetter.getCompanionSidebarContentContainerElement() &&
870
- (GmailElementGetter.getCompanionSidebarIconContainerElement() ||
871
- GmailElementGetter.getAddonSidebarContainerElement());
579
+ waitForGlobalSidebarReady() {
580
+ const condition = () => _gmailElementGetter.default.getCompanionSidebarContentContainerElement() && (_gmailElementGetter.default.getCompanionSidebarIconContainerElement() || _gmailElementGetter.default.getAddonSidebarContainerElement());
872
581
  if (condition()) {
873
- return Kefir.constant(undefined);
582
+ return _kefir.default.constant(undefined);
874
583
  }
875
- return waitFor(condition).map(() => undefined);
584
+ return (0, _streamWaitFor.default)(condition).map(() => undefined);
876
585
  }
877
-
878
- getGlobalSidebar(): GmailAppSidebarView {
586
+ getGlobalSidebar() {
879
587
  let appSidebarView = this._appSidebarView;
880
588
  if (!appSidebarView) {
881
- const companionSidebarContentContainerEl =
882
- GmailElementGetter.getCompanionSidebarContentContainerElement();
883
- if (!companionSidebarContentContainerEl)
884
- throw new Error('did not find companionSidebarContentContainerEl');
885
- appSidebarView = this._appSidebarView = new GmailAppSidebarView(
886
- this,
887
- companionSidebarContentContainerEl
888
- );
589
+ const companionSidebarContentContainerEl = _gmailElementGetter.default.getCompanionSidebarContentContainerElement();
590
+ if (!companionSidebarContentContainerEl) throw new Error('did not find companionSidebarContentContainerEl');
591
+ appSidebarView = this._appSidebarView = new _gmailAppSidebarView.default(this, companionSidebarContentContainerEl);
889
592
  }
890
-
891
593
  return appSidebarView;
892
594
  }
893
-
894
- isRunningInPageContext(): boolean {
595
+ isRunningInPageContext() {
895
596
  return !!(global.GLOBALS && global._GM_main);
896
597
  }
897
-
898
- isUsingSyncAPI(): boolean {
598
+ isUsingSyncAPI() {
899
599
  return this._pageCommunicator.isUsingSyncAPI();
900
600
  }
901
-
902
601
  showAppIdWarning() {
903
- showAppIdWarning(this);
602
+ (0, _showAppIdWarning.default)(this);
904
603
  }
905
-
906
- createTopMessageBarDriver(
907
- optionStream: Kefir.Observable<?Object>
908
- ): GmailTopMessageBarDriver {
909
- return new GmailTopMessageBarDriver(optionStream);
604
+ createTopMessageBarDriver(optionStream) {
605
+ return new _gmailTopMessageBarDriver.default(optionStream);
910
606
  }
911
-
912
- associateThreadAndMessageIDs(threadID: string, messageID: string) {
607
+ associateThreadAndMessageIDs(threadID, messageID) {
913
608
  this._messageIDsToThreadIDs.set(messageID, threadID);
914
609
  }
915
-
916
- getThreadIDForMessageID(messageID: string): string {
917
- return get(this._messageIDsToThreadIDs, messageID);
610
+ getThreadIDForMessageID(messageID) {
611
+ return (0, _getOrFail.default)(this._messageIDsToThreadIDs, messageID);
918
612
  }
919
-
920
- getDraftIDForMessageID(
921
- messageID: string,
922
- skipCache: boolean = false
923
- ): Promise<GetDraftIdResult> {
924
- return getDraftIDForMessageID(this, messageID, skipCache);
613
+ getDraftIDForMessageID(messageID) {
614
+ let skipCache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;
615
+ return (0, _getDraftIdForMessageId.default)(this, messageID, skipCache);
925
616
  }
926
-
927
- _recentSyncDraftIds = new Map<string, number>();
928
-
929
- reportRecentSyncDraftId(syncDraftId: string) {
930
- const count: ?number = this._recentSyncDraftIds.get(syncDraftId);
617
+ reportRecentSyncDraftId(syncDraftId) {
618
+ const count = this._recentSyncDraftIds.get(syncDraftId);
931
619
  const newCount = (count ?? 0) + 1;
932
620
  this._recentSyncDraftIds.set(syncDraftId, newCount);
933
621
  }
934
- reportDraftClosed(syncDraftId: string) {
935
- Kefir.later(30 * 1000)
936
- .takeUntilBy(this._stopper)
937
- .onValue(() => {
938
- const count: ?number = this._recentSyncDraftIds.get(syncDraftId);
939
- let newCount;
940
- if (count == null || count < 1) {
941
- newCount = 0;
942
- this._logger.error(
943
- new Error('_recentSyncDraftIds count had unexpected value'),
944
- {
945
- count,
946
- }
947
- );
948
- } else {
949
- newCount = count - 1;
950
- }
951
- if (newCount === 0) {
952
- this._recentSyncDraftIds.delete(syncDraftId);
953
- } else {
954
- this._recentSyncDraftIds.set(syncDraftId, newCount);
955
- }
956
- });
622
+ reportDraftClosed(syncDraftId) {
623
+ _kefir.default.later(30 * 1000).takeUntilBy(this._stopper).onValue(() => {
624
+ const count = this._recentSyncDraftIds.get(syncDraftId);
625
+ let newCount;
626
+ if (count == null || count < 1) {
627
+ newCount = 0;
628
+ this._logger.error(new Error('_recentSyncDraftIds count had unexpected value'), {
629
+ count
630
+ });
631
+ } else {
632
+ newCount = count - 1;
633
+ }
634
+ if (newCount === 0) {
635
+ this._recentSyncDraftIds.delete(syncDraftId);
636
+ } else {
637
+ this._recentSyncDraftIds.set(syncDraftId, newCount);
638
+ }
639
+ });
957
640
  }
958
- isRecentSyncDraftId(syncMessageId: string): boolean {
641
+ isRecentSyncDraftId(syncMessageId) {
959
642
  return this._recentSyncDraftIds.has(syncMessageId);
960
643
  }
961
-
962
- _selectedThreadRows = t.mapcat((gmailRowListView: GmailRowListView) =>
963
- gmailRowListView.getSelectedThreadRowViewDrivers()
964
- );
965
- getSelectedThreadRowViewDrivers(): $ReadOnlyArray<GmailThreadRowView> {
644
+ getSelectedThreadRowViewDrivers() {
966
645
  if (!this._currentRouteViewDriver) {
967
646
  return [];
968
647
  }
969
- return t.toArray(
970
- this._currentRouteViewDriver.getRowListViews(),
971
- this._selectedThreadRows
972
- );
648
+ return _transducers.default.toArray(this._currentRouteViewDriver.getRowListViews(), this._selectedThreadRows);
973
649
  }
974
-
975
- _threadRowViewSelectionChanges = kefirBus();
976
-
977
650
  signalThreadRowViewSelectionChange() {
978
651
  this._threadRowViewSelectionChanges.value(undefined);
979
652
  }
980
-
981
- registerThreadRowViewSelectionHandler(handler: () => any): () => void {
653
+ registerThreadRowViewSelectionHandler(handler) {
982
654
  this._threadRowViewSelectionChanges.onValue(handler);
983
655
  return () => {
984
656
  this._threadRowViewSelectionChanges.offValue(handler);
985
657
  };
986
658
  }
987
659
  }
988
-
989
- export default defn(module, GmailDriver);
660
+ var _default = (0, _ud.defn)(module, GmailDriver);
661
+ exports.default = _default;