@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,62 +1,51 @@
1
- /* @flow */
2
-
3
- import EventEmitter from '../../lib/safe-event-emitter';
4
- import { defn } from 'ud';
5
- import get from '../../../common/get-or-fail';
6
- import type { MinRouteViewDriver } from '../../driver-interfaces/route-view-driver';
7
-
1
+ "use strict";
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 _safeEventEmitter = _interopRequireDefault(require("../../lib/safe-event-emitter"));
9
+ var _ud = require("ud");
10
+ var _getOrFail = _interopRequireDefault(require("../../../common/get-or-fail"));
8
11
  const membersMap = new WeakMap();
9
12
 
10
13
  // documented in src/docs/
11
- class RouteView extends EventEmitter {
12
- destroyed: boolean;
13
-
14
- constructor(routeViewDriver: MinRouteViewDriver) {
14
+ class RouteView extends _safeEventEmitter.default {
15
+ constructor(routeViewDriver) {
15
16
  super();
16
-
17
17
  const members = {
18
- routeID: (null: ?string),
19
- routeType: (null: ?string),
20
- params: (null: ?{ [ix: string]: string }),
21
- routeViewDriver,
18
+ routeID: null,
19
+ routeType: null,
20
+ params: null,
21
+ routeViewDriver
22
22
  };
23
23
  membersMap.set(this, members);
24
-
25
24
  this.destroyed = false;
26
25
  _bindToEventStream(routeViewDriver, this);
27
26
  }
28
-
29
- getRouteID(): string {
30
- const members = get(membersMap, this);
31
-
27
+ getRouteID() {
28
+ const members = (0, _getOrFail.default)(membersMap, this);
32
29
  if (!members.routeID) {
33
30
  members.routeID = members.routeViewDriver.getRouteID();
34
31
  }
35
-
36
32
  return members.routeID;
37
33
  }
38
-
39
- getRouteType(): string {
40
- const members = get(membersMap, this);
41
-
34
+ getRouteType() {
35
+ const members = (0, _getOrFail.default)(membersMap, this);
42
36
  if (!members.routeType) {
43
37
  members.routeType = members.routeViewDriver.getRouteType();
44
38
  }
45
-
46
39
  return members.routeType;
47
40
  }
48
-
49
- getParams(): { [ix: string]: string } {
50
- const members = get(membersMap, this);
51
-
41
+ getParams() {
42
+ const members = (0, _getOrFail.default)(membersMap, this);
52
43
  if (!members.params) {
53
44
  members.params = members.routeViewDriver.getParams();
54
45
  }
55
-
56
46
  return members.params;
57
47
  }
58
48
  }
59
-
60
49
  function _bindToEventStream(routeViewDriver, routeView) {
61
50
  routeViewDriver.getEventStream().onEnd(() => {
62
51
  routeView.destroyed = true;
@@ -64,5 +53,5 @@ function _bindToEventStream(routeViewDriver, routeView) {
64
53
  routeView.removeAllListeners();
65
54
  });
66
55
  }
67
-
68
- export default defn(module, RouteView);
56
+ var _default = (0, _ud.defn)(module, RouteView);
57
+ exports.default = _default;
@@ -1,77 +1,85 @@
1
- /* @flow */
2
-
3
- import { defn } from 'ud';
4
- import EventEmitter from '../lib/safe-event-emitter';
5
- import get from '../../common/get-or-fail';
6
- import type { Driver } from '../driver-interfaces/driver';
7
- import type GmailCollapsibleSectionView from '../dom-driver/gmail/views/gmail-collapsible-section-view';
1
+ "use strict";
8
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _ud = require("ud");
9
+ var _safeEventEmitter = _interopRequireDefault(require("../lib/safe-event-emitter"));
10
+ var _getOrFail = _interopRequireDefault(require("../../common/get-or-fail"));
9
11
  const membersMap = new WeakMap();
10
12
 
11
13
  // documented in src/docs/
12
- class SectionView extends EventEmitter {
13
- destroyed: boolean;
14
-
15
- constructor(sectionViewDriver: GmailCollapsibleSectionView, driver: Driver) {
14
+ class SectionView extends _safeEventEmitter.default {
15
+ constructor(sectionViewDriver, driver) {
16
16
  super();
17
- const members = { sectionViewDriver };
17
+ const members = {
18
+ sectionViewDriver
19
+ };
18
20
  membersMap.set(this, members);
19
-
20
21
  this.destroyed = false;
21
22
  _bindToEventStream(this, sectionViewDriver, driver);
22
23
  }
23
-
24
24
  remove() {
25
25
  this.destroy();
26
26
  }
27
-
28
27
  destroy() {
29
- const members = get(membersMap, this);
28
+ const members = (0, _getOrFail.default)(membersMap, this);
30
29
  members.sectionViewDriver.destroy();
31
30
  this.removeAllListeners();
32
31
  }
33
32
  }
34
-
35
33
  function _bindToEventStream(sectionView, sectionViewDriver, driver) {
36
- sectionViewDriver.getEventStream().onValue((e) => {
34
+ sectionViewDriver.getEventStream().onValue(e => {
37
35
  sectionView.emit(e.eventName);
38
36
  });
39
-
40
- sectionViewDriver
41
- .getEventStream()
42
- .filter(({ eventName }) => eventName === 'rowClicked')
43
- .onValue(({ rowDescriptor }) => {
44
- if (rowDescriptor.routeID) {
45
- driver.goto(rowDescriptor.routeID, rowDescriptor.routeParams);
46
- }
47
-
48
- if (typeof rowDescriptor.onClick === 'function') {
49
- rowDescriptor.onClick();
50
- }
51
- });
52
-
53
- sectionViewDriver
54
- .getEventStream()
55
- .filter(({ eventName }) => eventName === 'summaryClicked')
56
- .onValue(({ sectionDescriptor }) => {
57
- if (sectionDescriptor.onTitleLinkClick) {
58
- sectionDescriptor.onTitleLinkClick(sectionView);
59
- }
60
- });
61
-
62
- sectionViewDriver
63
- .getEventStream()
64
- .filter(({ eventName }) => eventName === 'footerClicked')
65
- .onValue(({ sectionDescriptor }) => {
66
- if (sectionDescriptor.onFooterLinkClick) {
67
- sectionDescriptor.onFooterLinkClick(sectionView);
68
- }
69
- });
70
-
37
+ sectionViewDriver.getEventStream().filter(_ref => {
38
+ let {
39
+ eventName
40
+ } = _ref;
41
+ return eventName === 'rowClicked';
42
+ }).onValue(_ref2 => {
43
+ let {
44
+ rowDescriptor
45
+ } = _ref2;
46
+ if (rowDescriptor.routeID) {
47
+ driver.goto(rowDescriptor.routeID, rowDescriptor.routeParams);
48
+ }
49
+ if (typeof rowDescriptor.onClick === 'function') {
50
+ rowDescriptor.onClick();
51
+ }
52
+ });
53
+ sectionViewDriver.getEventStream().filter(_ref3 => {
54
+ let {
55
+ eventName
56
+ } = _ref3;
57
+ return eventName === 'summaryClicked';
58
+ }).onValue(_ref4 => {
59
+ let {
60
+ sectionDescriptor
61
+ } = _ref4;
62
+ if (sectionDescriptor.onTitleLinkClick) {
63
+ sectionDescriptor.onTitleLinkClick(sectionView);
64
+ }
65
+ });
66
+ sectionViewDriver.getEventStream().filter(_ref5 => {
67
+ let {
68
+ eventName
69
+ } = _ref5;
70
+ return eventName === 'footerClicked';
71
+ }).onValue(_ref6 => {
72
+ let {
73
+ sectionDescriptor
74
+ } = _ref6;
75
+ if (sectionDescriptor.onFooterLinkClick) {
76
+ sectionDescriptor.onFooterLinkClick(sectionView);
77
+ }
78
+ });
71
79
  sectionViewDriver.getEventStream().onEnd(() => {
72
80
  sectionView.destroyed = true;
73
81
  sectionView.emit('destroy');
74
82
  });
75
83
  }
76
-
77
- export default defn(module, SectionView);
84
+ var _default = (0, _ud.defn)(module, SectionView);
85
+ exports.default = _default;
@@ -1,88 +1,67 @@
1
- /* @flow */
2
-
3
- import EventEmitter from '../lib/safe-event-emitter';
4
- import type GmailThreadRowView from '../dom-driver/gmail/views/gmail-thread-row-view';
5
- import type InboxThreadRowView from '../dom-driver/inbox/views/inbox-thread-row-view';
6
- import get from '../../common/get-or-fail';
7
-
1
+ "use strict";
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 _safeEventEmitter = _interopRequireDefault(require("../lib/safe-event-emitter"));
9
+ var _getOrFail = _interopRequireDefault(require("../../common/get-or-fail"));
8
10
  const membersMap = new WeakMap();
9
11
 
10
12
  // documented in src/docs/
11
- export default class ThreadRowView extends EventEmitter {
12
- destroyed: boolean;
13
-
14
- constructor(threadRowViewDriver: GmailThreadRowView) {
13
+ class ThreadRowView extends _safeEventEmitter.default {
14
+ constructor(threadRowViewDriver) {
15
15
  super();
16
- const members = { threadRowViewDriver };
16
+ const members = {
17
+ threadRowViewDriver
18
+ };
17
19
  membersMap.set(this, members);
18
-
19
20
  this.destroyed = false;
20
-
21
21
  threadRowViewDriver.getEventStream().onEnd(() => {
22
22
  this.destroyed = true;
23
23
  this.emit('destroy');
24
24
  });
25
25
  threadRowViewDriver.setUserView(this);
26
26
  }
27
-
28
- addLabel(labelDescriptor: Object) {
29
- get(membersMap, this).threadRowViewDriver.addLabel(labelDescriptor);
27
+ addLabel(labelDescriptor) {
28
+ (0, _getOrFail.default)(membersMap, this).threadRowViewDriver.addLabel(labelDescriptor);
30
29
  }
31
-
32
- addImage(imageDescriptor: Object) {
33
- get(membersMap, this).threadRowViewDriver.addImage(imageDescriptor);
30
+ addImage(imageDescriptor) {
31
+ (0, _getOrFail.default)(membersMap, this).threadRowViewDriver.addImage(imageDescriptor);
34
32
  }
35
-
36
- addButton(buttonDescriptor: Object) {
37
- get(membersMap, this).threadRowViewDriver.addButton(buttonDescriptor);
33
+ addButton(buttonDescriptor) {
34
+ (0, _getOrFail.default)(membersMap, this).threadRowViewDriver.addButton(buttonDescriptor);
38
35
  }
39
-
40
- addActionButton(actionButtonDescriptor: Object) {
41
- get(membersMap, this).threadRowViewDriver.addActionButton(
42
- actionButtonDescriptor
43
- );
36
+ addActionButton(actionButtonDescriptor) {
37
+ (0, _getOrFail.default)(membersMap, this).threadRowViewDriver.addActionButton(actionButtonDescriptor);
44
38
  }
45
-
46
- addAttachmentIcon(threadRowAttachmentIconDescriptor: Object) {
47
- get(membersMap, this).threadRowViewDriver.addAttachmentIcon(
48
- threadRowAttachmentIconDescriptor
49
- );
39
+ addAttachmentIcon(threadRowAttachmentIconDescriptor) {
40
+ (0, _getOrFail.default)(membersMap, this).threadRowViewDriver.addAttachmentIcon(threadRowAttachmentIconDescriptor);
50
41
  }
51
-
52
- replaceDate(threadRowDateDescriptor: Object) {
53
- get(membersMap, this).threadRowViewDriver.replaceDate(
54
- threadRowDateDescriptor
55
- );
42
+ replaceDate(threadRowDateDescriptor) {
43
+ (0, _getOrFail.default)(membersMap, this).threadRowViewDriver.replaceDate(threadRowDateDescriptor);
56
44
  }
57
-
58
- replaceDraftLabel(draftLabelDescriptor: Object) {
59
- get(membersMap, this).threadRowViewDriver.replaceDraftLabel(
60
- draftLabelDescriptor
61
- );
45
+ replaceDraftLabel(draftLabelDescriptor) {
46
+ (0, _getOrFail.default)(membersMap, this).threadRowViewDriver.replaceDraftLabel(draftLabelDescriptor);
62
47
  }
63
-
64
- getElement(): HTMLElement {
65
- return get(membersMap, this).threadRowViewDriver.getElement();
48
+ getElement() {
49
+ return (0, _getOrFail.default)(membersMap, this).threadRowViewDriver.getElement();
66
50
  }
67
-
68
- getSubject(): string {
69
- return get(membersMap, this).threadRowViewDriver.getSubject();
51
+ getSubject() {
52
+ return (0, _getOrFail.default)(membersMap, this).threadRowViewDriver.getSubject();
70
53
  }
71
-
72
- getDateString(): string {
73
- return get(membersMap, this).threadRowViewDriver.getDateString();
54
+ getDateString() {
55
+ return (0, _getOrFail.default)(membersMap, this).threadRowViewDriver.getDateString();
74
56
  }
75
-
76
- getThreadID(): string {
57
+ getThreadID() {
77
58
  // TODO mark deprecated
78
- return get(membersMap, this).threadRowViewDriver.getThreadID();
59
+ return (0, _getOrFail.default)(membersMap, this).threadRowViewDriver.getThreadID();
79
60
  }
80
-
81
- getThreadIDAsync(): Promise<string> {
82
- return get(membersMap, this).threadRowViewDriver.getThreadIDAsync();
61
+ getThreadIDAsync() {
62
+ return (0, _getOrFail.default)(membersMap, this).threadRowViewDriver.getThreadIDAsync();
83
63
  }
84
-
85
- getThreadIDIfStable(): ?string {
64
+ getThreadIDIfStable() {
86
65
  // TODO mark deprecated
87
66
  if (this.getVisibleMessageCount() > 0) {
88
67
  return this.getThreadID();
@@ -90,28 +69,24 @@ export default class ThreadRowView extends EventEmitter {
90
69
  return null;
91
70
  }
92
71
  }
93
-
94
- getThreadIDIfStableAsync(): Promise<null | string> {
72
+ getThreadIDIfStableAsync() {
95
73
  if (this.getVisibleMessageCount() > 0) {
96
74
  return this.getThreadIDAsync();
97
75
  } else {
98
76
  return Promise.resolve(null);
99
77
  }
100
78
  }
101
-
102
- getDraftID(): Promise<?string> {
103
- return get(membersMap, this).threadRowViewDriver.getDraftID();
79
+ getDraftID() {
80
+ return (0, _getOrFail.default)(membersMap, this).threadRowViewDriver.getDraftID();
104
81
  }
105
-
106
- getVisibleDraftCount(): number {
107
- return get(membersMap, this).threadRowViewDriver.getVisibleDraftCount();
82
+ getVisibleDraftCount() {
83
+ return (0, _getOrFail.default)(membersMap, this).threadRowViewDriver.getVisibleDraftCount();
108
84
  }
109
-
110
- getVisibleMessageCount(): number {
111
- return get(membersMap, this).threadRowViewDriver.getVisibleMessageCount();
85
+ getVisibleMessageCount() {
86
+ return (0, _getOrFail.default)(membersMap, this).threadRowViewDriver.getVisibleMessageCount();
112
87
  }
113
-
114
- getContacts(): Contact[] {
115
- return get(membersMap, this).threadRowViewDriver.getContacts();
88
+ getContacts() {
89
+ return (0, _getOrFail.default)(membersMap, this).threadRowViewDriver.getContacts();
116
90
  }
117
91
  }
92
+ exports.default = ThreadRowView;
@@ -1,19 +1,21 @@
1
- /* @flow */
2
-
3
- import Kefir from 'kefir';
4
- import kefirBus from 'kefir-bus';
5
- import { defn } from 'ud';
6
- import EventEmitter from '../lib/safe-event-emitter';
7
- import ComposeView from '../views/compose-view';
8
-
9
- import type { DrawerViewDriver } from '../driver-interfaces/driver';
10
-
1
+ "use strict";
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _kefir = _interopRequireDefault(require("kefir"));
10
+ var _kefirBus = _interopRequireDefault(require("kefir-bus"));
11
+ var _ud = require("ud");
12
+ var _safeEventEmitter = _interopRequireDefault(require("../lib/safe-event-emitter"));
13
+ var _composeView = _interopRequireDefault(require("../views/compose-view"));
11
14
  // documented in src/docs/
12
- class DrawerView extends EventEmitter {
13
- destroyed: boolean = false;
14
- _driver: DrawerViewDriver;
15
- constructor(drawerViewDriver: DrawerViewDriver) {
15
+ class DrawerView extends _safeEventEmitter.default {
16
+ constructor(drawerViewDriver) {
16
17
  super();
18
+ (0, _defineProperty2.default)(this, "destroyed", false);
17
19
  this._driver = drawerViewDriver;
18
20
  this._driver.getSlideAnimationDone().onValue(() => {
19
21
  this.emit('slideAnimationDone');
@@ -25,37 +27,28 @@ class DrawerView extends EventEmitter {
25
27
  this.destroyed = true;
26
28
  this.emit('destroy');
27
29
  });
28
- this._driver.getPreAutoCloseStream().onValue((event) => {
30
+ this._driver.getPreAutoCloseStream().onValue(event => {
29
31
  this.emit('preautoclose', event);
30
32
  });
31
-
32
- document.dispatchEvent(
33
- new CustomEvent('inboxSDKcloseDrawers', {
34
- bubbles: false,
35
- cancelable: false,
36
- detail: null,
37
- })
38
- );
39
- Kefir.fromEvents(document, 'inboxSDKcloseDrawers')
40
- .takeUntilBy(Kefir.fromEvents(this, 'closing'))
41
- .onValue(() => {
42
- this.close();
43
- });
33
+ document.dispatchEvent(new CustomEvent('inboxSDKcloseDrawers', {
34
+ bubbles: false,
35
+ cancelable: false,
36
+ detail: null
37
+ }));
38
+ _kefir.default.fromEvents(document, 'inboxSDKcloseDrawers').takeUntilBy(_kefir.default.fromEvents(this, 'closing')).onValue(() => {
39
+ this.close();
40
+ });
44
41
  }
45
-
46
42
  close() {
47
43
  this._driver.close();
48
44
  }
49
-
50
- associateComposeView(composeView: ComposeView, closeWithCompose: boolean) {
51
- if (!(composeView instanceof ComposeView))
52
- throw new Error('argument was not a ComposeView');
45
+ associateComposeView(composeView, closeWithCompose) {
46
+ if (!(composeView instanceof _composeView.default)) throw new Error('argument was not a ComposeView');
53
47
  this._driver.associateComposeView(composeView, closeWithCompose);
54
48
  }
55
-
56
49
  disassociateComposeView() {
57
50
  this._driver.disassociateComposeView();
58
51
  }
59
52
  }
60
-
61
- export default defn(module, DrawerView);
53
+ var _default = (0, _ud.defn)(module, DrawerView);
54
+ exports.default = _default;
@@ -1,32 +1,25 @@
1
- /* @flow */
2
-
3
- import Kefir from 'kefir';
4
- import kefirBus from 'kefir-bus';
5
- import type { Bus } from 'kefir-bus';
6
- import { defn } from 'ud';
7
- import EventEmitter from '../lib/safe-event-emitter';
8
-
9
- import type { Backdrop, Driver } from '../driver-interfaces/driver';
10
- import type GmailModalViewDriver from '../dom-driver/gmail/widgets/gmail-modal-view-driver';
11
- import type InboxModalView from '../dom-driver/inbox/views/inbox-modal-view';
12
-
13
- type ModalViewDriver = GmailModalViewDriver | InboxModalView;
14
-
1
+ "use strict";
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _kefir = _interopRequireDefault(require("kefir"));
10
+ var _kefirBus = _interopRequireDefault(require("kefir-bus"));
11
+ var _ud = require("ud");
12
+ var _safeEventEmitter = _interopRequireDefault(require("../lib/safe-event-emitter"));
15
13
  // documented in src/docs/
16
- class ModalView extends EventEmitter {
17
- destroyed: boolean = false;
18
- _driver: Driver;
19
- _modalViewDriver: ?ModalViewDriver;
20
- constructor(options: { driver: Driver, modalViewDriver: ModalViewDriver }) {
14
+ class ModalView extends _safeEventEmitter.default {
15
+ constructor(options) {
21
16
  super();
17
+ (0, _defineProperty2.default)(this, "destroyed", false);
22
18
  this._driver = options.driver;
23
19
  this._modalViewDriver = options.modalViewDriver;
24
- options.modalViewDriver
25
- .getEventStream()
26
- .filter((event) => event.eventName === 'closeClick')
27
- .onValue(() => {
28
- this.close();
29
- });
20
+ options.modalViewDriver.getEventStream().filter(event => event.eventName === 'closeClick').onValue(() => {
21
+ this.close();
22
+ });
30
23
  options.modalViewDriver.getEventStream().onEnd(() => {
31
24
  this._modalViewDriver = null;
32
25
  this.destroyed = true;
@@ -34,64 +27,41 @@ class ModalView extends EventEmitter {
34
27
  this.emit('destroy');
35
28
  });
36
29
  }
37
-
38
30
  show() {
39
31
  const modalViewDriver = this._modalViewDriver;
40
32
  if (!modalViewDriver) {
41
33
  throw new Error('Modal can not be shown after being hidden');
42
34
  }
43
-
44
- const hideAndDestroyStream = Kefir.merge([
45
- Kefir.fromEvents(this, 'destroy'),
46
- hideStream.filter((modalView) => modalView === this),
47
- ]);
48
-
49
- ((document.body: any): HTMLElement).appendChild(
50
- modalViewDriver.getModalContainerElement()
51
- );
52
-
35
+ const hideAndDestroyStream = _kefir.default.merge([_kefir.default.fromEvents(this, 'destroy'), hideStream.filter(modalView => modalView === this)]);
36
+ document.body.appendChild(modalViewDriver.getModalContainerElement());
53
37
  modalViewDriver.getModalContainerElement().focus();
54
-
55
- Kefir.fromEvents((document.body: any), 'keydown')
56
- .filter((domEvent) => domEvent.keyCode === 27)
57
- .takeUntilBy(hideAndDestroyStream)
58
- .onValue((domEvent) => {
59
- domEvent.stopImmediatePropagation();
60
- domEvent.stopPropagation();
61
- domEvent.preventDefault();
62
- this.close();
63
- });
64
-
38
+ _kefir.default.fromEvents(document.body, 'keydown').filter(domEvent => domEvent.keyCode === 27).takeUntilBy(hideAndDestroyStream).onValue(domEvent => {
39
+ domEvent.stopImmediatePropagation();
40
+ domEvent.stopPropagation();
41
+ domEvent.preventDefault();
42
+ this.close();
43
+ });
65
44
  _replaceCurrentlyShowingModal(this, modalViewDriver);
66
45
  }
67
-
68
- setTitle(title: string) {
46
+ setTitle(title) {
69
47
  if (!this._modalViewDriver) {
70
48
  throw new Error('Modal can not be shown after being hidden');
71
49
  }
72
-
73
50
  this._modalViewDriver.setTitle(title);
74
51
  }
75
-
76
52
  close() {
77
53
  if (this._modalViewDriver) {
78
54
  this._modalViewDriver.destroy();
79
55
  }
80
56
  }
81
-
82
- addButton(options: any): void {
57
+ addButton(options) {
83
58
  throw new Error('not implemented');
84
59
  }
85
60
  }
86
-
87
- let activeBackdrop: ?Backdrop = null;
88
- let currentlyShowingModal: ?{
89
- modalView: ModalView,
90
- modalViewDriver: ModalViewDriver,
91
- } = null;
92
- const hideStream: Bus<ModalView> = kefirBus();
93
- const hiddenModalStack: Array<ModalView> = [];
94
-
61
+ let activeBackdrop = null;
62
+ let currentlyShowingModal = null;
63
+ const hideStream = (0, _kefirBus.default)();
64
+ const hiddenModalStack = [];
95
65
  function _handleModalStackOnModalDestroy(modalView) {
96
66
  if (currentlyShowingModal && currentlyShowingModal.modalView === modalView) {
97
67
  currentlyShowingModal = null;
@@ -107,7 +77,6 @@ function _handleModalStackOnModalDestroy(modalView) {
107
77
  hiddenModalStack.splice(hiddenModalStack.indexOf(modalView), 1);
108
78
  }
109
79
  }
110
-
111
80
  function _replaceCurrentlyShowingModal(modalView, modalViewDriver) {
112
81
  if (currentlyShowingModal) {
113
82
  hideStream.emit(currentlyShowingModal.modalView);
@@ -118,7 +87,7 @@ function _replaceCurrentlyShowingModal(modalView, modalViewDriver) {
118
87
  activeBackdrop = modalView._driver.createBackdrop(502);
119
88
  activeBackdrop.getStopper().onValue(() => {
120
89
  activeBackdrop = null;
121
- hiddenModalStack.slice().forEach((modalView) => {
90
+ hiddenModalStack.slice().forEach(modalView => {
122
91
  modalView.close();
123
92
  });
124
93
  if (currentlyShowingModal) {
@@ -127,8 +96,10 @@ function _replaceCurrentlyShowingModal(modalView, modalViewDriver) {
127
96
  });
128
97
  }
129
98
  }
130
-
131
- currentlyShowingModal = { modalView, modalViewDriver };
99
+ currentlyShowingModal = {
100
+ modalView,
101
+ modalViewDriver
102
+ };
132
103
  }
133
-
134
- export default defn(module, ModalView);
104
+ var _default = (0, _ud.defn)(module, ModalView);
105
+ exports.default = _default;