@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,31 +1,32 @@
1
- /* @flow */
2
-
3
- import populateRouteID from './populateRouteID';
1
+ "use strict";
4
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _populateRouteID = _interopRequireDefault(require("./populateRouteID"));
5
5
  test('works with no params', () => {
6
- expect(populateRouteID('a/b', null)).toBe('a/b');
6
+ expect((0, _populateRouteID.default)('a/b', null)).toBe('a/b');
7
7
  });
8
-
9
8
  test('works with params', () => {
10
- expect(populateRouteID('a/:id/b/:foo', { id: 'aaa', foo: '456' })).toBe(
11
- 'a/aaa/b/456'
12
- );
9
+ expect((0, _populateRouteID.default)('a/:id/b/:foo', {
10
+ id: 'aaa',
11
+ foo: '456'
12
+ })).toBe('a/aaa/b/456');
13
13
  });
14
-
15
14
  test('works with params that are not preceded by a slash', () => {
16
- expect(populateRouteID('a/foo:id/b', { id: 'aaa' })).toBe('a/fooaaa/b');
15
+ expect((0, _populateRouteID.default)('a/foo:id/b', {
16
+ id: 'aaa'
17
+ })).toBe('a/fooaaa/b');
17
18
  });
18
-
19
19
  test('url encodes', () => {
20
- expect(populateRouteID('a/:id', { id: '%/$\'"' })).toBe("a/%25%2F%24'%22");
20
+ expect((0, _populateRouteID.default)('a/:id', {
21
+ id: '%/$\'"'
22
+ })).toBe("a/%25%2F%24'%22");
21
23
  });
22
-
23
24
  test('throws if missing params', () => {
24
- expect(() => populateRouteID('a/:id', {})).toThrowError();
25
+ expect(() => (0, _populateRouteID.default)('a/:id', {})).toThrowError();
25
26
  });
