@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,355 +0,0 @@
1
- import { defn, defonce } from 'ud';
2
- import GmailComposeButtonView from './gmail-compose-button-view';
3
- import BasicButtonViewController from '../../../../widgets/buttons/basic-button-view-controller';
4
- import insertElementInOrder from '../../../../lib/dom/insert-element-in-order';
5
- import { simulateClick } from '../../../../lib/dom/simulate-mouse-event';
6
- import waitFor from '../../../../lib/wait-for';
7
- import Logger from '../../../../lib/logger';
8
- import querySelector from '../../../../lib/dom/querySelectorOrFail';
9
- import censorHTMLtree from '../../../../../common/censorHTMLtree';
10
- import positionFormattingToolbar from './position-formatting-toolbar';
11
- import get from '../../../../../common/get-or-fail';
12
- const memberMap = defonce(module, () => new Map());
13
- export default defn(module, function manageButtonGrouping(gmailComposeView) {
14
- if (gmailComposeView
15
- .getElement()
16
- .getAttribute('data-button-grouping-managed') === 'true') {
17
- return;
18
- }
19
- var members = {};
20
- memberMap.set(gmailComposeView, members);
21
- gmailComposeView
22
- .getElement()
23
- .setAttribute('data-button-grouping-managed', 'true');
24
- gmailComposeView
25
- .getEventStream()
26
- .filter((event) => event.eventName === 'fullscreenChanged')
27
- .debounce(10)
28
- .onValue(() => {
29
- _handleComposeFullscreenStateChanged(gmailComposeView);
30
- });
31
- gmailComposeView
32
- .getEventStream()
33
- .filter(function (event) {
34
- return event.eventName === 'buttonAdded';
35
- })
36
- .onValue(() => {
37
- groupButtonsAndAdjustToolbarPosition(gmailComposeView);
38
- });
39
- gmailComposeView
40
- .getEventStream()
41
- .filter((event) => event.eventName === 'resize' || event.eventName === 'restored')
42
- .onValue(() => {
43
- groupButtonsAndAdjustToolbarPosition(gmailComposeView);
44
- });
45
- var el = gmailComposeView.getElement();
46
- gmailComposeView.getStopper().onValue(function () {
47
- memberMap.delete(gmailComposeView);
48
- el.setAttribute('data-button-grouping-managed', 'false');
49
- });
50
- });
51
- function _handleComposeFullscreenStateChanged(gmailComposeView) {
52
- if (gmailComposeView
53
- .getElement()
54
- .querySelector('.inboxsdk__compose_groupedActionToolbar')) {
55
- _ungroupButtons(gmailComposeView);
56
- }
57
- groupButtonsAndAdjustToolbarPosition(gmailComposeView);
58
- }
59
- function _ungroupButtons(gmailComposeView) {
60
- const members = get(memberMap, gmailComposeView);
61
- if (members.groupedToolbarButtonViewController)
62
- members.groupedToolbarButtonViewController.destroy();
63
- if (members.formattingToolbarMutationObserver)
64
- members.formattingToolbarMutationObserver.disconnect();
65
- const buttonToolbar = members.groupedActionToolbarContainer
66
- .firstElementChild;
67
- if (buttonToolbar) {
68
- _moveNoOverflowButtonsToContainer(gmailComposeView, buttonToolbar);
69
- buttonToolbar.remove();
70
- const composeActionToolbar = querySelector(gmailComposeView.getElement(), '.inboxsdk__compose_actionToolbar');
71
- composeActionToolbar.innerHTML = '';
72
- composeActionToolbar.appendChild(buttonToolbar);
73
- }
74
- }
75
- function groupButtonsAndAdjustToolbarPosition(gmailComposeView) {
76
- _groupButtonsIfNeeded(gmailComposeView);
77
- _fixToolbarPosition(gmailComposeView);
78
- }
79
- const groupButtonsIfNeededMap = new WeakSet();
80
- function _groupButtonsIfNeeded(gmailComposeView) {
81
- if (groupButtonsIfNeededMap.has(gmailComposeView))
82
- return;
83
- groupButtonsIfNeededMap.add(gmailComposeView);
84
- window.requestAnimationFrame(() => {
85
- groupButtonsIfNeededMap.delete(gmailComposeView);
86
- if (gmailComposeView.isDestroyed())
87
- return;
88
- if (_doButtonsNeedToGroup(gmailComposeView)) {
89
- var groupedActionToolbarContainer = _createGroupedActionToolbarContainer(gmailComposeView);
90
- var groupToggleButtonViewController = _createGroupToggleButtonViewController(gmailComposeView);
91
- _swapToActionToolbar(gmailComposeView, groupToggleButtonViewController);
92
- _checkAndSetInitialState(gmailComposeView, groupToggleButtonViewController);
93
- _startMonitoringFormattingToolbar(gmailComposeView, groupToggleButtonViewController);
94
- gmailComposeView.getStopper().onValue(function () {
95
- groupedActionToolbarContainer.remove();
96
- groupToggleButtonViewController.destroy();
97
- });
98
- }
99
- });
100
- }
101
- function _doButtonsNeedToGroup(gmailComposeView) {
102
- const composeEl = gmailComposeView.getElement();
103
- if (composeEl.querySelector('.inboxsdk__compose_groupedActionToolbar'))
104
- return false;
105
- if (composeEl.querySelectorAll('.inboxsdk__composeButton:not([data-no-overflow])').length < 2)
106
- return false;
107
- if (areNativeToolbarButtonsGrouped(composeEl)) {
108
- return true;
109
- }
110
- return false;
111
- }
112
- const toolbarButtonStyles = new WeakMap();
113
- function areNativeToolbarButtonsGrouped(composeEl) {
114
- const nativeButtonsContainer = composeEl.querySelector('.bAK');
115
- const containerWidth = nativeButtonsContainer?.offsetWidth ?? 0;
116
- const nativeButtons = Array.from(nativeButtonsContainer?.querySelectorAll('.wG') ?? []);
117
- let buttonsWidth = 0;
118
- for (const button of nativeButtons) {
119
- const style = toolbarButtonStyles.get(button) ?? getComputedStyle(button);
120
- if (!toolbarButtonStyles.has(button)) {
121
- toolbarButtonStyles.set(button, style);
122
- }
123
- const margin = parseFloat(style.marginLeft) + parseFloat(style.marginRight);
124
- buttonsWidth += button.offsetWidth;
125
- buttonsWidth += margin;
126
- if (buttonsWidth > containerWidth) {
127
- return true;
128
- }
129
- }
130
- return false;
131
- }
132
- function _createGroupedActionToolbarContainer(gmailComposeView) {
133
- var groupedActionToolbarContainer = document.createElement('div');
134
- groupedActionToolbarContainer.classList.add('inboxsdk__compose_groupedActionToolbar');
135
- groupedActionToolbarContainer.innerHTML =
136
- '<div class="inboxsdk__compose_groupedActionToolbar_arrow"> </div>';
137
- get(memberMap, gmailComposeView).groupedActionToolbarContainer =
138
- groupedActionToolbarContainer;
139
- groupedActionToolbarContainer.style.display = 'none';
140
- return groupedActionToolbarContainer;
141
- }
142
- function _createGroupToggleButtonViewController(gmailComposeView) {
143
- var members = get(memberMap, gmailComposeView);
144
- var buttonView = _createGroupToggleButtonView();
145
- var buttonViewController = new BasicButtonViewController({
146
- buttonView: buttonView,
147
- activateFunction: function () {
148
- _toggleGroupButtonToolbar(gmailComposeView, buttonViewController);
149
- if (_isToggleExpanded()) {
150
- get(memberMap, gmailComposeView)
151
- .groupedActionToolbarContainer.querySelectorAll('.inboxsdk__composeButton')[0]
152
- .focus();
153
- }
154
- },
155
- });
156
- members.groupedActionToolbarContainer.addEventListener('keydown', function (event) {
157
- if (event.which === 27) {
158
- //escape
159
- buttonViewController.activate();
160
- buttonView.getElement().focus();
161
- event.preventDefault();
162
- event.stopPropagation();
163
- }
164
- });
165
- get(memberMap, gmailComposeView).groupedToolbarButtonViewController =
166
- buttonViewController;
167
- return buttonViewController;
168
- }
169
- function _createGroupToggleButtonView() {
170
- var buttonView = new GmailComposeButtonView({
171
- tooltip: 'More Tools',
172
- iconUrl: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAEJGlDQ1BJQ0MgUHJvZmlsZQAAOBGFVd9v21QUPolvUqQWPyBYR4eKxa9VU1u5GxqtxgZJk6XtShal6dgqJOQ6N4mpGwfb6baqT3uBNwb8AUDZAw9IPCENBmJ72fbAtElThyqqSUh76MQPISbtBVXhu3ZiJ1PEXPX6yznfOec7517bRD1fabWaGVWIlquunc8klZOnFpSeTYrSs9RLA9Sr6U4tkcvNEi7BFffO6+EdigjL7ZHu/k72I796i9zRiSJPwG4VHX0Z+AxRzNRrtksUvwf7+Gm3BtzzHPDTNgQCqwKXfZwSeNHHJz1OIT8JjtAq6xWtCLwGPLzYZi+3YV8DGMiT4VVuG7oiZpGzrZJhcs/hL49xtzH/Dy6bdfTsXYNY+5yluWO4D4neK/ZUvok/17X0HPBLsF+vuUlhfwX4j/rSfAJ4H1H0qZJ9dN7nR19frRTeBt4Fe9FwpwtN+2p1MXscGLHR9SXrmMgjONd1ZxKzpBeA71b4tNhj6JGoyFNp4GHgwUp9qplfmnFW5oTdy7NamcwCI49kv6fN5IAHgD+0rbyoBc3SOjczohbyS1drbq6pQdqumllRC/0ymTtej8gpbbuVwpQfyw66dqEZyxZKxtHpJn+tZnpnEdrYBbueF9qQn93S7HQGGHnYP7w6L+YGHNtd1FJitqPAR+hERCNOFi1i1alKO6RQnjKUxL1GNjwlMsiEhcPLYTEiT9ISbN15OY/jx4SMshe9LaJRpTvHr3C/ybFYP1PZAfwfYrPsMBtnE6SwN9ib7AhLwTrBDgUKcm06FSrTfSj187xPdVQWOk5Q8vxAfSiIUc7Z7xr6zY/+hpqwSyv0I0/QMTRb7RMgBxNodTfSPqdraz/sDjzKBrv4zu2+a2t0/HHzjd2Lbcc2sG7GtsL42K+xLfxtUgI7YHqKlqHK8HbCCXgjHT1cAdMlDetv4FnQ2lLasaOl6vmB0CMmwT/IPszSueHQqv6i/qluqF+oF9TfO2qEGTumJH0qfSv9KH0nfS/9TIp0Wboi/SRdlb6RLgU5u++9nyXYe69fYRPdil1o1WufNSdTTsp75BfllPy8/LI8G7AUuV8ek6fkvfDsCfbNDP0dvRh0CrNqTbV7LfEEGDQPJQadBtfGVMWEq3QWWdufk6ZSNsjG2PQjp3ZcnOWWing6noonSInvi0/Ex+IzAreevPhe+CawpgP1/pMTMDo64G0sTCXIM+KdOnFWRfQKdJvQzV1+Bt8OokmrdtY2yhVX2a+qrykJfMq4Ml3VR4cVzTQVz+UoNne4vcKLoyS+gyKO6EHe+75Fdt0Mbe5bRIf/wjvrVmhbqBN97RD1vxrahvBOfOYzoosH9bq94uejSOQGkVM6sN/7HelL4t10t9F4gPdVzydEOx83Gv+uNxo7XyL/FtFl8z9ZAHF4bBsrEwAAADxJREFUOBFjYKASYISa8x/NPJLFmdAMIJs7+Awi2ys000hy7EBdghHLgy+wqeYimgU+2QaPxhrZQUe6RgBYwgkWqJftAwAAAABJRU5ErkJggg==',
173
- });
174
- buttonView.addClass('inboxsdk__compose_groupedActionButton');
175
- buttonView.getElement().setAttribute('tabindex', '1');
176
- return buttonView;
177
- }
178
- function _swapToActionToolbar(gmailComposeView, buttonViewController) {
179
- const actionToolbar = querySelector(gmailComposeView.getElement(), '.inboxsdk__compose_actionToolbar > div');
180
- const actionToolbarContainer = actionToolbar.parentElement;
181
- const newActionToolbar = document.createElement('div');
182
- newActionToolbar.appendChild(buttonViewController.getView().getElement());
183
- actionToolbarContainer.appendChild(newActionToolbar);
184
- const groupedActionToolbarContainer = get(memberMap, gmailComposeView)
185
- .groupedActionToolbarContainer;
186
- groupedActionToolbarContainer.insertBefore(actionToolbar, groupedActionToolbarContainer.firstElementChild);
187
- actionToolbarContainer.appendChild(groupedActionToolbarContainer);
188
- _moveNoOverflowButtonsToActionToolbar(gmailComposeView);
189
- }
190
- function _moveNoOverflowButtonsToActionToolbar(gmailComposeView) {
191
- const actionToolbar = querySelector(gmailComposeView.getElement(), '.inboxsdk__compose_actionToolbar > div');
192
- _moveNoOverflowButtonsToContainer(gmailComposeView, actionToolbar);
193
- }
194
- function _moveNoOverflowButtonsToContainer(gmailComposeView, container) {
195
- const noOverflowButtons = gmailComposeView
196
- .getElement()
197
- .querySelectorAll('.inboxsdk__composeButton[data-no-overflow]');
198
- Array.from(noOverflowButtons).forEach((buttonElement) => insertElementInOrder(container, buttonElement, undefined, true));
199
- }
200
- function _checkAndSetInitialState(gmailComposeView, groupToggleButtonViewController) {
201
- if (_isToggleExpanded()) {
202
- _expandGroupButtonToolbar(gmailComposeView, groupToggleButtonViewController);
203
- }
204
- }
205
- function _collapseGroupButtonToolbar(gmailComposeView, buttonViewController) {
206
- get(memberMap, gmailComposeView).groupedActionToolbarContainer.style.display = 'none';
207
- gmailComposeView
208
- .getElement()
209
- .classList.remove('inboxsdk__compose_groupedActionToolbar_visible');
210
- buttonViewController.getView().deactivate();
211
- localStorage['inboxsdk__compose_groupedActionButton_state'] = 'collapsed';
212
- const bottomToolbarTable = gmailComposeView.getBottomBarTable();
213
- bottomToolbarTable.style.position = '';
214
- // when expanding the group button this can change how the body is scrolled
215
- // in gmail v2 when the body is scrolled Gmail puts a shadow border between the
216
- // toolbar and the content. We "jiggle" the scroll position by 1px to trigger Gmails
217
- // logic to show/hide the shadow border
218
- const bodyScrollContainer = gmailComposeView
219
- .getElement()
220
- .querySelector('.qz');
221
- if (bodyScrollContainer) {
222
- bodyScrollContainer.scrollTop = bodyScrollContainer.scrollTop - 1;
223
- }
224
- }
225
- function _expandGroupButtonToolbar(gmailComposeView, buttonViewController) {
226
- get(memberMap, gmailComposeView).groupedActionToolbarContainer.style.display = '';
227
- gmailComposeView
228
- .getElement()
229
- .classList.add('inboxsdk__compose_groupedActionToolbar_visible');
230
- buttonViewController.getView().activate();
231
- localStorage['inboxsdk__compose_groupedActionButton_state'] = 'expanded';
232
- _positionGroupToolbar(gmailComposeView);
233
- const formattingToolbar = gmailComposeView.getFormattingToolbar();
234
- if (formattingToolbar && formattingToolbar.style.display === '') {
235
- simulateClick(gmailComposeView.getFormattingToolbarToggleButton());
236
- }
237
- // when expanding the group button this can change how the body is scrolled
238
- // in gmail v2 when the body is scrolled Gmail puts a shadow border between the
239
- // toolbar and the content. We "jiggle" the scroll position by 1px to trigger Gmails
240
- // logic to show/hide the shadow border
241
- const bodyScrollContainer = gmailComposeView
242
- .getElement()
243
- .querySelector('.qz');
244
- if (bodyScrollContainer) {
245
- bodyScrollContainer.scrollTop = bodyScrollContainer.scrollTop + 1;
246
- }
247
- }
248
- function _toggleGroupButtonToolbar(gmailComposeView, buttonViewController) {
249
- if (_isToggleExpanded()) {
250
- _collapseGroupButtonToolbar(gmailComposeView, buttonViewController);
251
- }
252
- else {
253
- _expandGroupButtonToolbar(gmailComposeView, buttonViewController);
254
- }
255
- }
256
- function _isToggleExpanded() {
257
- return (localStorage['inboxsdk__compose_groupedActionButton_state'] === 'expanded');
258
- }
259
- const fixToolbarPositionMap = new WeakSet();
260
- function _fixToolbarPosition(gmailComposeView) {
261
- if (fixToolbarPositionMap.has(gmailComposeView))
262
- return;
263
- fixToolbarPositionMap.add(gmailComposeView);
264
- window.requestAnimationFrame(() => {
265
- fixToolbarPositionMap.delete(gmailComposeView);
266
- if (gmailComposeView.isDestroyed())
267
- return;
268
- positionFormattingToolbar(gmailComposeView);
269
- var groupedActionToolbarContainer = gmailComposeView
270
- .getElement()
271
- .querySelector('.inboxsdk__compose_groupedActionToolbar');
272
- if (!groupedActionToolbarContainer) {
273
- return;
274
- }
275
- if (groupedActionToolbarContainer.style.display === 'none') {
276
- return;
277
- }
278
- _positionGroupToolbar(gmailComposeView);
279
- });
280
- }
281
- function _positionGroupToolbar(gmailComposeView) {
282
- if (gmailComposeView.isMinimized()) {
283
- return;
284
- }
285
- var groupedActionToolbarContainer = gmailComposeView
286
- .getElement()
287
- .querySelector('.inboxsdk__compose_groupedActionToolbar');
288
- if (!groupedActionToolbarContainer) {
289
- return;
290
- }
291
- const groupedToolbarButton = querySelector(gmailComposeView.getElement(), '.inboxsdk__compose_groupedActionButton');
292
- const groupedActionToolbarArrow = querySelector(groupedActionToolbarContainer, '.inboxsdk__compose_groupedActionToolbar_arrow');
293
- groupedActionToolbarContainer.style.display = '';
294
- if (groupedToolbarButton.offsetLeft + groupedToolbarButton.clientWidth >
295
- groupedActionToolbarContainer.offsetWidth) {
296
- var marginLeft = groupedToolbarButton.clientWidth / 2 -
297
- groupedActionToolbarContainer.offsetWidth / 2 -
298
- 3;
299
- groupedActionToolbarContainer.style.left =
300
- groupedToolbarButton.offsetLeft + marginLeft + 'px';
301
- groupedActionToolbarArrow.style.left = -(marginLeft + 1) + 'px';
302
- }
303
- else {
304
- groupedActionToolbarContainer.style.left = '';
305
- groupedActionToolbarArrow.style.left =
306
- groupedToolbarButton.offsetLeft - 1 + 'px';
307
- }
308
- const bottomToolbarTable = gmailComposeView.getBottomBarTable();
309
- bottomToolbarTable.style.position = 'relative';
310
- const bottomToolbarHeight = gmailComposeView.getBottomBarTable().clientHeight;
311
- groupedActionToolbarContainer.style.bottom = `${bottomToolbarHeight + 1}px`;
312
- if (bottomToolbarHeight < 1) {
313
- const heElements = gmailComposeView
314
- .getElement()
315
- .querySelectorAll('td.HE');
316
- Logger.error(new Error('bottom toolbar had bad height'), {
317
- bottomToolbarHeight,
318
- heElementHeights: Array.from(heElements).map((el) => el.clientHeight),
319
- heElementsHTML: Array.from(heElements).map(censorHTMLtree),
320
- });
321
- }
322
- }
323
- function _startMonitoringFormattingToolbar(gmailComposeView, groupToggleButtonViewController) {
324
- waitFor(function () {
325
- if (gmailComposeView.isDestroyed())
326
- throw 'skip';
327
- return gmailComposeView.getFormattingToolbar();
328
- })
329
- .then((formattingToolbar) => {
330
- const mutationObserver = new MutationObserver(function (mutations) {
331
- const target = mutations[0].target;
332
- if (target instanceof HTMLElement &&
333
- target.style.display === '' &&
334
- localStorage['inboxsdk__compose_groupedActionButton_state'] ===
335
- 'expanded') {
336
- groupToggleButtonViewController.activate();
337
- }
338
- });
339
- mutationObserver.observe(formattingToolbar, {
340
- attributes: true,
341
- attributeFilter: ['style'],
342
- });
343
- get(memberMap, gmailComposeView).formattingToolbarMutationObserver =
344
- mutationObserver;
345
- gmailComposeView
346
- .getStopper()
347
- .onValue(() => mutationObserver.disconnect());
348
- })
349
- .catch((err) => {
350
- if (err !== 'skip') {
351
- Logger.error(err);
352
- throw err;
353
- }
354
- });
355
- }
@@ -1,21 +0,0 @@
1
- import Kefir from 'kefir';
2
- import fromEventTargetCapture from '../../../../lib/from-event-target-capture';
3
- export default function (gmailComposeView) {
4
- Kefir.merge([
5
- fromEventTargetCapture(document.body, 'mousedown'),
6
- fromEventTargetCapture(gmailComposeView.getBodyElement(), 'keydown'),
7
- gmailComposeView
8
- .getEventStream()
9
- .filter((e) => e.eventName === 'bodyChanged'),
10
- ])
11
- .takeUntilBy(gmailComposeView.getStopper())
12
- .onValue(() => {
13
- var body = gmailComposeView.getMaybeBodyElement();
14
- var selection = document.getSelection();
15
- if (body &&
16
- selection.rangeCount > 0 &&
17
- body.contains(selection.anchorNode)) {
18
- gmailComposeView.setLastSelectionRange(selection.getRangeAt(0));
19
- }
20
- });
21
- }
@@ -1,63 +0,0 @@
1
- import censorHTMLtree from '../../../../../common/censorHTMLtree';
2
- import { simulateClick } from '../../../../lib/dom/simulate-mouse-event';
3
- let hasLoggedError = false;
4
- export default function overrideEditSubject(gmailDriver, gmailComposeView) {
5
- if (!gmailComposeView.isReply())
6
- return;
7
- const menuItem = gmailComposeView
8
- .getElement()
9
- .querySelector('div.J-M.jQjAxd.HX[role=menu] > div.SK.AX > [role=menuitem]:nth-last-child(2)');
10
- if (!menuItem) {
11
- if (!hasLoggedError) {
12
- gmailDriver
13
- .getLogger()
14
- .error(new Error('could not find edit subject item'), {
15
- composeElement: censorHTMLtree(gmailComposeView.getElement()),
16
- });
17
- hasLoggedError = true;
18
- }
19
- return;
20
- }
21
- menuItem.addEventListener('click', (e) => {
22
- e.stopPropagation();
23
- }, true);
24
- menuItem.addEventListener('mouseup', (e) => {
25
- e.stopPropagation();
26
- _cloneContentToNewCompose(gmailDriver, gmailComposeView);
27
- }, true);
28
- }
29
- function _cloneContentToNewCompose(gmailDriver, gmailComposeView) {
30
- const toRecipients = gmailComposeView.getToRecipients();
31
- const ccRecipients = gmailComposeView.getCcRecipients();
32
- const bccRecipients = gmailComposeView.getBccRecipients();
33
- const fromAddress = gmailComposeView.getFromContact();
34
- const subject = gmailComposeView.getSubject();
35
- _ensureExtraContentIsVisible(gmailComposeView);
36
- const body = gmailComposeView.getHTMLContent();
37
- gmailComposeView.discard();
38
- gmailDriver
39
- .openNewComposeViewDriver()
40
- .then((newComposeView) => {
41
- if (toRecipients.length > 0)
42
- newComposeView.setToRecipients(toRecipients.map((c) => c.emailAddress));
43
- if (ccRecipients.length > 0)
44
- newComposeView.setCcRecipients(ccRecipients.map((c) => c.emailAddress));
45
- if (bccRecipients.length > 0)
46
- newComposeView.setBccRecipients(bccRecipients.map((c) => c.emailAddress));
47
- newComposeView.setFromEmail(fromAddress.emailAddress);
48
- newComposeView.setSubject(subject);
49
- newComposeView.setBodyHTML(body);
50
- setTimeout(function () {
51
- newComposeView.getSubjectInput().select();
52
- }, 1);
53
- });
54
- }
55
- function _ensureExtraContentIsVisible(gmailComposeView) {
56
- if (gmailComposeView.getBodyElement().querySelector('.gmail_extra'))
57
- return;
58
- const quoteDotsElement = gmailComposeView
59
- .getElement()
60
- .querySelector('.ajR');
61
- if (quoteDotsElement)
62
- simulateClick(quoteDotsElement);
63
- }
@@ -1,223 +0,0 @@
1
- import closest from 'closest-ng';
2
- import PageParserTree from 'page-parser-tree';
3
- import censorHTMLtree from '../../../../../common/censorHTMLtree';
4
- export function makePageParser(element, logger) {
5
- return new PageParserTree(element, {
6
- logError(err, el) {
7
- const details = {
8
- el,
9
- html: el ? censorHTMLtree(el) : null,
10
- };
11
- logger.errorSite(err, details);
12
- },
13
- tags: {},
14
- watchers: [
15
- {
16
- // For regular composes
17
- sources: [null],
18
- tag: 'recipientsCommon',
19
- selectors: [
20
- 'div',
21
- 'div',
22
- 'div[jsaction]',
23
- 'div[role=region]',
24
- 'table',
25
- 'tbody',
26
- 'tr',
27
- 'td',
28
- 'form',
29
- 'div',
30
- 'table.GS',
31
- 'tbody',
32
- 'tr.bzf',
33
- 'td.eV',
34
- 'div',
35
- 'div',
36
- ],
37
- },
38
- {
39
- // For inline composes
40
- sources: [null],
41
- tag: 'recipientsCommon',
42
- selectors: [
43
- 'div[role=region]',
44
- 'table',
45
- 'tbody',
46
- 'tr',
47
- 'td',
48
- 'form',
49
- 'div',
50
- 'table[role=presentation]',
51
- 'tbody',
52
- 'tr',
53
- 'td.Iy',
54
- 'div.fX',
55
- 'table.GS',
56
- 'tbody',
57
- 'tr.bzf',
58
- 'td.eV',
59
- 'div',
60
- 'div',
61
- ],
62
- },
63
- {
64
- sources: ['recipientsCommon'],
65
- tag: 'toRecipient',
66
- selectors: [
67
- {
68
- $or: [
69
- [
70
- 'div.anm[name="to"]',
71
- {
72
- $or: [
73
- [],
74
- // Inline reply compose
75
- ['div.aUy'],
76
- ],
77
- },
78
- 'div',
79
- 'div',
80
- 'div',
81
- 'div',
82
- '[role=listbox]',
83
- 'div',
84
- 'div',
85
- 'div[role=option][data-name]',
86
- ],
87
- [
88
- {
89
- $map: (el) => el.querySelector('textarea.vO[name=to], input[name=to]'),
90
- },
91
- { $map: (el) => el.closest('tr') },
92
- 'td.eV',
93
- 'div',
94
- 'div',
95
- '.vR',
96
- 'input[type=hidden]',
97
- { $map: (el) => el.parentElement },
98
- ],
99
- ],
100
- },
101
- ],
102
- },
103
- {
104
- sources: ['recipientsCommon'],
105
- tag: 'ccRecipient',
106
- selectors: [
107
- {
108
- $or: [
109
- [
110
- 'div.anm[name="cc"]',
111
- {
112
- $or: [
113
- [],
114
- // Inline reply compose
115
- ['div.aUy'],
116
- ],
117
- },
118
- 'div',
119
- 'div',
120
- 'div',
121
- 'div',
122
- '[role=listbox]',
123
- 'div',
124
- 'div',
125
- 'div[role=option][data-name]',
126
- ],
127
- [
128
- {
129
- $map: (el) => el.querySelector('textarea.vO[name=cc], input[name=cc]'),
130
- },
131
- { $map: (el) => el.closest('tr') },
132
- 'td.eV',
133
- 'div',
134
- 'div',
135
- '.vR',
136
- 'input[type=hidden]',
137
- { $map: (el) => el.parentElement },
138
- ],
139
- ],
140
- },
141
- ],
142
- },
143
- {
144
- sources: ['recipientsCommon'],
145
- tag: 'bccRecipient',
146
- selectors: [
147
- {
148
- $or: [
149
- [
150
- 'div.anm[name="bcc"]',
151
- {
152
- $or: [
153
- [],
154
- // Inline reply compose
155
- ['div.aUy'],
156
- ],
157
- },
158
- 'div',
159
- 'div',
160
- 'div',
161
- 'div',
162
- '[role=listbox]',
163
- 'div',
164
- 'div',
165
- 'div[role=option][data-name]',
166
- ],
167
- [
168
- {
169
- $map: (el) => el.querySelector('textarea.vO[name=bcc], input[name=bcc]'),
170
- },
171
- { $map: (el) => el.closest('tr') },
172
- 'td.eV',
173
- 'div',
174
- 'div',
175
- '.vR',
176
- 'input[type=hidden]',
177
- { $map: (el) => el.parentElement },
178
- ],
179
- ],
180
- },
181
- ],
182
- },
183
- ],
184
- finders: {
185
- toRecipient: {
186
- fn: (root) => getRecipientChips(root, 'to'),
187
- },
188
- ccRecipient: {
189
- fn: (root) => getRecipientChips(root, 'cc'),
190
- },
191
- bccRecipient: {
192
- fn: (root) => getRecipientChips(root, 'bcc'),
193
- },
194
- },
195
- });
196
- }
197
- export function getRecipientChips(element, addressType) {
198
- const oldRow = getOldRecipientRowForType(element, addressType);
199
- if (oldRow) {
200
- return Array.from(oldRow.querySelectorAll('.vR > input[type=hidden]')).map((el) => el.parentElement);
201
- }
202
- else {
203
- return element.querySelectorAll(`.GS .anm[name="${addressType}"] [role=listbox] [role=option][data-name]`);
204
- }
205
- }
206
- // getRecipientRowForType is recommended over this
207
- export function getRecipientRowElements(element) {
208
- return Array.prototype.filter.call(element.querySelectorAll('.GS tr, .GS .anm[name] [role=listbox]'), (tr) => !tr.classList.contains('inboxsdk__recipient_row'));
209
- }
210
- export function getRecipientRowForType(element, addressType) {
211
- // handling new recipients
212
- // https://workspaceupdates.googleblog.com/2021/10/visual-updates-for-composing-email-in-gmail.html
213
- return element.querySelector(`.GS .anm[name="${addressType}"] [role=listbox]`);
214
- }
215
- export function getOldRecipientRowForType(element, addressType) {
216
- const input = element.querySelector(`.GS tr textarea.vO[name="${addressType}"], .GS tr input[name="${addressType}"]`);
217
- if (input) {
218
- return closest(input, 'tr');
219
- }
220
- else {
221
- return null;
222
- }
223
- }
@@ -1,19 +0,0 @@
1
- export default function positionFormattingToolbar(gmailComposeView) {
2
- const formattingToolbar = gmailComposeView.getFormattingToolbar();
3
- if (formattingToolbar && formattingToolbar.style.display === '') {
4
- const arrowElement = gmailComposeView.getFormattingToolbarArrow();
5
- const buttonElement = gmailComposeView.getFormattingToolbarToggleButton();
6
- const left = buttonElement.offsetLeft +
7
- buttonElement.clientWidth / 2 -
8
- arrowElement.offsetWidth / 2;
9
- arrowElement.style.left = left + 'px';
10
- const statusBarPrependContainer = gmailComposeView.getStatusBarPrependContainer();
11
- if (statusBarPrependContainer) {
12
- formattingToolbar.style.bottom =
13
- -1 * statusBarPrependContainer.offsetHeight + 'px';
14
- }
15
- else {
16
- formattingToolbar.style.bottom = '';
17
- }
18
- }
19
- }