@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,256 +0,0 @@
1
- import cx from 'classnames';
2
- import * as Kefir from 'kefir';
3
- import kefirCast from 'kefir-cast';
4
- import EventEmitter from '../lib/safe-event-emitter';
5
- import autoHtml from 'auto-html';
6
- import querySelector from '../lib/dom/querySelectorOrFail';
7
- import GmailElementGetter from '../dom-driver/gmail/gmail-element-getter';
8
- import NavItemView from './nav-item-view';
9
- import { stylesStream } from '../dom-driver/gmail/gmail-driver/track-gmail-styles';
10
- import isEqual from 'fast-deep-equal';
11
- export const NATIVE_CLASS = 'aqn';
12
- export const INBOXSDK_CLASS = 'inboxsdk__collapsiblePanel';
13
- const ELEMENT_CLASS = `${NATIVE_CLASS} ${INBOXSDK_CLASS} oy8Mbf`;
14
- const PRIMARY_BUTTON_ELEMENT_CLASS = 'T-I T-I-KE L3';
15
- const PRIMARY_BUTTON_ELEMENT_SELECTOR = '.T-I.T-I-KE.L3';
16
- const scrollablePanelClass = 'at9';
17
- const scrollablePanelSelector = `.${scrollablePanelClass}`;
18
- const loadingElementClass = 'inboxsdk__collapsiblePanel_loading_container';
19
- const panelLoadingClass = `${loadingElementClass}--active`;
20
- const loadingElementSelector = `.${loadingElementClass}`;
21
- const NAV_MENU_CONTAINER_ELEMENT_SELECTOR = '.at9 .n3 .TK';
22
- /**
23
- * Each AppMenuItem can have a CollapsiblePanelView.
24
- *
25
- * Typically the main action of a CollapsiblePanelView is performed when the user clicks or hovers on the app menu item.
26
- */
27
- class CollapsiblePanelView extends EventEmitter {
28
- static elementSelectors = {
29
- /** Custom elements match this selector as well. */
30
- NATIVE: '.aqn.oy8Mbf',
31
- CUSTOM: '.inboxsdk__collapsiblePanel',
32
- };
33
- static elementCss = {
34
- ACTIVE: 'apV',
35
- COLLAPSED: 'aBA',
36
- /** A hover popover has both ACTIVE _and_ HOVER */
37
- HOVER: 'aJu',
38
- COLLAPSED_HOVER: 'bym',
39
- PANEL_LESS: 'a3W',
40
- TOGGLE_OPEN_STATE: 'aak',
41
- };
42
- #panelDescriptor;
43
- #element;
44
- #destroyed = false;
45
- #id = Math.random().toFixed(3);
46
- #ARIA_LABELLED_BY_ID = Math.random().toFixed(3);
47
- #driver;
48
- #loading;
49
- get loading() {
50
- return this.#loading;
51
- }
52
- /**
53
- * Updates the loading property of the CollapsiblePanelView.
54
- */
55
- setLoading(loading) {
56
- const changed = this.#loading !== loading;
57
- this.#loading = loading;
58
- if (changed) {
59
- this.#update();
60
- }
61
- }
62
- get panelDescriptor() {
63
- return this.#panelDescriptor;
64
- }
65
- set panelDescriptor(panelDescriptor) {
66
- this.#panelDescriptor = panelDescriptor;
67
- this.#update();
68
- }
69
- get element() {
70
- return this.#element;
71
- }
72
- get scrollablePaneElement() {
73
- return this.element.querySelector(scrollablePanelSelector);
74
- }
75
- constructor(driver, panelDescriptor) {
76
- super();
77
- this.#driver = driver;
78
- this.#panelDescriptor = panelDescriptor;
79
- this.#loading = panelDescriptor.loadingIcon != null;
80
- this.#element = this.#setupElement();
81
- this.#element.addEventListener('mouseleave', (e) => {
82
- this.emit('blur', e);
83
- });
84
- stylesStream
85
- .skipDuplicates((a, b) => isEqual(a, b))
86
- .onValue(({ type }) => {
87
- if (type === 'theme') {
88
- this.#update();
89
- }
90
- });
91
- }
92
- /**
93
- * Remove this CollapsiblePanelView from its parent
94
- */
95
- remove() {
96
- if (this.#destroyed)
97
- return;
98
- this.#destroyed = true;
99
- this.element.remove();
100
- this.emit('destroy');
101
- }
102
- /**
103
- * @param navItemDescriptor Add a single or Kefir.Observable nav menu item to the CollapsiblePanel.
104
- */
105
- addNavItem(navItemDescriptor) {
106
- this.setLoading(false);
107
- const { element } = this;
108
- const navMenuContainerElement = querySelector(element, NAV_MENU_CONTAINER_ELEMENT_SELECTOR);
109
- const appId = `collapsible-panel-${this.#id}`;
110
- const navItemDescriptorPropertyStream = kefirCast(Kefir, navItemDescriptor).toProperty();
111
- const gmailNavItemView = this.#driver.addNavItem(appId, navItemDescriptorPropertyStream, navMenuContainerElement);
112
- const navItemView = new NavItemView(appId, this.#driver, navItemDescriptorPropertyStream, gmailNavItemView);
113
- return navItemView;
114
- }
115
- #extractPrimaryButtonTheme() {
116
- const { iconUrl } = this.panelDescriptor.primaryButton ?? {};
117
- if (!iconUrl) {
118
- return;
119
- }
120
- const theme = GmailElementGetter.isDarkTheme()
121
- ? iconUrl.darkTheme
122
- : iconUrl.lightTheme;
123
- if (!theme) {
124
- return;
125
- }
126
- if (typeof theme === 'string') {
127
- return {
128
- panelHovered: theme,
129
- panelDefault: theme,
130
- };
131
- }
132
- else {
133
- return {
134
- panelDefault: theme.panelDefault,
135
- panelHovered: theme.panelHovered,
136
- };
137
- }
138
- }
139
- #setupElement() {
140
- const { panelDescriptor } = this;
141
- const { loadingIcon } = panelDescriptor;
142
- const { className, name = '' } = panelDescriptor?.primaryButton ?? {};
143
- const element = document.createElement('div');
144
- element.className = cx(ELEMENT_CLASS, this.panelDescriptor.className);
145
- const primaryButtonClass = cx(PRIMARY_BUTTON_ELEMENT_CLASS, className);
146
- const loadingElClass = cx(loadingElementClass, {
147
- [panelLoadingClass]: this.#loading,
148
- });
149
- const { panelDefault: defaultIconUrl, panelHovered: hoverPanelIconUrl } = this.#extractPrimaryButtonTheme() ?? {};
150
- element.innerHTML = autoHtml `
151
- <div class="aBO">
152
- <div class="aic">
153
- <div class="z0">
154
- <div class="${primaryButtonClass}" style="user-select: none" role="button" tabindex="0">
155
- ${name}
156
- </div>
157
- </div>
158
- </div>
159
- <div class="${scrollablePanelClass}">
160
- <div class="${loadingElClass}">${loadingIcon ? { __html: loadingIcon } : ''}</div>
161
- <div class="Ls77Lb aZ6">
162
- <div class="pp" style="user-select: none;">
163
- <div>
164
- <div class="nM">
165
- <div class="aic"></div>
166
- <div class="yJ">
167
- <div class="ajl aib aZ6" aria-labelledby="${this.#ARIA_LABELLED_BY_ID}">
168
- <h2 class="aWk" id="${this.#ARIA_LABELLED_BY_ID}">Labels</h2>
169
- <div class="wT">
170
- <div class="n3">
171
- <div class="byl">
172
- <div class="TK"></div>
173
- </div>
174
- </div>
175
- </div>
176
- </div>
177
- </div>
178
- </div>
179
- </div>
180
- </div>
181
- </div>
182
- </div>
183
- </div>
184
- <div class="aTV"></div>
185
- `.trim();
186
- const primaryBtnEl = querySelector(element, PRIMARY_BUTTON_ELEMENT_SELECTOR);
187
- primaryBtnEl.style.setProperty('--background-image', defaultIconUrl ? `url(${defaultIconUrl})` : 'unset');
188
- primaryBtnEl.style.setProperty('--background-image--hover', hoverPanelIconUrl ? `url(${hoverPanelIconUrl})` : 'unset');
189
- primaryBtnEl.addEventListener('click', this.#onPrimaryButtonClick);
190
- return element;
191
- }
192
- #onPrimaryButtonClick = (e) => {
193
- this.panelDescriptor.primaryButton?.onClick?.(e);
194
- };
195
- #update() {
196
- const element = this.element;
197
- if (!element)
198
- return;
199
- const existingClassNames = Object.values(CollapsiblePanelView.elementCss).filter((className) => element.classList.contains(className));
200
- element.className = cx(ELEMENT_CLASS, this.panelDescriptor.className, ...existingClassNames);
201
- this.#updateName(element);
202
- this.#updateIcon(element);
203
- this.#updateScrollablePanelLoading(element);
204
- }
205
- static #preloadedIcons = new Set();
206
- #updateIcon(element) {
207
- const iconContainerEl = querySelector(element, PRIMARY_BUTTON_ELEMENT_SELECTOR);
208
- const { panelDefault, panelHovered } = this.#extractPrimaryButtonTheme() ?? {};
209
- // alleviate FOUC when switching between active and default icons
210
- // https://stackoverflow.com/a/68521953/1924257
211
- for (const url of [panelHovered, panelDefault]) {
212
- if (!url || CollapsiblePanelView.#preloadedIcons.has(url)) {
213
- continue;
214
- }
215
- CollapsiblePanelView.#preloadedIcons.add(url);
216
- var link = document.createElement('link');
217
- link.rel = 'preload';
218
- link.as = 'image';
219
- link.href = url;
220
- document.head.appendChild(link);
221
- }
222
- for (const [key, value] of Object.entries({
223
- '--background-image--hover': panelHovered,
224
- '--background-image': panelDefault,
225
- })) {
226
- if (value) {
227
- iconContainerEl.style.setProperty(key, `url(${value})`);
228
- }
229
- else {
230
- iconContainerEl.style.removeProperty(key);
231
- }
232
- }
233
- const { className } = this.panelDescriptor.primaryButton ?? {};
234
- iconContainerEl.className = cx(PRIMARY_BUTTON_ELEMENT_CLASS, className);
235
- }
236
- #updateName(element) {
237
- const buttonTextEl = element.querySelector(PRIMARY_BUTTON_ELEMENT_SELECTOR);
238
- if (!buttonTextEl) {
239
- return;
240
- }
241
- buttonTextEl.textContent = this.panelDescriptor.primaryButton?.name ?? '';
242
- }
243
- #updateScrollablePanelLoading(element) {
244
- const scrollablePanelLoadingEl = element.querySelector(loadingElementSelector);
245
- if (!scrollablePanelLoadingEl) {
246
- return;
247
- }
248
- if (this.loading) {
249
- scrollablePanelLoadingEl.classList.add(panelLoadingClass);
250
- }
251
- else {
252
- scrollablePanelLoadingEl.classList.remove(panelLoadingClass);
253
- }
254
- }
255
- }
256
- export { CollapsiblePanelView };
@@ -1,63 +0,0 @@
1
- import EventEmitter from '../lib/safe-event-emitter';
2
- import get from '../../common/get-or-fail';
3
- const membersMap = new WeakMap(); // documented in src/docs/
4
- class CollapsibleSectionView extends EventEmitter {
5
- destroyed;
6
- constructor(collapsibleSectionViewDriver, driver) {
7
- super();
8
- const members = {
9
- collapsibleSectionViewDriver,
10
- };
11
- membersMap.set(this, members);
12
- this.destroyed = false;
13
- _bindToEventStream(this, collapsibleSectionViewDriver, driver);
14
- }
15
- setCollapsed(value) {
16
- get(membersMap, this).collapsibleSectionViewDriver.setCollapsed(value);
17
- }
18
- remove() {
19
- this.destroy();
20
- }
21
- destroy() {
22
- const members = get(membersMap, this);
23
- members.collapsibleSectionViewDriver.destroy();
24
- this.removeAllListeners();
25
- }
26
- }
27
- function _bindToEventStream(collapsibleSectionView, collapsibleSectionViewDriver, driver) {
28
- collapsibleSectionViewDriver.getEventStream().onValue(({ eventName }) => {
29
- collapsibleSectionView.emit(eventName);
30
- });
31
- collapsibleSectionViewDriver
32
- .getEventStream()
33
- .filter(({ eventName }) => eventName === 'rowClicked')
34
- .onValue(({ rowDescriptor }) => {
35
- if (rowDescriptor.routeID) {
36
- driver.goto(rowDescriptor.routeID, rowDescriptor.routeParams);
37
- }
38
- if (typeof rowDescriptor.onClick === 'function') {
39
- rowDescriptor.onClick();
40
- }
41
- });
42
- collapsibleSectionViewDriver
43
- .getEventStream()
44
- .filter(({ eventName }) => eventName === 'titleLinkClicked')
45
- .onValue(({ sectionDescriptor }) => {
46
- if (sectionDescriptor.onTitleLinkClick) {
47
- sectionDescriptor.onTitleLinkClick(collapsibleSectionView);
48
- }
49
- });
50
- collapsibleSectionViewDriver
51
- .getEventStream()
52
- .filter(({ eventName }) => eventName === 'footerClicked')
53
- .onValue(({ sectionDescriptor }) => {
54
- if (sectionDescriptor.onFooterLinkClick) {
55
- sectionDescriptor.onFooterLinkClick(collapsibleSectionView);
56
- }
57
- });
58
- collapsibleSectionViewDriver.getEventStream().onEnd(() => {
59
- collapsibleSectionView.destroyed = true;
60
- collapsibleSectionView.emit('destroy');
61
- });
62
- }
63
- export default CollapsibleSectionView;
@@ -1,45 +0,0 @@
1
- import EventEmitter from '../lib/safe-event-emitter';
2
- import get from '../../common/get-or-fail';
3
- const memberMap = new WeakMap();
4
- export default class ComposeButtonView extends EventEmitter {
5
- destroyed = false;
6
- constructor(optionsPromise, composeViewDriver, driver) {
7
- super();
8
- const members = { optionsPromise, composeViewDriver, driver };
9
- memberMap.set(this, members);
10
- members.optionsPromise.then((options) => {
11
- if (!options) {
12
- _destroy(this);
13
- return;
14
- }
15
- members.composeViewDriver.getStopper().onValue(() => {
16
- _destroy(this);
17
- });
18
- });
19
- }
20
- showTooltip(tooltipDescriptor) {
21
- const members = get(memberMap, this);
22
- members.driver
23
- .getLogger()
24
- .eventSdkPassive('ComposeButtonView.showTooltip', {
25
- keys: Object.keys(tooltipDescriptor),
26
- });
27
- members.optionsPromise.then((options) => {
28
- if (!options)
29
- return;
30
- members.composeViewDriver.addTooltipToButton(options.buttonViewController, options.buttonDescriptor, tooltipDescriptor);
31
- });
32
- }
33
- closeTooltip() {
34
- const members = get(memberMap, this);
35
- members.optionsPromise.then((options) => {
36
- if (!options)
37
- return;
38
- members.composeViewDriver.closeButtonTooltip(options.buttonViewController);
39
- });
40
- }
41
- }
42
- function _destroy(composeButtonViewInstance) {
43
- composeButtonViewInstance.destroyed = true;
44
- composeButtonViewInstance.emit('destroy');
45
- }
@@ -1,310 +0,0 @@
1
- import EventEmitter from '../lib/safe-event-emitter';
2
- import Kefir from 'kefir';
3
- import kefirCast from 'kefir-cast';
4
- import * as ud from 'ud';
5
- import get from '../../common/get-or-fail';
6
- import ComposeButtonView from './compose-button-view';
7
- const memberMap = ud.defonce(module, () => new WeakMap());
8
- export default class ComposeView extends EventEmitter {
9
- destroyed = false;
10
- constructor(driver, composeViewImplementation, membrane) {
11
- super();
12
- const members = {
13
- driver,
14
- membrane,
15
- composeViewImplementation,
16
- };
17
- memberMap.set(this, members);
18
- this.on('newListener', (eventName) => {
19
- if (eventName === 'close') {
20
- driver
21
- .getLogger()
22
- .deprecationWarning('composeView close event', 'composeView destroy event');
23
- if (driver.getOpts().REQUESTED_API_VERSION !== 1) {
24
- console.error('The composeView close event was removed after API version 1');
25
- }
26
- }
27
- else if (eventName === 'messageIDChange') {
28
- driver
29
- .getLogger()
30
- .deprecationWarning('composeView messageIDChange event', 'composeView.getDraftID');
31
- if (driver.getOpts().REQUESTED_API_VERSION !== 1) {
32
- console.error('The composeView messageIDChange event was removed after API version 1');
33
- }
34
- }
35
- else if (eventName === 'linkPopOver') {
36
- composeViewImplementation.setupLinkPopOvers();
37
- }
38
- });
39
- members.composeViewImplementation.getEventStream().onValue((event) => {
40
- if (event.eventName === 'destroy') {
41
- this.destroyed = true;
42
- if (driver.getOpts().REQUESTED_API_VERSION === 1) {
43
- this.emit('close'); /* deprecated */
44
- }
45
- }
46
- else if (event.eventName === 'messageIDChange') {
47
- if (driver.getOpts().REQUESTED_API_VERSION !== 1) {
48
- return;
49
- }
50
- }
51
- this.emit(event.eventName, event.data);
52
- });
53
- }
54
- addButton(buttonDescriptor) {
55
- const members = get(memberMap, this);
56
- const buttonDescriptorStream = kefirCast(Kefir, buttonDescriptor);
57
- const optionsPromise = members.composeViewImplementation.addButton(buttonDescriptorStream, members.driver.getAppId(), { composeView: this });
58
- return new ComposeButtonView(optionsPromise, members.composeViewImplementation, members.driver);
59
- }
60
- /*
61
- // Incomplete
62
- addInnerSidebar(options){
63
- get(memberMap, this).composeViewImplementation.addInnerSidebar(options);
64
- }
65
-
66
- // Incomplete
67
- addOuterSidebar(options){
68
- get(memberMap, this).composeViewImplementation.addOuterSidebar(options);
69
- }
70
- */
71
- addComposeNotice(composeNoticeDescriptor) {
72
- return get(memberMap, this).composeViewImplementation.addComposeNotice(composeNoticeDescriptor);
73
- }
74
- addStatusBar(statusBarDescriptor) {
75
- return get(memberMap, this).composeViewImplementation.addStatusBar(statusBarDescriptor);
76
- }
77
- hideNativeStatusBar() {
78
- return get(memberMap, this).composeViewImplementation.hideNativeStatusBar();
79
- }
80
- addRecipientRow(options) {
81
- return {
82
- destroy: get(memberMap, this).composeViewImplementation.addRecipientRow(kefirCast(Kefir, options)),
83
- };
84
- }
85
- forceRecipientRowsOpen() {
86
- return get(memberMap, this).composeViewImplementation.forceRecipientRowsOpen();
87
- }
88
- hideNativeRecipientRows() {
89
- return get(memberMap, this).composeViewImplementation.hideNativeRecipientRows();
90
- }
91
- hideRecipientArea() {
92
- return get(memberMap, this).composeViewImplementation.hideRecipientArea();
93
- }
94
- close() {
95
- get(memberMap, this).composeViewImplementation.close();
96
- }
97
- send({ sendAndArchive } = { sendAndArchive: false }) {
98
- get(memberMap, this).composeViewImplementation.send({ sendAndArchive });
99
- }
100
- discard() {
101
- get(memberMap, this).composeViewImplementation.discard();
102
- }
103
- getMetadataForm() {
104
- return get(memberMap, this).composeViewImplementation.getMetadataFormElement();
105
- }
106
- getSubjectInput() {
107
- return get(memberMap, this).composeViewImplementation.getSubjectInput();
108
- }
109
- getBodyElement() {
110
- return get(memberMap, this).composeViewImplementation.getBodyElement();
111
- }
112
- // NOT DOCUMENTED BECAUSE NOT SURE IF API USERS NEED THIS
113
- // TODO remove?
114
- getComposeID() {
115
- const { driver, composeViewImplementation } = get(memberMap, this);
116
- driver.getLogger().deprecationWarning('composeView.getComposeID');
117
- if (driver.getOpts().REQUESTED_API_VERSION !== 1) {
118
- throw new Error('This method was discontinued after API version 1');
119
- }
120
- return composeViewImplementation.getComposeID();
121
- }
122
- getInitialMessageID() {
123
- return get(memberMap, this).composeViewImplementation.getInitialMessageID();
124
- }
125
- /* deprecated */
126
- getMessageID() {
127
- const { driver, composeViewImplementation } = get(memberMap, this);
128
- driver
129
- .getLogger()
130
- .deprecationWarning('composeView.getMessageID', 'composeView.getDraftID');
131
- if (driver.getOpts().REQUESTED_API_VERSION !== 1) {
132
- throw new Error('This method was discontinued after API version 1');
133
- }
134
- return composeViewImplementation.getMessageID();
135
- }
136
- getThreadID() {
137
- return get(memberMap, this).composeViewImplementation.getThreadID();
138
- }
139
- getDraftID() {
140
- return get(memberMap, this).composeViewImplementation.getDraftID();
141
- }
142
- getCurrentDraftID() {
143
- return get(memberMap, this).composeViewImplementation.getCurrentDraftID();
144
- }
145
- getHTMLContent() {
146
- return get(memberMap, this).composeViewImplementation.getHTMLContent();
147
- }
148
- getSelectedBodyHTML() {
149
- return (get(memberMap, this).composeViewImplementation.getSelectedBodyHTML() || '');
150
- }
151
- getSelectedBodyText() {
152
- return (get(memberMap, this).composeViewImplementation.getSelectedBodyText() || '');
153
- }
154
- getSubject() {
155
- return get(memberMap, this).composeViewImplementation.getSubject();
156
- }
157
- getTextContent() {
158
- return get(memberMap, this).composeViewImplementation.getTextContent();
159
- }
160
- getToRecipients() {
161
- return get(memberMap, this).composeViewImplementation.getToRecipients();
162
- }
163
- getCcRecipients() {
164
- return get(memberMap, this).composeViewImplementation.getCcRecipients();
165
- }
166
- getBccRecipients() {
167
- return get(memberMap, this).composeViewImplementation.getBccRecipients();
168
- }
169
- insertTextIntoBodyAtCursor(text) {
170
- return get(memberMap, this).composeViewImplementation.insertBodyTextAtCursor(text);
171
- }
172
- insertHTMLIntoBodyAtCursor(html) {
173
- return get(memberMap, this).composeViewImplementation.insertBodyHTMLAtCursor(html);
174
- }
175
- insertLinkChipIntoBodyAtCursor(text, url, iconUrl) {
176
- if (!iconUrl ||
177
- typeof iconUrl !== 'string' ||
178
- iconUrl.indexOf('http') !== 0) {
179
- console.warn('You must provide a publicly accessible iconUrl');
180
- return;
181
- }
182
- return get(memberMap, this).composeViewImplementation.insertLinkChipIntoBody({
183
- text: text,
184
- url: url,
185
- iconUrl: iconUrl,
186
- });
187
- }
188
- insertLinkIntoBodyAtCursor(text, url) {
189
- return get(memberMap, this).composeViewImplementation.insertLinkIntoBody(text, url);
190
- }
191
- isForward() {
192
- return get(memberMap, this).composeViewImplementation.isForward();
193
- }
194
- isInlineReplyForm() {
195
- return get(memberMap, this).composeViewImplementation.isInlineReplyForm();
196
- }
197
- isFullscreen() {
198
- return get(memberMap, this).composeViewImplementation.isFullscreen();
199
- }
200
- setFullscreen(fullscreen) {
201
- get(memberMap, this).composeViewImplementation.setFullscreen(fullscreen);
202
- }
203
- isMinimized() {
204
- return get(memberMap, this).composeViewImplementation.isMinimized();
205
- }
206
- setMinimized(minimized) {
207
- get(memberMap, this).composeViewImplementation.setMinimized(minimized);
208
- }
209
- setTitleBarColor(color) {
210
- return get(memberMap, this).composeViewImplementation.setTitleBarColor(color);
211
- }
212
- setTitleBarText(text) {
213
- return get(memberMap, this).composeViewImplementation.setTitleBarText(text);
214
- }
215
- async popOut() {
216
- const nextComposeViewDriverPromise = get(memberMap, this).driver.getNextComposeViewDriver();
217
- get(memberMap, this).composeViewImplementation.popOut();
218
- const nextComposeViewDriver = await nextComposeViewDriverPromise;
219
- return get(memberMap, this).membrane.get(nextComposeViewDriver);
220
- }
221
- isReply() {
222
- return get(memberMap, this).composeViewImplementation.isReply();
223
- }
224
- setToRecipients(emails) {
225
- get(memberMap, this).composeViewImplementation.setToRecipients(emails);
226
- }
227
- setCcRecipients(emails) {
228
- get(memberMap, this).composeViewImplementation.setCcRecipients(emails);
229
- }
230
- setBccRecipients(emails) {
231
- get(memberMap, this).composeViewImplementation.setBccRecipients(emails);
232
- }
233
- getFromContact() {
234
- return get(memberMap, this).composeViewImplementation.getFromContact();
235
- }
236
- getFromContactChoices() {
237
- return get(memberMap, this).composeViewImplementation.getFromContactChoices();
238
- }
239
- setFromEmail(email) {
240
- get(memberMap, this).composeViewImplementation.setFromEmail(email);
241
- }
242
- setSubject(text) {
243
- get(memberMap, this).composeViewImplementation.setSubject(text);
244
- }
245
- setBodyHTML(html) {
246
- get(memberMap, this).composeViewImplementation.setBodyHTML(html);
247
- }
248
- setBodyText(text) {
249
- get(memberMap, this).composeViewImplementation.setBodyText(text);
250
- }
251
- async attachFiles(files) {
252
- if (files.length === 0) {
253
- return;
254
- }
255
- if (!(files[0] instanceof Blob)) {
256
- throw new Error('parameter must be an array of Blob objects');
257
- }
258
- return get(memberMap, this).composeViewImplementation.attachFiles(Array.from(files));
259
- }
260
- async attachInlineFiles(files) {
261
- if (files.length === 0) {
262
- return;
263
- }
264
- if (!(files[0] instanceof Blob)) {
265
- throw new Error('parameter must be an array of Blob objects');
266
- }
267
- return get(memberMap, this).composeViewImplementation.attachInlineFiles(Array.from(files));
268
- }
269
- // Old alias that we should keep around until we're sure no one is using it.
270
- dragFilesIntoCompose(files) {
271
- const { driver } = get(memberMap, this);
272
- driver
273
- .getLogger()
274
- .deprecationWarning('ComposeView.dragFilesIntoCompose', 'ComposeView.attachInlineFiles');
275
- if (driver.getOpts().REQUESTED_API_VERSION !== 1) {
276
- throw new Error('This method was discontinued after API version 1');
277
- }
278
- return this.attachInlineFiles(files);
279
- }
280
- //NOT DOCUMENTED BECAUSE STREAK-ONLY FOR NOW
281
- getElement() {
282
- return get(memberMap, this).composeViewImplementation.getElement();
283
- }
284
- registerRequestModifier(modifier) {
285
- get(memberMap, this).composeViewImplementation.registerRequestModifier(modifier);
286
- }
287
- replaceSendButton({ el }) {
288
- return get(memberMap, this).composeViewImplementation.replaceSendButton(el);
289
- }
290
- hideDiscardButton() {
291
- return get(memberMap, this).composeViewImplementation.hideDiscardButton();
292
- }
293
- ensureFormattingToolbarIsHidden() {
294
- get(memberMap, this).composeViewImplementation.ensureFormattingToolbarIsHidden();
295
- }
296
- ensureAppButtonToolbarsAreClosed() {
297
- get(memberMap, this).composeViewImplementation.ensureAppButtonToolbarsAreClosed();
298
- }
299
- // TODO remove
300
- overrideEditSubject() {
301
- const { driver, composeViewImplementation } = get(memberMap, this);
302
- driver.getLogger().deprecationWarning('composeView.overrideEditSubject');
303
- if (driver.getOpts().REQUESTED_API_VERSION !== 1) {
304
- throw new Error('This method was discontinued after API version 1');
305
- }
306
- if (typeof composeViewImplementation.overrideEditSubject === 'function') {
307
- composeViewImplementation.overrideEditSubject();
308
- }
309
- }
310
- }