@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,300 +0,0 @@
1
- import BigNumber from 'bignumber.js';
2
- import isNotNil from '../../lib/isNotNil';
3
- export function extractThreadsFromSearchResponse(response) {
4
- const parsedResponse = JSON.parse(response);
5
- if (Array.isArray(parsedResponse)) {
6
- try {
7
- return extractThreadsFromSearchResponse_20220909(parsedResponse);
8
- }
9
- catch (err) {
10
- return [];
11
- }
12
- }
13
- const threadDescriptors = parsedResponse && parsedResponse[3];
14
- if (!threadDescriptors)
15
- return [];
16
- return threadDescriptors
17
- .map((descriptorWrapper, index) => {
18
- const descriptor = descriptorWrapper[1];
19
- if (!descriptor)
20
- return null;
21
- return {
22
- subject: descriptor[1],
23
- snippet: descriptor[2],
24
- syncThreadID: descriptor[4],
25
- // It seems Gmail is A/B testing including gmailThreadID in descriptor[20] and not including
26
- // the encoded version of it in descriptor[18], so pull it from [20] if [18] is not set.
27
- oldGmailThreadID: descriptor[18] != null
28
- ? new BigNumber(descriptor[18]).toString(16)
29
- : descriptor[20],
30
- rawResponse: descriptorWrapper,
31
- extraMetaData: {
32
- snippet: (parsedResponse[15] &&
33
- parsedResponse[15][1] &&
34
- parsedResponse[15][1][index]) ||
35
- '',
36
- syncMessageData: descriptor[5].map((md) => ({
37
- syncMessageID: md[1],
38
- oldMessageID: md[56],
39
- date: +md[7],
40
- })),
41
- },
42
- };
43
- })
44
- .filter(isNotNil);
45
- }
46
- export function extractThreadsFromSearchResponse_20220909(parsedResponse) {
47
- const threadDescriptors = parsedResponse && parsedResponse[2];
48
- if (!threadDescriptors)
49
- return [];
50
- return threadDescriptors
51
- .map((descriptorWrapper, index) => {
52
- const descriptor = descriptorWrapper[0];
53
- if (!descriptor)
54
- return null;
55
- return {
56
- subject: descriptor[0],
57
- snippet: descriptor[1],
58
- syncThreadID: descriptor[3],
59
- // It seems Gmail is A/B testing including gmailThreadID in descriptor[20] and not including
60
- // the encoded version of it in descriptor[18], so pull it from [20] if [18] is not set.
61
- oldGmailThreadID: descriptor[17] != null
62
- ? new BigNumber(descriptor[17]).toString(16)
63
- : descriptor[19],
64
- rawResponse: descriptorWrapper,
65
- extraMetaData: {
66
- snippet: (parsedResponse[14] &&
67
- parsedResponse[14][0] &&
68
- parsedResponse[14][0][index]) ||
69
- '',
70
- syncMessageData: descriptor[4].map((md) => ({
71
- syncMessageID: md[0],
72
- oldMessageID: md[55],
73
- date: +md[6],
74
- })),
75
- },
76
- };
77
- })
78
- .filter(isNotNil);
79
- }
80
- export function extractThreadsFromThreadResponse(response) {
81
- const parsedResponse = JSON.parse(response);
82
- if (Array.isArray(parsedResponse)) {
83
- return extractThreadsFromThreadResponse_20220909(parsedResponse);
84
- }
85
- const threadDescriptors = parsedResponse && parsedResponse[2];
86
- if (!threadDescriptors)
87
- throw new Error('Failed to process thread response');
88
- return threadDescriptors
89
- .map((descriptorWrapper) => {
90
- if (typeof descriptorWrapper[1] === 'string' &&
91
- Array.isArray(descriptorWrapper[3]) &&
92
- !(descriptorWrapper[2] &&
93
- descriptorWrapper[2][1] &&
94
- descriptorWrapper[2][1][14] &&
95
- Array.isArray(descriptorWrapper[2][2]))) {
96
- return {
97
- syncThreadID: descriptorWrapper[1],
98
- oldGmailThreadID: (descriptorWrapper[2] &&
99
- descriptorWrapper[2][1] &&
100
- descriptorWrapper[2][1][16]) ||
101
- undefined,
102
- extraMetaData: {
103
- snippet: (descriptorWrapper[2] &&
104
- descriptorWrapper[2][1] &&
105
- descriptorWrapper[2][1][3]) ||
106
- undefined,
107
- syncMessageData: (descriptorWrapper[3] || [])
108
- .filter((md) => Boolean(md[2]))
109
- .map((md) => ({
110
- syncMessageID: md[1],
111
- date: +md[2][17],
112
- recipients: getRecipientsFromMessageDescriptor(md),
113
- })),
114
- },
115
- };
116
- }
117
- else {
118
- const threadDescriptor = descriptorWrapper[2] && descriptorWrapper[2][1];
119
- if (!threadDescriptor)
120
- return null;
121
- let syncMessageData;
122
- const fullMessageDescriptors = Array.isArray(descriptorWrapper[3]) && descriptorWrapper[3];
123
- if (fullMessageDescriptors) {
124
- syncMessageData = fullMessageDescriptors.map((md) => ({
125
- syncMessageID: md[1],
126
- date: +md[2][17],
127
- recipients: getRecipientsFromMessageDescriptor(md),
128
- }));
129
- }
130
- else {
131
- const messageDescriptors = descriptorWrapper[2] && descriptorWrapper[2][2];
132
- syncMessageData = messageDescriptors.map((md) => ({
133
- syncMessageId: md[1],
134
- date: +md[16],
135
- }));
136
- }
137
- return {
138
- subject: threadDescriptor[2],
139
- snippet: threadDescriptor[3],
140
- syncThreadID: threadDescriptor[1],
141
- oldGmailThreadID: new BigNumber(threadDescriptor[14]).toString(16),
142
- rawResponse: descriptorWrapper,
143
- extraMetaData: {
144
- syncMessageData,
145
- snippet: '',
146
- },
147
- };
148
- }
149
- })
150
- .filter(isNotNil);
151
- }
152
- function extractThreadsFromThreadResponse_20220909(parsedResponse) {
153
- const threadDescriptors = parsedResponse && parsedResponse[1];
154
- if (!threadDescriptors)
155
- throw new Error('Failed to process thread response');
156
- return threadDescriptors
157
- .map((descriptorWrapper) => {
158
- if (typeof descriptorWrapper[0] === 'string' &&
159
- Array.isArray(descriptorWrapper[2]) &&
160
- !(descriptorWrapper[1] &&
161
- descriptorWrapper[1][0] &&
162
- descriptorWrapper[1][0][13] &&
163
- Array.isArray(descriptorWrapper[1][1]))) {
164
- return {
165
- syncThreadID: descriptorWrapper[0],
166
- oldGmailThreadID: (descriptorWrapper[1] &&
167
- descriptorWrapper[1][0] &&
168
- descriptorWrapper[1][0][15]) ||
169
- undefined,
170
- extraMetaData: {
171
- snippet: (descriptorWrapper[1] &&
172
- descriptorWrapper[1][0] &&
173
- descriptorWrapper[1][0][2]) ||
174
- undefined,
175
- syncMessageData: (descriptorWrapper[2] || [])
176
- .filter((md) => Boolean(md[1]))
177
- .map((md) => ({
178
- syncMessageID: md[0],
179
- date: +md[1][16],
180
- recipients: getRecipientsFromMessageDescriptor_20220909(md),
181
- })),
182
- },
183
- };
184
- }
185
- else {
186
- const threadDescriptor = descriptorWrapper[1] && descriptorWrapper[1][0];
187
- if (!threadDescriptor)
188
- return null;
189
- let syncMessageData;
190
- const fullMessageDescriptors = Array.isArray(descriptorWrapper[2]) && descriptorWrapper[2];
191
- if (fullMessageDescriptors) {
192
- syncMessageData = fullMessageDescriptors.map((md) => ({
193
- syncMessageID: md[0],
194
- date: +md[1][16],
195
- recipients: getRecipientsFromMessageDescriptor_20220909(md),
196
- }));
197
- }
198
- else {
199
- const messageDescriptors = descriptorWrapper[1] && descriptorWrapper[1][1];
200
- syncMessageData = messageDescriptors.map((md) => ({
201
- syncMessageId: md[0],
202
- date: +md[15],
203
- }));
204
- }
205
- return {
206
- subject: threadDescriptor[1],
207
- snippet: threadDescriptor[2],
208
- syncThreadID: threadDescriptor[0],
209
- oldGmailThreadID: new BigNumber(threadDescriptor[13]).toString(16),
210
- rawResponse: descriptorWrapper,
211
- extraMetaData: {
212
- syncMessageData,
213
- snippet: '',
214
- },
215
- };
216
- }
217
- })
218
- .filter(isNotNil);
219
- }
220
- function getRecipientsFromMessageDescriptor(messageDescriptor) {
221
- if (!messageDescriptor[2])
222
- return;
223
- const to = messageDescriptor[2][1] || [];
224
- const cc = messageDescriptor[2][2] || [];
225
- const bcc = messageDescriptor[2][3] || [];
226
- return to
227
- .concat(cc)
228
- .concat(bcc)
229
- .map((recipientDescriptor) => ({
230
- emailAddress: recipientDescriptor[2],
231
- name: recipientDescriptor[3],
232
- }));
233
- }
234
- function getRecipientsFromMessageDescriptor_20220909(messageDescriptor) {
235
- if (!messageDescriptor[1])
236
- return;
237
- const to = messageDescriptor[1][0] || [];
238
- const cc = messageDescriptor[1][1] || [];
239
- const bcc = messageDescriptor[1][2] || [];
240
- return to
241
- .concat(cc)
242
- .concat(bcc)
243
- .map((recipientDescriptor) => ({
244
- emailAddress: recipientDescriptor[1],
245
- name: recipientDescriptor[2],
246
- }));
247
- }
248
- export function replaceThreadsInSearchResponse(response, replacementThreads, _unused // TODO why is this unused?
249
- ) {
250
- const parsedResponse = JSON.parse(response);
251
- if (Array.isArray(parsedResponse)) {
252
- try {
253
- return replaceThreadsInSearchResponse_20220909(parsedResponse, replacementThreads, _unused);
254
- }
255
- catch (err) {
256
- console.error('Caught err in replaceThreadsInSearchResponse', err);
257
- return response;
258
- }
259
- }
260
- if (parsedResponse[3] || replacementThreads.length) {
261
- parsedResponse[3] = replacementThreads.map(({ rawResponse }, index) => ({
262
- ...rawResponse,
263
- '2': index,
264
- }));
265
- }
266
- if (parsedResponse[15] || replacementThreads.length) {
267
- parsedResponse[15] = {
268
- ...parsedResponse[15],
269
- '1': replacementThreads.map(({ extraMetaData }) => extraMetaData.snippet),
270
- '2': replacementThreads.map(({ extraMetaData }) => extraMetaData.syncMessageData.map(({ syncMessageID }) => syncMessageID)),
271
- };
272
- }
273
- return JSON.stringify(parsedResponse);
274
- }
275
- export function replaceThreadsInSearchResponse_20220909(parsedResponse, replacementThreads, _unused // TODO why is this unused?
276
- ) {
277
- if (parsedResponse[2] || replacementThreads.length) {
278
- parsedResponse[2] = replacementThreads.map(({ rawResponse }, index) => {
279
- const res = [...rawResponse];
280
- res[1] = index;
281
- return res;
282
- });
283
- }
284
- if (parsedResponse[14] || replacementThreads.length) {
285
- parsedResponse[14] = [...parsedResponse[14]];
286
- parsedResponse[14][0] = replacementThreads.map(({ extraMetaData }) => extraMetaData.snippet);
287
- if (Array.isArray(parsedResponse[14][1]) &&
288
- parsedResponse[14][1].length > 0 &&
289
- Array.isArray(parsedResponse[14][1][0][0])) {
290
- // 2023-04-19 gmail change
291
- parsedResponse[14][1] = replacementThreads.map(({ extraMetaData }) => [
292
- [extraMetaData.syncMessageData[0].syncMessageID],
293
- ]);
294
- }
295
- else {
296
- parsedResponse[14][1] = replacementThreads.map(({ extraMetaData }) => extraMetaData.syncMessageData.map(({ syncMessageID }) => syncMessageID));
297
- }
298
- }
299
- return JSON.stringify(parsedResponse);
300
- }
@@ -1,21 +0,0 @@
1
- import once from 'lodash/once';
2
- function isGmailRuleForTitlebarWideIcons() {
3
- return !![...document.styleSheets].find((s) => {
4
- try {
5
- if (s.cssRules) {
6
- return [...s.cssRules].find((rule) => rule instanceof CSSStyleRule &&
7
- rule.selectorText === '.Hl' &&
8
- rule.style.width === '24px');
9
- }
10
- }
11
- catch (e) {
12
- // Some stylesheets are crossorigin and throw if we try to access
13
- // their rules. Don't worry about them.
14
- }
15
- return false;
16
- });
17
- }
18
- const isComposeTitleBarLightColor = once(() => {
19
- return !isGmailRuleForTitlebarWideIcons();
20
- });
21
- export default isComposeTitleBarLightColor;
@@ -1,92 +0,0 @@
1
- import * as Kefir from 'kefir';
2
- import { parse } from 'querystring';
3
- import PageCommunicator from './gmail-page-communicator';
4
- import { injectScript } from '../../lib/inject-script';
5
- export default function makeXhrInterceptor() {
6
- var pageCommunicator = new PageCommunicator();
7
- var rawInterceptStream = pageCommunicator.ajaxInterceptStream;
8
- var pageCommunicatorPromise = injectScript().then(() => pageCommunicator);
9
- var interceptStream = Kefir.merge([
10
- rawInterceptStream
11
- .filter(function (detail) {
12
- return detail.type === 'emailSending';
13
- })
14
- .map(function (detail) {
15
- if (detail.draftID) {
16
- return detail;
17
- }
18
- else {
19
- // TODO is this block dead code?
20
- var body = parse(detail.body);
21
- return {
22
- type: 'emailSending',
23
- composeId: body.composeid,
24
- draft: body.draft,
25
- };
26
- }
27
- }),
28
- rawInterceptStream
29
- .filter(function (detail) {
30
- return detail.type === 'emailSent';
31
- })
32
- .map(function (detail) {
33
- if (detail.draftID) {
34
- return detail;
35
- }
36
- else {
37
- // TODO is this block dead code?
38
- var body = parse(detail.originalSendBody);
39
- var response = detail.responseText;
40
- return {
41
- type: 'emailSent',
42
- composeId: body.composeid,
43
- draft: body.draft,
44
- response: response,
45
- };
46
- }
47
- }),
48
- rawInterceptStream
49
- .filter(function (detail) {
50
- return detail.type === 'emailDraftSaveSending';
51
- })
52
- .map(function (detail) {
53
- if (detail.draftID) {
54
- return detail;
55
- }
56
- else {
57
- // TODO is this block dead code?
58
- var body = parse(detail.body);
59
- return {
60
- type: 'emailDraftSaveSending',
61
- composeId: body.composeid,
62
- draft: body.draft,
63
- };
64
- }
65
- }),
66
- rawInterceptStream
67
- .filter(function (detail) {
68
- return detail.type === 'emailDraftReceived';
69
- })
70
- .map(function (detail) {
71
- if (detail.draftID) {
72
- return detail;
73
- }
74
- else {
75
- // TODO is this block dead code?
76
- var body = parse(detail.originalSendBody);
77
- var response = detail.responseText;
78
- return {
79
- type: 'emailDraftReceived',
80
- composeId: body.composeid,
81
- draft: body.draft,
82
- response: response,
83
- connectionDetails: detail.connectionDetails,
84
- };
85
- }
86
- }),
87
- ]);
88
- return {
89
- xhrInterceptStream: interceptStream,
90
- pageCommunicatorPromise,
91
- };
92
- }
@@ -1,28 +0,0 @@
1
- import PageParserTree from 'page-parser-tree';
2
- import udKefir from 'ud-kefir';
3
- import pageParserOptions from './pageParserOptions';
4
- import censorHTMLtree from '../../../common/censorHTMLtree';
5
- const pageParserOptionsStream = udKefir(module, pageParserOptions);
6
- export default function makePageParserTree(driver, root) {
7
- const _driver = driver;
8
- function transformOptions(pageParserOptions) {
9
- return !_driver
10
- ? pageParserOptions
11
- : {
12
- ...pageParserOptions,
13
- logError(err, el) {
14
- const details = {
15
- el,
16
- html: el ? censorHTMLtree(el) : null,
17
- };
18
- _driver.getLogger().errorSite(err, details);
19
- },
20
- };
21
- }
22
- const page = new PageParserTree(root, transformOptions(pageParserOptions));
23
- pageParserOptionsStream.changes().onValue((pageParserOptions) => {
24
- console.log('replacing PageParserTree options');
25
- page.replaceOptions(transformOptions(pageParserOptions));
26
- });
27
- return page;
28
- }
@@ -1,19 +0,0 @@
1
- const pageParserOptions = {
2
- tags: {},
3
- watchers: [
4
- {
5
- sources: [null],
6
- tag: 'composeLinkPopOverContainer',
7
- selectors: ['body', '.Lf.a5s'],
8
- },
9
- ],
10
- finders: {
11
- supportMenu: {
12
- fn: (root) => root.querySelectorAll('header[role=banner] div:not([aria-label]):not([data-ogsr-up]) > div:not(.inboxsdk__appButton) > div[data-tooltip] + div[role=menu]'),
13
- },
14
- composeLinkPopOverContainer: {
15
- fn: (root) => root.querySelectorAll('body > .Lf.a5s'),
16
- },
17
- },
18
- };
19
- export default pageParserOptions;
@@ -1,129 +0,0 @@
1
- import querySelector from '../../../lib/dom/querySelectorOrFail';
2
- import { EventEmitter } from 'events';
3
- import cx from 'classnames';
4
- import GmailElementGetter from '../gmail-element-getter';
5
- import { stylesStream } from '../gmail-driver/track-gmail-styles';
6
- import isEqual from 'fast-deep-equal';
7
- export const NATIVE_CLASS = 'Xa';
8
- export const INBOXSDK_CLASS = 'inboxsdk__appMenuItem';
9
- export const ELEMENT_CLASS = `${NATIVE_CLASS} ${INBOXSDK_CLASS}`;
10
- const ICON_ELEMENT_CLASS = 'V6 CL';
11
- const HEADING_ELEMENT_CLASS = 'apW';
12
- export const ICON_ELEMENT_SELECTOR = '.V6.CL';
13
- const HEADING_ELEMENT_SELECTOR = '.apW';
14
- class GmailAppMenuItemView extends EventEmitter {
15
- static elementCss = {
16
- HOVER: 'aIk',
17
- ACTIVE: 'apV',
18
- };
19
- #menuItemDescriptor;
20
- #element;
21
- #destroyed = false;
22
- #driver;
23
- get element() {
24
- return this.#element;
25
- }
26
- set menuItemDescriptor(newMenuItemDescriptor) {
27
- this.#menuItemDescriptor = newMenuItemDescriptor;
28
- this.#update();
29
- }
30
- get menuItemDescriptor() {
31
- return this.#menuItemDescriptor;
32
- }
33
- constructor(driver, menuItemDescriptor) {
34
- super();
35
- this.#element = this.#setupElement();
36
- this.#driver = driver;
37
- this.#menuItemDescriptor = menuItemDescriptor;
38
- this.#update();
39
- stylesStream
40
- .skipDuplicates((a, b) => isEqual(a, b))
41
- .onValue(({ type }) => {
42
- if (type === 'theme') {
43
- this.#update();
44
- }
45
- });
46
- driver.getStopper().onValue(() => this.remove());
47
- this.#element.addEventListener('click', (e) => this.#onClick(e));
48
- this.#element.addEventListener('mouseleave', this.#onBlur);
49
- querySelector(this.#element, ICON_ELEMENT_SELECTOR).addEventListener('mouseenter', this.#onHover);
50
- }
51
- remove() {
52
- if (this.#destroyed)
53
- return;
54
- this.#destroyed = true;
55
- this.element?.remove();
56
- this.emit('destroy');
57
- }
58
- #setupElement() {
59
- const element = document.createElement('div');
60
- element.className = ELEMENT_CLASS;
61
- element.innerHTML = `
62
- <div class="${ICON_ELEMENT_CLASS}" aria-label="" role="link" tabindex="-1"></div>
63
- <div class="${HEADING_ELEMENT_CLASS}" role="heading" aria-level="2"></div>
64
- `.trim();
65
- return element;
66
- }
67
- #update() {
68
- const element = this.element;
69
- if (!element)
70
- return;
71
- const existingClassNames = Object.values(GmailAppMenuItemView.elementCss).filter((className) => element.classList.contains(className));
72
- element.className = cx(ELEMENT_CLASS, this.#menuItemDescriptor?.className, ...existingClassNames);
73
- this.#updateName(element);
74
- this.#updateIcon(element);
75
- this.#updateARIA(element);
76
- }
77
- #updateName(element) {
78
- const headingElement = querySelector(element, HEADING_ELEMENT_SELECTOR);
79
- headingElement.textContent = this.#menuItemDescriptor?.name ?? '';
80
- }
81
- static #preloadedIcons = new Set();
82
- #updateIcon(element) {
83
- const iconContainerEl = querySelector(element, ICON_ELEMENT_SELECTOR);
84
- const { iconUrl, iconClassName } = this.#menuItemDescriptor ?? {};
85
- if (iconUrl) {
86
- const rawTheme = GmailElementGetter.isDarkTheme()
87
- ? iconUrl.darkTheme
88
- : iconUrl.lightTheme;
89
- if (!rawTheme)
90
- return;
91
- const theme = typeof rawTheme === 'string' ? rawTheme : rawTheme.default;
92
- const activeImg = typeof rawTheme === 'string' ? rawTheme : rawTheme.active;
93
- // alleviate FOUC when switching between active and default icons
94
- // https://stackoverflow.com/a/68521953/1924257
95
- for (const url of [theme, activeImg]) {
96
- if (GmailAppMenuItemView.#preloadedIcons.has(url))
97
- continue;
98
- GmailAppMenuItemView.#preloadedIcons.add(url);
99
- var link = document.createElement('link');
100
- link.rel = 'preload';
101
- link.as = 'image';
102
- link.href = url;
103
- document.head.appendChild(link);
104
- }
105
- iconContainerEl.style.setProperty('--background-image', `url(${theme})`);
106
- iconContainerEl.style.setProperty('--background-image--active', `url(${activeImg})`);
107
- }
108
- iconContainerEl.className = cx(ICON_ELEMENT_CLASS, iconClassName);
109
- }
110
- #updateARIA(element) {
111
- const iconContainerEl = querySelector(element, ICON_ELEMENT_SELECTOR);
112
- iconContainerEl.setAttribute('aria-label', this.#menuItemDescriptor?.name ?? '');
113
- }
114
- #onClick(e) {
115
- this.emit('click', e);
116
- this.#menuItemDescriptor?.onClick?.(e);
117
- if (this.#menuItemDescriptor?.routeID) {
118
- this.#driver.goto(this.#menuItemDescriptor.routeID, this.#menuItemDescriptor.routeParams);
119
- }
120
- }
121
- #onBlur = (e) => {
122
- this.emit('blur', e);
123
- };
124
- #onHover = (e) => {
125
- this.emit('hover', e);
126
- this.#menuItemDescriptor?.onHover?.(e);
127
- };
128
- }
129
- export { GmailAppMenuItemView };
@@ -1,80 +0,0 @@
1
- import udKefir from 'ud-kefir';
2
- import * as Kefir from 'kefir';
3
- import kefirStopper from 'kefir-stopper';
4
- import GmailAppSidebarPrimary from './primary';
5
- import ContentPanelViewDriver from '../../../../driver-common/sidebar/ContentPanelViewDriver';
6
- const updates = udKefir(module, null);
7
- class GmailAppSidebarView {
8
- _stopper = kefirStopper();
9
- _driver;
10
- _instanceId;
11
- constructor(driver, companionSidebarContentContainerElement) {
12
- this._driver = driver;
13
- // We need to be able to cooperate with other apps/extensions that are
14
- // sharing the app sidebar. We store some properties as attributes in the
15
- // shared DOM instead of as class properties; class properties are mostly
16
- // restricted to being used for references to DOM nodes. When
17
- // GmailAppSidebarView is instantiated, we check the element for an
18
- // attribute to see whether a previous extension's GmailAppSidebarView has
19
- // already set up the sidebar or not.
20
- const instanceId = companionSidebarContentContainerElement.getAttribute('data-sdk-sidebar-instance-id');
21
- if (instanceId != null) {
22
- this._instanceId = instanceId;
23
- }
24
- else {
25
- let primary = new GmailAppSidebarPrimary(driver, companionSidebarContentContainerElement);
26
- this._instanceId = primary.getInstanceId();
27
- // hot reloading support. Not perfect; this will break any existing panels.
28
- updates.changes().onValue(() => {
29
- primary.destroy();
30
- primary = new GmailAppSidebarPrimary(driver, companionSidebarContentContainerElement);
31
- this._instanceId = primary.getInstanceId();
32
- });
33
- }
34
- }
35
- destroy() {
36
- this._stopper.destroy();
37
- }
38
- getStopper() {
39
- return this._stopper;
40
- }
41
- _getShouldThreadAppSidebarOpen() {
42
- return (global.localStorage.getItem('inboxsdk__thread_app_sidebar_should_open') !== 'false');
43
- }
44
- _setShouldThreadAppSidebarOpen(open) {
45
- try {
46
- global.localStorage.setItem('inboxsdk__thread_app_sidebar_should_open', String(open));
47
- }
48
- catch (err) {
49
- console.error('error saving', err);
50
- }
51
- }
52
- // This value controls whether the app sidebar should automatically open
53
- // itself when available when the chat sidebar isn't present. It's only set
54
- // if the user interacts with the app sidebar button.
55
- _getShouldGlobalAppSidebarOpen() {
56
- return (global.localStorage.getItem('inboxsdk__global_app_sidebar_should_open') === 'true');
57
- }
58
- _setShouldGlobalAppSidebarOpen(open) {
59
- try {
60
- global.localStorage.setItem('inboxsdk__global_app_sidebar_should_open', String(open));
61
- }
62
- catch (err) {
63
- console.error('error saving', err);
64
- }
65
- }
66
- addThreadSidebarContentPanel(descriptor, threadView) {
67
- const panel = new ContentPanelViewDriver(this._driver, descriptor, this._instanceId);
68
- Kefir.merge([threadView.getStopper(), this._stopper])
69
- .take(1)
70
- .takeUntilBy(panel.getStopper())
71
- .onValue(() => panel.remove());
72
- return panel;
73
- }
74
- addGlobalSidebarContentPanel(descriptor) {
75
- const panel = new ContentPanelViewDriver(this._driver, descriptor, this._instanceId, true);
76
- this._stopper.takeUntilBy(panel.getStopper()).onValue(() => panel.remove());
77
- return panel;
78
- }
79
- }
80
- export default GmailAppSidebarView;