26
-
27
27
  test('throws if extra params', () => {
28
- expect(() =>
29
- populateRouteID('a/:id', { id: '456', foo: '789' })
30
- ).toThrowError();
31
- });
28
+ expect(() => (0, _populateRouteID.default)('a/:id', {
29
+ id: '456',
30
+ foo: '789'
31
+ })).toThrowError();
32
+ });
@@ -1,21 +1,23 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import React from 'react';
4
-
5
- type Props = {
6
- className?: ?string,
7
- el: HTMLElement,
8
- };
9
- export default class ElementContainer extends React.Component<Props> {
10
- props: Props;
11
- _content: HTMLElement;
12
- _contentRefCb = (el: ?HTMLElement) => {
13
- if (el) this._content = el;
14
- };
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _react = _interopRequireDefault(require("react"));
10
+ class ElementContainer extends _react.default.Component {
11
+ constructor() {
12
+ super(...arguments);
13
+ (0, _defineProperty2.default)(this, "_contentRefCb", el => {
14
+ if (el) this._content = el;
15
+ });
16
+ }
15
17
  componentDidMount() {
16
18
  this._content.appendChild(this.props.el);
17
19
  }
18
- componentDidUpdate(prevProps: Props) {
20
+ componentDidUpdate(prevProps) {
19
21
  if (prevProps.el !== this.props.el) {
20
22
  while (this._content.lastElementChild) {
21
23
  this._content.lastElementChild.remove();
@@ -23,13 +25,14 @@ export default class ElementContainer extends React.Component<Props> {
23
25
  this._content.appendChild(this.props.el);
24
26
  }
25
27
  }
26
- shouldComponentUpdate(nextProps: Props) {
27
- return (
28
- this.props.className !== nextProps.className ||
29
- this.props.el !== nextProps.el
30
- );
28
+ shouldComponentUpdate(nextProps) {
29
+ return this.props.className !== nextProps.className || this.props.el !== nextProps.el;
31
30
  }
32
31
  render() {
33
- return <div className={this.props.className} ref={this._contentRefCb} />;
32
+ return /*#__PURE__*/_react.default.createElement("div", {
33
+ className: this.props.className,
34
+ ref: this._contentRefCb
35
+ });
34
36
  }
35
37
  }
38
+ exports.default = ElementContainer;
@@ -1,10 +1,11 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import idMap from './idMap';
4
-
5
- export default function rewriteCssWithIdMap(cssSource: string): string {
6
- return cssSource.replace(
7
- /\.IDMAP_([-a-zA-Z0-9_]+)/g,
8
- (match, classname) => `.${idMap(classname)}`
9
- );
10
- }
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = rewriteCssWithIdMap;
8
+ var _idMap = _interopRequireDefault(require("./idMap"));
9
+ function rewriteCssWithIdMap(cssSource) {
10
+ return cssSource.replace(/\.IDMAP_([-a-zA-Z0-9_]+)/g, (match, classname) => `.${(0, _idMap.default)(classname)}`);
11
+ }
@@ -1,26 +1,21 @@
1
- /* @flow */
2
-
3
- import rewriteCssWithIdMap from './rewriteCssWithIdMap';
4
-
5
- import idMap from './idMap';
1
+ "use strict";
6
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _rewriteCssWithIdMap = _interopRequireDefault(require("./rewriteCssWithIdMap"));
5
+ var _idMap = _interopRequireDefault(require("./idMap"));
7
6
  test('rewrites single classname', () => {
8
- expect(
9
- rewriteCssWithIdMap(`
7
+ expect((0, _rewriteCssWithIdMap.default)(`
10
8
  .IDMAP_foo {
11
9
  color: red;
12
10
  }
13
- `)
14
- ).toBe(`
15
- .${idMap('foo')} {
11
+ `)).toBe(`
12
+ .${(0, _idMap.default)('foo')} {
16
13
  color: red;
17
14
  }
18
15
  `);
19
16
  });
20
-
21
17
  test('only rewrites IDMAP_ classnames', () => {
22
- expect(
23
- rewriteCssWithIdMap(`
18
+ expect((0, _rewriteCssWithIdMap.default)(`
24
19
  .blaaah {
25
20
  color: blue;
26
21
  }
@@ -28,23 +23,21 @@ test('only rewrites IDMAP_ classnames', () => {
28
23
  color: red;
29
24
  }
30
25
  .xyz .IDMAP_foo::after {}
31
- `)
32
- ).toBe(`
26
+ `)).toBe(`
33
27
  .blaaah {
34
28
  color: blue;
35
29
  }
36
- .foo .x.${idMap('foo')}.y .blah .${idMap('xyz-_def3')}, .x {
30
+ .foo .x.${(0, _idMap.default)('foo')}.y .blah .${(0, _idMap.default)('xyz-_def3')}, .x {
37
31
  color: red;
38
32
  }
39
- .xyz .${idMap('foo')}::after {}
33
+ .xyz .${(0, _idMap.default)('foo')}::after {}
40
34
  `);
41
35
  });
42
-
43
36
  test('name is not present in rewritten CSS', () => {
44
- const output = rewriteCssWithIdMap(`
37
+ const output = (0, _rewriteCssWithIdMap.default)(`
45
38
  .IDMAP_foo3 {
46
39
  color: red;
47
40
  }
48
41
  `);
49
42
  expect(output.includes('foo3')).toBe(false);
50
- });
43
+ });
@@ -1,20 +1,15 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import memoize from 'lodash/memoize';
4
- import find from 'lodash/find';
5
- import escapeRegExp from 'lodash/escapeRegExp';
6
-
7
- const routeIDtoRegExp: (routeID: string) => RegExp = memoize(
8
- (routeID) =>
9
- new RegExp(
10
- '^' + escapeRegExp(routeID).replace(/\/:[^/]+/g, '/([^/]+)') + '/?$'
11
- )
12
- );
13
-
14
- export default function routeIDmatchesHash(
15
- routeID: string | Array<string>,
16
- hash: string
17
- ): ?string {
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = routeIDmatchesHash;
8
+ var _memoize = _interopRequireDefault(require("lodash/memoize"));
9
+ var _find = _interopRequireDefault(require("lodash/find"));
10
+ var _escapeRegExp = _interopRequireDefault(require("lodash/escapeRegExp"));
11
+ const routeIDtoRegExp = (0, _memoize.default)(routeID => new RegExp('^' + (0, _escapeRegExp.default)(routeID).replace(/\/:[^/]+/g, '/([^/]+)') + '/?$'));
12
+ function routeIDmatchesHash(routeID, hash) {
18
13
  const routeIDs = Array.isArray(routeID) ? routeID : [routeID];
19
- return find(routeIDs, (routeID) => hash.match(routeIDtoRegExp(routeID)));
20
- }
14
+ return (0, _find.default)(routeIDs, routeID => hash.match(routeIDtoRegExp(routeID)));
15
+ }
@@ -1,23 +1,17 @@
1
- /* @flow */
2
-
3
- import routeIDmatchesHash from './routeIDmatchesHash';
1
+ "use strict";
4
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _routeIDmatchesHash = _interopRequireDefault(require("./routeIDmatchesHash"));
5
5
  test('single parameter-less route works', () => {
6
- expect(routeIDmatchesHash('foo/bar/def', 'foo/bar/def')).toBe('foo/bar/def');
7
- expect(routeIDmatchesHash('foo/bar/def', 'foo/bax/def')).toBe(undefined);
6
+ expect((0, _routeIDmatchesHash.default)('foo/bar/def', 'foo/bar/def')).toBe('foo/bar/def');
7
+ expect((0, _routeIDmatchesHash.default)('foo/bar/def', 'foo/bax/def')).toBe(undefined);
8
8
  });
9
-
10
9
  test('array works', () => {
11
- expect(routeIDmatchesHash(['foo', 'bar'], 'foo')).toBe('foo');
12
- expect(routeIDmatchesHash(['foo', 'bar'], 'bar')).toBe('bar');
13
- expect(routeIDmatchesHash(['foo', 'bar'], 'blah')).toBe(undefined);
10
+ expect((0, _routeIDmatchesHash.default)(['foo', 'bar'], 'foo')).toBe('foo');
11
+ expect((0, _routeIDmatchesHash.default)(['foo', 'bar'], 'bar')).toBe('bar');
12
+ expect((0, _routeIDmatchesHash.default)(['foo', 'bar'], 'blah')).toBe(undefined);
14
13
  });
15
-
16
14
  test('parameter works', () => {
17
- expect(routeIDmatchesHash('foo/:bar/def/:blah', 'foo/123/def/x1')).toBe(
18
- 'foo/:bar/def/:blah'
19
- );
20
- expect(routeIDmatchesHash('foo/:bar/def/:blah', 'foo/123/xef/x1')).toBe(
21
- undefined
22
- );
23
- });
15
+ expect((0, _routeIDmatchesHash.default)('foo/:bar/def/:blah', 'foo/123/def/x1')).toBe('foo/:bar/def/:blah');
16
+ expect((0, _routeIDmatchesHash.default)('foo/:bar/def/:blah', 'foo/123/xef/x1')).toBe(undefined);
17
+ });
@@ -1,22 +1,23 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import type Kefir from 'kefir';
4
- import udKefir from 'ud-kefir';
5
- import rewriteCssWithIdMap from './rewriteCssWithIdMap';
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = sharedStyle;
8
+ var _udKefir = _interopRequireDefault(require("ud-kefir"));
9
+ var _rewriteCssWithIdMap = _interopRequireDefault(require("./rewriteCssWithIdMap"));
6
10
  var fs = require('fs');
7
- var cssContent: Kefir.Observable<string> = udKefir(
8
- module,
9
- fs.readFileSync(__dirname + '/../style/shared.css', 'utf8')
10
- );
11
-
12
- export default function sharedStyle(root: Document = document) {
11
+ var cssContent = (0, _udKefir.default)(module, fs.readFileSync(__dirname + '/../style/shared.css', 'utf8'));
12
+ function sharedStyle() {
13
+ let root = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;
13
14
  if (!root.getElementById('inboxsdk__shared_style')) {
14
15
  const style = root.createElement('style');
15
16
  style.id = 'inboxsdk__shared_style';
16
- cssContent.onValue((css) => {
17
- style.textContent = rewriteCssWithIdMap(css);
17
+ cssContent.onValue(css => {
18
+ style.textContent = (0, _rewriteCssWithIdMap.default)(css);
18
19
  });
19
20
  if (!root.head) throw new Error('missing head');
20
21
  root.head.appendChild(style);
21
22
  }
22
- }
23
+ }
@@ -1,18 +1,19 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import type LiveSet from 'live-set';
4
- import toValueObservable from 'live-set/toValueObservable';
5
- import Kefir from 'kefir';
6
- import type { ItemWithLifetime } from './dom/make-element-child-stream';
7
-
8
- export default function toItemWithLifetimeStream<T>(
9
- liveSet: LiveSet<T>
10
- ): Kefir.Observable<ItemWithLifetime<T>> {
11
- return Kefir.fromESObservable(
12
- toValueObservable(liveSet).map((event) => {
13
- const removal: Promise<void> = event.removal;
14
- const removalStream = Kefir.fromPromise(removal);
15
- return { el: event.value, removalStream };
16
- })
17
- );
18
- }
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = toItemWithLifetimeStream;
8
+ var _toValueObservable = _interopRequireDefault(require("live-set/toValueObservable"));
9
+ var _kefir = _interopRequireDefault(require("kefir"));
10
+ function toItemWithLifetimeStream(liveSet) {
11
+ return _kefir.default.fromESObservable((0, _toValueObservable.default)(liveSet).map(event => {
12
+ const removal = event.removal;
13
+ const removalStream = _kefir.default.fromPromise(removal);
14
+ return {
15
+ el: event.value,
16
+ removalStream
17
+ };
18
+ }));
19
+ }
@@ -1,31 +1,33 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import LiveSet from 'live-set';
4
- import type Kefir from 'kefir';
5
- import type { ItemWithLifetime } from './dom/make-element-child-stream';
6
-
7
- export default function toLiveSet<T>(
8
- itemWithLifetimeStream: Kefir.Observable<ItemWithLifetime<T>>
9
- ): LiveSet<T> {
10
- return new LiveSet({
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = toLiveSet;
8
+ var _liveSet = _interopRequireDefault(require("live-set"));
9
+ function toLiveSet(itemWithLifetimeStream) {
10
+ return new _liveSet.default({
11
11
  read() {
12
12
  throw new Error('should not happen; liveset was inactive');
13
13
  },
14
14
  listen(setValues, controller) {
15
15
  setValues(new Set());
16
-
17
16
  const sub = itemWithLifetimeStream.observe({
18
- value({ el, removalStream }) {
17
+ value(_ref) {
18
+ let {
19
+ el,
20
+ removalStream
21
+ } = _ref;
19
22
  controller.add(el);
20
23
  removalStream.take(1).onValue(() => {
21
24
  controller.remove(el);
22
25
  });
23
- },
26
+ }
24
27
  });
25
-
26
28
  return () => {
27
29
  sub.unsubscribe();
28
30
  };
29
- },
31
+ }
30
32
  });
31
- }
33
+ }
@@ -1,8 +1,9 @@
1
+ "use strict";
2
+
1
3
  /* eslint-disable flowtype/require-valid-file-annotation, no-undef */
2
4
 
3
- const { injectScriptEmbedded } = require('./lib/inject-script-EMBEDDED');
4
- require('./lib/inject-script').setInjectScriptImplementation(
5
+ const {
5
6
  injectScriptEmbedded
6
- );
7
-
8
- module.exports = require('./main');
7
+ } = require('./lib/inject-script-EMBEDDED');
8
+ require('./lib/inject-script').setInjectScriptImplementation(injectScriptEmbedded);
9
+ module.exports = require('./main');
@@ -1,11 +1,10 @@
1
+ "use strict";
2
+
1
3
  /* eslint-disable flowtype/require-valid-file-annotation, no-undef */
2
4
 
3
5
  if (!global.__InboxSDKImpLoader) {
4
6
  var piMainStarted = Date.now();
5
- var wasAccountSwitcherReadyAtStart = !!document.querySelector(
6
- '[role=banner] div[aria-label] div div a[href^="https://myaccount.google."], [role=banner]+div div[aria-label] div div a[href^="https://myaccount.google."]'
7
- );
8
-
7
+ var wasAccountSwitcherReadyAtStart = !!document.querySelector('[role=banner] div[aria-label] div div a[href^="https://myaccount.google."], [role=banner]+div div[aria-label] div div a[href^="https://myaccount.google."]');
9
8
  var oldDefine;
10
9
  try {
11
10
  if (typeof define !== 'undefined' && define && define.amd) {
@@ -17,26 +16,13 @@ if (!global.__InboxSDKImpLoader) {
17
16
  // TODO check error logs to see if we need to re-enable safari-fix-map.
18
17
  // require('safari-fix-map');
19
18
  var Kefir = require('kefir');
20
-
21
19
  var onready = new Promise((resolve, reject) => {
22
- if (
23
- document.readyState === 'complete' ||
24
- document.readyState === 'interactive'
25
- ) {
20
+ if (document.readyState === 'complete' || document.readyState === 'interactive') {
26
21
  resolve();
27
22
  } else {
28
- resolve(
29
- Kefir.merge([
30
- Kefir.fromEvents(document, 'DOMContentLoaded'),
31
- Kefir.fromEvents(window, 'load'),
32
- ])
33
- .take(1)
34
- .map(() => null)
35
- .toPromise()
36
- );
23
+ resolve(Kefir.merge([Kefir.fromEvents(document, 'DOMContentLoaded'), Kefir.fromEvents(window, 'load')]).take(1).map(() => null).toPromise());
37
24
  }
38
25
  });
39
-
40
26
  global.__InboxSDKImpLoader = {
41
27
  load: function (version, appId, opts) {
42
28
  if (version !== '0.1') {
@@ -48,7 +34,6 @@ if (!global.__InboxSDKImpLoader) {
48
34
  if (appId === 'dropbox') {
49
35
  throw new Error('No longer supported');
50
36
  }
51
-
52
37
  var piLoadStarted = Date.now();
53
38
  return onready.then(() => {
54
39
  var oldDefine;
@@ -60,12 +45,12 @@ if (!global.__InboxSDKImpLoader) {
60
45
  define = null;
61
46
  }
62
47
  const {
63
- makePlatformImplementation,
48
+ makePlatformImplementation
64
49
  } = require('./platform-implementation');
65
50
  return makePlatformImplementation(appId, opts, {
66
51
  piMainStarted,
67
52
  piLoadStarted,
68
- wasAccountSwitcherReadyAtStart,
53
+ wasAccountSwitcherReadyAtStart
69
54
  });
70
55
  } finally {
71
56
  if (oldDefine) {
@@ -73,11 +58,11 @@ if (!global.__InboxSDKImpLoader) {
73
58
  }
74
59
  }
75
60
  });
76
- },
61
+ }
77
62
  };
78
63
  } finally {
79
64
  if (oldDefine) {
80
65
  define = oldDefine;
81
66
  }
82
67
  }
83
- }
68
+ }
@@ -1,88 +1,65 @@
1
- /* @flow */
2
-
3
- import * as ud from 'ud';
4
- import Kefir from 'kefir';
5
- import get from '../../common/get-or-fail';
6
- import ComposeView from '../views/compose-view';
7
- import HandlerRegistry from '../lib/handler-registry';
8
-
9
- import type Membrane from '../lib/Membrane';
10
- import type { PiOpts } from '../platform-implementation';
11
- import type { Handler } from '../lib/handler-registry';
12
- import type { Driver } from '../driver-interfaces/driver';
1
+ "use strict";
13
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 = _interopRequireWildcard(require("ud"));
9
+ var _kefir = _interopRequireDefault(require("kefir"));
10
+ var _getOrFail = _interopRequireDefault(require("../../common/get-or-fail"));
11
+ var _composeView = _interopRequireDefault(require("../views/compose-view"));
12
+ var _handlerRegistry = _interopRequireDefault(require("../lib/handler-registry"));
13
+ 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); }
14
+ 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; }
14
15
  const memberMap = ud.defonce(module, () => new WeakMap());
15
-
16
16
  const SAMPLE_RATE = 0.01;
17
17
  // documented in src/docs/
18
18
  class Compose {
19
- constructor(driver: Driver, membrane: Membrane) {
19
+ constructor(driver, membrane) {
20
20
  const members = {
21
21
  driver,
22
22
  membrane,
23
- handlerRegistry: new HandlerRegistry(),
24
- composeViewStream: driver
25
- .getComposeViewDriverStream()
26
- .map((viewDriver) => (membrane.get(viewDriver): ComposeView)),
23
+ handlerRegistry: new _handlerRegistry.default(),
24
+ composeViewStream: driver.getComposeViewDriverStream().map(viewDriver => membrane.get(viewDriver))
27
25
  };
28
26
  memberMap.set(this, members);
29
-
30
27
  driver.getStopper().onValue(() => {
31
28
  members.handlerRegistry.dumpHandlers();
32
29
  });
33
-
34
- members.composeViewStream.onValue((view) => {
35
- driver.getLogger().trackFunctionPerformance(
36
- () => {
37
- members.handlerRegistry.addTarget(view);
38
- },
39
- SAMPLE_RATE,
40
- {
41
- type: 'composeViewHandler',
42
- isInlineReplyForm: view.isInlineReplyForm(),
43
- }
44
- );
30
+ members.composeViewStream.onValue(view => {
31
+ driver.getLogger().trackFunctionPerformance(() => {
32
+ members.handlerRegistry.addTarget(view);
33
+ }, SAMPLE_RATE, {
34
+ type: 'composeViewHandler',
35
+ isInlineReplyForm: view.isInlineReplyForm()
36
+ });
45
37
  });
46
38
  }
47
-
48
- registerComposeViewHandler(handler: Handler<ComposeView>) {
49
- return get(memberMap, this).handlerRegistry.registerHandler(handler);
39
+ registerComposeViewHandler(handler) {
40
+ return (0, _getOrFail.default)(memberMap, this).handlerRegistry.registerHandler(handler);
50
41
  }
51
-
52
- async openNewComposeView(): Promise<ComposeView> {
53
- const members = get(memberMap, this);
42
+ async openNewComposeView() {
43
+ const members = (0, _getOrFail.default)(memberMap, this);
54
44
  const composeViewDriver = await members.driver.openNewComposeViewDriver();
55
45
  return members.membrane.get(composeViewDriver);
56
46
  }
57
-
58
- async openDraftByMessageID(messageID: string): Promise<ComposeView> {
59
- const members = get(memberMap, this);
47
+ async openDraftByMessageID(messageID) {
48
+ const members = (0, _getOrFail.default)(memberMap, this);
60
49
  const newComposePromise = members.composeViewStream.take(1).toPromise();
61
50
  await members.driver.openDraftByMessageID(messageID);
62
- return Kefir.fromPromise(newComposePromise)
63
- .merge(
64
- Kefir.later(15 * 1000, null).flatMap(() =>
65
- Kefir.constantError(new Error('draft did not open in time'))
66
- )
67
- )
68
- .take(1)
69
- .takeErrors(1)
70
- .toPromise();
51
+ return _kefir.default.fromPromise(newComposePromise).merge(_kefir.default.later(15 * 1000, null).flatMap(() => _kefir.default.constantError(new Error('draft did not open in time')))).take(1).takeErrors(1).toPromise();
71
52
  }
72
-
73
- getComposeView(): Promise<ComposeView> {
74
- const { driver } = get(memberMap, this);
75
- driver
76
- .getLogger()
77
- .deprecationWarning(
78
- 'Compose.getComposeView',
79
- 'Compose.openNewComposeView'
80
- );
53
+ getComposeView() {
54
+ const {
55
+ driver
56
+ } = (0, _getOrFail.default)(memberMap, this);
57
+ driver.getLogger().deprecationWarning('Compose.getComposeView', 'Compose.openNewComposeView');
81
58
  if (driver.getOpts().REQUESTED_API_VERSION !== 1) {
82
59
  throw new Error('This method was discontinued after API version 1');
83
60
  }
84
61
  return this.openNewComposeView();
85
62
  }
86
63
  }
87
-
88
- export default ud.defn(module, Compose);
64
+ var _default = ud.defn(module, Compose);
65
+ exports.default = _default;