@inboxsdk/core 1.2.4 → 1.2.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (332) hide show
  1. package/inboxsdk.js +4474 -463
  2. package/inboxsdk.js.map +1 -1
  3. package/package.json +1 -1
  4. package/pageWorld.js +1 -1
  5. package/pageWorld.js.map +1 -1
  6. package/src/common/load-script.d.ts +0 -6
  7. package/src/common/load-script.d.ts.map +1 -1
  8. package/src/inboxsdk-js/loading/platform-implementation-loader.d.ts.map +1 -1
  9. package/src/inboxsdk.d.ts +29 -0
  10. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.d.ts +2 -2
  11. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.d.ts.map +1 -1
  12. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts +6 -1
  13. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts.map +1 -1
  14. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts +2 -2
  15. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts.map +1 -1
  16. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts +5 -0
  17. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts.map +1 -1
  18. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.d.ts +13 -5
  19. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.d.ts.map +1 -1
  20. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts +1 -1
  21. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts.map +1 -1
  22. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.d.ts.map +1 -1
  23. package/src/platform-implementation-js/namespaces/conversations.d.ts +7 -0
  24. package/src/platform-implementation-js/namespaces/conversations.d.ts.map +1 -1
  25. package/src/platform-implementation-js/namespaces/nav-menu.d.ts +4 -2
  26. package/src/platform-implementation-js/namespaces/nav-menu.d.ts.map +1 -1
  27. package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts +12 -5
  28. package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts.map +1 -1
  29. package/src/platform-implementation-js/views/native-nav-item-view.d.ts +2 -1
  30. package/src/platform-implementation-js/views/native-nav-item-view.d.ts.map +1 -1
  31. package/src/build/exec.js +0 -26
  32. package/src/build/spawn.js +0 -17
  33. package/src/common/ajax.js +0 -90
  34. package/src/common/cachebust-url.js +0 -10
  35. package/src/common/censorHTMLstring.js +0 -37
  36. package/src/common/censorHTMLtree.js +0 -28
  37. package/src/common/censorJSONTree.js +0 -15
  38. package/src/common/connectivity-test.js +0 -21
  39. package/src/common/defer.js +0 -11
  40. package/src/common/find-parent.js +0 -10
  41. package/src/common/get-extension-id.js +0 -7
  42. package/src/common/get-or-fail.js +0 -8
  43. package/src/common/get-session-id.js +0 -14
  44. package/src/common/get-stack-trace.js +0 -6
  45. package/src/common/html-to-text.js +0 -7
  46. package/src/common/isElementVisible.js +0 -6
  47. package/src/common/load-script.js +0 -128
  48. package/src/common/log-error.js +0 -185
  49. package/src/common/quoted-split.js +0 -18
  50. package/src/common/rate-limit-queuer.js +0 -57
  51. package/src/common/rate-limit.js +0 -14
  52. package/src/common/version.js +0 -8
  53. package/src/inboxsdk-js/header.js +0 -19
  54. package/src/inboxsdk-js/inboxsdk-NONREMOTE-INTEGRATED-PAGEWORLD.js +0 -4
  55. package/src/inboxsdk-js/inboxsdk-NONREMOTE.js +0 -4
  56. package/src/inboxsdk-js/inboxsdk-REMOTE.js +0 -2
  57. package/src/inboxsdk-js/inboxsdk-TEST.js +0 -5
  58. package/src/inboxsdk-js/inboxsdk.js +0 -23
  59. package/src/inboxsdk-js/loading/load-platform-implementation-DEV.js +0 -14
  60. package/src/inboxsdk-js/loading/platform-implementation-loader.js +0 -31
  61. package/src/injected-js/gmail/constants.js +0 -2
  62. package/src/injected-js/gmail/modify-suggestions.js +0 -106
  63. package/src/injected-js/gmail/setup-gmail-interceptor.js +0 -936
  64. package/src/injected-js/gmail/setup-gmonkey-handler.js +0 -49
  65. package/src/injected-js/gmail/sync-compose-processor-20220909.js +0 -298
  66. package/src/injected-js/gmail/sync-compose-processor.js +0 -55
  67. package/src/injected-js/gmail/sync-compose-request-processor.js +0 -109
  68. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +0 -71
  69. package/src/injected-js/gmail/thread-identifier/index.js +0 -133
  70. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +0 -61
  71. package/src/injected-js/injected-logger.js +0 -50
  72. package/src/injected-js/main.js +0 -49
  73. package/src/injected-js/message-metadata-holder.js +0 -103
  74. package/src/injected-js/setup-data-exposer.js +0 -135
  75. package/src/injected-js/setup-error-silencer.js +0 -15
  76. package/src/injected-js/setup-event-reemitter.js +0 -47
  77. package/src/injected-js/setupCustomViewEventAssassin.js +0 -90
  78. package/src/injected-js/setupInboxCustomViewLinkFixer.js +0 -24
  79. package/src/injected-js/setupPushStateListener.js +0 -14
  80. package/src/injected-js/xhr-helper.js +0 -43
  81. package/src/injected-js/xhr-proxy-factory.js +0 -537
  82. package/src/platform-implementation-js/constants/nav-item-types.js +0 -19
  83. package/src/platform-implementation-js/constants/router.js +0 -60
  84. package/src/platform-implementation-js/constants/toolbars.js +0 -5
  85. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.js +0 -158
  86. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.js +0 -20
  87. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.js +0 -38
  88. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.js +0 -98
  89. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-support-item.js +0 -4
  90. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +0 -14
  91. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.js +0 -60
  92. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/encodeDraftUrlId.js +0 -8
  93. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.js +0 -47
  94. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.js +0 -31
  95. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-message-id.js +0 -12
  96. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-thread-id.js +0 -33
  97. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +0 -22
  98. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +0 -18
  99. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +0 -57
  100. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +0 -40
  101. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +0 -55
  102. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.js +0 -14
  103. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.js +0 -177
  104. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.js +0 -17
  105. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.js +0 -44
  106. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.js +0 -49
  107. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.js +0 -18
  108. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.js +0 -138
  109. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.js +0 -112
  110. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +0 -152
  111. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.js +0 -21
  112. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.js +0 -48
  113. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +0 -357
  114. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.js +0 -19
  115. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.js +0 -36
  116. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.js +0 -36
  117. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +0 -85
  118. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +0 -142
  119. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.js +0 -115
  120. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +0 -50
  121. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +0 -723
  122. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/get-main-content-element-changed-stream.js +0 -38
  123. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/wait-for-gmail-mode-to-settle.js +0 -12
  124. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.js +0 -264
  125. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.js +0 -201
  126. package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.js +0 -532
  127. package/src/platform-implementation-js/dom-driver/gmail/gmail-sync-response-processor.js +0 -300
  128. package/src/platform-implementation-js/dom-driver/gmail/is-compose-titlebar-light-color.js +0 -21
  129. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +0 -92
  130. package/src/platform-implementation-js/dom-driver/gmail/makePageParserTree.js +0 -28
  131. package/src/platform-implementation-js/dom-driver/gmail/pageParserOptions.js +0 -19
  132. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.js +0 -129
  133. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +0 -80
  134. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +0 -23
  135. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +0 -26
  136. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.js +0 -16
  137. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +0 -723
  138. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +0 -24
  139. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +0 -172
  140. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +0 -106
  141. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +0 -328
  142. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.js +0 -22
  143. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +0 -720
  144. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +0 -135
  145. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +0 -50
  146. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +0 -65
  147. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.js +0 -101
  148. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +0 -66
  149. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/detectClassicRecipientsArea.js +0 -38
  150. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +0 -10
  151. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +0 -14
  152. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +0 -13
  153. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +0 -60
  154. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +0 -54
  155. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +0 -98
  156. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.js +0 -28
  157. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +0 -13
  158. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +0 -18
  159. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +0 -16
  160. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.js +0 -22
  161. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +0 -23
  162. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.js +0 -233
  163. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +0 -19
  164. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +0 -355
  165. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +0 -21
  166. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +0 -63
  167. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/page-parser.js +0 -223
  168. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +0 -19
  169. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/set-recipients.js +0 -157
  170. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/setupLinkPopovers.js +0 -109
  171. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +0 -123
  172. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +0 -16
  173. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +0 -1542
  174. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.js +0 -4
  175. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +0 -75
  176. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +0 -737
  177. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.js +0 -763
  178. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +0 -103
  179. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +0 -508
  180. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +0 -236
  181. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-support-item-view.js +0 -84
  182. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +0 -986
  183. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +0 -26
  184. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +0 -658
  185. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +0 -459
  186. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +0 -265
  187. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-color-classes.js +0 -33
  188. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.js +0 -325
  189. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.js +0 -61
  190. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.js +0 -58
  191. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +0 -23
  192. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.js +0 -101
  193. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-dropdown-button-view.js +0 -30
  194. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-parent-accessory-button-view.js +0 -10
  195. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +0 -42
  196. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.js +0 -22
  197. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +0 -112
  198. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.js +0 -122
  199. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +0 -194
  200. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +0 -352
  201. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.js +0 -76
  202. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +0 -57
  203. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +0 -291
  204. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +0 -28
  205. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +0 -46
  206. package/src/platform-implementation-js/driver-common/getAccountUrlPart.js +0 -17
  207. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +0 -17
  208. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +0 -44
  209. package/src/platform-implementation-js/driver-common/getOriginalMessagePage.js +0 -33
  210. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +0 -18
  211. package/src/platform-implementation-js/driver-common/getSyncThreadsForSearch.js +0 -49
  212. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +0 -13
  213. package/src/platform-implementation-js/driver-common/gmailAjax.js +0 -65
  214. package/src/platform-implementation-js/driver-common/inboxAjax.js +0 -5
  215. package/src/platform-implementation-js/driver-common/render-custom-icon.js +0 -16
  216. package/src/platform-implementation-js/driver-common/requestGmailThread.js +0 -24
  217. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +0 -245
  218. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +0 -144
  219. package/src/platform-implementation-js/driver-common/sidebar/constants.js +0 -26
  220. package/src/platform-implementation-js/driver-common/update-icon.js +0 -90
  221. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +0 -1
  222. package/src/platform-implementation-js/driver-interfaces/driver.js +0 -1
  223. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +0 -1
  224. package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +0 -1
  225. package/src/platform-implementation-js/lib/ErrorCollector.js +0 -47
  226. package/src/platform-implementation-js/lib/Membrane.js +0 -22
  227. package/src/platform-implementation-js/lib/ScrollableContainByScreen.js +0 -30
  228. package/src/platform-implementation-js/lib/attemptWithRetries.js +0 -16
  229. package/src/platform-implementation-js/lib/common-page-communicator.js +0 -137
  230. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +0 -35
  231. package/src/platform-implementation-js/lib/css-selector-escape.js +0 -6
  232. package/src/platform-implementation-js/lib/delay-asap.js +0 -10
  233. package/src/platform-implementation-js/lib/delay-idle.js +0 -16
  234. package/src/platform-implementation-js/lib/dom/block-and-reemit-keyboard-events.js +0 -36
  235. package/src/platform-implementation-js/lib/dom/custom-events.js +0 -5
  236. package/src/platform-implementation-js/lib/dom/element-view-mapper.js +0 -9
  237. package/src/platform-implementation-js/lib/dom/generic-button-view.js +0 -39
  238. package/src/platform-implementation-js/lib/dom/get-insert-before-element.js +0 -39
  239. package/src/platform-implementation-js/lib/dom/get-selection.js +0 -30
  240. package/src/platform-implementation-js/lib/dom/insert-element-in-order.js +0 -38
  241. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +0 -83
  242. package/src/platform-implementation-js/lib/dom/is-node-in-range.js +0 -12
  243. package/src/platform-implementation-js/lib/dom/keyboard-shortcut-stream.js +0 -12
  244. package/src/platform-implementation-js/lib/dom/make-element-child-stream.js +0 -79
  245. package/src/platform-implementation-js/lib/dom/make-element-stream-merger.js +0 -27
  246. package/src/platform-implementation-js/lib/dom/make-element-view-stream.js +0 -15
  247. package/src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.js +0 -15
  248. package/src/platform-implementation-js/lib/dom/make-mutation-observer-stream.js +0 -5
  249. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.js +0 -8
  250. package/src/platform-implementation-js/lib/dom/outsideClicksAndEscape.js +0 -38
  251. package/src/platform-implementation-js/lib/dom/parentNodes.js +0 -8
  252. package/src/platform-implementation-js/lib/dom/querySelectorOrFail.js +0 -6
  253. package/src/platform-implementation-js/lib/dom/reemitClickEventForReact.js +0 -22
  254. package/src/platform-implementation-js/lib/dom/set-css.js +0 -20
  255. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +0 -88
  256. package/src/platform-implementation-js/lib/dom/simulate-key.js +0 -46
  257. package/src/platform-implementation-js/lib/dom/simulate-mouse-event.js +0 -16
  258. package/src/platform-implementation-js/lib/dom/trigger-relay-event.js +0 -7
  259. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.js +0 -25
  260. package/src/platform-implementation-js/lib/fake-window-resize.js +0 -5
  261. package/src/platform-implementation-js/lib/from-event-target-capture.js +0 -12
  262. package/src/platform-implementation-js/lib/fromEventsWithOptions.js +0 -10
  263. package/src/platform-implementation-js/lib/handle-compose-link-chips.js +0 -124
  264. package/src/platform-implementation-js/lib/handler-registry.js +0 -67
  265. package/src/platform-implementation-js/lib/idMap.js +0 -40
  266. package/src/platform-implementation-js/lib/imageRequest.js +0 -8
  267. package/src/platform-implementation-js/lib/incrementName.js +0 -7
  268. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.js +0 -8
  269. package/src/platform-implementation-js/lib/inject-script.js +0 -33
  270. package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +0 -44
  271. package/src/platform-implementation-js/lib/is-valid-app-id.js +0 -27
  272. package/src/platform-implementation-js/lib/is-valid-email.js +0 -14
  273. package/src/platform-implementation-js/lib/isNotNil.js +0 -5
  274. package/src/platform-implementation-js/lib/isStreakAppId.js +0 -11
  275. package/src/platform-implementation-js/lib/logger.js +0 -439
  276. package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +0 -10
  277. package/src/platform-implementation-js/lib/persistent-queue.js +0 -107
  278. package/src/platform-implementation-js/lib/populateRouteID.js +0 -17
  279. package/src/platform-implementation-js/lib/react/ElementContainer.js +0 -26
  280. package/src/platform-implementation-js/lib/routeIDmatchesHash.js +0 -8
  281. package/src/platform-implementation-js/lib/safe-event-emitter.js +0 -16
  282. package/src/platform-implementation-js/lib/stopper-pool.js +0 -41
  283. package/src/platform-implementation-js/lib/stream-wait-for.js +0 -30
  284. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +0 -12
  285. package/src/platform-implementation-js/lib/toLiveSet.js +0 -22
  286. package/src/platform-implementation-js/lib/wait-for.js +0 -38
  287. package/src/platform-implementation-js/lib/waitForAsync.js +0 -18
  288. package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +0 -5
  289. package/src/platform-implementation-js/main.js +0 -42
  290. package/src/platform-implementation-js/namespaces/app-menu.js +0 -81
  291. package/src/platform-implementation-js/namespaces/butter-bar.js +0 -163
  292. package/src/platform-implementation-js/namespaces/compose.js +0 -59
  293. package/src/platform-implementation-js/namespaces/conversations.js +0 -83
  294. package/src/platform-implementation-js/namespaces/global.js +0 -30
  295. package/src/platform-implementation-js/namespaces/keyboard.js +0 -30
  296. package/src/platform-implementation-js/namespaces/lists.js +0 -40
  297. package/src/platform-implementation-js/namespaces/modal.js +0 -43
  298. package/src/platform-implementation-js/namespaces/nav-menu.js +0 -33
  299. package/src/platform-implementation-js/namespaces/router.js +0 -139
  300. package/src/platform-implementation-js/namespaces/search.js +0 -29
  301. package/src/platform-implementation-js/namespaces/toolbars.js +0 -147
  302. package/src/platform-implementation-js/namespaces/user.js +0 -57
  303. package/src/platform-implementation-js/namespaces/widgets.js +0 -73
  304. package/src/platform-implementation-js/platform-implementation.js +0 -178
  305. package/src/platform-implementation-js/views/SimpleElementView.js +0 -16
  306. package/src/platform-implementation-js/views/app-menu-item-view.js +0 -442
  307. package/src/platform-implementation-js/views/app-toolbar-button-view.js +0 -43
  308. package/src/platform-implementation-js/views/collapsible-panel-view.js +0 -256
  309. package/src/platform-implementation-js/views/collapsible-section-view.js +0 -63
  310. package/src/platform-implementation-js/views/compose-button-view.js +0 -45
  311. package/src/platform-implementation-js/views/compose-view.js +0 -310
  312. package/src/platform-implementation-js/views/content-panel-view.js +0 -36
  313. package/src/platform-implementation-js/views/conversations/attachment-card-view.js +0 -41
  314. package/src/platform-implementation-js/views/conversations/custom-message-view.js +0 -117
  315. package/src/platform-implementation-js/views/conversations/message-view.js +0 -203
  316. package/src/platform-implementation-js/views/conversations/thread-view.js +0 -97
  317. package/src/platform-implementation-js/views/keyboard-shortcut-handle.js +0 -14
  318. package/src/platform-implementation-js/views/native-nav-item-view.js +0 -60
  319. package/src/platform-implementation-js/views/nav-item-view.js +0 -130
  320. package/src/platform-implementation-js/views/route-view/custom-route-view.js +0 -25
  321. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +0 -29
  322. package/src/platform-implementation-js/views/route-view/list-route-view.js +0 -46
  323. package/src/platform-implementation-js/views/route-view/route-view.js +0 -47
  324. package/src/platform-implementation-js/views/section-view.js +0 -60
  325. package/src/platform-implementation-js/views/thread-row-view.js +0 -90
  326. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.js +0 -39
  327. package/src/platform-implementation-js/widgets/buttons/dropdown-button-view-controller.js +0 -98
  328. package/src/platform-implementation-js/widgets/buttons/dropdown-view.js +0 -121
  329. package/src/platform-implementation-js/widgets/drawer-view.js +0 -46
  330. package/src/platform-implementation-js/widgets/modal-view.js +0 -108
  331. package/src/platform-implementation-js/widgets/mole-view.js +0 -38
  332. package/src/platform-implementation-js/widgets/top-message-bar-view.js +0 -15
