@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,67 +1,66 @@
1
- /* @flow */
2
-
3
- import find from 'lodash/find';
4
- import * as ud from 'ud';
5
- import get from '../../common/get-or-fail';
6
- import type { Driver } from '../driver-interfaces/driver';
7
- import type { PiOpts } from '../platform-implementation';
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 _find = _interopRequireDefault(require("lodash/find"));
9
+ var ud = _interopRequireWildcard(require("ud"));
10
+ var _getOrFail = _interopRequireDefault(require("../../common/get-or-fail"));
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; }
9
13
  const memberMap = ud.defonce(module, () => new WeakMap());
10
14
 
11
15
  // documented in src/docs/
12
16
  class User {
13
- constructor(driver: Driver, piOpts: PiOpts) {
14
- memberMap.set(this, { driver, piOpts });
17
+ constructor(driver, piOpts) {
18
+ memberMap.set(this, {
19
+ driver,
20
+ piOpts
21
+ });
15
22
  }
16
-
17
23
  getEmailAddress() {
18
- return get(memberMap, this).driver.getUserEmailAddress();
24
+ return (0, _getOrFail.default)(memberMap, this).driver.getUserEmailAddress();
19
25
  }
20
-
21
26
  isConversationViewDisabled() {
22
- return get(memberMap, this).driver.isConversationViewDisabled();
27
+ return (0, _getOrFail.default)(memberMap, this).driver.isConversationViewDisabled();
23
28
  }
24
-
25
29
  isUsingGmailMaterialUI() {
26
- get(memberMap, this)
27
- .driver.getLogger()
28
- .deprecationWarning('User.isUsingGmailMaterialUI');
29
-
30
+ (0, _getOrFail.default)(memberMap, this).driver.getLogger().deprecationWarning('User.isUsingGmailMaterialUI');
30
31
  return true;
31
32
  }
32
-
33
33
  getLanguage() {
34
- return get(memberMap, this).driver.getUserLanguage();
34
+ return (0, _getOrFail.default)(memberMap, this).driver.getUserLanguage();
35
35
  }
36
-
37
36
  getUserContact() {
38
- const { driver, piOpts } = get(memberMap, this);
39
- driver
40
- .getLogger()
41
- .deprecationWarning('User.getUserContact', 'User.getEmailAddress');
37
+ const {
38
+ driver,
39
+ piOpts
40
+ } = (0, _getOrFail.default)(memberMap, this);
41
+ driver.getLogger().deprecationWarning('User.getUserContact', 'User.getEmailAddress');
42
42
  if (piOpts.REQUESTED_API_VERSION !== 1) {
43
43
  throw new Error('This method was discontinued after API version 1');
44
44
  }
45
45
  return driver.getUserContact();
46
46
  }
47
-
48
47
  getAccountSwitcherContactList() {
49
- const { driver } = get(memberMap, this);
50
- driver
51
- .getLogger()
52
- .deprecationWarning(
53
- 'User.getAccountSwitcherContactList',
54
- 'User.getEmailAddress'
55
- );
48
+ const {
49
+ driver
50
+ } = (0, _getOrFail.default)(memberMap, this);
51
+ driver.getLogger().deprecationWarning('User.getAccountSwitcherContactList', 'User.getEmailAddress');
56
52
  let list = driver.getAccountSwitcherContactList();
57
53
  const userEmail = this.getEmailAddress();
58
- const listHasUser = !!find(list, (item) => item.emailAddress === userEmail);
54
+ const listHasUser = !!(0, _find.default)(list, item => item.emailAddress === userEmail);
59
55
  if (!listHasUser) {
60
56
  // This happens for delegated accounts.
61
- list = list.concat([{ name: userEmail, emailAddress: userEmail }]);
57
+ list = list.concat([{
58
+ name: userEmail,
59
+ emailAddress: userEmail
60
+ }]);
62
61
  }
63
62
  return list;
64
63
  }
65
64
  }
66
-
67
- export default ud.defn(module, User);
65
+ var _default = ud.defn(module, User);
66
+ exports.default = _default;
@@ -1,89 +1,82 @@
1
- /* @flow */
2
-
3
- import Kefir from 'kefir';
4
- import kefirCast from 'kefir-cast';
5
- import { defn } from 'ud';
6
-
7
- import ModalView from '../widgets/modal-view';
8
- import MoleView from '../widgets/mole-view';
9
- import DrawerView from '../widgets/drawer-view';
10
- import TopMessageBarView from '../widgets/top-message-bar-view';
11
- import ComposeView from '../views/compose-view';
12
- import type { Driver, DrawerViewOptions } from '../driver-interfaces/driver';
13
- import get from '../../common/get-or-fail';
14
- import isComposeTitleBarLightColor from '../dom-driver/gmail/is-compose-titlebar-light-color';
1
+ "use strict";
15
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 _kefir = _interopRequireDefault(require("kefir"));
9
+ var _kefirCast = _interopRequireDefault(require("kefir-cast"));
10
+ var _ud = require("ud");
11
+ var _modalView = _interopRequireDefault(require("../widgets/modal-view"));
12
+ var _moleView = _interopRequireDefault(require("../widgets/mole-view"));
13
+ var _drawerView = _interopRequireDefault(require("../widgets/drawer-view"));
14
+ var _topMessageBarView = _interopRequireDefault(require("../widgets/top-message-bar-view"));
15
+ var _composeView = _interopRequireDefault(require("../views/compose-view"));
16
+ var _getOrFail = _interopRequireDefault(require("../../common/get-or-fail"));
17
+ var _isComposeTitlebarLightColor = _interopRequireDefault(require("../dom-driver/gmail/is-compose-titlebar-light-color"));
16
18
  // documented in src/docs/
17
19
  class Widgets {
18
- constructor(appId: string, driver: Driver) {
19
- const members = { driver };
20
+ constructor(appId, driver) {
21
+ const members = {
22
+ driver
23
+ };
20
24
  memberMap.set(this, members);
21
25
  }
22
-
23
- showModalView(options: Object): ModalView {
26
+ showModalView(options) {
24
27
  if (options.buttons) {
25
- options.buttons = options.buttons.map((button) => {
28
+ options.buttons = options.buttons.map(button => {
26
29
  if (button.onClick) {
27
30
  const appOnClick = button.onClick;
28
31
  return {
29
32
  ...button,
30
33
  onClick() {
31
- appOnClick({ modalView });
32
- },
34
+ appOnClick({
35
+ modalView
36
+ });
37
+ }
33
38
  };
34
39
  }
35
40
  return button;
36
41
  });
37
42
  }
38
- const { driver } = get(memberMap, this);
43
+ const {
44
+ driver
45
+ } = (0, _getOrFail.default)(memberMap, this);
39
46
  const modalViewDriver = driver.createModalViewDriver(options);
40
- const modalView = new ModalView({ driver, modalViewDriver });
47
+ const modalView = new _modalView.default({
48
+ driver,
49
+ modalViewDriver
50
+ });
41
51
  modalView.show();
42
-
43
52
  return modalView;
44
53
  }
45
-
46
- showMoleView(options: Object): MoleView {
47
- const moleViewDriver = get(memberMap, this).driver.createMoleViewDriver(
48
- options
49
- );
50
- const moleView = new MoleView({ moleViewDriver });
54
+ showMoleView(options) {
55
+ const moleViewDriver = (0, _getOrFail.default)(memberMap, this).driver.createMoleViewDriver(options);
56
+ const moleView = new _moleView.default({
57
+ moleViewDriver
58
+ });
51
59
  moleViewDriver.show();
52
-
53
60
  return moleView;
54
61
  }
55
-
56
- showTopMessageBarView(options: Object): TopMessageBarView {
57
- const topMessageBarViewDriver = get(
58
- memberMap,
59
- this
60
- ).driver.createTopMessageBarDriver(kefirCast((Kefir: any), options));
61
-
62
- return new TopMessageBarView({
63
- topMessageBarViewDriver,
62
+ showTopMessageBarView(options) {
63
+ const topMessageBarViewDriver = (0, _getOrFail.default)(memberMap, this).driver.createTopMessageBarDriver((0, _kefirCast.default)(_kefir.default, options));
64
+ return new _topMessageBarView.default({
65
+ topMessageBarViewDriver
64
66
  });
65
67
  }
66
-
67
- showDrawerView(options: DrawerViewOptions): DrawerView {
68
- get(memberMap, this)
69
- .driver.getLogger()
70
- .eventSdkActive('Widgets.showDrawerView used', {
71
- keys: Object.keys(options),
72
- });
73
-
74
- if (options.composeView && !(options.composeView instanceof ComposeView))
75
- throw new Error('composeView option was not a ComposeView');
76
- const drawerViewDriver = get(memberMap, this).driver.createDrawerViewDriver(
77
- options
78
- );
79
- return new DrawerView(drawerViewDriver);
68
+ showDrawerView(options) {
69
+ (0, _getOrFail.default)(memberMap, this).driver.getLogger().eventSdkActive('Widgets.showDrawerView used', {
70
+ keys: Object.keys(options)
71
+ });
72
+ if (options.composeView && !(options.composeView instanceof _composeView.default)) throw new Error('composeView option was not a ComposeView');
73
+ const drawerViewDriver = (0, _getOrFail.default)(memberMap, this).driver.createDrawerViewDriver(options);
74
+ return new _drawerView.default(drawerViewDriver);
80
75
  }
81
-
82
- isMoleViewTitleBarLightColor(): boolean {
83
- return isComposeTitleBarLightColor();
76
+ isMoleViewTitleBarLightColor() {
77
+ return (0, _isComposeTitlebarLightColor.default)();
84
78
  }
85
79
  }
86
-
87
- const memberMap: Map<Widgets, { driver: Driver }> = new Map();
88
-
89
- export default defn(module, Widgets);
80
+ const memberMap = new Map();
81
+ var _default = (0, _ud.defn)(module, Widgets);
82
+ exports.default = _default;
@@ -1,232 +1,122 @@
1
- /* @flow */
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.PlatformImplementation = void 0;
8
+ exports.makePlatformImplementation = makePlatformImplementation;
9
+ var _safeEventEmitter = _interopRequireDefault(require("./lib/safe-event-emitter"));
10
+ var _version = require("../common/version");
11
+ var _getOrFail = _interopRequireDefault(require("../common/get-or-fail"));
12
+ var _sharedStyle = _interopRequireDefault(require("./lib/shared-style"));
13
+ var _Membrane = _interopRequireDefault(require("./lib/Membrane"));
14
+ var _attachmentCardView = _interopRequireDefault(require("./views/conversations/attachment-card-view"));
15
+ var _gmailAttachmentCardView = _interopRequireDefault(require("./dom-driver/gmail/views/gmail-attachment-card-view"));
16
+ var _inboxAttachmentCardView = _interopRequireDefault(require("./dom-driver/inbox/views/inbox-attachment-card-view"));
17
+ var _messageView = _interopRequireDefault(require("./views/conversations/message-view"));
18
+ var _gmailMessageView = _interopRequireDefault(require("./dom-driver/gmail/views/gmail-message-view"));
19
+ var _inboxMessageView = _interopRequireDefault(require("./dom-driver/inbox/views/inbox-message-view"));
20
+ var _threadView = _interopRequireDefault(require("./views/conversations/thread-view"));
21
+ var _gmailThreadView = _interopRequireDefault(require("./dom-driver/gmail/views/gmail-thread-view"));
22
+ var _inboxThreadView = _interopRequireDefault(require("./dom-driver/inbox/views/inbox-thread-view"));
23
+ var _threadRowView = _interopRequireDefault(require("./views/thread-row-view"));
24
+ var _gmailThreadRowView = _interopRequireDefault(require("./dom-driver/gmail/views/gmail-thread-row-view"));
25
+ var _inboxThreadRowView = _interopRequireDefault(require("./dom-driver/inbox/views/inbox-thread-row-view"));
26
+ var _composeView = _interopRequireDefault(require("./views/compose-view"));
27
+ var _gmailComposeView = _interopRequireDefault(require("./dom-driver/gmail/views/gmail-compose-view"));
28
+ var _inboxComposeView = _interopRequireDefault(require("./dom-driver/inbox/views/inbox-compose-view"));
29
+ var _dummyRouteViewDriver = _interopRequireDefault(require("./views/route-view/dummy-route-view-driver"));
30
+ var _routeView = _interopRequireDefault(require("./views/route-view/route-view"));
31
+ var _gmailRouteView = _interopRequireDefault(require("./dom-driver/gmail/views/gmail-route-view/gmail-route-view"));
32
+ var _inboxRouteView = _interopRequireDefault(require("./dom-driver/inbox/views/inbox-route-view"));
33
+ var _inboxDummyRouteView = _interopRequireDefault(require("./dom-driver/inbox/views/inbox-dummy-route-view"));
34
+ var _inboxCustomRouteView = _interopRequireDefault(require("./dom-driver/inbox/views/inbox-custom-route-view"));
35
+ var _butterBar = _interopRequireDefault(require("./namespaces/butter-bar"));
36
+ var _compose = _interopRequireDefault(require("./namespaces/compose"));
37
+ var _conversations = _interopRequireDefault(require("./namespaces/conversations"));
38
+ var _keyboard = _interopRequireDefault(require("./namespaces/keyboard"));
39
+ var _widgets = _interopRequireDefault(require("./namespaces/widgets"));
40
+ var _modal = _interopRequireDefault(require("./namespaces/modal"));
41
+ var _lists = _interopRequireDefault(require("./namespaces/lists"));
42
+ var _navMenu = _interopRequireDefault(require("./namespaces/nav-menu"));
43
+ var _appMenu = _interopRequireDefault(require("./namespaces/app-menu"));
44
+ var _router = _interopRequireDefault(require("./namespaces/router"));
45
+ var _search = _interopRequireDefault(require("./namespaces/search"));
46
+ var _toolbars = _interopRequireDefault(require("./namespaces/toolbars"));
47
+ var _user = _interopRequireDefault(require("./namespaces/user"));
48
+ var _global = _interopRequireDefault(require("./namespaces/global"));
49
+ var _gmailDriver = _interopRequireDefault(require("./dom-driver/gmail/gmail-driver"));
50
+ var _inboxDriver = _interopRequireDefault(require("./dom-driver/inbox/inbox-driver"));
51
+ var _logger = _interopRequireDefault(require("./lib/logger"));
52
+ var _isValidAppId = _interopRequireDefault(require("./lib/is-valid-app-id"));
2
53
  /* eslint-disable no-console */
3
-
4
- import SafeEventEmitter from './lib/safe-event-emitter';
5
- import { BUILD_VERSION } from '../common/version';
6
- import get from '../common/get-or-fail';
7
- import sharedStyle from './lib/shared-style';
8
- import Membrane from './lib/Membrane';
9
-
10
- import AttachmentCardView from './views/conversations/attachment-card-view';
11
- import GmailAttachmentCardView from './dom-driver/gmail/views/gmail-attachment-card-view';
12
- import InboxAttachmentCardView from './dom-driver/inbox/views/inbox-attachment-card-view';
13
-
14
- import MessageView from './views/conversations/message-view';
15
- import GmailMessageView from './dom-driver/gmail/views/gmail-message-view';
16
- import InboxMessageView from './dom-driver/inbox/views/inbox-message-view';
17
-
18
- import ThreadView from './views/conversations/thread-view';
19
- import GmailThreadView from './dom-driver/gmail/views/gmail-thread-view';
20
- import InboxThreadView from './dom-driver/inbox/views/inbox-thread-view';
21
-
22
- import ThreadRowView from './views/thread-row-view';
23
- import GmailThreadRowView from './dom-driver/gmail/views/gmail-thread-row-view';
24
- import InboxThreadRowView from './dom-driver/inbox/views/inbox-thread-row-view';
25
-
26
- import ComposeView from './views/compose-view';
27
- import GmailComposeView from './dom-driver/gmail/views/gmail-compose-view';
28
- import InboxComposeView from './dom-driver/inbox/views/inbox-compose-view';
29
-
30
- import DummyRouteViewDriver from './views/route-view/dummy-route-view-driver';
31
- import RouteView from './views/route-view/route-view';
32
- import GmailRouteView from './dom-driver/gmail/views/gmail-route-view/gmail-route-view';
33
- import InboxRouteView from './dom-driver/inbox/views/inbox-route-view';
34
- import InboxDummyRouteView from './dom-driver/inbox/views/inbox-dummy-route-view';
35
- import InboxCustomRouteView from './dom-driver/inbox/views/inbox-custom-route-view';
36
-
37
- import ButterBar from './namespaces/butter-bar';
38
- import Compose from './namespaces/compose';
39
- import Conversations from './namespaces/conversations';
40
- import Keyboard from './namespaces/keyboard';
41
- import Widgets from './namespaces/widgets';
42
- import Modal from './namespaces/modal';
43
- import Lists from './namespaces/lists';
44
- import NavMenu from './namespaces/nav-menu';
45
- import AppMenu from './namespaces/app-menu';
46
- import Router from './namespaces/router';
47
- import Search from './namespaces/search';
48
- import Toolbars from './namespaces/toolbars';
49
- import User from './namespaces/user';
50
- import Global from './namespaces/global';
51
-
52
- import GmailDriver from './dom-driver/gmail/gmail-driver';
53
- import InboxDriver from './dom-driver/inbox/inbox-driver';
54
- import Logger from './lib/logger';
55
-
56
- import isValidAppId from './lib/is-valid-app-id';
57
-
58
- // Some types
59
- import type { Driver } from './driver-interfaces/driver';
60
- import type { AppLogger } from './lib/logger';
61
-
62
- const loadedAppIds: Set<string> = new Set();
54
+ const loadedAppIds = new Set();
63
55
  const memberMap = new WeakMap();
64
-
65
- export type PiOpts = {
66
- appName: ?string,
67
- appIconUrl: ?string,
68
- suppressAddonTitle?: ?string,
69
- VERSION: string,
70
- globalErrorLogging: boolean,
71
- eventTracking: boolean,
72
- inboxBeta: boolean,
73
- REQUESTED_API_VERSION: number,
74
- primaryColor?: string,
75
- secondaryColor?: string,
76
- };
77
-
78
- export class PlatformImplementation extends SafeEventEmitter {
79
- destroyed: boolean;
80
- LOADER_VERSION: string;
81
- IMPL_VERSION: string;
82
-
83
- Compose: Compose;
84
- Conversations: Conversations;
85
- Keyboard: Keyboard;
86
- User: User;
87
- Lists: Lists;
88
- NavMenu: NavMenu;
89
- AppMenu: AppMenu;
90
- Router: Router;
91
- Search: Search;
92
- Toolbars: Toolbars;
93
- ButterBar: ButterBar;
94
- Widgets: Widgets;
95
- Global: ?Global;
96
- Modal: ?Modal;
97
- Logger: AppLogger;
98
-
99
- constructor(driver: Driver, appId: string, piOpts: PiOpts) {
56
+ class PlatformImplementation extends _safeEventEmitter.default {
57
+ constructor(driver, appId, piOpts) {
100
58
  super();
101
- const { appName, appIconUrl, VERSION: LOADER_VERSION } = piOpts;
102
-
103
- const members = { driver };
59
+ const {
60
+ appName,
61
+ appIconUrl,
62
+ VERSION: LOADER_VERSION
63
+ } = piOpts;
64
+ const members = {
65
+ driver
66
+ };
104
67
  memberMap.set(this, members);
105
-
106
68
  if (process.env.NODE_ENV !== 'production') {
107
- (this: any)._members = members;
69
+ this._members = members;
108
70
  }
109
-
110
- const membrane = new Membrane([
111
- [
112
- GmailComposeView,
113
- (viewDriver) => new ComposeView(driver, viewDriver, membrane),
114
- ],
115
- [
116
- InboxComposeView,
117
- (viewDriver) => new ComposeView(driver, viewDriver, membrane),
118
- ],
119
- [
120
- GmailAttachmentCardView,
121
- (viewDriver) => new AttachmentCardView(viewDriver, driver, membrane),
122
- ],
123
- [
124
- InboxAttachmentCardView,
125
- (viewDriver) => new AttachmentCardView(viewDriver, driver, membrane),
126
- ],
127
- [
128
- GmailMessageView,
129
- (viewDriver) =>
130
- new MessageView(
131
- viewDriver,
132
- appId,
133
- membrane,
134
- this.Conversations,
135
- driver
136
- ),
137
- ],
138
- [
139
- InboxMessageView,
140
- (viewDriver) =>
141
- new MessageView(
142
- viewDriver,
143
- appId,
144
- membrane,
145
- this.Conversations,
146
- driver
147
- ),
148
- ],
149
- [
150
- GmailThreadView,
151
- (viewDriver) => new ThreadView(viewDriver, appId, driver, membrane),
152
- ],
153
- [
154
- InboxThreadView,
155
- (viewDriver) => new ThreadView(viewDriver, appId, driver, membrane),
156
- ],
157
- [GmailThreadRowView, (viewDriver) => new ThreadRowView(viewDriver)],
158
- [InboxThreadRowView, (viewDriver) => new ThreadRowView(viewDriver)],
159
- [GmailRouteView, (viewDriver) => new RouteView(viewDriver)],
160
- [InboxRouteView, (viewDriver) => new RouteView(viewDriver)],
161
- [InboxDummyRouteView, (viewDriver) => new RouteView(viewDriver)],
162
- [InboxCustomRouteView, (viewDriver) => new RouteView(viewDriver)],
163
- [DummyRouteViewDriver, (viewDriver) => new RouteView(viewDriver)],
164
- ]);
71
+ const membrane = new _Membrane.default([[_gmailComposeView.default, viewDriver => new _composeView.default(driver, viewDriver, membrane)], [_inboxComposeView.default, viewDriver => new _composeView.default(driver, viewDriver, membrane)], [_gmailAttachmentCardView.default, viewDriver => new _attachmentCardView.default(viewDriver, driver, membrane)], [_inboxAttachmentCardView.default, viewDriver => new _attachmentCardView.default(viewDriver, driver, membrane)], [_gmailMessageView.default, viewDriver => new _messageView.default(viewDriver, appId, membrane, this.Conversations, driver)], [_inboxMessageView.default, viewDriver => new _messageView.default(viewDriver, appId, membrane, this.Conversations, driver)], [_gmailThreadView.default, viewDriver => new _threadView.default(viewDriver, appId, driver, membrane)], [_inboxThreadView.default, viewDriver => new _threadView.default(viewDriver, appId, driver, membrane)], [_gmailThreadRowView.default, viewDriver => new _threadRowView.default(viewDriver)], [_inboxThreadRowView.default, viewDriver => new _threadRowView.default(viewDriver)], [_gmailRouteView.default, viewDriver => new _routeView.default(viewDriver)], [_inboxRouteView.default, viewDriver => new _routeView.default(viewDriver)], [_inboxDummyRouteView.default, viewDriver => new _routeView.default(viewDriver)], [_inboxCustomRouteView.default, viewDriver => new _routeView.default(viewDriver)], [_dummyRouteViewDriver.default, viewDriver => new _routeView.default(viewDriver)]]);
165
72
  this.destroyed = false;
166
73
  this.LOADER_VERSION = LOADER_VERSION;
167
- this.IMPL_VERSION = BUILD_VERSION;
168
-
169
- this.ButterBar = new ButterBar(appId, driver);
74
+ this.IMPL_VERSION = _version.BUILD_VERSION;
75
+ this.ButterBar = new _butterBar.default(appId, driver);
170
76
  driver.setButterBar(this.ButterBar);
171
-
172
- this.Compose = new Compose(driver, membrane);
173
- this.Conversations = new Conversations(appId, driver, membrane);
174
- this.Keyboard = new Keyboard(appId, appName, appIconUrl, driver);
175
- this.User = new User(driver, piOpts);
176
- this.Lists = new Lists(appId, driver, membrane);
177
- this.NavMenu = new NavMenu(appId, driver);
178
- this.AppMenu = new AppMenu(driver);
179
- this.Router = new Router(appId, driver, membrane);
180
- this.Search = new Search(appId, driver);
181
- this.Toolbars = new Toolbars(appId, driver, membrane, piOpts);
182
- this.Widgets = new Widgets(appId, driver);
183
-
77
+ this.Compose = new _compose.default(driver, membrane);
78
+ this.Conversations = new _conversations.default(appId, driver, membrane);
79
+ this.Keyboard = new _keyboard.default(appId, appName, appIconUrl, driver);
80
+ this.User = new _user.default(driver, piOpts);
81
+ this.Lists = new _lists.default(appId, driver, membrane);
82
+ this.NavMenu = new _navMenu.default(appId, driver);
83
+ this.AppMenu = new _appMenu.default(driver);
84
+ this.Router = new _router.default(appId, driver, membrane);
85
+ this.Search = new _search.default(appId, driver);
86
+ this.Toolbars = new _toolbars.default(appId, driver, membrane, piOpts);
87
+ this.Widgets = new _widgets.default(appId, driver);
184
88
  if (piOpts.REQUESTED_API_VERSION === 1) {
185
89
  // Modal is deprecated; just drop it when apps switch to the next version
186
90
  // whenever we start that.
187
- this.Modal = new Modal(appId, driver, piOpts);
91
+ this.Modal = new _modal.default(appId, driver, piOpts);
188
92
  }
189
-
190
93
  if (piOpts.REQUESTED_API_VERSION >= 2) {
191
94
  // new Global namespace only available in v2 or above
192
- this.Global = new Global(appId, driver, piOpts);
95
+ this.Global = new _global.default(appId, driver, piOpts);
193
96
  }
194
97
  this.Logger = driver.getLogger().getAppLogger();
195
98
  }
196
-
197
99
  destroy() {
198
100
  if (!this.destroyed) {
199
101
  this.destroyed = true;
200
- get(memberMap, this).driver.destroy();
102
+ (0, _getOrFail.default)(memberMap, this).driver.destroy();
201
103
  this.emit('destroy');
202
104
  }
203
105
  }
204
106
  }
205
-
206
- export type EnvData = {
207
- piMainStarted: number,
208
- piLoadStarted: number,
209
- wasAccountSwitcherReadyAtStart: boolean,
210
- };
211
-
107
+ exports.PlatformImplementation = PlatformImplementation;
212
108
  // returns a promise for the PlatformImplementation object
213
- export function makePlatformImplementation(
214
- appId: string,
215
- _opts: Object,
216
- envData: EnvData
217
- ): Promise<PlatformImplementation> {
109
+ function makePlatformImplementation(appId, _opts, envData) {
218
110
  if (typeof appId !== 'string') {
219
111
  throw new Error('appId must be a string');
220
112
  }
221
-
222
- const opts: PiOpts = {
113
+ const opts = {
223
114
  // defaults
224
115
  globalErrorLogging: true,
225
116
  eventTracking: true,
226
117
  inboxBeta: false,
227
- ..._opts,
118
+ ..._opts
228
119
  };
229
-
230
120
  opts.REQUESTED_API_VERSION = +opts.REQUESTED_API_VERSION;
231
121
  switch (opts.REQUESTED_API_VERSION) {
232
122
  case 2:
@@ -235,42 +125,26 @@ export function makePlatformImplementation(
235
125
  case 1:
236
126
  break;
237
127
  default:
238
- throw new Error(
239
- 'InboxSDK: Unsupported API version ' + opts.REQUESTED_API_VERSION
240
- );
128
+ throw new Error('InboxSDK: Unsupported API version ' + opts.REQUESTED_API_VERSION);
241
129
  }
242
-
243
- const DRIVERS_BY_ORIGIN: { [name: string]: * } = {
244
- 'https://mail.google.com': GmailDriver,
245
- 'https://inbox.google.com': InboxDriver,
130
+ const DRIVERS_BY_ORIGIN = {
131
+ 'https://mail.google.com': _gmailDriver.default,
132
+ 'https://inbox.google.com': _inboxDriver.default
246
133
  };
247
-
248
- const LOADER_VERSION: string = opts.VERSION;
249
- const IMPL_VERSION: string = BUILD_VERSION;
250
- const logger = new Logger(appId, opts, LOADER_VERSION, IMPL_VERSION);
251
-
252
- const origin: string =
253
- (process.env.NODE_ENV === 'test' && global.__test_origin) ||
254
- document.location.origin;
134
+ const LOADER_VERSION = opts.VERSION;
135
+ const IMPL_VERSION = _version.BUILD_VERSION;
136
+ const logger = new _logger.default(appId, opts, LOADER_VERSION, IMPL_VERSION);
137
+ const origin = process.env.NODE_ENV === 'test' && global.__test_origin || document.location.origin;
255
138
  const DriverClass = DRIVERS_BY_ORIGIN[origin];
256
139
  if (!DriverClass) {
257
140
  console.log('InboxSDK: Unsupported origin', origin);
258
141
  // never resolve
259
142
  return new Promise((resolve, reject) => {});
260
143
  }
261
-
262
- sharedStyle();
263
-
264
- const driver: Driver = new DriverClass(
265
- appId,
266
- LOADER_VERSION,
267
- IMPL_VERSION,
268
- logger,
269
- opts,
270
- envData
271
- );
144
+ (0, _sharedStyle.default)();
145
+ const driver = new DriverClass(appId, LOADER_VERSION, IMPL_VERSION, logger, opts, envData);
272
146
  return driver.onready.then(() => {
273
- if (!isValidAppId(appId)) {
147
+ if (!(0, _isValidAppId.default)(appId)) {
274
148
  console.error(`
275
149
  ===========================================================
276
150
  InboxSDK: You have loaded InboxSDK with an invalid appId:
@@ -281,13 +155,9 @@ https://www.inboxsdk.com/docs/#RequiredSetup
281
155
  `);
282
156
  driver.showAppIdWarning();
283
157
  }
284
-
285
158
  if (driver.isRunningInPageContext()) {
286
- console.warn(
287
- 'Running the InboxSDK outside of an extension content script is not recommended!'
288
- );
159
+ console.warn('Running the InboxSDK outside of an extension content script is not recommended!');
289
160
  }
290
-
291
161
  logger.eventSdkPassive('instantiate');
292
162
  const pi = new PlatformImplementation(driver, appId, opts);
293
163
  if (origin === 'https://inbox.google.com' && !opts.inboxBeta) {
@@ -303,7 +173,6 @@ https://www.inboxsdk.com/docs/#RequiredSetup
303
173
  loadedAppIds.add(appId);
304
174
  logger.eventSdkPassive('load');
305
175
  }
306
-
307
176
  return pi;
308
177
  });
309
- }
178
+ }