@inboxsdk/core 0.2.28-alpha.4 → 0.2.28-alpha.5

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 (263) hide show
  1. package/inboxsdk.js +1 -1
  2. package/package.json +5 -1
  3. package/src/inboxsdk-js/check-requirements.js +7 -3
  4. package/src/inboxsdk-js/header.js +1 -0
  5. package/src/inboxsdk-js/inboxsdk-NONREMOTE-INTEGRATED-PAGEWORLD.js +5 -6
  6. package/src/inboxsdk-js/inboxsdk-NONREMOTE.js +4 -3
  7. package/src/inboxsdk-js/inboxsdk-REMOTE.js +3 -1
  8. package/src/inboxsdk-js/inboxsdk-TEST.js +4 -3
  9. package/src/inboxsdk-js/inboxsdk.js +33 -39
  10. package/src/inboxsdk-js/loading/load-platform-implementation-DEV.js +15 -18
  11. package/src/injected-js/gmail/modify-suggestions.test.js +8 -9
  12. package/src/injected-js/gmail/setup-gmail-interceptor.js +340 -579
  13. package/src/injected-js/gmail/sync-compose-request-processor.test.js +39 -49
  14. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +20 -33
  15. package/src/injected-js/gmail/thread-identifier/index.js +57 -93
  16. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +22 -31
  17. package/src/injected-js/gmail/thread-identifier/thread-row-parser.test.js +12 -28
  18. package/src/injected-js/inbox/setupAjaxInterceptor.js +64 -121
  19. package/src/injected-js/inbox/setupClickAndGetNewIframeSrc.js +53 -66
  20. package/src/injected-js/inbox/setupComposeViewDraftIDFinder.js +20 -36
  21. package/src/injected-js/inbox/setupInboxFakeWindowResizeListener.js +13 -13
  22. package/src/injected-js/main.js +11 -24
  23. package/src/injected-js/message-metadata-holder.js +52 -82
  24. package/src/injected-js/setup-data-exposer.js +89 -148
  25. package/src/injected-js/setup-error-silencer.js +21 -21
  26. package/src/injected-js/setup-event-reemitter.js +30 -22
  27. package/src/injected-js/setupInboxCustomViewLinkFixer.js +24 -29
  28. package/src/injected-js/setupPushStateListener.js +18 -11
  29. package/src/injected-js/xhr-helper.js +62 -65
  30. package/src/injected-js/xhr-proxy-factory.js +195 -445
  31. package/src/injected-js/xhr-proxy-factory.test.js +824 -991
  32. package/src/platform-implementation-js/constants/router.js +14 -9
  33. package/src/platform-implementation-js/constants/toolbars.js +8 -3
  34. package/src/platform-implementation-js/dom-driver/gmail/custom-style.js +13 -13
  35. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.js +115 -136
  36. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +13 -14
  37. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.js +27 -48
  38. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.js +31 -42
  39. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.js +30 -40
  40. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +10 -18
  41. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +21 -28
  42. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +33 -45
  43. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +31 -49
  44. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +58 -65
  45. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.js +40 -124
  46. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.js +17 -22
  47. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.test.js +10 -11
  48. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.js +44 -80
  49. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.js +19 -26
  50. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.js +71 -147
  51. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.js +91 -148
  52. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +150 -166
  53. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.test.js +70 -120
  54. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.js +15 -15
  55. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.js +44 -67
  56. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +230 -379
  57. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.test.js +121 -307
  58. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.js +17 -24
  59. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.js +41 -49
  60. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.js +30 -40
  61. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +28 -60
  62. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +61 -133
  63. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +30 -42
  64. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.test.js +52 -46
  65. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +354 -694
  66. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +77 -93
  67. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +35 -82
  68. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.test.js +44 -94
  69. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +12 -19
  70. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +17 -29
  71. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.js +26 -26
  72. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +391 -797
  73. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +7 -9
  74. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +60 -109
  75. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +95 -135
  76. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +103 -211
  77. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.test.js +61 -61
  78. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.js +17 -17
  79. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +188 -541
  80. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +67 -135
  81. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +27 -49
  82. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-inner-sidebar.js +7 -13
  83. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-outer-sidebar.js +9 -22
  84. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +36 -63
  85. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +38 -113
  86. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +11 -16
  87. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +11 -17
  88. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +8 -11
  89. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +27 -47
  90. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +11 -24
  91. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +59 -111
  92. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +15 -14
  93. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +11 -17
  94. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +18 -24
  95. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +19 -23
  96. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +11 -19
  97. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +141 -376
  98. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +17 -28
  99. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +34 -70
  100. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +10 -17
  101. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +83 -137
  102. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +10 -19
  103. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +632 -1190
  104. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +29 -38
  105. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +327 -617
  106. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +26 -49
  107. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +188 -380
  108. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +104 -194
  109. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +382 -811
  110. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view/add-icon-area.js +34 -58
  111. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.js +330 -581
  112. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.test.js +123 -277
  113. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +15 -35
  114. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +216 -571
  115. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +152 -336
  116. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +87 -211
  117. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +10 -11
  118. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +20 -29
  119. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +41 -76
  120. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.js +45 -99
  121. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +76 -128
  122. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +128 -319
  123. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.js +45 -78
  124. package/src/platform-implementation-js/dom-driver/inbox/__mocks__/getSidebarClassnames.js +8 -4
  125. package/src/platform-implementation-js/dom-driver/inbox/addNavItem.js +36 -54
  126. package/src/platform-implementation-js/dom-driver/inbox/addRecipientRow.js +35 -53
  127. package/src/platform-implementation-js/dom-driver/inbox/createLink.js +13 -15
  128. package/src/platform-implementation-js/dom-driver/inbox/createLink.test.js +15 -18
  129. package/src/platform-implementation-js/dom-driver/inbox/custom-style.js +14 -13
  130. package/src/platform-implementation-js/dom-driver/inbox/detection/appToolbarLocation/parser.js +14 -20
  131. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentCard/parser.js +14 -13
  132. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentOverlay/parser.js +35 -67
  133. package/src/platform-implementation-js/dom-driver/inbox/detection/chatSidebar/parser.js +16 -18
  134. package/src/platform-implementation-js/dom-driver/inbox/detection/compose/parser.js +68 -185
  135. package/src/platform-implementation-js/dom-driver/inbox/detection/message/parser.js +28 -56
  136. package/src/platform-implementation-js/dom-driver/inbox/detection/nativeDrawer/parser.js +12 -10
  137. package/src/platform-implementation-js/dom-driver/inbox/detection/searchBar/parser.js +16 -16
  138. package/src/platform-implementation-js/dom-driver/inbox/detection/thread/parser.js +24 -35
  139. package/src/platform-implementation-js/dom-driver/inbox/detection/thread-row/parser.js +37 -89
  140. package/src/platform-implementation-js/dom-driver/inbox/getComposeViewDriverLiveSet.js +56 -78
  141. package/src/platform-implementation-js/dom-driver/inbox/getInboxMessageIdForInboxThreadId.js +26 -32
  142. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.js +52 -109
  143. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.test.js +7 -8
  144. package/src/platform-implementation-js/dom-driver/inbox/gotoView.js +16 -20
  145. package/src/platform-implementation-js/dom-driver/inbox/gotoView.test.js +15 -16
  146. package/src/platform-implementation-js/dom-driver/inbox/inbox-butter-bar-driver.js +75 -83
  147. package/src/platform-implementation-js/dom-driver/inbox/inbox-driver.js +530 -822
  148. package/src/platform-implementation-js/dom-driver/inbox/inbox-page-communicator.js +48 -61
  149. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.js +9 -12
  150. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.test.js +12 -19
  151. package/src/platform-implementation-js/dom-driver/inbox/makePageParserTree.js +24 -33
  152. package/src/platform-implementation-js/dom-driver/inbox/pageParserOptions.js +201 -388
  153. package/src/platform-implementation-js/dom-driver/inbox/registerSearchSuggestionsProvider.js +249 -265
  154. package/src/platform-implementation-js/dom-driver/inbox/setupCustomAutocompleteSelectionHandling.js +84 -152
  155. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.js +55 -67
  156. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.test.js +43 -65
  157. package/src/platform-implementation-js/dom-driver/inbox/views/InboxLabelView.js +31 -56
  158. package/src/platform-implementation-js/dom-driver/inbox/views/InboxMoleViewDriver.js +191 -294
  159. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarButtonView.js +32 -45
  160. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarView.js +21 -39
  161. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-sidebar-view.js +153 -240
  162. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-button-view.js +75 -150
  163. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-tooltip-view.js +20 -37
  164. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-card-view.js +60 -114
  165. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-overlay-view.js +47 -65
  166. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +41 -52
  167. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-chat-sidebar-view.js +27 -36
  168. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-button-view.js +52 -80
  169. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-view.js +465 -649
  170. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.js +37 -58
  171. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.test.js +14 -26
  172. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +118 -235
  173. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dropdown-view.js +10 -11
  174. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dummy-route-view.js +28 -46
  175. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-message-view.js +131 -202
  176. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-modal-view.js +40 -80
  177. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-route-view.js +35 -61
  178. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-row-view.js +124 -221
  179. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.js +125 -213
  180. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.test.js +104 -126
  181. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-tooltip-view.js +36 -51
  182. package/src/platform-implementation-js/dom-driver/inbox/views/inboxNavItemView.js +158 -297
  183. package/src/platform-implementation-js/dom-driver/inbox/waitForAnimationClickBlockerGone.js +21 -35
  184. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +24 -43
  185. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +39 -68
  186. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +14 -19
  187. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +27 -35
  188. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +16 -22
  189. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +14 -14
  190. package/src/platform-implementation-js/driver-common/inboxAjax.js +12 -7
  191. package/src/platform-implementation-js/driver-common/requestGmailThread.js +19 -20
  192. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +197 -306
  193. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +113 -161
  194. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +1 -114
  195. package/src/platform-implementation-js/driver-interfaces/driver.js +1 -131
  196. package/src/platform-implementation-js/driver-interfaces/message-view-driver.js +4 -48
  197. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +1 -29
  198. package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +1 -32
  199. package/src/platform-implementation-js/driver-interfaces/thread-row-view-driver.js +1 -11
  200. package/src/platform-implementation-js/lib/array-to-lifetimes.js +43 -41
  201. package/src/platform-implementation-js/lib/array-to-lifetimes.test.js +139 -155
  202. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +19 -38
  203. package/src/platform-implementation-js/lib/css-selector-escape.js +7 -3
  204. package/src/platform-implementation-js/lib/dom/element-view-mapper.js +8 -11
  205. package/src/platform-implementation-js/lib/dom/get-selection.js +23 -52
  206. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +69 -101
  207. package/src/platform-implementation-js/lib/dom/is-node-in-range.js +8 -10
  208. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.js +15 -17
  209. package/src/platform-implementation-js/lib/dom/querySelectorOne.js +8 -11
  210. package/src/platform-implementation-js/lib/dom/set-css.js +7 -3
  211. package/src/platform-implementation-js/lib/dom/set-value-and-dispatch-event.js +9 -11
  212. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +32 -33
  213. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.test.js +23 -26
  214. package/src/platform-implementation-js/lib/handle-compose-link-chips.js +86 -149
  215. package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +42 -57
  216. package/src/platform-implementation-js/lib/make-revocable-function.js +19 -21
  217. package/src/platform-implementation-js/lib/make-revocable-function.test.js +20 -22
  218. package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +15 -17
  219. package/src/platform-implementation-js/lib/parseParamsFromRouteID.test.js +9 -18
  220. package/src/platform-implementation-js/lib/populateRouteID.js +8 -9
  221. package/src/platform-implementation-js/lib/populateRouteID.test.js +20 -19
  222. package/src/platform-implementation-js/lib/react/ElementContainer.js +23 -20
  223. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.js +10 -9
  224. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.test.js +13 -20
  225. package/src/platform-implementation-js/lib/routeIDmatchesHash.js +13 -18
  226. package/src/platform-implementation-js/lib/routeIDmatchesHash.test.js +11 -17
  227. package/src/platform-implementation-js/lib/shared-style.js +14 -13
  228. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +18 -17
  229. package/src/platform-implementation-js/lib/toLiveSet.js +17 -15
  230. package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +6 -5
  231. package/src/platform-implementation-js/main.js +9 -24
  232. package/src/platform-implementation-js/namespaces/compose.js +37 -60
  233. package/src/platform-implementation-js/namespaces/conversations.js +52 -124
  234. package/src/platform-implementation-js/namespaces/global.js +27 -39
  235. package/src/platform-implementation-js/namespaces/keyboard.js +29 -33
  236. package/src/platform-implementation-js/namespaces/lists.js +25 -31
  237. package/src/platform-implementation-js/namespaces/modal.js +34 -28
  238. package/src/platform-implementation-js/namespaces/nav-menu.js +30 -45
  239. package/src/platform-implementation-js/namespaces/router.js +70 -137
  240. package/src/platform-implementation-js/namespaces/search.js +19 -17
  241. package/src/platform-implementation-js/namespaces/toolbars.js +71 -117
  242. package/src/platform-implementation-js/namespaces/user.js +36 -37
  243. package/src/platform-implementation-js/namespaces/widgets.js +54 -61
  244. package/src/platform-implementation-js/platform-implementation.js +98 -229
  245. package/src/platform-implementation-js/views/app-toolbar-button-view.js +26 -47
  246. package/src/platform-implementation-js/views/collapsible-section-view.js +66 -63
  247. package/src/platform-implementation-js/views/content-panel-view.js +28 -30
  248. package/src/platform-implementation-js/views/conversations/attachment-card-view.js +21 -44
  249. package/src/platform-implementation-js/views/conversations/custom-message-view.js +44 -104
  250. package/src/platform-implementation-js/views/conversations/message-view.js +131 -202
  251. package/src/platform-implementation-js/views/conversations/thread-view.js +75 -127
  252. package/src/platform-implementation-js/views/native-nav-item-view.js +32 -65
  253. package/src/platform-implementation-js/views/nav-item-view.js +51 -115
  254. package/src/platform-implementation-js/views/route-view/custom-route-view.js +25 -20
  255. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +18 -18
  256. package/src/platform-implementation-js/views/route-view/list-route-view.js +30 -52
  257. package/src/platform-implementation-js/views/route-view/route-view.js +24 -35
  258. package/src/platform-implementation-js/views/section-view.js +60 -52
  259. package/src/platform-implementation-js/views/thread-row-view.js +49 -74
  260. package/src/platform-implementation-js/widgets/drawer-view.js +29 -36
  261. package/src/platform-implementation-js/widgets/modal-view.js +39 -68
  262. package/src/platform-implementation-js/widgets/mole-view.js +22 -22
  263. package/src/platform-implementation-js/widgets/top-message-bar-view.js +13 -10
