@inboxsdk/core 1.2.4 → 1.2.7

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