@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,8 +0,0 @@
1
- import fromEventTargetCapture from '../from-event-target-capture';
2
- import { defn } from 'ud';
3
- const pageMouseUps = fromEventTargetCapture(document.body, 'mouseup');
4
- const onMouseDownAndUp = defn(module, function onMouseDownAndUp(el) {
5
- const elMouseDowns = fromEventTargetCapture(el, 'mousedown');
6
- return elMouseDowns.flatMapLatest(() => pageMouseUps.take(1).filter((event) => el.contains(event.target)));
7
- });
8
- export default onMouseDownAndUp;
@@ -1,38 +0,0 @@
1
- import * as Kefir from 'kefir';
2
- import fromEventTargetCapture from '../from-event-target-capture';
3
- import parentNodes from './parentNodes';
4
- export default function outsideClicksAndEscape(elements) {
5
- return Kefir.merge([
6
- fromEventTargetCapture(document, 'click'),
7
- // We modify the focus event on document sometimes, so we listen for
8
- // it on body so our modifications can happen first.
9
- fromEventTargetCapture(document.body, 'focus'),
10
- ])
11
- .filter((event) => !event.shouldIgnore &&
12
- (event.isTrusted ||
13
- (process.env.NODE_ENV === 'test' && event.__testAllow)) &&
14
- elements.every((el) => {
15
- for (const node of parentNodes(event.target)) {
16
- if (node === el)
17
- return false;
18
- }
19
- return true;
20
- }))
21
- .map((event) => ({ type: 'outsideInteraction', cause: event }))
22
- .merge(Kefir.fromEvents(document, 'keydown')
23
- .filter((e) => (e.key ? e.key === 'Escape' : e.which === 27))
24
- .map((event) => {
25
- event.preventDefault();
26
- event.stopPropagation();
27
- return { type: 'escape', cause: event };
28
- }))
29
- .map((e) => {
30
- if (process.env.NODE_ENV !== 'production') {
31
- const allElsStillInPage = elements.every((el) => document.contains(el));
32
- if (!allElsStillInPage) {
33
- console.error('outsideClicksAndEscape not unsubscribed from when elements were removed from the page');
34
- }
35
- }
36
- return e;
37
- });
38
- }
@@ -1,8 +0,0 @@
1
- export default function* parentNodes(node) {
2
- do {
3
- yield node;
4
- } while ((node =
5
- node.rfaAnchor ||
6
- node._logicalParent ||
7
- node.parentNode));
8
- }
@@ -1,6 +0,0 @@
1
- export default function querySelector(el, selector) {
2
- const r = el.querySelector(selector);
3
- if (!r)
4
- throw new Error(`Failed to find element with selector: ${selector}`);
5
- return r;
6
- }
@@ -1,22 +0,0 @@
1
- export default function reemitClickEvent(event) {
2
- // Inbox is going to block this event from bubbling to the body. We
3
- // want to manually dispatch an event that looks like it so that if
4
- // the extension is using React (which listens to events on the body)
5
- // then React will see it.
6
- const fakeEvent = new MouseEvent('click');
7
- Object.defineProperties(fakeEvent, {
8
- target: { value: event.target },
9
- detail: { value: event.detail },
10
- screenX: { value: event.screenX },
11
- screenY: { value: event.screenY },
12
- clientX: { value: event.clientX },
13
- clientY: { value: event.clientY },
14
- button: { value: event.button },
15
- buttons: { value: event.buttons },
16
- ctrlKey: { value: event.ctrlKey },
17
- shiftKey: { value: event.shiftKey },
18
- altKey: { value: event.altKey },
19
- metaKey: { value: event.metaKey },
20
- });
21
- document.dispatchEvent(fakeEvent);
22
- }
@@ -1,20 +0,0 @@
1
- // For quick temporary CSS changes
2
- export default function setCss(key, css) {
3
- const id = `inboxsdk__${key}`;
4
- let style = document.getElementById(id);
5
- if (!css) {
6
- if (style) {
7
- style.remove();
8
- }
9
- return;
10
- }
11
- if (!style) {
12
- style = document.createElement('style');
13
- style.className = 'inboxsdk__custom';
14
- style.id = id;
15
- if (!document.head)
16
- throw new Error('missing head');
17
- document.head.appendChild(style);
18
- }
19
- style.textContent = css;
20
- }
@@ -1,88 +0,0 @@
1
- import triggerRelayEvent from './trigger-relay-event';
2
- function makeDataTransferObj(files) {
3
- const fileNames = Array.from(files).map((file) => (typeof file.name === 'string' ? file.name : undefined));
4
- return {
5
- files,
6
- fileNames,
7
- };
8
- }
9
- export function simulateDragOver(element, files) {
10
- const dataTransfer = makeDataTransferObj(files);
11
- const props = {
12
- screenX: 0,
13
- screenY: 0,
14
- clientX: 0,
15
- clientY: 0,
16
- buttons: 1,
17
- ctrlKey: false,
18
- shiftKey: false,
19
- altKey: false,
20
- metaKey: false,
21
- detail: 0,
22
- };
23
- triggerRelayEvent(element, {
24
- type: 'dragenter',
25
- bubbles: true,
26
- cancelable: false,
27
- props,
28
- dataTransfer,
29
- });
30
- triggerRelayEvent(element, {
31
- type: 'dragover',
32
- bubbles: true,
33
- cancelable: false,
34
- props,
35
- dataTransfer,
36
- });
37
- }
38
- export function simulateDrop(element, files) {
39
- const dataTransfer = makeDataTransferObj(files);
40
- const props = {
41
- screenX: 0,
42
- screenY: 0,
43
- clientX: 0,
44
- clientY: 0,
45
- buttons: 1,
46
- ctrlKey: false,
47
- shiftKey: false,
48
- altKey: false,
49
- metaKey: false,
50
- detail: 0,
51
- };
52
- triggerRelayEvent(element, {
53
- type: 'drop',
54
- bubbles: true,
55
- cancelable: false,
56
- props,
57
- dataTransfer,
58
- });
59
- }
60
- export function simulateDragEnd(element, files) {
61
- const dataTransfer = makeDataTransferObj(files);
62
- const props = {
63
- screenX: 0,
64
- screenY: 0,
65
- clientX: 0,
66
- clientY: 0,
67
- buttons: 1,
68
- ctrlKey: false,
69
- shiftKey: false,
70
- altKey: false,
71
- metaKey: false,
72
- detail: 0,
73
- };
74
- triggerRelayEvent(element, {
75
- type: 'dragleave',
76
- bubbles: true,
77
- cancelable: false,
78
- props,
79
- dataTransfer,
80
- });
81
- triggerRelayEvent(element, {
82
- type: 'dragend',
83
- bubbles: true,
84
- cancelable: false,
85
- props,
86
- dataTransfer,
87
- });
88
- }
@@ -1,46 +0,0 @@
1
- import triggerRelayEvent from './trigger-relay-event';
2
- export default function simulateKey(element, keyCode, charCode) {
3
- const ctrlKey = false;
4
- const metaKey = false;
5
- const altKey = false;
6
- const shiftKey = false;
7
- triggerRelayEvent(element, {
8
- type: 'keydown',
9
- bubbles: true,
10
- cancelable: true,
11
- props: {
12
- keyCode,
13
- charCode,
14
- ctrlKey,
15
- metaKey,
16
- altKey,
17
- shiftKey,
18
- },
19
- });
20
- triggerRelayEvent(element, {
21
- type: 'keypress',
22
- bubbles: true,
23
- cancelable: true,
24
- props: {
25
- keyCode,
26
- charCode,
27
- ctrlKey,
28
- metaKey,
29
- altKey,
30
- shiftKey,
31
- },
32
- });
33
- triggerRelayEvent(element, {
34
- type: 'keyup',
35
- bubbles: true,
36
- cancelable: true,
37
- props: {
38
- keyCode,
39
- charCode,
40
- ctrlKey,
41
- metaKey,
42
- altKey,
43
- shiftKey,
44
- },
45
- });
46
- }
@@ -1,16 +0,0 @@
1
- export default function simulateMouseEvent(element, mouseEventName) {
2
- const event = document.createEvent('MouseEvents');
3
- event.initMouseEvent(mouseEventName, true, true, window, 0, element.offsetLeft, element.offsetTop, 0, 0, false, false, false, false, 0, null);
4
- element.dispatchEvent(event);
5
- }
6
- export function simulateHover(element) {
7
- simulateMouseEvent(element, 'mouseover');
8
- }
9
- export function simulateClick(element) {
10
- simulateMouseEvent(element, 'mousedown');
11
- simulateMouseEvent(element, 'mouseup');
12
- simulateMouseEvent(element, 'click');
13
- simulateMouseEvent(element, 'mouseleave');
14
- simulateMouseEvent(element, 'mouseout');
15
- element.blur();
16
- }
@@ -1,7 +0,0 @@
1
- export default async function triggerRelayEvent(element, detail) {
2
- element.dispatchEvent(new CustomEvent('inboxsdk_event_relay', {
3
- bubbles: true,
4
- cancelable: false,
5
- detail,
6
- }));
7
- }
@@ -1,25 +0,0 @@
1
- import isValidEmail from './is-valid-email';
2
- export default function extractContactFromEmailContactString(contactInfoString) {
3
- let name = null;
4
- let emailAddress = null;
5
- const contactInfoParts = contactInfoString.split('<');
6
- const firstPartTrimmed = contactInfoParts[0].replace(/\u202c/g, '').trim();
7
- if (contactInfoParts.length > 1) {
8
- name = firstPartTrimmed;
9
- emailAddress = contactInfoParts[1]
10
- .split('>')[0]
11
- .replace(/\u202c/g, '')
12
- .trim();
13
- }
14
- else {
15
- if (isValidEmail(firstPartTrimmed)) {
16
- emailAddress = firstPartTrimmed;
17
- }
18
- else {
19
- throw Object.assign(new Error('Invalid email address'), {
20
- firstPartTrimmed,
21
- });
22
- }
23
- }
24
- return { name, emailAddress };
25
- }
@@ -1,5 +0,0 @@
1
- export default function fakeWindowResize() {
2
- const event = document.createEvent('HTMLEvents');
3
- event.initEvent('resize', true, false);
4
- window.dispatchEvent(event);
5
- }
@@ -1,12 +0,0 @@
1
- import * as Kefir from 'kefir';
2
- export default function fromEventTargetCapture(target, eventName) {
3
- return Kefir.stream((emitter) => {
4
- function sink(event) {
5
- emitter.value(event);
6
- }
7
- target.addEventListener(eventName, sink, true);
8
- return () => {
9
- target.removeEventListener(eventName, sink, true);
10
- };
11
- });
12
- }
@@ -1,10 +0,0 @@
1
- import * as Kefir from 'kefir';
2
- import { addEventListener, removeEventListener, } from 'event-listener-with-options';
3
- export default function fromEventsWithOptions(target, eventName, options) {
4
- return Kefir.stream((emitter) => {
5
- addEventListener(target, eventName, emitter.emit, options);
6
- return () => {
7
- removeEventListener(target, eventName, emitter.emit, options);
8
- };
9
- });
10
- }
@@ -1,124 +0,0 @@
1
- import * as Kefir from 'kefir';
2
- import { defn } from 'ud';
3
- import querySelector from './dom/querySelectorOrFail';
4
- import makeMutationObserverChunkedStream from './dom/make-mutation-observer-chunked-stream';
5
- const extId = '' + Math.random();
6
- const X_URL = 'https://ssl.gstatic.com/ui/v1/icons/common/x_8px.png';
7
- const handleComposeLinkChips = defn(module, function (composeView) {
8
- // Abort if we're missing elements we'll need.
9
- try {
10
- composeView.getBodyElement();
11
- }
12
- catch (err) {
13
- return;
14
- }
15
- const mainElement = composeView.getElement();
16
- _waitToClaim(mainElement)
17
- .takeUntilBy(composeView.getStopper())
18
- .onValue(() => {
19
- mainElement.classList.add('inboxsdk__ensure_link_active');
20
- composeView.getStopper().onValue(() => {
21
- mainElement.classList.remove('inboxsdk__ensure_link_active');
22
- });
23
- composeView
24
- .getEventStream()
25
- .filter((event) => event.eventName === 'bodyChanged')
26
- .toProperty(() => null)
27
- .debounce(100, {
28
- immediate: true,
29
- })
30
- .takeUntilBy(composeView.getStopper())
31
- .onValue(() => {
32
- doFixing(composeView);
33
- });
34
- composeView
35
- .getEventStream()
36
- .filter((event) => event.eventName === 'presending')
37
- .onValue(() => {
38
- doPresendFixing(composeView);
39
- });
40
- });
41
- });
42
- export default handleComposeLinkChips;
43
- const doFixing = defn(module, function (composeView) {
44
- const bodyElement = composeView.getBodyElement();
45
- const chips = _getChipElements(bodyElement);
46
- chips.filter(_isNotEnhanced).forEach(_addEnhancements);
47
- }, 'doFixing');
48
- const doPresendFixing = defn(module, function (composeView) {
49
- const bodyElement = composeView.getBodyElement();
50
- const chips = _getChipElements(bodyElement);
51
- chips.filter(_isOurEnhanced).forEach((chip) => {
52
- const xBtn = chip.querySelector(`img[src="${X_URL}"]`);
53
- if (xBtn) {
54
- xBtn.remove();
55
- }
56
- const title = chip.querySelector('a > span');
57
- if (title) {
58
- title.style.textDecoration = 'none';
59
- }
60
- });
61
- }, 'doPresendFixing');
62
- function _getChipElements(bodyElement) {
63
- const chipInnerEls = bodyElement.querySelectorAll('[hspace=inboxsdk__chip]');
64
- return [
65
- ...Array.from(chipInnerEls).map((x) => x.parentElement),
66
- ...Array.from(bodyElement.querySelectorAll('[hspace=inboxsdk__chip_main]')),
67
- ];
68
- }
69
- function _waitToClaim(el) {
70
- return Kefir.later(0, undefined)
71
- .merge(makeMutationObserverChunkedStream(el, {
72
- attributes: true,
73
- attributeFilter: ['class'],
74
- }))
75
- .map(() => !el.classList.contains('inboxsdk__ensure_link_active'))
76
- .filter(Boolean)
77
- .take(1);
78
- }
79
- function _isNotEnhanced(chipElement) {
80
- var claim = chipElement.getAttribute('data-sdk-linkchip-claimed');
81
- if (extId === claim) {
82
- return !chipElement._linkChipEnhancedByThisExtension;
83
- }
84
- return claim == null;
85
- }
86
- // Returns whether the chip is enhanced specifically by this extension
87
- function _isOurEnhanced(chipElement) {
88
- return !!chipElement._linkChipEnhancedByThisExtension;
89
- }
90
- function _addEnhancements(chipElement) {
91
- const anchor = chipElement.querySelector('a');
92
- if (anchor) {
93
- anchor.addEventListener('mousedown', function (e) {
94
- e.stopImmediatePropagation();
95
- }, true);
96
- anchor.addEventListener('click', function (e) {
97
- e.stopImmediatePropagation();
98
- }, true);
99
- }
100
- const xElement = document.createElement('img');
101
- xElement.src = X_URL;
102
- xElement.setAttribute('style', 'opacity: 0.55; cursor: pointer; float: right; position: relative; top: -1px;');
103
- xElement.addEventListener('mousedown', function () {
104
- chipElement.remove();
105
- }, true);
106
- xElement.addEventListener('click', function (e) {
107
- e.stopImmediatePropagation();
108
- e.preventDefault();
109
- }, true);
110
- chipElement.addEventListener('mouseenter', function () {
111
- chipElement.appendChild(xElement);
112
- querySelector(chipElement, 'a > span').style.textDecoration = 'underline';
113
- });
114
- chipElement.addEventListener('mouseleave', function () {
115
- xElement.remove();
116
- querySelector(chipElement, 'a > span').style.textDecoration = 'none';
117
- });
118
- chipElement.addEventListener('mousedown', function (e) {
119
- e.preventDefault();
120
- });
121
- chipElement.contentEditable = 'false';
122
- chipElement.setAttribute('data-sdk-linkchip-claimed', extId);
123
- chipElement._linkChipEnhancedByThisExtension = true;
124
- }
@@ -1,67 +0,0 @@
1
- import remove from 'lodash/remove';
2
- import asap from 'asap';
3
- import Logger from './logger';
4
- export default class HandlerRegistry {
5
- _targets = [];
6
- _pendingHandlers = [];
7
- _handlers = [];
8
- registerHandler(handler) {
9
- if (this._pendingHandlers.indexOf(handler) === -1) {
10
- this._pendingHandlers.push(handler);
11
- asap(() => {
12
- const pendingHandlers = this._pendingHandlers.slice();
13
- for (let ii = pendingHandlers.length - 1; ii >= 0; ii--) {
14
- const handler = pendingHandlers[ii];
15
- if (this._handlers.indexOf(handler) === -1) {
16
- this._handlers.push(handler);
17
- this._informHandlerOfTargets(handler);
18
- }
19
- }
20
- this._pendingHandlers = [];
21
- });
22
- }
23
- return () => {
24
- remove(this._pendingHandlers, (h) => h === handler);
25
- remove(this._handlers, (h) => h === handler);
26
- };
27
- }
28
- addTarget(target) {
29
- this._targets.push(target);
30
- // TODO should we error if an object without an .on method is added?
31
- if (target &&
32
- typeof target === 'object' &&
33
- typeof target.on === 'function') {
34
- target.on('destroy', () => {
35
- this.removeTarget(target);
36
- });
37
- }
38
- this._informHandlersOfTarget(target);
39
- }
40
- removeTarget(target) {
41
- remove(this._targets, (t) => t === target);
42
- }
43
- dumpHandlers() {
44
- this._pendingHandlers = [];
45
- this._handlers = [];
46
- }
47
- _informHandlerOfTargets(handler) {
48
- const targets = this._targets.slice();
49
- for (let ii = 0; ii < targets.length; ii++) {
50
- _tryCatch(handler, targets[ii]);
51
- }
52
- }
53
- _informHandlersOfTarget(target) {
54
- const handlers = this._handlers.slice();
55
- for (let ii = 0; ii < handlers.length; ii++) {
56
- _tryCatch(handlers[ii], target);
57
- }
58
- }
59
- }
60
- function _tryCatch(fn, arg) {
61
- try {
62
- fn(arg);
63
- }
64
- catch (err) {
65
- Logger.error(err);
66
- }
67
- }
@@ -1,40 +0,0 @@
1
- import * as s from '../style/gmail.css';
2
- import Sha256 from 'sha.js/sha256';
3
- const cache = new Map();
4
- let seed = null;
5
- /**
6
- * Pass a name and you'll get a unique identifier associated with that name.
7
- * The returned identifier will only contain alphabetic characters.
8
- *
9
- * @deprecated a holdover from the old idMap runtime implementation. Use `idMap` instead unless you specifically need the same classname as old versions of the InboxSDK used.
10
- */
11
- export function legacyIdMap(name) {
12
- const id = cache.get(name);
13
- if (id != null)
14
- return id;
15
- if (seed == null) {
16
- seed = document.documentElement.getAttribute('data-map-id');
17
- if (seed == null) {
18
- // Make the seed change every hour: the seed is based on a hash of the
19
- // current timestamp in hour resolution.
20
- const hasher = new Sha256();
21
- hasher.update('PWVe' + Math.floor(Date.now() / (1000 * 60 * 60)) + 'PYiE0');
22
- seed =
23
- hasher.digest('hex').slice(0, 16) +
24
- (process.env.NODE_ENV === 'development' ? 'x' : '');
25
- document.documentElement.setAttribute('data-map-id', seed);
26
- }
27
- }
28
- const hasher = new Sha256();
29
- hasher.update('4iYi29W' + name + ':' + seed + 'jn2mPvTG');
30
- const newId = hasher
31
- .digest('hex')
32
- .slice(0, 16)
33
- .replace(/[0-9]/g, (match) => String.fromCharCode('A'.charCodeAt(0) + Number(match)));
34
- cache.set(name, newId);
35
- return newId;
36
- }
37
- export default function idMap(id) {
38
- // Uses lazy initialization of style tags from style-loader
39
- return s[id];
40
- }
@@ -1,8 +0,0 @@
1
- export default function imageRequest(url) {
2
- return new Promise((resolve, reject) => {
3
- const img = new Image();
4
- img.addEventListener('load', () => resolve(img));
5
- img.addEventListener('error', reject);
6
- img.src = url;
7
- });
8
- }
@@ -1,7 +0,0 @@
1
- export default function incrementName(name) {
2
- const m = / (\d+)$/.exec(name);
3
- if (m) {
4
- return name.slice(0, name.length - m[0].length) + ' ' + (Number(m[1]) + 1);
5
- }
6
- return name + ' 2';
7
- }
@@ -1,13 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-var-requires */
2
- export function injectScriptEmbedded() {
3
- const url = 'https://www.inboxsdk.com/build/pageWorld.js';
4
- const script = document.createElement('script');
5
- script.type = 'text/javascript';
6
- const originalCode = require('../../../packages/core/pageWorld?raw');
7
- const codeParts = [];
8
- codeParts.push(originalCode);
9
- codeParts.push('\n//# sourceURL=' + url + '\n');
10
- const codeToRun = codeParts.join('');
11
- script.text = codeToRun;
12
- document.head.appendChild(script).parentNode.removeChild(script);
13
- }
@@ -1,33 +0,0 @@
1
- import once from 'lodash/once';
2
- import Kefir from 'kefir';
3
- import makeMutationObserverChunkedStream from './dom/make-mutation-observer-chunked-stream';
4
- let injectScriptImplementation = () => {
5
- window.chrome.runtime.sendMessage({ type: 'inboxsdk__injectPageWorld' }, (didExecute) => {
6
- if (!didExecute) {
7
- // MV2 support
8
- const scr = document.createElement('script');
9
- scr.type = 'text/javascript';
10
- scr.src = window.chrome.runtime.getURL('pageWorld.js');
11
- document.documentElement.appendChild(scr);
12
- }
13
- });
14
- };
15
- // Returns a promise that resolves once the injected script has been injected
16
- // and has done its initial load stuff.
17
- export const injectScript = once(() => {
18
- if (!document.head.hasAttribute('data-inboxsdk-script-injected')) {
19
- document.head.setAttribute('data-inboxsdk-script-injected', 'true');
20
- injectScriptImplementation();
21
- }
22
- return Kefir.later(0, null)
23
- .merge(makeMutationObserverChunkedStream(document.head, {
24
- attributes: true,
25
- }))
26
- .filter(() => document.head.hasAttribute('data-inboxsdk-user-email-address'))
27
- .take(1)
28
- .map(() => null)
29
- .toPromise();
30
- });
31
- export function setInjectScriptImplementation(fn) {
32
- injectScriptImplementation = fn;
33
- }
@@ -1,44 +0,0 @@
1
- import * as ud from 'ud';
2
- import autoHtml from 'auto-html';
3
- var insertLinkChipIntoBody = ud.defn(module, function (composeViewDriver, options) {
4
- composeViewDriver.focus();
5
- var chipElement = _getChipElement(options);
6
- // Gmail compose treats text directly bordering the chipElement weirdly in
7
- // regards to cursor movement, so surround the chip with newlines which
8
- // makes Gmail act up a little less.
9
- var frag = document.createDocumentFragment();
10
- frag.appendChild(document.createTextNode('\u200b'));
11
- frag.appendChild(chipElement);
12
- frag.appendChild(document.createTextNode('\u200b'));
13
- composeViewDriver.insertBodyHTMLAtCursor(frag);
14
- if (!composeViewDriver.isFullscreen() &&
15
- !composeViewDriver.isInlineReplyForm() &&
16
- document.activeElement !== composeViewDriver.getBodyElement()) {
17
- composeViewDriver.setMinimized(true);
18
- composeViewDriver.setMinimized(false);
19
- }
20
- composeViewDriver.focus();
21
- return chipElement;
22
- });
23
- export default insertLinkChipIntoBody;
24
- function _getChipElement(options) {
25
- var chipElement = document.createElement('div');
26
- var iconHtml = options.iconUrl
27
- ? autoHtml `
28
- <img style="height:16px; width:16px; vertical-align: bottom; border: none;" height="16px" width="16px" src="${options.iconUrl}">&nbsp;
29
- `
30
- : '';
31
- var chipHTML = autoHtml `
32
- <div contenteditable="false" class="inboxsdk__compose_linkChip"
33
- style="width: 396px; height: 18px; max-height: 18px; padding: 5px; color: rgb(34, 34, 34); font-family: arial; font-style: normal; font-weight: bold; font-size: 13px; cursor: default; border: 1px solid rgb(221, 221, 221); line-height: 1; background-color: rgb(245, 245, 245);" hspace="inboxsdk__chip_main">
34
- <a href="${options.url}" target="_blank" style=" display:inline-block; max-width: 366px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-height: 1.2em; text-decoration: none; cursor: pointer; padding: 1px 0; border: none; ">
35
- ${{
36
- __html: iconHtml,
37
- }}
38
- <span dir="ltr" style="color: rgb(17, 85, 204); text-decoration: none; vertical-align: bottom;">${options.text}</span>
39
- </a>
40
- </div>
41
- `;
42
- chipElement.innerHTML = chipHTML;
43
- return chipElement.children[0];
44
- }