@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,36 +1,34 @@
1
- /* @flow */
2
-
3
- import findIndex from 'lodash/findIndex';
4
- import { defn } from 'ud';
5
- import autoHtml from 'auto-html';
6
- import Kefir from 'kefir';
7
- import kefirStopper from 'kefir-stopper';
8
- import React from 'react';
9
- import ReactDOM from 'react-dom';
10
- import fakeWindowResize from '../../../lib/fake-window-resize';
11
- import findParent from '../../../../common/find-parent';
12
- import getSidebarClassnames from '../getSidebarClassnames';
13
- import delayAsap from '../../../lib/delay-asap';
14
- import waitForAnimationClickBlockerGone from '../waitForAnimationClickBlockerGone';
15
- import makeMutationObserverChunkedStream from '../../../lib/dom/make-mutation-observer-chunked-stream';
16
- import fromEventTargetCapture from '../../../lib/from-event-target-capture';
17
- import OrderManager from 'order-manager';
18
- import idMap from '../../../lib/idMap';
19
- import querySelector from '../../../lib/dom/querySelectorOrFail';
20
- import incrementName from '../../../lib/incrementName';
21
- import type InboxDriver from '../inbox-driver';
22
-
23
- import AppSidebar from '../../../driver-common/sidebar/AppSidebar';
24
- import ContentPanelViewDriver from '../../../driver-common/sidebar/ContentPanelViewDriver';
1
+ "use strict";
25
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 _findIndex = _interopRequireDefault(require("lodash/findIndex"));
10
+ var _ud = require("ud");
11
+ var _autoHtml = _interopRequireDefault(require("auto-html"));
12
+ var _kefir = _interopRequireDefault(require("kefir"));
13
+ var _kefirStopper = _interopRequireDefault(require("kefir-stopper"));
14
+ var _react = _interopRequireDefault(require("react"));
15
+ var _reactDom = _interopRequireDefault(require("react-dom"));
16
+ var _fakeWindowResize = _interopRequireDefault(require("../../../lib/fake-window-resize"));
17
+ var _findParent = _interopRequireDefault(require("../../../../common/find-parent"));
18
+ var _getSidebarClassnames = _interopRequireDefault(require("../getSidebarClassnames"));
19
+ var _delayAsap = _interopRequireDefault(require("../../../lib/delay-asap"));
20
+ var _waitForAnimationClickBlockerGone = _interopRequireDefault(require("../waitForAnimationClickBlockerGone"));
21
+ var _makeMutationObserverChunkedStream = _interopRequireDefault(require("../../../lib/dom/make-mutation-observer-chunked-stream"));
22
+ var _fromEventTargetCapture = _interopRequireDefault(require("../../../lib/from-event-target-capture"));
23
+ var _orderManager = _interopRequireDefault(require("order-manager"));
24
+ var _idMap = _interopRequireDefault(require("../../../lib/idMap"));
25
+ var _querySelectorOrFail = _interopRequireDefault(require("../../../lib/dom/querySelectorOrFail"));
26
+ var _incrementName = _interopRequireDefault(require("../../../lib/incrementName"));
27
+ var _AppSidebar = _interopRequireDefault(require("../../../driver-common/sidebar/AppSidebar"));
28
+ var _ContentPanelViewDriver = _interopRequireDefault(require("../../../driver-common/sidebar/ContentPanelViewDriver"));
26
29
  class InboxAppSidebarView {
27
- _stopper = kefirStopper();
28
- _driver: InboxDriver;
29
- _el: HTMLElement;
30
- _mainParent: HTMLElement;
31
- _openOrOpeningProp: Kefir.Observable<boolean>;
32
-
33
- constructor(driver: InboxDriver) {
30
+ constructor(driver) {
31
+ (0, _defineProperty2.default)(this, "_stopper", (0, _kefirStopper.default)());
34
32
  this._driver = driver;
35
33
 
36
34
  // We need to be able to cooperate with other apps/extensions that are
@@ -39,63 +37,46 @@ class InboxAppSidebarView {
39
37
  // restricted to being used for references to DOM nodes. When
40
38
  // InboxAppSidebarView is instantiated, we check to see if the element
41
39
  // already exists and create it if it doesn't.
42
- const el = document.querySelector('.' + idMap('app_sidebar_container'));
40
+ const el = document.querySelector('.' + (0, _idMap.default)('app_sidebar_container'));
43
41
  if (el) {
44
42
  this._el = el;
45
43
  } else {
46
44
  this._createElement();
47
45
  }
48
-
49
- const mainParent = findParent(
50
- querySelector(document, '[role=application]'),
51
- (el) => el.parentElement === document.body
52
- );
46
+ const mainParent = (0, _findParent.default)((0, _querySelectorOrFail.default)(document, '[role=application]'), el => el.parentElement === document.body);
53
47
  if (!mainParent) {
54
48
  const err = new Error('Failed to find main parent');
55
49
  this._driver.getLogger().errorSite(err);
56
50
  throw err;
57
51
  }
58
52
  this._mainParent = mainParent;
59
-
60
- this._openOrOpeningProp = makeMutationObserverChunkedStream(this._el, {
53
+ this._openOrOpeningProp = (0, _makeMutationObserverChunkedStream.default)(this._el, {
61
54
  attributes: true,
62
- attributeFilter: ['data-open', 'data-is-opening'],
63
- })
64
- .toProperty(() => null)
65
- .map(
66
- () =>
67
- this._el.getAttribute('data-open') === 'true' ||
68
- this._el.getAttribute('data-is-opening') === 'true'
69
- )
70
- .skipDuplicates();
55
+ attributeFilter: ['data-open', 'data-is-opening']
56
+ }).toProperty(() => null).map(() => this._el.getAttribute('data-open') === 'true' || this._el.getAttribute('data-is-opening') === 'true').skipDuplicates();
71
57
  }
72
-
73
58
  destroy() {
74
59
  this._stopper.destroy();
75
60
  }
76
-
77
61
  open() {
78
62
  this._setShouldAppSidebarOpen(true);
79
63
  this._setOpenedNow(true);
80
64
  }
81
-
82
65
  close() {
83
66
  this._setShouldAppSidebarOpen(false);
84
67
  this._setOpenedNow(false);
85
68
  }
86
-
87
- getOpenOrOpeningStream(): Kefir.Observable<boolean> {
69
+ getOpenOrOpeningStream() {
88
70
  return this._openOrOpeningProp;
89
71
  }
90
72
 
91
73
  // This value controls whether the app sidebar should automatically open
92
74
  // itself when available when the chat sidebar isn't present. It's only set
93
75
  // if the user interacts with the app sidebar button.
94
- _getShouldAppSidebarOpen(): boolean {
76
+ _getShouldAppSidebarOpen() {
95
77
  return localStorage.getItem('inboxsdk__app_sidebar_should_open') === 'true';
96
78
  }
97
-
98
- _setShouldAppSidebarOpen(open: boolean) {
79
+ _setShouldAppSidebarOpen(open) {
99
80
  try {
100
81
  localStorage.setItem('inboxsdk__app_sidebar_should_open', String(open));
101
82
  } catch (err) {
@@ -104,259 +85,191 @@ class InboxAppSidebarView {
104
85
  }
105
86
 
106
87
  _createElement() {
107
- const el = (this._el = document.createElement('div'));
108
- el.className = idMap('app_sidebar_container');
88
+ const el = this._el = document.createElement('div');
89
+ el.className = (0, _idMap.default)('app_sidebar_container');
109
90
  // Store the open state in the DOM rather than a class property because
110
91
  // multiple instances of InboxAppSidebarView from different apps need to
111
92
  // share the value.
112
93
  el.setAttribute('data-open', 'false');
113
94
  el.setAttribute('data-is-opening', 'false');
114
- ((document.body: any): HTMLElement).appendChild(el);
115
-
116
- if (
117
- !((document.body: any): HTMLElement).querySelector(
118
- '.' + idMap('app_sidebar_waiting_platform')
119
- )
120
- ) {
95
+ document.body.appendChild(el);
96
+ if (!document.body.querySelector('.' + (0, _idMap.default)('app_sidebar_waiting_platform'))) {
121
97
  const waitingPlatform = document.createElement('div');
122
- waitingPlatform.className = idMap('app_sidebar_waiting_platform');
123
- ((document.body: any): HTMLElement).appendChild(waitingPlatform);
98
+ waitingPlatform.className = (0, _idMap.default)('app_sidebar_waiting_platform');
99
+ document.body.appendChild(waitingPlatform);
124
100
  }
125
101
 
126
102
  // If the user clicks the chat button while the chat sidebar and app
127
103
  // sidebar are both open, then we want the chat sidebar to become visible.
128
104
  // We block Inbox from closing the chat sidebar, and we close the app sidebar.
129
- fromEventTargetCapture(this._driver.getChatSidebarButton(), 'click')
130
- .filter(
131
- () =>
132
- el.getAttribute('data-open') === 'true' &&
133
- this._driver.getCurrentChatSidebarView().getMode() === 'SIDEBAR'
134
- )
135
- .takeUntilBy(this._stopper)
136
- .onValue((event) => {
137
- event.stopImmediatePropagation();
105
+ (0, _fromEventTargetCapture.default)(this._driver.getChatSidebarButton(), 'click').filter(() => el.getAttribute('data-open') === 'true' && this._driver.getCurrentChatSidebarView().getMode() === 'SIDEBAR').takeUntilBy(this._stopper).onValue(event => {
106
+ event.stopImmediatePropagation();
107
+ this._setShouldAppSidebarOpen(false);
108
+ this._setOpenedNow(false);
109
+ });
110
+ this._driver.getCurrentChatSidebarView().getModeStream().changes().takeUntilBy(this._stopper).onValue(mode => {
111
+ if (mode === 'SIDEBAR') {
112
+ // If the user clicks the chat button while the chat sidebar is
113
+ // closed and the app sidebar is open, and Inbox opens the chat
114
+ // sidebar, then we want the chat sidebar to become visible. We just
115
+ // hide the app sidebar after Inbox brings up the chat sidebar.
138
116
  this._setShouldAppSidebarOpen(false);
139
117
  this._setOpenedNow(false);
140
- });
141
-
142
- this._driver
143
- .getCurrentChatSidebarView()
144
- .getModeStream()
145
- .changes()
146
- .takeUntilBy(this._stopper)
147
- .onValue((mode) => {
148
- if (mode === 'SIDEBAR') {
149
- // If the user clicks the chat button while the chat sidebar is
150
- // closed and the app sidebar is open, and Inbox opens the chat
151
- // sidebar, then we want the chat sidebar to become visible. We just
152
- // hide the app sidebar after Inbox brings up the chat sidebar.
153
- this._setShouldAppSidebarOpen(false);
154
- this._setOpenedNow(false);
155
- } else {
156
- // If the chat sidebar changes in any other way
157
- // (ie. HIDDEN<->DROPDOWN) while the app sidebar is open, then we
158
- // might need to fix up some class changes that Inbox might have
159
- // made.
160
- if (el.getAttribute('data-open') === 'true') {
161
- this._setOpenedNow(true);
162
- }
118
+ } else {
119
+ // If the chat sidebar changes in any other way
120
+ // (ie. HIDDEN<->DROPDOWN) while the app sidebar is open, then we
121
+ // might need to fix up some class changes that Inbox might have
122
+ // made.
123
+ if (el.getAttribute('data-open') === 'true') {
124
+ this._setOpenedNow(true);
163
125
  }
164
- });
165
-
126
+ }
127
+ });
166
128
  const currentIds = new Set();
167
- const orderManager = new OrderManager({
129
+ const orderManager = new _orderManager.default({
168
130
  get() {
169
131
  try {
170
- return JSON.parse(
171
- localStorage.getItem('inboxsdk__sidebar_ordering') || 'null'
172
- );
132
+ return JSON.parse(localStorage.getItem('inboxsdk__sidebar_ordering') || 'null');
173
133
  } catch (err) {
174
134
  console.error('failed to read sidebar order data', err); //eslint-disable-line no-console
175
135
  }
176
136
  },
137
+
177
138
  set(data) {
178
139
  try {
179
- localStorage.setItem(
180
- 'inboxsdk__sidebar_ordering',
181
- JSON.stringify(data)
182
- );
140
+ localStorage.setItem('inboxsdk__sidebar_ordering', JSON.stringify(data));
183
141
  } catch (err) {
184
142
  console.error('failed to set sidebar order data', err); //eslint-disable-line no-console
185
143
  }
186
- },
144
+ }
187
145
  });
188
- let component: AppSidebar;
189
146
 
190
- const _appSidebarRefSetter = (threadSidebarComponent) => {
147
+ let component;
148
+ const _appSidebarRefSetter = threadSidebarComponent => {
191
149
  if (threadSidebarComponent) {
192
150
  component = threadSidebarComponent;
193
151
  }
194
152
  };
195
-
196
153
  const render = () => {
197
- ReactDOM.render(
198
- <AppSidebar
199
- ref={_appSidebarRefSetter}
200
- panels={orderManager.getOrderedItems().map((x) => x.value)}
201
- onClose={() => {
202
- this._setShouldAppSidebarOpen(false);
203
- this._setOpenedNow(false);
204
- }}
205
- onOutsideClick={() => {
206
- this._driver.closeOpenThread();
207
- }}
208
- onMoveEnd={(newList, movedItem, oldIndex, newIndex) => {
209
- orderManager.moveItem(oldIndex, newIndex);
210
- render();
211
- }}
212
- />,
213
- el
214
- );
154
+ _reactDom.default.render( /*#__PURE__*/_react.default.createElement(_AppSidebar.default, {
155
+ ref: _appSidebarRefSetter,
156
+ panels: orderManager.getOrderedItems().map(x => x.value),
157
+ onClose: () => {
158
+ this._setShouldAppSidebarOpen(false);
159
+ this._setOpenedNow(false);
160
+ },
161
+ onOutsideClick: () => {
162
+ this._driver.closeOpenThread();
163
+ },
164
+ onMoveEnd: (newList, movedItem, oldIndex, newIndex) => {
165
+ orderManager.moveItem(oldIndex, newIndex);
166
+ render();
167
+ }
168
+ }), el);
215
169
  };
216
170
  render();
217
-
218
- Kefir.fromEvents(window, 'storage')
219
- .filter((e) => e.key === 'inboxsdk__sidebar_ordering')
220
- .takeUntilBy(this._stopper)
221
- .onValue(() => {
222
- orderManager.reload();
223
- render();
224
- });
225
-
171
+ _kefir.default.fromEvents(window, 'storage').filter(e => e.key === 'inboxsdk__sidebar_ordering').takeUntilBy(this._stopper).onValue(() => {
172
+ orderManager.reload();
173
+ render();
174
+ });
226
175
  this._stopper.onValue(() => {
227
- ReactDOM.unmountComponentAtNode(el);
176
+ _reactDom.default.unmountComponentAtNode(el);
228
177
  el.remove();
229
178
  });
230
-
231
- Kefir.fromEvents((document.body: any), 'inboxsdkNewSidebarPanel')
232
- .takeUntilBy(this._stopper)
233
- .onValue((event) => {
234
- let id = event.detail.id;
235
- while (currentIds.has(id)) {
236
- id = incrementName(id);
237
- }
238
- currentIds.add(id);
239
- orderManager.addItem({
240
- groupId: event.detail.appId,
179
+ _kefir.default.fromEvents(document.body, 'inboxsdkNewSidebarPanel').takeUntilBy(this._stopper).onValue(event => {
180
+ let id = event.detail.id;
181
+ while (currentIds.has(id)) {
182
+ id = (0, _incrementName.default)(id);
183
+ }
184
+ currentIds.add(id);
185
+ orderManager.addItem({
186
+ groupId: event.detail.appId,
187
+ id,
188
+ orderHint: event.detail.orderHint,
189
+ value: {
241
190
  id,
242
- orderHint: event.detail.orderHint,
243
- value: {
244
- id,
245
- appId: event.detail.appId,
246
- instanceId: event.detail.instanceId,
247
- title: event.detail.title,
248
- iconClass: event.detail.iconClass,
249
- iconUrl: event.detail.iconUrl,
250
- hideTitleBar: event.detail.hideTitleBar,
251
- el: event.target,
252
- },
253
- });
254
- render();
255
- });
256
- Kefir.fromEvents((document.body: any), 'inboxsdkUpdateSidebarPanel')
257
- .takeUntilBy(this._stopper)
258
- .onValue((event) => {
259
- const orderedItems = orderManager.getOrderedItems();
260
- const index = findIndex(
261
- orderedItems,
262
- (x) => x.value.instanceId === event.detail.instanceId
263
- );
264
- if (index === -1)
265
- throw new Error('should not happen: failed to find orderItem');
266
- orderManager.updateItemValueByIndex(index, {
267
- id: orderedItems[index].value.id,
268
191
  appId: event.detail.appId,
269
192
  instanceId: event.detail.instanceId,
270
193
  title: event.detail.title,
271
194
  iconClass: event.detail.iconClass,
272
195
  iconUrl: event.detail.iconUrl,
273
196
  hideTitleBar: event.detail.hideTitleBar,
274
- el: event.target,
275
- });
276
- render();
277
- });
278
- Kefir.fromEvents((document.body: any), 'inboxsdkRemoveSidebarPanel')
279
- .takeUntilBy(this._stopper)
280
- .onValue((event) => {
281
- const orderedItems = orderManager.getOrderedItems();
282
- const index = findIndex(
283
- orderedItems,
284
- (x) => x.value.instanceId === event.detail.instanceId
285
- );
286
- if (index === -1)
287
- throw new Error('should not happen: failed to find orderItem');
288
- currentIds.delete(orderedItems[index].id);
289
- orderManager.removeItemByIndex(index);
290
- if (orderManager.getOrderedItems().length === 0) {
291
- this._setOpenedNow(false);
197
+ el: event.target
292
198
  }
293
- render();
294
199
  });
295
- Kefir.fromEvents((document.body: any), 'inboxsdkSidebarPanelScrollIntoView')
296
- .takeUntilBy(this._stopper)
297
- .onValue((event) => {
298
- component.scrollPanelIntoView(event.detail.instanceId);
200
+ render();
201
+ });
202
+ _kefir.default.fromEvents(document.body, 'inboxsdkUpdateSidebarPanel').takeUntilBy(this._stopper).onValue(event => {
203
+ const orderedItems = orderManager.getOrderedItems();
204
+ const index = (0, _findIndex.default)(orderedItems, x => x.value.instanceId === event.detail.instanceId);
205
+ if (index === -1) throw new Error('should not happen: failed to find orderItem');
206
+ orderManager.updateItemValueByIndex(index, {
207
+ id: orderedItems[index].value.id,
208
+ appId: event.detail.appId,
209
+ instanceId: event.detail.instanceId,
210
+ title: event.detail.title,
211
+ iconClass: event.detail.iconClass,
212
+ iconUrl: event.detail.iconUrl,
213
+ hideTitleBar: event.detail.hideTitleBar,
214
+ el: event.target
299
215
  });
216
+ render();
217
+ });
218
+ _kefir.default.fromEvents(document.body, 'inboxsdkRemoveSidebarPanel').takeUntilBy(this._stopper).onValue(event => {
219
+ const orderedItems = orderManager.getOrderedItems();
220
+ const index = (0, _findIndex.default)(orderedItems, x => x.value.instanceId === event.detail.instanceId);
221
+ if (index === -1) throw new Error('should not happen: failed to find orderItem');
222
+ currentIds.delete(orderedItems[index].id);
223
+ orderManager.removeItemByIndex(index);
224
+ if (orderManager.getOrderedItems().length === 0) {
225
+ this._setOpenedNow(false);
226
+ }
227
+ render();
228
+ });
229
+ _kefir.default.fromEvents(document.body, 'inboxsdkSidebarPanelScrollIntoView').takeUntilBy(this._stopper).onValue(event => {
230
+ component.scrollPanelIntoView(event.detail.instanceId);
231
+ });
300
232
  }
301
-
302
- _setOpenedNow(open: boolean) {
233
+ _setOpenedNow(open) {
303
234
  this._el.setAttribute('data-open', String(open));
304
- const { chat } = getSidebarClassnames();
235
+ const {
236
+ chat
237
+ } = (0, _getSidebarClassnames.default)();
305
238
  if (!chat) return;
306
239
  if (!open) {
307
- if (
308
- this._driver.getCurrentChatSidebarView().getMode() !== 'SIDEBAR' &&
309
- this._mainParent.classList.contains(chat)
310
- ) {
240
+ if (this._driver.getCurrentChatSidebarView().getMode() !== 'SIDEBAR' && this._mainParent.classList.contains(chat)) {
311
241
  this._mainParent.classList.remove(chat);
312
242
  this._driver.getPageCommunicator().fakeWindowResize();
313
243
  }
314
244
  } else {
315
- if (
316
- this._driver.getCurrentChatSidebarView().getMode() !== 'SIDEBAR' &&
317
- !this._mainParent.classList.contains(chat)
318
- ) {
245
+ if (this._driver.getCurrentChatSidebarView().getMode() !== 'SIDEBAR' && !this._mainParent.classList.contains(chat)) {
319
246
  this._mainParent.classList.add(chat);
320
247
  this._driver.getPageCommunicator().fakeWindowResize();
321
248
  }
322
249
  }
323
250
  }
324
-
325
- _setOpenedAfterAnimation(open: boolean) {
251
+ _setOpenedAfterAnimation(open) {
326
252
  this._el.setAttribute('data-is-opening', 'true');
327
- waitForAnimationClickBlockerGone()
328
- .takeUntilBy(this._stopper)
329
- .takeUntilBy(
330
- makeMutationObserverChunkedStream(this._el, {
331
- attributes: true,
332
- attributeFilter: ['data-open'],
333
- })
334
- )
335
- .onValue(() => {
336
- this._setOpenedNow(open);
337
- })
338
- .onEnd(() => {
339
- this._el.setAttribute('data-is-opening', 'false');
340
- });
253
+ (0, _waitForAnimationClickBlockerGone.default)().takeUntilBy(this._stopper).takeUntilBy((0, _makeMutationObserverChunkedStream.default)(this._el, {
254
+ attributes: true,
255
+ attributeFilter: ['data-open']
256
+ })).onValue(() => {
257
+ this._setOpenedNow(open);
258
+ }).onEnd(() => {
259
+ this._el.setAttribute('data-is-opening', 'false');
260
+ });
341
261
  }
342
-
343
- addSidebarContentPanel(descriptor: Kefir.Observable<Object>) {
262
+ addSidebarContentPanel(descriptor) {
344
263
  // There's only up to one sidebar in Inbox, so the ID doesn't really matter.
345
- const view = new ContentPanelViewDriver(this._driver, descriptor, 'inbox');
346
-
347
- if (
348
- this._driver.getCurrentChatSidebarView().getMode() === 'SIDEBAR' ||
349
- this._getShouldAppSidebarOpen()
350
- ) {
264
+ const view = new _ContentPanelViewDriver.default(this._driver, descriptor, 'inbox');
265
+ if (this._driver.getCurrentChatSidebarView().getMode() === 'SIDEBAR' || this._getShouldAppSidebarOpen()) {
351
266
  this._setOpenedAfterAnimation(true);
352
267
  }
353
-
354
268
  this._stopper.takeUntilBy(view.getStopper()).onValue(() => {
355
269
  view.remove();
356
270
  });
357
-
358
271
  return view;
359
272
  }
360
273
  }
361
-
362
- export default defn(module, InboxAppSidebarView);
274
+ var _default = (0, _ud.defn)(module, InboxAppSidebarView);
275
+ exports.default = _default;