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

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 (264) 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/inboxsdk.d.ts +2 -0
  12. package/src/injected-js/gmail/modify-suggestions.test.js +8 -9
  13. package/src/injected-js/gmail/setup-gmail-interceptor.js +340 -579
  14. package/src/injected-js/gmail/sync-compose-request-processor.test.js +39 -49
  15. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +20 -33
  16. package/src/injected-js/gmail/thread-identifier/index.js +57 -93
  17. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +22 -31
  18. package/src/injected-js/gmail/thread-identifier/thread-row-parser.test.js +12 -28
  19. package/src/injected-js/inbox/setupAjaxInterceptor.js +64 -121
  20. package/src/injected-js/inbox/setupClickAndGetNewIframeSrc.js +53 -66
  21. package/src/injected-js/inbox/setupComposeViewDraftIDFinder.js +20 -36
  22. package/src/injected-js/inbox/setupInboxFakeWindowResizeListener.js +13 -13
  23. package/src/injected-js/main.js +11 -24
  24. package/src/injected-js/message-metadata-holder.js +52 -82
  25. package/src/injected-js/setup-data-exposer.js +89 -148
  26. package/src/injected-js/setup-error-silencer.js +21 -21
  27. package/src/injected-js/setup-event-reemitter.js +30 -22
  28. package/src/injected-js/setupInboxCustomViewLinkFixer.js +24 -29
  29. package/src/injected-js/setupPushStateListener.js +18 -11
  30. package/src/injected-js/xhr-helper.js +62 -65
  31. package/src/injected-js/xhr-proxy-factory.js +195 -445
  32. package/src/injected-js/xhr-proxy-factory.test.js +824 -991
  33. package/src/platform-implementation-js/constants/router.js +14 -9
  34. package/src/platform-implementation-js/constants/toolbars.js +8 -3
  35. package/src/platform-implementation-js/dom-driver/gmail/custom-style.js +13 -13
  36. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.js +115 -136
  37. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +13 -14
  38. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.js +27 -48
  39. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.js +31 -42
  40. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.js +30 -40
  41. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +10 -18
  42. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +21 -28
  43. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +33 -45
  44. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +31 -49
  45. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +58 -65
  46. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.js +40 -124
  47. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.js +17 -22
  48. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.test.js +10 -11
  49. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.js +44 -80
  50. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.js +19 -26
  51. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.js +71 -147
  52. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.js +91 -148
  53. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +150 -166
  54. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.test.js +70 -120
  55. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.js +15 -15
  56. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.js +44 -67
  57. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +230 -379
  58. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.test.js +121 -307
  59. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.js +17 -24
  60. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.js +41 -49
  61. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.js +30 -40
  62. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +28 -60
  63. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +61 -133
  64. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +30 -42
  65. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.test.js +52 -46
  66. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +354 -694
  67. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +77 -93
  68. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +35 -82
  69. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.test.js +44 -94
  70. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +12 -19
  71. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +17 -29
  72. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.js +26 -26
  73. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +391 -797
  74. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +7 -9
  75. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +60 -109
  76. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +95 -135
  77. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +103 -211
  78. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.test.js +61 -61
  79. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.js +17 -17
  80. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +188 -541
  81. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +67 -135
  82. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +27 -49
  83. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-inner-sidebar.js +7 -13
  84. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-outer-sidebar.js +9 -22
  85. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +36 -63
  86. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +38 -113
  87. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +11 -16
  88. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +11 -17
  89. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +8 -11
  90. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +27 -47
  91. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +11 -24
  92. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +59 -111
  93. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +15 -14
  94. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +11 -17
  95. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +18 -24
  96. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +19 -23
  97. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +11 -19
  98. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +141 -376
  99. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +17 -28
  100. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +34 -70
  101. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +10 -17
  102. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +83 -137
  103. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +10 -19
  104. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +632 -1190
  105. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +29 -38
  106. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +327 -617
  107. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +26 -49
  108. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +188 -380
  109. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +104 -194
  110. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +382 -811
  111. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view/add-icon-area.js +34 -58
  112. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.js +330 -581
  113. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.test.js +123 -277
  114. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +15 -35
  115. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +216 -571
  116. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +152 -336
  117. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +87 -211
  118. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +10 -11
  119. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +20 -29
  120. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +41 -76
  121. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.js +45 -99
  122. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +76 -128
  123. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +128 -319
  124. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.js +45 -78
  125. package/src/platform-implementation-js/dom-driver/inbox/__mocks__/getSidebarClassnames.js +8 -4
  126. package/src/platform-implementation-js/dom-driver/inbox/addNavItem.js +36 -54
  127. package/src/platform-implementation-js/dom-driver/inbox/addRecipientRow.js +35 -53
  128. package/src/platform-implementation-js/dom-driver/inbox/createLink.js +13 -15
  129. package/src/platform-implementation-js/dom-driver/inbox/createLink.test.js +15 -18
  130. package/src/platform-implementation-js/dom-driver/inbox/custom-style.js +14 -13
  131. package/src/platform-implementation-js/dom-driver/inbox/detection/appToolbarLocation/parser.js +14 -20
  132. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentCard/parser.js +14 -13
  133. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentOverlay/parser.js +35 -67
  134. package/src/platform-implementation-js/dom-driver/inbox/detection/chatSidebar/parser.js +16 -18
  135. package/src/platform-implementation-js/dom-driver/inbox/detection/compose/parser.js +68 -185
  136. package/src/platform-implementation-js/dom-driver/inbox/detection/message/parser.js +28 -56
  137. package/src/platform-implementation-js/dom-driver/inbox/detection/nativeDrawer/parser.js +12 -10
  138. package/src/platform-implementation-js/dom-driver/inbox/detection/searchBar/parser.js +16 -16
  139. package/src/platform-implementation-js/dom-driver/inbox/detection/thread/parser.js +24 -35
  140. package/src/platform-implementation-js/dom-driver/inbox/detection/thread-row/parser.js +37 -89
  141. package/src/platform-implementation-js/dom-driver/inbox/getComposeViewDriverLiveSet.js +56 -78
  142. package/src/platform-implementation-js/dom-driver/inbox/getInboxMessageIdForInboxThreadId.js +26 -32
  143. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.js +52 -109
  144. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.test.js +7 -8
  145. package/src/platform-implementation-js/dom-driver/inbox/gotoView.js +16 -20
  146. package/src/platform-implementation-js/dom-driver/inbox/gotoView.test.js +15 -16
  147. package/src/platform-implementation-js/dom-driver/inbox/inbox-butter-bar-driver.js +75 -83
  148. package/src/platform-implementation-js/dom-driver/inbox/inbox-driver.js +530 -822
  149. package/src/platform-implementation-js/dom-driver/inbox/inbox-page-communicator.js +48 -61
  150. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.js +9 -12
  151. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.test.js +12 -19
  152. package/src/platform-implementation-js/dom-driver/inbox/makePageParserTree.js +24 -33
  153. package/src/platform-implementation-js/dom-driver/inbox/pageParserOptions.js +201 -388
  154. package/src/platform-implementation-js/dom-driver/inbox/registerSearchSuggestionsProvider.js +249 -265
  155. package/src/platform-implementation-js/dom-driver/inbox/setupCustomAutocompleteSelectionHandling.js +84 -152
  156. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.js +55 -67
  157. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.test.js +43 -65
  158. package/src/platform-implementation-js/dom-driver/inbox/views/InboxLabelView.js +31 -56
  159. package/src/platform-implementation-js/dom-driver/inbox/views/InboxMoleViewDriver.js +191 -294
  160. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarButtonView.js +32 -45
  161. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarView.js +21 -39
  162. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-sidebar-view.js +153 -240
  163. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-button-view.js +75 -150
  164. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-tooltip-view.js +20 -37
  165. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-card-view.js +60 -114
  166. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-overlay-view.js +47 -65
  167. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +41 -52
  168. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-chat-sidebar-view.js +27 -36
  169. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-button-view.js +52 -80
  170. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-view.js +465 -649
  171. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.js +37 -58
  172. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.test.js +14 -26
  173. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +118 -235
  174. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dropdown-view.js +10 -11
  175. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dummy-route-view.js +28 -46
  176. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-message-view.js +131 -202
  177. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-modal-view.js +40 -80
  178. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-route-view.js +35 -61
  179. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-row-view.js +124 -221
  180. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.js +125 -213
  181. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.test.js +104 -126
  182. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-tooltip-view.js +36 -51
  183. package/src/platform-implementation-js/dom-driver/inbox/views/inboxNavItemView.js +158 -297
  184. package/src/platform-implementation-js/dom-driver/inbox/waitForAnimationClickBlockerGone.js +21 -35
  185. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +24 -43
  186. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +39 -68
  187. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +14 -19
  188. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +27 -35
  189. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +16 -22
  190. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +14 -14
  191. package/src/platform-implementation-js/driver-common/inboxAjax.js +12 -7
  192. package/src/platform-implementation-js/driver-common/requestGmailThread.js +19 -20
  193. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +197 -306
  194. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +113 -161
  195. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +1 -114
  196. package/src/platform-implementation-js/driver-interfaces/driver.js +1 -131
  197. package/src/platform-implementation-js/driver-interfaces/message-view-driver.js +4 -48
  198. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +1 -29
  199. package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +1 -32
  200. package/src/platform-implementation-js/driver-interfaces/thread-row-view-driver.js +1 -11
  201. package/src/platform-implementation-js/lib/array-to-lifetimes.js +43 -41
  202. package/src/platform-implementation-js/lib/array-to-lifetimes.test.js +139 -155
  203. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +19 -38
  204. package/src/platform-implementation-js/lib/css-selector-escape.js +7 -3
  205. package/src/platform-implementation-js/lib/dom/element-view-mapper.js +8 -11
  206. package/src/platform-implementation-js/lib/dom/get-selection.js +23 -52
  207. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +69 -101
  208. package/src/platform-implementation-js/lib/dom/is-node-in-range.js +8 -10
  209. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.js +15 -17
  210. package/src/platform-implementation-js/lib/dom/querySelectorOne.js +8 -11
  211. package/src/platform-implementation-js/lib/dom/set-css.js +7 -3
  212. package/src/platform-implementation-js/lib/dom/set-value-and-dispatch-event.js +9 -11
  213. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +32 -33
  214. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.test.js +23 -26
  215. package/src/platform-implementation-js/lib/handle-compose-link-chips.js +86 -149
  216. package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +42 -57
  217. package/src/platform-implementation-js/lib/make-revocable-function.js +19 -21
  218. package/src/platform-implementation-js/lib/make-revocable-function.test.js +20 -22
  219. package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +15 -17
  220. package/src/platform-implementation-js/lib/parseParamsFromRouteID.test.js +9 -18
  221. package/src/platform-implementation-js/lib/populateRouteID.js +8 -9
  222. package/src/platform-implementation-js/lib/populateRouteID.test.js +20 -19
  223. package/src/platform-implementation-js/lib/react/ElementContainer.js +23 -20
  224. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.js +10 -9
  225. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.test.js +13 -20
  226. package/src/platform-implementation-js/lib/routeIDmatchesHash.js +13 -18
  227. package/src/platform-implementation-js/lib/routeIDmatchesHash.test.js +11 -17
  228. package/src/platform-implementation-js/lib/shared-style.js +14 -13
  229. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +18 -17
  230. package/src/platform-implementation-js/lib/toLiveSet.js +17 -15
  231. package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +6 -5
  232. package/src/platform-implementation-js/main.js +9 -24
  233. package/src/platform-implementation-js/namespaces/compose.js +37 -60
  234. package/src/platform-implementation-js/namespaces/conversations.js +52 -124
  235. package/src/platform-implementation-js/namespaces/global.js +27 -39
  236. package/src/platform-implementation-js/namespaces/keyboard.js +29 -33
  237. package/src/platform-implementation-js/namespaces/lists.js +25 -31
  238. package/src/platform-implementation-js/namespaces/modal.js +34 -28
  239. package/src/platform-implementation-js/namespaces/nav-menu.js +30 -45
  240. package/src/platform-implementation-js/namespaces/router.js +70 -137
  241. package/src/platform-implementation-js/namespaces/search.js +19 -17
  242. package/src/platform-implementation-js/namespaces/toolbars.js +71 -117
  243. package/src/platform-implementation-js/namespaces/user.js +36 -37
  244. package/src/platform-implementation-js/namespaces/widgets.js +54 -61
  245. package/src/platform-implementation-js/platform-implementation.js +98 -229
  246. package/src/platform-implementation-js/views/app-toolbar-button-view.js +26 -47
  247. package/src/platform-implementation-js/views/collapsible-section-view.js +66 -63
  248. package/src/platform-implementation-js/views/content-panel-view.js +28 -30
  249. package/src/platform-implementation-js/views/conversations/attachment-card-view.js +21 -44
  250. package/src/platform-implementation-js/views/conversations/custom-message-view.js +44 -104
  251. package/src/platform-implementation-js/views/conversations/message-view.js +131 -202
  252. package/src/platform-implementation-js/views/conversations/thread-view.js +75 -127
  253. package/src/platform-implementation-js/views/native-nav-item-view.js +32 -65
  254. package/src/platform-implementation-js/views/nav-item-view.js +51 -115
  255. package/src/platform-implementation-js/views/route-view/custom-route-view.js +25 -20
  256. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +18 -18
  257. package/src/platform-implementation-js/views/route-view/list-route-view.js +30 -52
  258. package/src/platform-implementation-js/views/route-view/route-view.js +24 -35
  259. package/src/platform-implementation-js/views/section-view.js +60 -52
  260. package/src/platform-implementation-js/views/thread-row-view.js +49 -74
  261. package/src/platform-implementation-js/widgets/drawer-view.js +29 -36
  262. package/src/platform-implementation-js/widgets/modal-view.js +39 -68
  263. package/src/platform-implementation-js/widgets/mole-view.js +22 -22
  264. 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
+ }