@inboxsdk/core 1.2.5 → 1.2.8-0

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