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