@@ -1,16 +0,0 @@
1
- import EventEmitter from 'events';
2
- import Logger from './logger';
3
- /* eslint-disable prefer-rest-params */
4
- // Version of EventEmitter where any exceptions thrown by event handlers are
5
- // caught. This is used to catch exceptions from application code.
6
- export default class SafeEventEmitter extends EventEmitter {
7
- emit(_event, ..._args) {
8
- try {
9
- return super.emit.apply(this, arguments);
10
- }
11
- catch (e) {
12
- Logger.error(e);
13
- return true;
14
- }
15
- }
16
- }
@@ -1,41 +0,0 @@
1
- import * as Kefir from 'kefir';
2
- // An StopperPool is created from a stopper stream, and can have more stopper
3
- // streams added to it. It has a stream property which is a stopper stream which
4
- // emits a stop event and ends only after all of its input stopper streams have
5
- // stopped.
6
- export default class StopperPool {
7
- _streamCount = 0;
8
- _ended = false;
9
- _pool = Kefir.pool();
10
- stream;
11
- constructor(streams) {
12
- this.stream = this._pool
13
- .filter(() => {
14
- this._streamCount--;
15
- if (this._streamCount === 0) {
16
- this._ended = true;
17
- return true;
18
- }
19
- return false;
20
- })
21
- .take(1)
22
- .toProperty();
23
- // force stream to be active so this._streamCount, this._ended, and the
24
- // property's cached value will be kept up-to-date
25
- this.stream.onValue(() => {
26
- // ignore
27
- });
28
- this.add(streams);
29
- }
30
- add(newStreams) {
31
- if (this._ended) {
32
- throw new Error('Tried to add a stream to a stopped StopperPool');
33
- }
34
- const arrStreams = Array.isArray(newStreams) ? newStreams : [newStreams];
35
- this._streamCount += arrStreams.length;
36
- this._pool.plug(Kefir.merge(arrStreams.map((newStream) => newStream.take(1))));
37
- }
38
- getSize() {
39
- return this._streamCount;
40
- }
41
- }
@@ -1,30 +0,0 @@
1
- import * as Kefir from 'kefir';
2
- /**
3
- * Returns a Kefir stream that repeatedly calls the condition callback until it
4
- * returns a truthy value, and then the stream emits that value and ends.
5
- * If the timeout passes, an error event is emitted and the error is also
6
- * thrown so that it gets logged. Well-behaving code should not let the timeout
7
- * get tripped.
8
- */
9
- export default function streamWaitFor(condition, timeout = 60 * 1000, steptime = 250) {
10
- // make this error here so we have a sensible stack.
11
- const timeoutError = new Error('waitFor timeout');
12
- const timeoutStream = Kefir.later(timeout, null).flatMap(() => {
13
- const result = condition();
14
- if (result) {
15
- return Kefir.constant(result);
16
- }
17
- setTimeout(() => {
18
- throw timeoutError;
19
- }, 0);
20
- return Kefir.constantError(timeoutError);
21
- });
22
- const isTruthy = Boolean;
23
- return Kefir.later(0, null)
24
- .merge(Kefir.interval(steptime, null))
25
- .map(() => condition())
26
- .filter(isTruthy)
27
- .merge(timeoutStream)
28
- .take(1)
29
- .takeErrors(1);
30
- }
@@ -1,12 +0,0 @@
1
- import toValueObservable from 'live-set/toValueObservable';
2
- import * as Kefir from 'kefir';
3
- export default function toItemWithLifetimeStream(liveSet) {
4
- return Kefir.fromESObservable(toValueObservable(liveSet).map((event) => {
5
- const removal = event.removal;
6
- const removalStream = Kefir.fromPromise(removal);
7
- return {
8
- el: event.value,
9
- removalStream,
10
- };
11
- }));
12
- }
@@ -1,22 +0,0 @@
1
- import LiveSet from 'live-set';
2
- export default function toLiveSet(itemWithLifetimeStream) {
3
- return new LiveSet({
4
- read() {
5
- throw new Error('should not happen; liveset was inactive');
6
- },
7
- listen(setValues, controller) {
8
- setValues(new Set());
9
- const sub = itemWithLifetimeStream.observe({
10
- value({ el, removalStream }) {
11
- controller.add(el);
12
- removalStream.take(1).onValue(() => {
13
- controller.remove(el);
14
- });
15
- },
16
- });
17
- return () => {
18
- sub.unsubscribe();
19
- };
20
- },
21
- });
22
- }
@@ -1,38 +0,0 @@
1
- export class WaitForError extends Error {
2
- name = 'WaitForError';
3
- constructor() {
4
- super('waitFor timeout');
5
- }
6
- }
7
- /**
8
- * @param condition a function that returns the value to wait for, or falsey if it's not ready yet
9
- * @throws {WaitForError} if the condition is not met within the timeout
10
- */
11
- export default function waitFor(condition, timeout = 120 * 1000, steptime = 250) {
12
- // make this error here so we have a sensible stack.
13
- const timeoutError = new WaitForError();
14
- return new Promise(function (resolve, reject) {
15
- let waited = 0;
16
- function step() {
17
- try {
18
- const result = condition();
19
- if (result) {
20
- resolve(result);
21
- }
22
- else {
23
- if (waited >= timeout) {
24
- reject(timeoutError);
25
- }
26
- else {
27
- waited += steptime;
28
- setTimeout(step, steptime);
29
- }
30
- }
31
- }
32
- catch (e) {
33
- reject(e);
34
- }
35
- }
36
- setTimeout(step, 1);
37
- });
38
- }
@@ -1,18 +0,0 @@
1
- import delay from 'pdelay';
2
- export default async function waitForAsync(condition, timeout = 120 * 1000, steptime = 250) {
3
- // make this error here so we have a sensible stack.
4
- const timeoutError = new Error('waitForAsync timeout');
5
- const timeoutTime = Date.now() + timeout;
6
- // eslint-disable-next-line no-constant-condition
7
- while (true) {
8
- const result = await condition();
9
- if (result) {
10
- return result;
11
- }
12
- await delay(steptime);
13
- if (Date.now() > timeoutTime) {
14
- throw timeoutError;
15
- }
16
- }
17
- throw new Error();
18
- }
@@ -1,5 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-var-requires */
2
- import { injectScriptEmbedded } from './lib/inject-script-EMBEDDED';
3
- import * as injecter from './lib/inject-script';
4
- injecter.setInjectScriptImplementation(injectScriptEmbedded);
5
- export default require('./main').default;
@@ -1,42 +0,0 @@
1
- if (!global.__InboxSDKImpLoader) {
2
- var piMainStarted = Date.now();
3
- var wasAccountSwitcherReadyAtStart = !!document.querySelector('[role=banner] div[aria-label] div div a[href^="https://myaccount.google."], [role=banner]+div div[aria-label] div div a[href^="https://myaccount.google."]');
4
- var Kefir = require('kefir');
5
- var onready = new Promise((resolve) => {
6
- if (document.readyState === 'complete' ||
7
- document.readyState === 'interactive') {
8
- resolve();
9
- }
10
- else {
11
- resolve(Kefir.merge([
12
- Kefir.fromEvents(document, 'DOMContentLoaded'),
13
- Kefir.fromEvents(window, 'load'),
14
- ])
15
- .take(1)
16
- .map(() => null)
17
- .toPromise());
18
- }
19
- });
20
- global.__InboxSDKImpLoader = {
21
- load: function (version, appId, opts) {
22
- if (version !== '0.1') {
23
- throw new Error('Unsupported InboxSDK version');
24
- }
25
- // dropbox specially requested this, they have dropped support for their extensions
26
- // some users are on old version
27
- if (appId === 'dropbox') {
28
- throw new Error('No longer supported');
29
- }
30
- var piLoadStarted = Date.now();
31
- return onready.then(() => {
32
- const { makePlatformImplementation, } = require('./platform-implementation');
33
- return makePlatformImplementation(appId, opts, {
34
- piMainStarted,
35
- piLoadStarted,
36
- wasAccountSwitcherReadyAtStart,
37
- });
38
- });
39
- },
40
- };
41
- }
42
- export {};
@@ -1,81 +0,0 @@
1
- import kefir, { stream } from 'kefir';
2
- import GmailElementGetter from '../dom-driver/gmail/gmail-element-getter';
3
- import { AppMenuItemView } from '../views/app-menu-item-view';
4
- import { CollapsiblePanelView } from '../views/collapsible-panel-view';
5
- /**
6
- * This namespace contains functionality associated with adding app menu items to the app menu panel of Gmail. Typically, these app menu items are accessible by the user on the left side of the email client and include built in app menu items like the Mail and optionally either Chat, Meet, or both. If both Chat and Meet aren't enabled, the AppMenu will not be displayed.
7
- *
8
- * This namespace allows you to add your own items to this App menu. Typically, these app menu items are useful to either place high level collapsible panels like the NavMenu or send users to different Routes that you have already registered providing navigation for your entire application.
9
- The app menu is represented as a list of items. Each item can have either a CollapsiblePanel or click handler.
10
- Items with CollapsiblePanels can also have accessories which provide primary actions like providing a "create new" action.
11
- */
12
- export default class AppMenu {
13
- #driver;
14
- #events = stream((emitter) => {
15
- const f = async () => {
16
- const isShown = await this.isShown();
17
- if (!isShown) {
18
- return;
19
- }
20
- const appMenu = await GmailElementGetter.getAppMenuAsync();
21
- if (!appMenu) {
22
- return;
23
- }
24
- const onTransition = async (e) => {
25
- const { TOGGLE_OPEN_STATE } = CollapsiblePanelView.elementCss;
26
- const { target, type } = e;
27
- if (target instanceof HTMLElement &&
28
- target.matches(CollapsiblePanelView.elementSelectors.NATIVE) &&
29
- ((type === 'transitionstart' &&
30
- target.classList.contains(TOGGLE_OPEN_STATE)) ||
31
- // TOGGLE_OPEN_STATE is removed on transitioncancel TransitionEvents
32
- type === 'transitioncancel' ||
33
- type === 'transitionend')) {
34
- emitter.emit({
35
- name: 'collapseToggled',
36
- event: e,
37
- });
38
- }
39
- };
40
- kefir
41
- .merge(['transitionstart', 'transitioncancel', 'transitionend'].map((x) => kefir.fromEvents(appMenu.parentElement, x)))
42
- .onValue(onTransition);
43
- };
44
- f();
45
- });
46
- constructor(driver) {
47
- this.#driver = driver;
48
- }
49
- /**
50
- * A stream of events related to the AppMenu.
51
- *
52
- * @note If the AppMenu is not shown, this stream will not emit any events.
53
- */
54
- get events() {
55
- return this.#events;
56
- }
57
- /**
58
- * @returns whether or not the AppMenu Burger is uncollapsed or not.
59
- */
60
- isMenuOpen() {
61
- return GmailElementGetter.isAppBurgerMenuOpen();
62
- }
63
- /**
64
- * Adds an app menu item to the app menu. Because the AppMenu may not be shown, this method expects `AppMenu.isShown` to be called first.
65
- *
66
- * If @see AppMenu#isShown returns `false` and this method is called, the SDK waits a bit for the AppMenu selector and then logs a warning.
67
- *
68
- * If the `insertOrder` option is provided, the app menu item will be added at that index. If it is not, the SDK adds the app menu item after Gmail's default app menu icons.
69
- */
70
- addMenuItem(menuItemDescriptor) {
71
- const navItemView = new AppMenuItemView(this.#driver, menuItemDescriptor);
72
- return navItemView;
73
- }
74
- /**
75
- * @returns true if the app menu is visible. At time of writing, this typically means they have chose to enable Chat, Meet, or both.
76
- */
77
- async isShown() {
78
- const result = await GmailElementGetter.getAppMenuAsync();
79
- return !!result;
80
- }
81
- }
@@ -1,163 +0,0 @@
1
- import defaults from 'lodash/defaults';
2
- import sortBy from 'lodash/sortBy';
3
- import find from 'lodash/find';
4
- import Kefir from 'kefir';
5
- import kefirBus from 'kefir-bus';
6
- import defer from '../../common/defer';
7
- import get from '../../common/get-or-fail';
8
- const ancientComplainTime = 2 * 60 * 1000;
9
- const dummyPacket = Object.freeze({
10
- destroy: Object.freeze(function () {
11
- // do nothing
12
- }),
13
- });
14
- const memberMap = new WeakMap();
15
- // documented in src/docs/
16
- export default class ButterBar {
17
- constructor(appId, driver) {
18
- const members = {
19
- driver,
20
- messagesByKey: new Map(),
21
- queuedPackets: [],
22
- };
23
- memberMap.set(this, members);
24
- }
25
- showMessage(options) {
26
- defaults(options, {
27
- priority: 0,
28
- time: 15 * 1000,
29
- hideOnViewChanged: true,
30
- persistent: false,
31
- });
32
- this.hideMessage(options.messageKey);
33
- const members = get(memberMap, this);
34
- const butterBarDriver = members.driver.getButterBarDriver();
35
- const messageId = Date.now() + '-' + Math.random();
36
- {
37
- let queue = butterBarDriver.getSharedMessageQueue();
38
- queue.unshift({
39
- messageId,
40
- priority: options.priority,
41
- persistent: options.persistent,
42
- });
43
- queue = sortBy(queue, (item) => -item.priority);
44
- queue = queue.filter((item, i) => i === 0 || item.persistent);
45
- butterBarDriver.setSharedMessageQueue(queue);
46
- if (!find(queue, (item) => item.messageId === messageId)) {
47
- return dummyPacket;
48
- }
49
- }
50
- const stopper = kefirBus();
51
- if (options.hideOnViewChanged) {
52
- // Set hideOnViewChanged to true only after this run of the event
53
- // loop completes. This fixes the issue where a butterbar message
54
- // with hideOnViewChanged spawned in a gmail viewChanged handler
55
- // would die immediately as the rest of the event's handlers are
56
- // called.
57
- stopper.plug(Kefir.later(0, null)
58
- .flatMap(() => members.driver.getRouteViewDriverStream().changes())
59
- .map(() => null));
60
- }
61
- if (isFinite(options.time)) {
62
- stopper.plug(Kefir.later(options.time, null));
63
- }
64
- // Error made here for sensible stack
65
- const timeoutErr = new Error('Butter bar message timed out');
66
- stopper.plug(Kefir.later(ancientComplainTime, null).map((x) => {
67
- members.driver.getLogger().errorApp(timeoutErr);
68
- return x;
69
- }));
70
- stopper.take(1).onValue(() => {
71
- if (options.messageKey) {
72
- members.messagesByKey.delete(options.messageKey);
73
- }
74
- const queue = butterBarDriver.getSharedMessageQueue();
75
- butterBarDriver.setSharedMessageQueue(queue.filter((item) => item.messageId !== messageId));
76
- });
77
- butterBarDriver
78
- .getNoticeAvailableStream()
79
- .toProperty(() => null)
80
- .takeUntilBy(stopper)
81
- .filter(() => {
82
- const queue = butterBarDriver.getSharedMessageQueue();
83
- if (!queue[0])
84
- stopper.value(undefined);
85
- return queue[0] && queue[0].messageId === messageId;
86
- })
87
- .onValue(() => {
88
- const rawHandle = butterBarDriver.showMessage(options);
89
- stopper.take(1).onValue(() => {
90
- rawHandle.destroy();
91
- });
92
- });
93
- const message = {
94
- destroy() {
95
- stopper.value(undefined);
96
- },
97
- };
98
- if (options.messageKey) {
99
- members.messagesByKey.set(options.messageKey, message);
100
- }
101
- return message;
102
- }
103
- showLoading(options = {}) {
104
- defaults(options, {
105
- text: 'Loading...',
106
- priority: -3,
107
- time: Infinity,
108
- persistent: true,
109
- hideOnViewChanged: true,
110
- });
111
- options.time = Infinity; // Loading messages should exist until destroyed.
112
- return this.showMessage(options);
113
- }
114
- showError(options) {
115
- defaults(options, {
116
- priority: 100,
117
- className: 'inboxsdk__butterbar_error',
118
- });
119
- return this.showMessage(options);
120
- }
121
- showSaving(options = {}) {
122
- defaults(options, {
123
- text: 'Saving...',
124
- confirmationText: 'Saved',
125
- confirmationTime: 1 * 1000,
126
- priority: -2,
127
- time: Infinity,
128
- persistent: true,
129
- hideOnViewChanged: false,
130
- showConfirmation: true,
131
- });
132
- const savingMessage = this.showMessage(options);
133
- const deferred = defer();
134
- deferred.promise.then(() => {
135
- savingMessage.destroy();
136
- if (options.showConfirmation) {
137
- this.showMessage({
138
- text: options.confirmationText,
139
- messageKey: options.messageKey,
140
- time: options.confirmationTime,
141
- priority: 200,
142
- });
143
- }
144
- }, () => {
145
- savingMessage.destroy();
146
- });
147
- return deferred;
148
- }
149
- hideMessage(messageKey) {
150
- if (messageKey) {
151
- const members = get(memberMap, this);
152
- const message = members.messagesByKey.get(messageKey);
153
- if (message) {
154
- message.destroy();
155
- }
156
- }
157
- }
158
- hideGmailMessage() {
159
- const members = get(memberMap, this);
160
- const butterBarDriver = members.driver.getButterBarDriver();
161
- butterBarDriver.hideGmailMessage();
162
- }
163
- }
@@ -1,59 +0,0 @@
1
- import * as ud from 'ud';
2
- import * as Kefir from 'kefir';
3
- import get from '../../common/get-or-fail';
4
- import HandlerRegistry from '../lib/handler-registry';
5
- const memberMap = ud.defonce(module, () => new WeakMap());
6
- const SAMPLE_RATE = 0.01; // documented in src/docs/
7
- class Compose {
8
- constructor(driver, membrane) {
9
- const members = {
10
- driver,
11
- membrane,
12
- handlerRegistry: new HandlerRegistry(),
13
- composeViewStream: driver
14
- .getComposeViewDriverStream()
15
- .map((viewDriver) => membrane.get(viewDriver)),
16
- };
17
- memberMap.set(this, members);
18
- driver.getStopper().onValue(() => {
19
- members.handlerRegistry.dumpHandlers();
20
- });
21
- members.composeViewStream.onValue((view) => {
22
- driver.getLogger().trackFunctionPerformance(() => {
23
- members.handlerRegistry.addTarget(view);
24
- }, SAMPLE_RATE, {
25
- type: 'composeViewHandler',
26
- isInlineReplyForm: view.isInlineReplyForm(),
27
- });
28
- });
29
- }
30
- registerComposeViewHandler(handler) {
31
- return get(memberMap, this).handlerRegistry.registerHandler(handler);
32
- }
33
- async openNewComposeView() {
34
- const members = get(memberMap, this);
35
- const composeViewDriver = await members.driver.openNewComposeViewDriver();
36
- return members.membrane.get(composeViewDriver);
37
- }
38
- async openDraftByMessageID(messageID) {
39
- const members = get(memberMap, this);
40
- const newComposePromise = members.composeViewStream.take(1).toPromise();
41
- await members.driver.openDraftByMessageID(messageID);
42
- return Kefir.fromPromise(newComposePromise)
43
- .merge(Kefir.later(15 * 1000, null).flatMap(() => Kefir.constantError(new Error('draft did not open in time'))))
44
- .take(1)
45
- .takeErrors(1)
46
- .toPromise();
47
- }
48
- getComposeView() {
49
- const { driver } = get(memberMap, this);
50
- driver
51
- .getLogger()
52
- .deprecationWarning('Compose.getComposeView', 'Compose.openNewComposeView');
53
- if (driver.getOpts().REQUESTED_API_VERSION !== 1) {
54
- throw new Error('This method was discontinued after API version 1');
55
- }
56
- return this.openNewComposeView();
57
- }
58
- }
59
- export default Compose;
@@ -1,83 +0,0 @@
1
- import * as Kefir from 'kefir';
2
- import get from '../../common/get-or-fail';
3
- import ThreadView from '../views/conversations/thread-view';
4
- import MessageView from '../views/conversations/message-view';
5
- import HandlerRegistry from '../lib/handler-registry';
6
- const memberMap = new WeakMap();
7
- export const MessageViewViewStates = Object.freeze({
8
- HIDDEN: 'HIDDEN',
9
- COLLAPSED: 'COLLAPSED',
10
- EXPANDED: 'EXPANDED',
11
- });
12
- export const MessageViewToolbarSectionNames = Object.freeze({
13
- MORE: 'MORE',
14
- }); // documented in src/docs/
15
- class Conversations {
16
- MessageViewViewStates = MessageViewViewStates;
17
- MessageViewToolbarSectionNames = MessageViewToolbarSectionNames;
18
- constructor(appId, driver, membrane) {
19
- const members = {
20
- appId,
21
- driver,
22
- threadViewHandlerRegistry: new HandlerRegistry(),
23
- messageViewHandlerRegistries: {
24
- all: new HandlerRegistry(),
25
- loaded: new HandlerRegistry(),
26
- },
27
- attachmentCardViewHandlerRegistry: new HandlerRegistry(),
28
- };
29
- memberMap.set(this, members);
30
- driver.getStopper().onValue(() => {
31
- members.threadViewHandlerRegistry.dumpHandlers();
32
- members.messageViewHandlerRegistries.all.dumpHandlers();
33
- members.messageViewHandlerRegistries.loaded.dumpHandlers();
34
- });
35
- driver
36
- .getAttachmentCardViewDriverStream()
37
- .filter((cardDriver) => cardDriver.getAttachmentType() === 'FILE')
38
- .onValue((attachmentCardViewDriver) => {
39
- const attachmentCardView = membrane.get(attachmentCardViewDriver);
40
- members.attachmentCardViewHandlerRegistry.addTarget(attachmentCardView);
41
- });
42
- _setupViewDriverWatcher(appId, driver.getThreadViewDriverStream().filter((t) => !t.isLoadingStub()), ThreadView, members.threadViewHandlerRegistry, this, membrane);
43
- _setupViewDriverWatcher(appId, driver.getMessageViewDriverStream(), MessageView, members.messageViewHandlerRegistries.all, this, membrane);
44
- _setupViewDriverWatcher(appId, driver.getMessageViewDriverStream().flatMap((messageViewDriver) => messageViewDriver.isLoaded()
45
- ? Kefir.constant(messageViewDriver)
46
- : messageViewDriver
47
- .getEventStream()
48
- .filter((event) => event.eventName === 'messageLoad')
49
- .map(() => messageViewDriver)
50
- .take(1)), MessageView, members.messageViewHandlerRegistries.loaded, this, membrane);
51
- }
52
- registerThreadViewHandler(handler) {
53
- return get(memberMap, this).threadViewHandlerRegistry.registerHandler(handler);
54
- }
55
- registerMessageViewHandler(handler) {
56
- return get(memberMap, this).messageViewHandlerRegistries.loaded.registerHandler(handler);
57
- }
58
- registerMessageViewHandlerAll(handler) {
59
- return get(memberMap, this).messageViewHandlerRegistries.all.registerHandler(handler);
60
- }
61
- registerFileAttachmentCardViewHandler(handler) {
62
- return get(memberMap, this).attachmentCardViewHandlerRegistry.registerHandler(handler);
63
- }
64
- }
65
- function _setupViewDriverWatcher(appId, stream, ViewClass, handlerRegistry, ConversationsInstance, membrane) {
66
- var combinedStream = stream.map(function (viewDriver) {
67
- const view = membrane.get(viewDriver);
68
- return {
69
- viewDriver,
70
- view,
71
- };
72
- });
73
- // A delay is currently necessary so that ThreadView can wait for its MessageViews.
74
- combinedStream
75
- .flatMap((event) => event.viewDriver
76
- .getReadyStream()
77
- .map(() => event)
78
- .takeUntilBy(Kefir.fromEvents(event.view, 'destroy')))
79
- .onValue(function (event) {
80
- handlerRegistry.addTarget(event.view);
81
- });
82
- }
83
- export default Conversations;
@@ -1,30 +0,0 @@
1
- import Kefir from 'kefir';
2
- import kefirCast from 'kefir-cast';
3
- import ContentPanelView from '../views/content-panel-view';
4
- import get from '../../common/get-or-fail';
5
- const memberMap = new WeakMap();
6
- export default class Global {
7
- constructor(appId, driver, piOpts) {
8
- const members = {
9
- appId,
10
- driver,
11
- piOpts,
12
- };
13
- memberMap.set(this, members);
14
- }
15
- async addSidebarContentPanel(descriptor) {
16
- const descriptorPropertyStream = kefirCast(Kefir, descriptor).toProperty();
17
- const members = get(memberMap, this);
18
- members.driver.getLogger().eventSdkPassive('global.addSidebarContentPanel');
19
- const contentPanelImplementation = await members.driver.addGlobalSidebarContentPanel(descriptorPropertyStream);
20
- if (contentPanelImplementation) {
21
- return new ContentPanelView(contentPanelImplementation);
22
- }
23
- return null;
24
- }
25
- addSupportItem(supportItemDescriptor) {
26
- const members = get(memberMap, this);
27
- members.driver.getLogger().eventSdkPassive('global.addSupportItem');
28
- return members.driver.addSupportItem(supportItemDescriptor);
29
- }
30
- }