@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,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;