@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,44 +1,25 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import asap from 'asap';
4
- import Kefir from 'kefir';
5
- import fromEventTargetCapture from '../../lib/from-event-target-capture';
6
-
7
- const dispatchCancel = (element) =>
8
- asap(() =>
9
- element.dispatchEvent(
10
- new CustomEvent('inboxSDKdiscardCanceled', {
11
- bubbles: false,
12
- cancelable: false,
13
- detail: null,
14
- })
15
- )
16
- );
17
-
18
- export default function getDiscardStream({
19
- element,
20
- discardButton,
21
- }: {
22
- element: HTMLElement,
23
- discardButton: HTMLElement,
24
- }): Kefir.Observable<Object> {
25
- const domEventStream = Kefir.merge([
26
- fromEventTargetCapture(element, 'keydown')
27
- .filter(
28
- (domEvent) =>
29
- [13, 32].indexOf(domEvent.which) > -1 ||
30
- [13, 32].indexOf(domEvent.keyCode) > -1
31
- )
32
- .filter(
33
- (domEvent) => discardButton && discardButton.contains(domEvent.target)
34
- ),
35
-
36
- fromEventTargetCapture(element, 'click').filter(
37
- (domEvent) => discardButton && discardButton.contains(domEvent.target)
38
- ),
39
- ]);
40
-
41
- return domEventStream.map((domEvent) => ({
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = getDiscardStream;
8
+ var _asap = _interopRequireDefault(require("asap"));
9
+ var _kefir = _interopRequireDefault(require("kefir"));
10
+ var _fromEventTargetCapture = _interopRequireDefault(require("../../lib/from-event-target-capture"));
11
+ const dispatchCancel = element => (0, _asap.default)(() => element.dispatchEvent(new CustomEvent('inboxSDKdiscardCanceled', {
12
+ bubbles: false,
13
+ cancelable: false,
14
+ detail: null
15
+ })));
16
+ function getDiscardStream(_ref) {
17
+ let {
18
+ element,
19
+ discardButton
20
+ } = _ref;
21
+ const domEventStream = _kefir.default.merge([(0, _fromEventTargetCapture.default)(element, 'keydown').filter(domEvent => [13, 32].indexOf(domEvent.which) > -1 || [13, 32].indexOf(domEvent.keyCode) > -1).filter(domEvent => discardButton && discardButton.contains(domEvent.target)), (0, _fromEventTargetCapture.default)(element, 'click').filter(domEvent => discardButton && discardButton.contains(domEvent.target))]);
22
+ return domEventStream.map(domEvent => ({
42
23
  eventName: 'discard',
43
24
  data: {
44
25
  cancel() {
@@ -46,7 +27,7 @@ export default function getDiscardStream({
46
27
  domEvent.stopPropagation();
47
28
  domEvent.stopImmediatePropagation();
48
29
  dispatchCancel(element);
49
- },
50
- },
30
+ }
31
+ }
51
32
  }));
52
- }
33
+ }
@@ -1,73 +1,44 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import asap from 'asap';
4
- import Kefir from 'kefir';
5
- import fromEventTargetCapture from '../../lib/from-event-target-capture';
6
-
7
- const dispatchCancel = (element) =>
8
- // asap necessary so we don't emit this event during the click/keydown event dispatch
9
- asap(() =>
10
- element.dispatchEvent(
11
- new CustomEvent('inboxSDKsendCanceled', {
12
- bubbles: false,
13
- cancelable: false,
14
- detail: null,
15
- })
16
- )
17
- );
18
-
19
- export default function ({
20
- element,
21
- sendButton,
22
- sendAndArchive,
23
- }: {
24
- element: HTMLElement,
25
- sendButton: HTMLElement,
26
- sendAndArchive?: ?HTMLElement,
27
- }): Kefir.Observable<Object> {
28
- const domEventStream = Kefir.merge([
29
- fromEventTargetCapture(element, 'keydown')
30
- .filter((domEvent) => domEvent.ctrlKey || domEvent.metaKey)
31
- .filter((domEvent) => domEvent.which === 13 || domEvent.keyCode === 13),
32
-
33
- fromEventTargetCapture(element, 'keydown')
34
- .filter(
35
- (domEvent) =>
36
- [13, 32].indexOf(domEvent.which) > -1 ||
37
- [13, 32].indexOf(domEvent.keyCode) > -1
38
- )
39
- .filter(
40
- (domEvent) =>
41
- (sendButton && sendButton.contains(domEvent.target)) ||
42
- (sendAndArchive && sendAndArchive.contains(domEvent.target))
43
- ),
44
-
45
- fromEventTargetCapture(element, 'click').filter(
46
- (domEvent) =>
47
- (sendButton && sendButton.contains(domEvent.target)) ||
48
- (sendAndArchive && sendAndArchive.contains(domEvent.target))
49
- ),
50
- ]);
51
-
52
- return domEventStream
53
- .filter((domEvent) => {
54
- if (element.hasAttribute('data-inboxsdk-send-replaced')) {
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = _default;
8
+ var _asap = _interopRequireDefault(require("asap"));
9
+ var _kefir = _interopRequireDefault(require("kefir"));
10
+ var _fromEventTargetCapture = _interopRequireDefault(require("../../lib/from-event-target-capture"));
11
+ const dispatchCancel = element =>
12
+ // asap necessary so we don't emit this event during the click/keydown event dispatch
13
+ (0, _asap.default)(() => element.dispatchEvent(new CustomEvent('inboxSDKsendCanceled', {
14
+ bubbles: false,
15
+ cancelable: false,
16
+ detail: null
17
+ })));
18
+ function _default(_ref) {
19
+ let {
20
+ element,
21
+ sendButton,
22
+ sendAndArchive
23
+ } = _ref;
24
+ const domEventStream = _kefir.default.merge([(0, _fromEventTargetCapture.default)(element, 'keydown').filter(domEvent => domEvent.ctrlKey || domEvent.metaKey).filter(domEvent => domEvent.which === 13 || domEvent.keyCode === 13), (0, _fromEventTargetCapture.default)(element, 'keydown').filter(domEvent => [13, 32].indexOf(domEvent.which) > -1 || [13, 32].indexOf(domEvent.keyCode) > -1).filter(domEvent => sendButton && sendButton.contains(domEvent.target) || sendAndArchive && sendAndArchive.contains(domEvent.target)), (0, _fromEventTargetCapture.default)(element, 'click').filter(domEvent => sendButton && sendButton.contains(domEvent.target) || sendAndArchive && sendAndArchive.contains(domEvent.target))]);
25
+ return domEventStream.filter(domEvent => {
26
+ if (element.hasAttribute('data-inboxsdk-send-replaced')) {
27
+ domEvent.preventDefault();
28
+ domEvent.stopPropagation();
29
+ domEvent.stopImmediatePropagation();
30
+ return false;
31
+ }
32
+ return true;
33
+ }).map(domEvent => ({
34
+ eventName: 'presending',
35
+ data: {
36
+ cancel() {
55
37
  domEvent.preventDefault();
56
38
  domEvent.stopPropagation();
57
39
  domEvent.stopImmediatePropagation();
58
- return false;
40
+ dispatchCancel(element);
59
41
  }
60
- return true;
61
- })
62
- .map((domEvent) => ({
63
- eventName: 'presending',
64
- data: {
65
- cancel() {
66
- domEvent.preventDefault();
67
- domEvent.stopPropagation();
68
- domEvent.stopImmediatePropagation();
69
- dispatchCancel(element);
70
- },
71
- },
72
- }));
73
- }
42
+ }
43
+ }));
44
+ }
@@ -1,30 +1,25 @@
1
- /* @flow */
2
-
3
- import { defn } from 'ud';
4
-
5
- import getOriginalMessagePage from './getOriginalMessagePage';
6
-
7
- import type { Driver } from '../driver-interfaces/driver';
1
+ "use strict";
8
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _ud = require("ud");
9
+ var _getOriginalMessagePage = _interopRequireDefault(require("./getOriginalMessagePage"));
9
10
  // Messages sent from the local user in Inbox have a fake ID in the DOM (with
10
11
  // the "msg-a:r" prefix) that doesn't match up with anything in the Gmail API.
11
12
  // This function translates the Inbox ID into the real ID that can be found in
12
13
  // the Gmail API.
13
- async function getGmailMessageIdForSyncMessageId(
14
- driver: Driver,
15
- syncMessageID: string
16
- ): Promise<string> {
17
- const text = await getOriginalMessagePage(driver, {
18
- syncMessageID: syncMessageID,
14
+ async function getGmailMessageIdForSyncMessageId(driver, syncMessageID) {
15
+ const text = await (0, _getOriginalMessagePage.default)(driver, {
16
+ syncMessageID: syncMessageID
19
17
  });
20
-
21
- const messageIdMatch = text.match(
22
- /<a\b[^<>]+\bhref="\/mail[^"]*(?:\?|&(?:amp;)?)view=att&(?:amp;)?th=([a-f0-9]+)&/i
23
- );
18
+ const messageIdMatch = text.match(/<a\b[^<>]+\bhref="\/mail[^"]*(?:\?|&(?:amp;)?)view=att&(?:amp;)?th=([a-f0-9]+)&/i);
24
19
  if (!messageIdMatch) {
25
20
  throw new Error('Failed to find gmail message id for inbox message id');
26
21
  }
27
22
  return messageIdMatch[1];
28
23
  }
29
-
30
- export default defn(module, getGmailMessageIdForSyncMessageId);
24
+ var _default = (0, _ud.defn)(module, getGmailMessageIdForSyncMessageId);
25
+ exports.default = _default;
@@ -1,34 +1,29 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import { defn } from 'ud';
4
- import { extractThreads } from '../dom-driver/gmail/gmail-response-processor';
5
- import getSyncThreadsForSearch from './getSyncThreadsForSearch';
6
- import gmailAjax from './gmailAjax';
7
- import getAccountUrlPart from './getAccountUrlPart';
8
- import type { Driver } from '../driver-interfaces/driver';
9
-
10
- async function getGmailThreadIdForRfcMessageId(
11
- driver: Driver,
12
- rfcMessageId: string
13
- ): Promise<string> {
14
- if ((driver: any).isUsingSyncAPI && (driver: any).isUsingSyncAPI()) {
15
- const { threads: threadDescriptors } = await getSyncThreadsForSearch(
16
- driver,
17
- 'rfc822msgid:' + rfcMessageId
18
- );
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _ud = require("ud");
9
+ var _gmailResponseProcessor = require("../dom-driver/gmail/gmail-response-processor");
10
+ var _getSyncThreadsForSearch = _interopRequireDefault(require("./getSyncThreadsForSearch"));
11
+ var _gmailAjax = _interopRequireDefault(require("./gmailAjax"));
12
+ var _getAccountUrlPart = _interopRequireDefault(require("./getAccountUrlPart"));
13
+ async function getGmailThreadIdForRfcMessageId(driver, rfcMessageId) {
14
+ if (driver.isUsingSyncAPI && driver.isUsingSyncAPI()) {
15
+ const {
16
+ threads: threadDescriptors
17
+ } = await (0, _getSyncThreadsForSearch.default)(driver, 'rfc822msgid:' + rfcMessageId);
19
18
  return threadDescriptors[0].oldGmailThreadID;
20
19
  } else {
21
20
  return forOldAPI(driver, rfcMessageId);
22
21
  }
23
22
  }
24
-
25
- async function forOldAPI(
26
- driver: Driver,
27
- rfcMessageId: string
28
- ): Promise<string> {
29
- const response = await gmailAjax({
23
+ async function forOldAPI(driver, rfcMessageId) {
24
+ const response = await (0, _gmailAjax.default)({
30
25
  method: 'POST',
31
- url: `https://mail.google.com/mail${getAccountUrlPart()}/`,
26
+ url: `https://mail.google.com/mail${(0, _getAccountUrlPart.default)()}/`,
32
27
  data: {
33
28
  ik: driver.getPageCommunicator().getIkValue(),
34
29
  at: await driver.getGmailActionToken(),
@@ -38,24 +33,21 @@ async function forOldAPI(
38
33
  num: '1',
39
34
  rt: 'c',
40
35
  search: 'query',
41
- q: `rfc822msgid:${rfcMessageId}`,
36
+ q: `rfc822msgid:${rfcMessageId}`
42
37
  },
43
38
  xhrFields: {
44
- withCredentials: true,
39
+ withCredentials: true
45
40
  },
46
41
  canRetry: true,
47
42
  headers: {
48
- 'content-type': 'application/x-www-form-urlencoded;charset=UTF-8',
49
- },
43
+ 'content-type': 'application/x-www-form-urlencoded;charset=UTF-8'
44
+ }
50
45
  });
51
-
52
- const threads = extractThreads(response.text);
46
+ const threads = (0, _gmailResponseProcessor.extractThreads)(response.text);
53
47
  if (threads.length !== 1) {
54
- throw new Error(
55
- "Failed to find gmail thread id for rfc message id. Message may not exist in user's account."
56
- );
48
+ throw new Error("Failed to find gmail thread id for rfc message id. Message may not exist in user's account.");
57
49
  }
58
50
  return threads[0].gmailThreadId;
59
51
  }
60
-
61
- export default defn(module, getGmailThreadIdForRfcMessageId);
52
+ var _default = (0, _ud.defn)(module, getGmailThreadIdForRfcMessageId);
53
+ exports.default = _default;
@@ -1,32 +1,26 @@
1
- /* @flow */
2
-
3
- import { defn } from 'ud';
4
-
5
- import getOriginalMessagePage from './getOriginalMessagePage';
6
-
7
- import htmlToText from '../../common/html-to-text';
8
-
9
- import type { Driver } from '../driver-interfaces/driver';
1
+ "use strict";
10
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _ud = require("ud");
9
+ var _getOriginalMessagePage = _interopRequireDefault(require("./getOriginalMessagePage"));
10
+ var _htmlToText = _interopRequireDefault(require("../../common/html-to-text"));
11
11
  // Messages sent from the local user in Inbox have a fake ID in the DOM (with
12
12
  // the "msg-a:r" prefix) that doesn't match up with anything in the Gmail API.
13
13
  // This function translates the Inbox ID into the real ID that can be found in
14
14
  // the Gmail API.
15
- async function getRfcMessageIdForSyncMessageId(
16
- driver: Driver,
17
- syncMessageID: string
18
- ): Promise<string> {
19
- const text = await getOriginalMessagePage(driver, {
20
- syncMessageID: syncMessageID,
15
+ async function getRfcMessageIdForSyncMessageId(driver, syncMessageID) {
16
+ const text = await (0, _getOriginalMessagePage.default)(driver, {
17
+ syncMessageID: syncMessageID
21
18
  });
22
-
23
19
  const match = text.match(/^Message-ID:\s+(\S+)\s*$/im);
24
20
  if (!match) {
25
- throw new Error(
26
- "Failed to find rfc id for gmail thread id. Message may not exist in user's account."
27
- );
21
+ throw new Error("Failed to find rfc id for gmail thread id. Message may not exist in user's account.");
28
22
  }
29
- return htmlToText(match[1]);
23
+ return (0, _htmlToText.default)(match[1]);
30
24
  }
31
-
32
- export default defn(module, getRfcMessageIdForSyncMessageId);
25
+ var _default = (0, _ud.defn)(module, getRfcMessageIdForSyncMessageId);
26
+ exports.default = _default;
@@ -1,21 +1,21 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import { defn } from 'ud';
4
- import requestGmailThread from './requestGmailThread';
5
- import { extractGmailThreadIdFromMessageIdSearch } from '../dom-driver/gmail/gmail-response-processor';
6
- import type { Driver } from '../driver-interfaces/driver';
7
-
8
- async function getThreadIdFromMessageId(
9
- driver: Driver,
10
- messageId: string
11
- ): Promise<string> {
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _ud = require("ud");
9
+ var _requestGmailThread = _interopRequireDefault(require("./requestGmailThread"));
10
+ var _gmailResponseProcessor = require("../dom-driver/gmail/gmail-response-processor");
11
+ async function getThreadIdFromMessageId(driver, messageId) {
12
12
  const ikValue = driver.getPageCommunicator().getIkValue();
13
- const text = await requestGmailThread(ikValue, messageId);
14
- const threadId = extractGmailThreadIdFromMessageIdSearch(text);
13
+ const text = await (0, _requestGmailThread.default)(ikValue, messageId);
14
+ const threadId = (0, _gmailResponseProcessor.extractGmailThreadIdFromMessageIdSearch)(text);
15
15
  if (!threadId) {
16
16
  throw new Error('Failed to find thread id for given message id');
17
17
  }
18
18
  return threadId;
19
19
  }
20
-
21
- export default defn(module, getThreadIdFromMessageId);
20
+ var _default = (0, _ud.defn)(module, getThreadIdFromMessageId);
21
+ exports.default = _default;
@@ -1,8 +1,13 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import { defn } from 'ud';
4
- import rateLimitQueuer from '../../common/rate-limit-queuer';
5
- import ajax from '../../common/ajax';
6
-
7
- const inboxAjax = defn(module, rateLimitQueuer(ajax, 1000, 7));
8
- export default inboxAjax;
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _ud = require("ud");
9
+ var _rateLimitQueuer = _interopRequireDefault(require("../../common/rate-limit-queuer"));
10
+ var _ajax = _interopRequireDefault(require("../../common/ajax"));
11
+ const inboxAjax = (0, _ud.defn)(module, (0, _rateLimitQueuer.default)(_ajax.default, 1000, 7));
12
+ var _default = inboxAjax;
13
+ exports.default = _default;
@@ -1,14 +1,15 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import { defn } from 'ud';
4
- import querystring from 'querystring';
5
- import gmailAjax from './gmailAjax';
6
- import getAccountUrlPart from './getAccountUrlPart';
7
-
8
- async function requestGmailThread(
9
- ikValue: string,
10
- threadId: string
11
- ): Promise<string> {
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _ud = require("ud");
9
+ var _querystring = _interopRequireDefault(require("querystring"));
10
+ var _gmailAjax = _interopRequireDefault(require("./gmailAjax"));
11
+ var _getAccountUrlPart = _interopRequireDefault(require("./getAccountUrlPart"));
12
+ async function requestGmailThread(ikValue, threadId) {
12
13
  const queryParameters = {
13
14
  ui: 2,
14
15
  ik: ikValue,
@@ -18,18 +19,16 @@ async function requestGmailThread(
18
19
  mb: 0,
19
20
  rt: 'c',
20
21
  search: 'inbox',
21
- type: threadId,
22
+ type: threadId
22
23
  };
23
-
24
- const { text } = await gmailAjax({
24
+ const {
25
+ text
26
+ } = await (0, _gmailAjax.default)({
25
27
  method: 'POST',
26
- url: `https://mail.google.com/mail${getAccountUrlPart()}?${querystring.stringify(
27
- queryParameters
28
- )}`,
29
- canRetry: true,
28
+ url: `https://mail.google.com/mail${(0, _getAccountUrlPart.default)()}?${_querystring.default.stringify(queryParameters)}`,
29
+ canRetry: true
30
30
  });
31
-
32
31
  return text;
33
32
  }
34
-
35
- export default defn(module, requestGmailThread);
33
+ var _default = (0, _ud.defn)(module, requestGmailThread);
34
+ exports.default = _default;