@inboxsdk/core 1.2.5 → 1.2.8-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (334) hide show
  1. package/inboxsdk.js +4462 -456
  2. package/inboxsdk.js.map +1 -1
  3. package/package.json +3 -2
  4. package/pageWorld.js +1 -1
  5. package/pageWorld.js.map +1 -1
  6. package/src/inboxsdk.d.ts +29 -0
  7. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.d.ts +2 -2
  8. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.d.ts.map +1 -1
  9. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts +6 -1
  10. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts.map +1 -1
  11. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts +2 -2
  12. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts.map +1 -1
  13. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts +5 -0
  14. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts.map +1 -1
  15. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.d.ts +13 -5
  16. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.d.ts.map +1 -1
  17. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.d.ts +15 -1
  18. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.d.ts.map +1 -1
  19. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts +1 -1
  20. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts.map +1 -1
  21. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.d.ts +9 -0
  22. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.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/compose-view.d.ts +8 -2
  28. package/src/platform-implementation-js/views/compose-view.d.ts.map +1 -1
  29. package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts +12 -5
  30. package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts.map +1 -1
  31. package/src/platform-implementation-js/views/native-nav-item-view.d.ts +2 -1
  32. package/src/platform-implementation-js/views/native-nav-item-view.d.ts.map +1 -1
  33. package/src/build/exec.js +0 -26
  34. package/src/build/spawn.js +0 -17
  35. package/src/common/ajax.js +0 -90
  36. package/src/common/cachebust-url.js +0 -10
  37. package/src/common/censorHTMLstring.js +0 -37
  38. package/src/common/censorHTMLtree.js +0 -28
  39. package/src/common/censorJSONTree.js +0 -15
  40. package/src/common/connectivity-test.js +0 -21
  41. package/src/common/defer.js +0 -11
  42. package/src/common/find-parent.js +0 -10
  43. package/src/common/get-extension-id.js +0 -7
  44. package/src/common/get-or-fail.js +0 -8
  45. package/src/common/get-session-id.js +0 -14
  46. package/src/common/get-stack-trace.js +0 -6
  47. package/src/common/html-to-text.js +0 -7
  48. package/src/common/isElementVisible.js +0 -6
  49. package/src/common/load-script.js +0 -126
  50. package/src/common/log-error.js +0 -185
  51. package/src/common/quoted-split.js +0 -18
  52. package/src/common/rate-limit-queuer.js +0 -57
  53. package/src/common/rate-limit.js +0 -14
  54. package/src/common/version.js +0 -8
  55. package/src/inboxsdk-js/header.js +0 -19
  56. package/src/inboxsdk-js/inboxsdk-NONREMOTE-INTEGRATED-PAGEWORLD.js +0 -4
  57. package/src/inboxsdk-js/inboxsdk-NONREMOTE.js +0 -4
  58. package/src/inboxsdk-js/inboxsdk-REMOTE.js +0 -2
  59. package/src/inboxsdk-js/inboxsdk-TEST.js +0 -5
  60. package/src/inboxsdk-js/inboxsdk.js +0 -23
  61. package/src/inboxsdk-js/loading/load-platform-implementation-DEV.js +0 -14
  62. package/src/inboxsdk-js/loading/platform-implementation-loader.js +0 -28
  63. package/src/injected-js/gmail/constants.js +0 -2
  64. package/src/injected-js/gmail/modify-suggestions.js +0 -106
  65. package/src/injected-js/gmail/setup-gmail-interceptor.js +0 -936
  66. package/src/injected-js/gmail/setup-gmonkey-handler.js +0 -49
  67. package/src/injected-js/gmail/sync-compose-processor-20220909.js +0 -298
  68. package/src/injected-js/gmail/sync-compose-processor.js +0 -55
  69. package/src/injected-js/gmail/sync-compose-request-processor.js +0 -109
  70. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +0 -71
  71. package/src/injected-js/gmail/thread-identifier/index.js +0 -133
  72. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +0 -61
  73. package/src/injected-js/injected-logger.js +0 -50
  74. package/src/injected-js/main.js +0 -49
  75. package/src/injected-js/message-metadata-holder.js +0 -103
  76. package/src/injected-js/setup-data-exposer.js +0 -135
  77. package/src/injected-js/setup-error-silencer.js +0 -15
  78. package/src/injected-js/setup-event-reemitter.js +0 -47
  79. package/src/injected-js/setupCustomViewEventAssassin.js +0 -90
  80. package/src/injected-js/setupInboxCustomViewLinkFixer.js +0 -24
  81. package/src/injected-js/setupPushStateListener.js +0 -14
  82. package/src/injected-js/xhr-helper.js +0 -43
  83. package/src/injected-js/xhr-proxy-factory.js +0 -537
  84. package/src/platform-implementation-js/constants/nav-item-types.js +0 -19
  85. package/src/platform-implementation-js/constants/router.js +0 -60
  86. package/src/platform-implementation-js/constants/toolbars.js +0 -5
  87. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.js +0 -158
  88. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.js +0 -20
  89. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.js +0 -38
  90. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.js +0 -98
  91. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-support-item.js +0 -4
  92. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +0 -14
  93. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.js +0 -60
  94. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/encodeDraftUrlId.js +0 -8
  95. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.js +0 -47
  96. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.js +0 -31
  97. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-message-id.js +0 -12
  98. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-thread-id.js +0 -33
  99. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +0 -22
  100. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +0 -18
  101. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +0 -57
  102. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +0 -40
  103. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +0 -55
  104. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.js +0 -14
  105. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.js +0 -177
  106. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.js +0 -17
  107. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.js +0 -44
  108. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.js +0 -49
  109. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.js +0 -18
  110. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.js +0 -138
  111. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.js +0 -112
  112. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +0 -152
  113. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.js +0 -21
  114. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.js +0 -48
  115. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +0 -357
  116. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.js +0 -19
  117. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.js +0 -36
  118. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.js +0 -36
  119. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +0 -85
  120. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +0 -142
  121. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.js +0 -115
  122. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +0 -50
  123. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +0 -723
  124. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/get-main-content-element-changed-stream.js +0 -38
  125. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/wait-for-gmail-mode-to-settle.js +0 -12
  126. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.js +0 -264
  127. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.js +0 -201
  128. package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.js +0 -532
  129. package/src/platform-implementation-js/dom-driver/gmail/gmail-sync-response-processor.js +0 -300
  130. package/src/platform-implementation-js/dom-driver/gmail/is-compose-titlebar-light-color.js +0 -21
  131. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +0 -92
  132. package/src/platform-implementation-js/dom-driver/gmail/makePageParserTree.js +0 -28
  133. package/src/platform-implementation-js/dom-driver/gmail/pageParserOptions.js +0 -19
  134. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.js +0 -129
  135. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +0 -80
  136. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +0 -23
  137. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +0 -26
  138. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.js +0 -16
  139. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +0 -723
  140. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +0 -24
  141. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +0 -172
  142. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +0 -106
  143. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +0 -338
  144. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.js +0 -22
  145. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +0 -720
  146. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +0 -135
  147. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +0 -50
  148. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +0 -65
  149. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.js +0 -101
  150. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +0 -66
  151. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/detectClassicRecipientsArea.js +0 -38
  152. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +0 -10
  153. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +0 -14
  154. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +0 -13
  155. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +0 -60
  156. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +0 -54
  157. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +0 -98
  158. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.js +0 -28
  159. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +0 -13
  160. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +0 -18
  161. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +0 -16
  162. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.js +0 -22
  163. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +0 -23
  164. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.js +0 -233
  165. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +0 -19
  166. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +0 -355
  167. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +0 -21
  168. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +0 -63
  169. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/page-parser.js +0 -223
  170. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +0 -19
  171. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/set-recipients.js +0 -157
  172. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/setupLinkPopovers.js +0 -109
  173. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +0 -123
  174. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +0 -16
  175. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +0 -1542
  176. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.js +0 -4
  177. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +0 -75
  178. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +0 -737
  179. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.js +0 -763
  180. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +0 -103
  181. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +0 -508
  182. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +0 -236
  183. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-support-item-view.js +0 -84
  184. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +0 -986
  185. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +0 -26
  186. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +0 -658
  187. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +0 -459
  188. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +0 -265
  189. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-color-classes.js +0 -33
  190. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.js +0 -325
  191. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.js +0 -61
  192. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.js +0 -58
  193. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +0 -23
  194. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.js +0 -101
  195. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-dropdown-button-view.js +0 -30
  196. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-parent-accessory-button-view.js +0 -10
  197. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +0 -42
  198. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.js +0 -22
  199. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +0 -112
  200. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.js +0 -122
  201. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +0 -194
  202. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +0 -352
  203. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.js +0 -76
  204. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +0 -57
  205. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +0 -291
  206. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +0 -28
  207. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +0 -46
  208. package/src/platform-implementation-js/driver-common/getAccountUrlPart.js +0 -17
  209. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +0 -17
  210. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +0 -44
  211. package/src/platform-implementation-js/driver-common/getOriginalMessagePage.js +0 -33
  212. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +0 -18
  213. package/src/platform-implementation-js/driver-common/getSyncThreadsForSearch.js +0 -49
  214. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +0 -13
  215. package/src/platform-implementation-js/driver-common/gmailAjax.js +0 -65
  216. package/src/platform-implementation-js/driver-common/inboxAjax.js +0 -5
  217. package/src/platform-implementation-js/driver-common/render-custom-icon.js +0 -16
  218. package/src/platform-implementation-js/driver-common/requestGmailThread.js +0 -24
  219. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +0 -245
  220. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +0 -144
  221. package/src/platform-implementation-js/driver-common/sidebar/constants.js +0 -26
  222. package/src/platform-implementation-js/driver-common/update-icon.js +0 -90
  223. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +0 -1
  224. package/src/platform-implementation-js/driver-interfaces/driver.js +0 -1
  225. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +0 -1
  226. package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +0 -1
  227. package/src/platform-implementation-js/lib/ErrorCollector.js +0 -47
  228. package/src/platform-implementation-js/lib/Membrane.js +0 -22
  229. package/src/platform-implementation-js/lib/ScrollableContainByScreen.js +0 -30
  230. package/src/platform-implementation-js/lib/attemptWithRetries.js +0 -16
  231. package/src/platform-implementation-js/lib/common-page-communicator.js +0 -137
  232. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +0 -35
  233. package/src/platform-implementation-js/lib/css-selector-escape.js +0 -6
  234. package/src/platform-implementation-js/lib/delay-asap.js +0 -10
  235. package/src/platform-implementation-js/lib/delay-idle.js +0 -16
  236. package/src/platform-implementation-js/lib/dom/block-and-reemit-keyboard-events.js +0 -36
  237. package/src/platform-implementation-js/lib/dom/custom-events.js +0 -5
  238. package/src/platform-implementation-js/lib/dom/element-view-mapper.js +0 -9
  239. package/src/platform-implementation-js/lib/dom/generic-button-view.js +0 -39
  240. package/src/platform-implementation-js/lib/dom/get-insert-before-element.js +0 -39
  241. package/src/platform-implementation-js/lib/dom/get-selection.js +0 -30
  242. package/src/platform-implementation-js/lib/dom/insert-element-in-order.js +0 -38
  243. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +0 -83
  244. package/src/platform-implementation-js/lib/dom/is-node-in-range.js +0 -12
  245. package/src/platform-implementation-js/lib/dom/keyboard-shortcut-stream.js +0 -12
  246. package/src/platform-implementation-js/lib/dom/make-element-child-stream.js +0 -79
  247. package/src/platform-implementation-js/lib/dom/make-element-stream-merger.js +0 -27
  248. package/src/platform-implementation-js/lib/dom/make-element-view-stream.js +0 -15
  249. package/src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.js +0 -15
  250. package/src/platform-implementation-js/lib/dom/make-mutation-observer-stream.js +0 -5
  251. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.js +0 -8
  252. package/src/platform-implementation-js/lib/dom/outsideClicksAndEscape.js +0 -38
  253. package/src/platform-implementation-js/lib/dom/parentNodes.js +0 -8
  254. package/src/platform-implementation-js/lib/dom/querySelectorOrFail.js +0 -6
  255. package/src/platform-implementation-js/lib/dom/reemitClickEventForReact.js +0 -22
  256. package/src/platform-implementation-js/lib/dom/set-css.js +0 -20
  257. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +0 -88
  258. package/src/platform-implementation-js/lib/dom/simulate-key.js +0 -46
  259. package/src/platform-implementation-js/lib/dom/simulate-mouse-event.js +0 -16
  260. package/src/platform-implementation-js/lib/dom/trigger-relay-event.js +0 -7
  261. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.js +0 -25
  262. package/src/platform-implementation-js/lib/fake-window-resize.js +0 -5
  263. package/src/platform-implementation-js/lib/from-event-target-capture.js +0 -12
  264. package/src/platform-implementation-js/lib/fromEventsWithOptions.js +0 -10
  265. package/src/platform-implementation-js/lib/handle-compose-link-chips.js +0 -124
  266. package/src/platform-implementation-js/lib/handler-registry.js +0 -67
  267. package/src/platform-implementation-js/lib/idMap.js +0 -40
  268. package/src/platform-implementation-js/lib/imageRequest.js +0 -8
  269. package/src/platform-implementation-js/lib/incrementName.js +0 -7
  270. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.js +0 -13
  271. package/src/platform-implementation-js/lib/inject-script.js +0 -33
  272. package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +0 -44
  273. package/src/platform-implementation-js/lib/is-valid-app-id.js +0 -27
  274. package/src/platform-implementation-js/lib/is-valid-email.js +0 -14
  275. package/src/platform-implementation-js/lib/isNotNil.js +0 -5
  276. package/src/platform-implementation-js/lib/isStreakAppId.js +0 -11
  277. package/src/platform-implementation-js/lib/logger.js +0 -439
  278. package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +0 -10
  279. package/src/platform-implementation-js/lib/persistent-queue.js +0 -107
  280. package/src/platform-implementation-js/lib/populateRouteID.js +0 -17
  281. package/src/platform-implementation-js/lib/react/ElementContainer.js +0 -26
  282. package/src/platform-implementation-js/lib/routeIDmatchesHash.js +0 -8
  283. package/src/platform-implementation-js/lib/safe-event-emitter.js +0 -16
  284. package/src/platform-implementation-js/lib/stopper-pool.js +0 -41
  285. package/src/platform-implementation-js/lib/stream-wait-for.js +0 -30
  286. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +0 -12
  287. package/src/platform-implementation-js/lib/toLiveSet.js +0 -22
  288. package/src/platform-implementation-js/lib/wait-for.js +0 -38
  289. package/src/platform-implementation-js/lib/waitForAsync.js +0 -18
  290. package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +0 -5
  291. package/src/platform-implementation-js/main.js +0 -42
  292. package/src/platform-implementation-js/namespaces/app-menu.js +0 -81
  293. package/src/platform-implementation-js/namespaces/butter-bar.js +0 -163
  294. package/src/platform-implementation-js/namespaces/compose.js +0 -59
  295. package/src/platform-implementation-js/namespaces/conversations.js +0 -83
  296. package/src/platform-implementation-js/namespaces/global.js +0 -30
  297. package/src/platform-implementation-js/namespaces/keyboard.js +0 -30
  298. package/src/platform-implementation-js/namespaces/lists.js +0 -40
  299. package/src/platform-implementation-js/namespaces/modal.js +0 -43
  300. package/src/platform-implementation-js/namespaces/nav-menu.js +0 -33
  301. package/src/platform-implementation-js/namespaces/router.js +0 -139
  302. package/src/platform-implementation-js/namespaces/search.js +0 -29
  303. package/src/platform-implementation-js/namespaces/toolbars.js +0 -147
  304. package/src/platform-implementation-js/namespaces/user.js +0 -57
  305. package/src/platform-implementation-js/namespaces/widgets.js +0 -73
  306. package/src/platform-implementation-js/platform-implementation.js +0 -178
  307. package/src/platform-implementation-js/views/SimpleElementView.js +0 -16
  308. package/src/platform-implementation-js/views/app-menu-item-view.js +0 -442
  309. package/src/platform-implementation-js/views/app-toolbar-button-view.js +0 -43
  310. package/src/platform-implementation-js/views/collapsible-panel-view.js +0 -256
  311. package/src/platform-implementation-js/views/collapsible-section-view.js +0 -63
  312. package/src/platform-implementation-js/views/compose-button-view.js +0 -45
  313. package/src/platform-implementation-js/views/compose-view.js +0 -310
  314. package/src/platform-implementation-js/views/content-panel-view.js +0 -36
  315. package/src/platform-implementation-js/views/conversations/attachment-card-view.js +0 -41
  316. package/src/platform-implementation-js/views/conversations/custom-message-view.js +0 -117
  317. package/src/platform-implementation-js/views/conversations/message-view.js +0 -203
  318. package/src/platform-implementation-js/views/conversations/thread-view.js +0 -97
  319. package/src/platform-implementation-js/views/keyboard-shortcut-handle.js +0 -14
  320. package/src/platform-implementation-js/views/native-nav-item-view.js +0 -60
  321. package/src/platform-implementation-js/views/nav-item-view.js +0 -130
  322. package/src/platform-implementation-js/views/route-view/custom-route-view.js +0 -25
  323. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +0 -29
  324. package/src/platform-implementation-js/views/route-view/list-route-view.js +0 -46
  325. package/src/platform-implementation-js/views/route-view/route-view.js +0 -47
  326. package/src/platform-implementation-js/views/section-view.js +0 -60
  327. package/src/platform-implementation-js/views/thread-row-view.js +0 -90
  328. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.js +0 -39
  329. package/src/platform-implementation-js/widgets/buttons/dropdown-button-view-controller.js +0 -98
  330. package/src/platform-implementation-js/widgets/buttons/dropdown-view.js +0 -121
  331. package/src/platform-implementation-js/widgets/drawer-view.js +0 -46
  332. package/src/platform-implementation-js/widgets/modal-view.js +0 -108
  333. package/src/platform-implementation-js/widgets/mole-view.js +0 -38
  334. 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
- }