@inboxsdk/core 1.2.5 → 1.2.7

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