@@ -1,50 +1,46 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import querystring from 'querystring';
4
- import startsWith from 'lodash/startsWith';
5
- import type { Message } from '../platform-implementation-js/dom-driver/gmail/gmail-response-processor';
6
- import { extractMessages } from '../platform-implementation-js/dom-driver/gmail/gmail-response-processor';
7
- import { getThreadFromSyncThreadIdUsingHeaders } from '../platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId';
8
- import * as logger from './injected-logger';
9
- import requestGmailThread from '../platform-implementation-js/driver-common/requestGmailThread';
10
-
11
- const threadIdToMessages: Map<string, Message[]> = new Map();
12
-
13
- export function setup() {
14
- document.addEventListener(
15
- 'inboxSDKtellMeThisMessageDate',
16
- function (event: Object) {
17
- exposeMetadata(event, 'data-inboxsdk-sortdate', (m) => m.date);
18
- }
19
- );
20
-
21
- document.addEventListener(
22
- 'inboxSDKtellMeThisMessageRecipients',
23
- function (event: Object) {
24
- exposeMetadata(event, 'data-inboxsdk-recipients', (m) => {
25
- if (m.recipients) return m.recipients;
26
- else return null;
27
- });
28
- }
29
- );
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.add = add;
8
+ exports.setup = setup;
9
+ var _querystring = _interopRequireDefault(require("querystring"));
10
+ var _startsWith = _interopRequireDefault(require("lodash/startsWith"));
11
+ var _gmailResponseProcessor = require("../platform-implementation-js/dom-driver/gmail/gmail-response-processor");
12
+ var _getSyncThreadFromSyncThreadId = require("../platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId");
13
+ var logger = _interopRequireWildcard(require("./injected-logger"));
14
+ var _requestGmailThread = _interopRequireDefault(require("../platform-implementation-js/driver-common/requestGmailThread"));
15
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
16
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
17
+ const threadIdToMessages = new Map();
18
+ function setup() {
19
+ document.addEventListener('inboxSDKtellMeThisMessageDate', function (event) {
20
+ exposeMetadata(event, 'data-inboxsdk-sortdate', m => m.date);
21
+ });
22
+ document.addEventListener('inboxSDKtellMeThisMessageRecipients', function (event) {
23
+ exposeMetadata(event, 'data-inboxsdk-recipients', m => {
24
+ if (m.recipients) return m.recipients;else return null;
25
+ });
26
+ });
30
27
  }
31
-
32
28
  function exposeMetadata(event, attribute, processor) {
33
29
  const {
34
30
  target,
35
- detail: { threadId, ikValue, btaiHeader, xsrfToken },
31
+ detail: {
32
+ threadId,
33
+ ikValue,
34
+ btaiHeader,
35
+ xsrfToken
36
+ }
36
37
  } = event;
37
-
38
38
  (async () => {
39
- const messageIndex = Array.from(target.parentElement.children)
40
- .filter((el) => !el.classList.contains('inboxsdk__custom_message_view'))
41
- .indexOf(target);
39
+ const messageIndex = Array.from(target.parentElement.children).filter(el => !el.classList.contains('inboxsdk__custom_message_view')).indexOf(target);
42
40
  if (messageIndex < 0) {
43
41
  throw new Error('Should not happen');
44
42
  }
45
-
46
43
  let message = getMessage(threadId, messageIndex);
47
-
48
44
  if (message == null || !message.recipients) {
49
45
  try {
50
46
  await addDataForThread(threadId, ikValue, btaiHeader, xsrfToken);
@@ -53,20 +49,16 @@ function exposeMetadata(event, attribute, processor) {
53
49
  }
54
50
  message = getMessage(threadId, messageIndex);
55
51
  if (message == null) {
56
- throw new Error(
57
- 'Failed to find message date after re-requesting thread'
58
- );
52
+ throw new Error('Failed to find message date after re-requesting thread');
59
53
  }
60
54
  }
61
-
62
55
  target.setAttribute(attribute, JSON.stringify(processor(message)));
63
- })().catch((err) => {
56
+ })().catch(err => {
64
57
  target.setAttribute(attribute, 'error');
65
58
  logger.error(err);
66
59
  });
67
60
  }
68
-
69
- function getMessage(threadId: string, messageIndex: number): ?Message {
61
+ function getMessage(threadId, messageIndex) {
70
62
  const messages = threadIdToMessages.get(threadId);
71
63
  if (messages) {
72
64
  const message = messages[messageIndex];
@@ -75,59 +67,38 @@ function getMessage(threadId: string, messageIndex: number): ?Message {
75
67
  }
76
68
  }
77
69
  }
78
-
79
- export function add(
80
- groupedMessages: Array<{ threadID: string, messages: Message[] }>
81
- ) {
82
- groupedMessages.forEach((group) => {
70
+ function add(groupedMessages) {
71
+ groupedMessages.forEach(group => {
83
72
  threadIdToMessages.set(group.threadID, group.messages);
84
73
  });
85
74
  }
86
-
87
- const activeThreadRequestPromises: Map<string, Promise<void>> = new Map();
88
-
89
- function addDataForThread(
90
- threadId: string,
91
- ikValue: string,
92
- btaiHeader: ?string,
93
- xsrfToken: ?string
94
- ): Promise<void> {
75
+ const activeThreadRequestPromises = new Map();
76
+ function addDataForThread(threadId, ikValue, btaiHeader, xsrfToken) {
95
77
  const existingRequestPromise = activeThreadRequestPromises.get(threadId);
96
78
  if (existingRequestPromise) {
97
79
  return existingRequestPromise;
98
80
  }
99
-
100
81
  const newPromise = (async () => {
101
82
  try {
102
- if (startsWith(threadId, 'thread')) {
83
+ if ((0, _startsWith.default)(threadId, 'thread')) {
103
84
  // new data layer
104
85
  if (!btaiHeader || !xsrfToken) {
105
- throw new Error(
106
- 'Need btaiHeader and xsrfToken when in new data layer'
107
- );
86
+ throw new Error('Need btaiHeader and xsrfToken when in new data layer');
108
87
  }
109
- const syncThread = await getThreadFromSyncThreadIdUsingHeaders(
110
- threadId,
111
- btaiHeader,
112
- xsrfToken
113
- );
88
+ const syncThread = await (0, _getSyncThreadFromSyncThreadId.getThreadFromSyncThreadIdUsingHeaders)(threadId, btaiHeader, xsrfToken);
114
89
  if (syncThread) {
115
- add([
116
- {
117
- threadID: syncThread.syncThreadID,
118
- messages: syncThread.extraMetaData.syncMessageData.map(
119
- (syncMessage) => ({
120
- date: syncMessage.date,
121
- recipients: syncMessage.recipients,
122
- })
123
- ),
124
- },
125
- ]);
90
+ add([{
91
+ threadID: syncThread.syncThreadID,
92
+ messages: syncThread.extraMetaData.syncMessageData.map(syncMessage => ({
93
+ date: syncMessage.date,
94
+ recipients: syncMessage.recipients
95
+ }))
96
+ }]);
126
97
  }
127
98
  } else {
128
99
  // legacy gmail
129
- const text = await requestGmailThread(ikValue, threadId);
130
- add(extractMessages(text));
100
+ const text = await (0, _requestGmailThread.default)(ikValue, threadId);
101
+ add((0, _gmailResponseProcessor.extractMessages)(text));
131
102
  }
132
103
  } catch (err) {
133
104
  logger.error(err);
@@ -135,7 +106,6 @@ function addDataForThread(
135
106
  activeThreadRequestPromises.delete(threadId);
136
107
  }
137
108
  })();
138
-
139
109
  activeThreadRequestPromises.set(threadId, newPromise);
140
110
  return newPromise;
141
- }
111
+ }
@@ -1,13 +1,16 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import find from 'lodash/find';
4
- import * as logger from './injected-logger';
5
- import waitFor from '../platform-implementation-js/lib/wait-for';
6
-
7
- declare var GLOBALS: any[];
8
- declare var gbar: { _CONFIG: any[] };
9
-
10
- function stupidToBool(stupid: any): boolean {
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = setupDataExposer;
8
+ var _find = _interopRequireDefault(require("lodash/find"));
9
+ var logger = _interopRequireWildcard(require("./injected-logger"));
10
+ var _waitFor = _interopRequireDefault(require("../platform-implementation-js/lib/wait-for"));
11
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
12
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
13
+ function stupidToBool(stupid) {
11
14
  switch ('' + stupid) {
12
15
  case '1':
13
16
  case 't':
@@ -17,12 +20,10 @@ function stupidToBool(stupid: any): boolean {
17
20
  return false;
18
21
  }
19
22
  }
20
-
21
- function getSettingValue(settings: any[], name: string): boolean {
22
- var entry = find(settings, (setting) => setting[0] === name);
23
+ function getSettingValue(settings, name) {
24
+ var entry = (0, _find.default)(settings, setting => setting[0] === name);
23
25
  return entry ? stupidToBool(entry[1]) : false;
24
26
  }
25
-
26
27
  function getContext() {
27
28
  let context = global;
28
29
  try {
@@ -42,146 +43,86 @@ function getContext() {
42
43
 
43
44
  return context;
44
45
  }
45
-
46
- export default function setupDataExposer() {
46
+ function setupDataExposer() {
47
47
  let context;
48
- waitFor(() => {
48
+ (0, _waitFor.default)(() => {
49
49
  context = getContext();
50
50
  return context && (context.GLOBALS || context.gbar);
51
- })
52
- .then(() => {
53
- if (!context) return;
54
- var userEmail = context.GLOBALS
55
- ? context.GLOBALS[10]
56
- : context.gbar._CONFIG[0][10][5];
57
- (document.head: any).setAttribute(
58
- 'data-inboxsdk-user-email-address',
59
- userEmail
60
- );
61
-
62
- var userLanguage: string = context.GLOBALS
63
- ? context.GLOBALS[4].split('.')[1]
64
- : context.gbar._CONFIG[0][0][4];
65
- (document.head: any).setAttribute(
66
- 'data-inboxsdk-user-language',
67
- userLanguage
68
- );
69
-
70
- (document.head: any).setAttribute(
71
- 'data-inboxsdk-using-sync-api',
72
- context.GM_SPT_ENABLED
73
- );
74
-
75
- if (context.GLOBALS) {
76
- // Gmail
77
- (document.head: any).setAttribute(
78
- 'data-inboxsdk-ik-value',
79
- context.GLOBALS[9]
80
- );
81
- (document.head: any).setAttribute(
82
- 'data-inboxsdk-action-token-value',
83
- context.GM_ACTION_TOKEN
84
- );
85
-
86
- var globalSettingsHolder = find(
87
- context.GLOBALS[17],
88
- (item) => item[0] === 'p'
89
- );
90
-
91
- if (!globalSettingsHolder) {
92
- // global settings doesn't exist on gmail v2, so we don't need to log this anymore
93
- return;
94
- } else {
95
- var globalSettings = globalSettingsHolder[1];
96
- {
97
- var previewPaneLabEnabled = getSettingValue(
98
- globalSettings,
99
- 'bx_lab_1252'
100
- );
101
- var previewPaneEnabled = getSettingValue(globalSettings, 'bx_spa');
102
- var previewPaneVertical = getSettingValue(globalSettings, 'bx_spo');
103
- var previewPaneMode =
104
- previewPaneLabEnabled && previewPaneEnabled
105
- ? previewPaneVertical
106
- ? 'vertical'
107
- : 'horizontal'
108
- : 'none';
109
- (document.head: any).setAttribute(
110
- 'data-inboxsdk-user-preview-pane-mode',
111
- previewPaneMode
112
- );
113
- }
51
+ }).then(() => {
52
+ if (!context) return;
53
+ var userEmail = context.GLOBALS ? context.GLOBALS[10] : context.gbar._CONFIG[0][10][5];
54
+ document.head.setAttribute('data-inboxsdk-user-email-address', userEmail);
55
+ var userLanguage = context.GLOBALS ? context.GLOBALS[4].split('.')[1] : context.gbar._CONFIG[0][0][4];
56
+ document.head.setAttribute('data-inboxsdk-user-language', userLanguage);
57
+ document.head.setAttribute('data-inboxsdk-using-sync-api', context.GM_SPT_ENABLED);
58
+ if (context.GLOBALS) {
59
+ // Gmail
60
+ document.head.setAttribute('data-inboxsdk-ik-value', context.GLOBALS[9]);
61
+ document.head.setAttribute('data-inboxsdk-action-token-value', context.GM_ACTION_TOKEN);
62
+ var globalSettingsHolder = (0, _find.default)(context.GLOBALS[17], item => item[0] === 'p');
63
+ if (!globalSettingsHolder) {
64
+ // global settings doesn't exist on gmail v2, so we don't need to log this anymore
65
+ return;
66
+ } else {
67
+ var globalSettings = globalSettingsHolder[1];
68
+ {
69
+ var previewPaneLabEnabled = getSettingValue(globalSettings, 'bx_lab_1252');
70
+ var previewPaneEnabled = getSettingValue(globalSettings, 'bx_spa');
71
+ var previewPaneVertical = getSettingValue(globalSettings, 'bx_spo');
72
+ var previewPaneMode = previewPaneLabEnabled && previewPaneEnabled ? previewPaneVertical ? 'vertical' : 'horizontal' : 'none';
73
+ document.head.setAttribute('data-inboxsdk-user-preview-pane-mode', previewPaneMode);
114
74
  }
75
+ }
76
+ } else {
77
+ // Inbox
78
+ const preloadDataSearchString = 'window.BT_EmbeddedAppData=[';
79
+ const preloadScript = (0, _find.default)(document.querySelectorAll('script:not([src])'), script => script.text && script.text.slice(0, 500).indexOf(preloadDataSearchString) > -1);
80
+ if (!preloadScript) {
81
+ logger.error(new Error('Could not read preloaded BT_EmbeddedAppData'));
115
82
  } else {
116
- // Inbox
117
- const preloadDataSearchString = 'window.BT_EmbeddedAppData=[';
118
- const preloadScript = find(
119
- document.querySelectorAll('script:not([src])'),
120
- (script) =>
121
- script.text &&
122
- script.text.slice(0, 500).indexOf(preloadDataSearchString) > -1
123
- );
124
- if (!preloadScript) {
125
- logger.error(
126
- new Error('Could not read preloaded BT_EmbeddedAppData')
127
- );
83
+ const {
84
+ text
85
+ } = preloadScript;
86
+ const firstBracket = text.indexOf('window.BT_EmbeddedAppData=[');
87
+ let lastBracket = text.indexOf(']\n;', firstBracket);
88
+ if (lastBracket === -1) {
89
+ // I have only seen the case where there is a new line between the
90
+ // closing bracket and the semicolon, but want to be defensive in
91
+ // case that changes.
92
+ lastBracket = text.indexOf('];', firstBracket);
93
+ }
94
+ const preloadData = JSON.parse(text.slice(firstBracket + preloadDataSearchString.length - 1, lastBracket + 1));
95
+ const ikValue = preloadData[11];
96
+ if (typeof ikValue !== 'string') {
97
+ logger.error(new Error('Could not find valid ikValue'));
128
98
  } else {
129
- const { text } = preloadScript;
130
- const firstBracket = text.indexOf('window.BT_EmbeddedAppData=[');
131
- let lastBracket = text.indexOf(']\n;', firstBracket);
132
- if (lastBracket === -1) {
133
- // I have only seen the case where there is a new line between the
134
- // closing bracket and the semicolon, but want to be defensive in
135
- // case that changes.
136
- lastBracket = text.indexOf('];', firstBracket);
137
- }
138
- const preloadData = JSON.parse(
139
- text.slice(
140
- firstBracket + preloadDataSearchString.length - 1,
141
- lastBracket + 1
142
- )
143
- );
144
-
145
- const ikValue = preloadData[11];
146
- if (typeof ikValue !== 'string') {
147
- logger.error(new Error('Could not find valid ikValue'));
148
- } else {
149
- (document.head: any).setAttribute(
150
- 'data-inboxsdk-ik-value',
151
- ikValue
152
- );
153
- }
154
-
155
- const xsrfToken = preloadData[12];
156
- if (typeof xsrfToken !== 'string') {
157
- logger.error(new Error('Could not find valid xsrfToken'));
158
- } else {
159
- (document.head: any).setAttribute(
160
- 'data-inboxsdk-xsrf-token',
161
- xsrfToken
162
- );
163
- }
99
+ document.head.setAttribute('data-inboxsdk-ik-value', ikValue);
100
+ }
101
+ const xsrfToken = preloadData[12];
102
+ if (typeof xsrfToken !== 'string') {
103
+ logger.error(new Error('Could not find valid xsrfToken'));
104
+ } else {
105
+ document.head.setAttribute('data-inboxsdk-xsrf-token', xsrfToken);
164
106
  }
165
107
  }
166
- })
167
- .catch((err) => {
168
- function getStatus() {
169
- return {
170
- hasGLOBALS: !!context.GLOBALS,
171
- hasGbar: !!context.gbar,
172
- };
173
- }
174
- var startStatus = getStatus();
175
- var waitTime = 180 * 1000;
176
- setTimeout(() => {
177
- var laterStatus = getStatus();
178
- logger.eventSdkPassive('waitfor global data', {
179
- startStatus,
180
- waitTime,
181
- laterStatus,
182
- });
183
- }, waitTime);
184
- throw err;
185
- })
186
- .catch(logger.error);
187
- }
108
+ }
109
+ }).catch(err => {
110
+ function getStatus() {
111
+ return {
112
+ hasGLOBALS: !!context.GLOBALS,
113
+ hasGbar: !!context.gbar
114
+ };
115
+ }
116
+ var startStatus = getStatus();
117
+ var waitTime = 180 * 1000;
118
+ setTimeout(() => {
119
+ var laterStatus = getStatus();
120
+ logger.eventSdkPassive('waitfor global data', {
121
+ startStatus,
122
+ waitTime,
123
+ laterStatus
124
+ });
125
+ }, waitTime);
126
+ throw err;
127
+ }).catch(logger.error);
128
+ }
@@ -1,25 +1,25 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- export default function setupErrorSilencer() {
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = setupErrorSilencer;
7
+ function setupErrorSilencer() {
4
8
  var oldErrorHandlers = [];
5
-
6
- document.addEventListener(
7
- 'inboxSDKsilencePageErrors',
8
- function (event: Event) {
9
- oldErrorHandlers.push(window.onerror);
10
- window.onerror = function (...args) {
11
- if (process.env.NODE_ENV !== 'production') {
12
- console.error('(Silenced in production) Page error:', ...args); //eslint-disable-line no-console
9
+ document.addEventListener('inboxSDKsilencePageErrors', function (event) {
10
+ oldErrorHandlers.push(window.onerror);
11
+ window.onerror = function () {
12
+ if (process.env.NODE_ENV !== 'production') {
13
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
14
+ args[_key] = arguments[_key];
13
15
  }
14
- return true;
15
- };
16
- }
17
- );
16
+ console.error('(Silenced in production) Page error:', ...args); //eslint-disable-line no-console
17
+ }
18
18
 
19
- document.addEventListener(
20
- 'inboxSDKunsilencePageErrors',
21
- function (event: Event) {
22
- window.onerror = oldErrorHandlers.pop();
23
- }
24
- );
25
- }
19
+ return true;
20
+ };
21
+ });
22
+ document.addEventListener('inboxSDKunsilencePageErrors', function (event) {
23
+ window.onerror = oldErrorHandlers.pop();
24
+ });
25
+ }
@@ -1,22 +1,25 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- export default function setupEventReemitter() {
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = setupEventReemitter;
7
+ function setupEventReemitter() {
4
8
  // Webkit has bugs that stop certain types of events from being created. We
5
9
  // can manually fake creation of those events, but we have to do it from
6
10
  // inside the page's script if we want the page's script to see the modified
7
11
  // properties.
8
12
  // https://bugs.webkit.org/show_bug.cgi?id=16735
9
13
  // https://code.google.com/p/chromium/issues/detail?id=327853
10
- document.addEventListener('inboxsdk_event_relay', function (event: Object) {
14
+ document.addEventListener('inboxsdk_event_relay', function (event) {
11
15
  const newEvent = document.createEvent('Events');
12
- (newEvent: any).initEvent(
13
- event.detail.type,
14
- event.detail.bubbles,
15
- event.detail.cancelable
16
- );
16
+ newEvent.initEvent(event.detail.type, event.detail.bubbles, event.detail.cancelable);
17
17
  Object.assign(newEvent, event.detail.props);
18
18
  if (event.detail.dataTransfer) {
19
- const { files, fileNames } = event.detail.dataTransfer;
19
+ const {
20
+ files,
21
+ fileNames
22
+ } = event.detail.dataTransfer;
20
23
  if (fileNames) {
21
24
  fileNames.forEach((fileName, i) => {
22
25
  const file = files[i];
@@ -25,28 +28,33 @@ export default function setupEventReemitter() {
25
28
  }
26
29
  });
27
30
  }
28
- (newEvent: any).dataTransfer = {
31
+ newEvent.dataTransfer = {
29
32
  dropEffect: 'none',
30
33
  effectAllowed: 'all',
31
34
  files,
32
- items: files.map(({ type }, i) => ({
33
- kind: 'file',
34
- type,
35
- getAsFile() {
36
- return files[i];
37
- },
38
- getAsString() {
39
- throw new Error('getAsString not supported');
40
- },
41
- })),
35
+ items: files.map((_ref, i) => {
36
+ let {
37
+ type
38
+ } = _ref;
39
+ return {
40
+ kind: 'file',
41
+ type,
42
+ getAsFile() {
43
+ return files[i];
44
+ },
45
+ getAsString() {
46
+ throw new Error('getAsString not supported');
47
+ }
48
+ };
49
+ }),
42
50
  types: ['Files'],
43
51
  getData() {
44
52
  return '';
45
53
  },
46
54
  setData() {},
47
- setDragImage() {},
55
+ setDragImage() {}
48
56
  };
49
57
  }
50
58
  event.target.dispatchEvent(newEvent);
51
59
  });
52
- }
60
+ }
@@ -1,31 +1,26 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import closest from 'closest-ng';
4
-
5
- export default function setupInboxCustomViewLinkFixer() {
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = setupInboxCustomViewLinkFixer;
8
+ var _closestNg = _interopRequireDefault(require("closest-ng"));
9
+ function setupInboxCustomViewLinkFixer() {
6
10
  const allowedStartTerms = new Set();
7
-
8
- document.addEventListener(
9
- 'inboxSDKregisterAllowedHashLinkStartTerm',
10
- function (event: Event) {
11
- const term = (event: any).detail.term;
12
- allowedStartTerms.add(term);
13
- }
14
- );
15
-
16
- document.addEventListener(
17
- 'click',
18
- function (event: MouseEvent) {
19
- const target = event.target;
20
- if (!(target instanceof HTMLElement)) return;
21
- const anchor = closest(target, 'a[href^="#"]');
22
- if (!anchor || !(anchor instanceof HTMLAnchorElement)) return;
23
- const m = /^#([^/]+)/.exec(anchor.getAttribute('href') || '');
24
- if (!m) return;
25
- const startTerm = m[1];
26
- if (!allowedStartTerms.has(startTerm)) return;
27
- (event: any).preventDefault = () => {};
28
- },
29
- true
30
- );
31
- }
11
+ document.addEventListener('inboxSDKregisterAllowedHashLinkStartTerm', function (event) {
12
+ const term = event.detail.term;
13
+ allowedStartTerms.add(term);
14
+ });
15
+ document.addEventListener('click', function (event) {
16
+ const target = event.target;
17
+ if (!(target instanceof HTMLElement)) return;
18
+ const anchor = (0, _closestNg.default)(target, 'a[href^="#"]');
19
+ if (!anchor || !(anchor instanceof HTMLAnchorElement)) return;
20
+ const m = /^#([^/]+)/.exec(anchor.getAttribute('href') || '');
21
+ if (!m) return;
22
+ const startTerm = m[1];
23
+ if (!allowedStartTerms.has(startTerm)) return;
24
+ event.preventDefault = () => {};
25
+ }, true);
26
+ }