@inboxsdk/core 0.2.28-alpha.4 → 0.2.28-alpha.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (263) hide show
  1. package/inboxsdk.js +1 -1
  2. package/package.json +5 -1
  3. package/src/inboxsdk-js/check-requirements.js +7 -3
  4. package/src/inboxsdk-js/header.js +1 -0
  5. package/src/inboxsdk-js/inboxsdk-NONREMOTE-INTEGRATED-PAGEWORLD.js +5 -6
  6. package/src/inboxsdk-js/inboxsdk-NONREMOTE.js +4 -3
  7. package/src/inboxsdk-js/inboxsdk-REMOTE.js +3 -1
  8. package/src/inboxsdk-js/inboxsdk-TEST.js +4 -3
  9. package/src/inboxsdk-js/inboxsdk.js +33 -39
  10. package/src/inboxsdk-js/loading/load-platform-implementation-DEV.js +15 -18
  11. package/src/injected-js/gmail/modify-suggestions.test.js +8 -9
  12. package/src/injected-js/gmail/setup-gmail-interceptor.js +340 -579
  13. package/src/injected-js/gmail/sync-compose-request-processor.test.js +39 -49
  14. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +20 -33
  15. package/src/injected-js/gmail/thread-identifier/index.js +57 -93
  16. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +22 -31
  17. package/src/injected-js/gmail/thread-identifier/thread-row-parser.test.js +12 -28
  18. package/src/injected-js/inbox/setupAjaxInterceptor.js +64 -121
  19. package/src/injected-js/inbox/setupClickAndGetNewIframeSrc.js +53 -66
  20. package/src/injected-js/inbox/setupComposeViewDraftIDFinder.js +20 -36
  21. package/src/injected-js/inbox/setupInboxFakeWindowResizeListener.js +13 -13
  22. package/src/injected-js/main.js +11 -24
  23. package/src/injected-js/message-metadata-holder.js +52 -82
  24. package/src/injected-js/setup-data-exposer.js +89 -148
  25. package/src/injected-js/setup-error-silencer.js +21 -21
  26. package/src/injected-js/setup-event-reemitter.js +30 -22
  27. package/src/injected-js/setupInboxCustomViewLinkFixer.js +24 -29
  28. package/src/injected-js/setupPushStateListener.js +18 -11
  29. package/src/injected-js/xhr-helper.js +62 -65
  30. package/src/injected-js/xhr-proxy-factory.js +195 -445
  31. package/src/injected-js/xhr-proxy-factory.test.js +824 -991
  32. package/src/platform-implementation-js/constants/router.js +14 -9
  33. package/src/platform-implementation-js/constants/toolbars.js +8 -3
  34. package/src/platform-implementation-js/dom-driver/gmail/custom-style.js +13 -13
  35. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.js +115 -136
  36. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +13 -14
  37. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.js +27 -48
  38. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.js +31 -42
  39. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.js +30 -40
  40. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +10 -18
  41. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +21 -28
  42. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +33 -45
  43. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +31 -49
  44. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +58 -65
  45. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.js +40 -124
  46. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.js +17 -22
  47. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.test.js +10 -11
  48. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.js +44 -80
  49. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.js +19 -26
  50. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.js +71 -147
  51. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.js +91 -148
  52. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +150 -166
  53. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.test.js +70 -120
  54. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.js +15 -15
  55. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.js +44 -67
  56. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +230 -379
  57. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.test.js +121 -307
  58. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.js +17 -24
  59. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.js +41 -49
  60. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.js +30 -40
  61. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +28 -60
  62. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +61 -133
  63. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +30 -42
  64. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.test.js +52 -46
  65. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +354 -694
  66. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +77 -93
  67. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +35 -82
  68. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.test.js +44 -94
  69. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +12 -19
  70. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +17 -29
  71. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.js +26 -26
  72. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +391 -797
  73. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +7 -9
  74. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +60 -109
  75. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +95 -135
  76. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +103 -211
  77. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.test.js +61 -61
  78. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.js +17 -17
  79. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +188 -541
  80. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +67 -135
  81. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +27 -49
  82. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-inner-sidebar.js +7 -13
  83. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-outer-sidebar.js +9 -22
  84. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +36 -63
  85. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +38 -113
  86. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +11 -16
  87. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +11 -17
  88. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +8 -11
  89. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +27 -47
  90. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +11 -24
  91. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +59 -111
  92. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +15 -14
  93. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +11 -17
  94. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +18 -24
  95. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +19 -23
  96. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +11 -19
  97. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +141 -376
  98. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +17 -28
  99. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +34 -70
  100. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +10 -17
  101. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +83 -137
  102. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +10 -19
  103. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +632 -1190
  104. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +29 -38
  105. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +327 -617
  106. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +26 -49
  107. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +188 -380
  108. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +104 -194
  109. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +382 -811
  110. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view/add-icon-area.js +34 -58
  111. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.js +330 -581
  112. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.test.js +123 -277
  113. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +15 -35
  114. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +216 -571
  115. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +152 -336
  116. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +87 -211
  117. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +10 -11
  118. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +20 -29
  119. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +41 -76
  120. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.js +45 -99
  121. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +76 -128
  122. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +128 -319
  123. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.js +45 -78
  124. package/src/platform-implementation-js/dom-driver/inbox/__mocks__/getSidebarClassnames.js +8 -4
  125. package/src/platform-implementation-js/dom-driver/inbox/addNavItem.js +36 -54
  126. package/src/platform-implementation-js/dom-driver/inbox/addRecipientRow.js +35 -53
  127. package/src/platform-implementation-js/dom-driver/inbox/createLink.js +13 -15
  128. package/src/platform-implementation-js/dom-driver/inbox/createLink.test.js +15 -18
  129. package/src/platform-implementation-js/dom-driver/inbox/custom-style.js +14 -13
  130. package/src/platform-implementation-js/dom-driver/inbox/detection/appToolbarLocation/parser.js +14 -20
  131. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentCard/parser.js +14 -13
  132. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentOverlay/parser.js +35 -67
  133. package/src/platform-implementation-js/dom-driver/inbox/detection/chatSidebar/parser.js +16 -18
  134. package/src/platform-implementation-js/dom-driver/inbox/detection/compose/parser.js +68 -185
  135. package/src/platform-implementation-js/dom-driver/inbox/detection/message/parser.js +28 -56
  136. package/src/platform-implementation-js/dom-driver/inbox/detection/nativeDrawer/parser.js +12 -10
  137. package/src/platform-implementation-js/dom-driver/inbox/detection/searchBar/parser.js +16 -16
  138. package/src/platform-implementation-js/dom-driver/inbox/detection/thread/parser.js +24 -35
  139. package/src/platform-implementation-js/dom-driver/inbox/detection/thread-row/parser.js +37 -89
  140. package/src/platform-implementation-js/dom-driver/inbox/getComposeViewDriverLiveSet.js +56 -78
  141. package/src/platform-implementation-js/dom-driver/inbox/getInboxMessageIdForInboxThreadId.js +26 -32
  142. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.js +52 -109
  143. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.test.js +7 -8
  144. package/src/platform-implementation-js/dom-driver/inbox/gotoView.js +16 -20
  145. package/src/platform-implementation-js/dom-driver/inbox/gotoView.test.js +15 -16
  146. package/src/platform-implementation-js/dom-driver/inbox/inbox-butter-bar-driver.js +75 -83
  147. package/src/platform-implementation-js/dom-driver/inbox/inbox-driver.js +530 -822
  148. package/src/platform-implementation-js/dom-driver/inbox/inbox-page-communicator.js +48 -61
  149. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.js +9 -12
  150. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.test.js +12 -19
  151. package/src/platform-implementation-js/dom-driver/inbox/makePageParserTree.js +24 -33
  152. package/src/platform-implementation-js/dom-driver/inbox/pageParserOptions.js +201 -388
  153. package/src/platform-implementation-js/dom-driver/inbox/registerSearchSuggestionsProvider.js +249 -265
  154. package/src/platform-implementation-js/dom-driver/inbox/setupCustomAutocompleteSelectionHandling.js +84 -152
  155. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.js +55 -67
  156. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.test.js +43 -65
  157. package/src/platform-implementation-js/dom-driver/inbox/views/InboxLabelView.js +31 -56
  158. package/src/platform-implementation-js/dom-driver/inbox/views/InboxMoleViewDriver.js +191 -294
  159. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarButtonView.js +32 -45
  160. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarView.js +21 -39
  161. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-sidebar-view.js +153 -240
  162. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-button-view.js +75 -150
  163. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-tooltip-view.js +20 -37
  164. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-card-view.js +60 -114
  165. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-overlay-view.js +47 -65
  166. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +41 -52
  167. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-chat-sidebar-view.js +27 -36
  168. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-button-view.js +52 -80
  169. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-view.js +465 -649
  170. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.js +37 -58
  171. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.test.js +14 -26
  172. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +118 -235
  173. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dropdown-view.js +10 -11
  174. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dummy-route-view.js +28 -46
  175. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-message-view.js +131 -202
  176. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-modal-view.js +40 -80
  177. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-route-view.js +35 -61
  178. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-row-view.js +124 -221
  179. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.js +125 -213
  180. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.test.js +104 -126
  181. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-tooltip-view.js +36 -51
  182. package/src/platform-implementation-js/dom-driver/inbox/views/inboxNavItemView.js +158 -297
  183. package/src/platform-implementation-js/dom-driver/inbox/waitForAnimationClickBlockerGone.js +21 -35
  184. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +24 -43
  185. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +39 -68
  186. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +14 -19
  187. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +27 -35
  188. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +16 -22
  189. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +14 -14
  190. package/src/platform-implementation-js/driver-common/inboxAjax.js +12 -7
  191. package/src/platform-implementation-js/driver-common/requestGmailThread.js +19 -20
  192. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +197 -306
  193. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +113 -161
  194. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +1 -114
  195. package/src/platform-implementation-js/driver-interfaces/driver.js +1 -131
  196. package/src/platform-implementation-js/driver-interfaces/message-view-driver.js +4 -48
  197. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +1 -29
  198. package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +1 -32
  199. package/src/platform-implementation-js/driver-interfaces/thread-row-view-driver.js +1 -11
  200. package/src/platform-implementation-js/lib/array-to-lifetimes.js +43 -41
  201. package/src/platform-implementation-js/lib/array-to-lifetimes.test.js +139 -155
  202. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +19 -38
  203. package/src/platform-implementation-js/lib/css-selector-escape.js +7 -3
  204. package/src/platform-implementation-js/lib/dom/element-view-mapper.js +8 -11
  205. package/src/platform-implementation-js/lib/dom/get-selection.js +23 -52
  206. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +69 -101
  207. package/src/platform-implementation-js/lib/dom/is-node-in-range.js +8 -10
  208. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.js +15 -17
  209. package/src/platform-implementation-js/lib/dom/querySelectorOne.js +8 -11
  210. package/src/platform-implementation-js/lib/dom/set-css.js +7 -3
  211. package/src/platform-implementation-js/lib/dom/set-value-and-dispatch-event.js +9 -11
  212. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +32 -33
  213. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.test.js +23 -26
  214. package/src/platform-implementation-js/lib/handle-compose-link-chips.js +86 -149
  215. package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +42 -57
  216. package/src/platform-implementation-js/lib/make-revocable-function.js +19 -21
  217. package/src/platform-implementation-js/lib/make-revocable-function.test.js +20 -22
  218. package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +15 -17
  219. package/src/platform-implementation-js/lib/parseParamsFromRouteID.test.js +9 -18
  220. package/src/platform-implementation-js/lib/populateRouteID.js +8 -9
  221. package/src/platform-implementation-js/lib/populateRouteID.test.js +20 -19
  222. package/src/platform-implementation-js/lib/react/ElementContainer.js +23 -20
  223. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.js +10 -9
  224. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.test.js +13 -20
  225. package/src/platform-implementation-js/lib/routeIDmatchesHash.js +13 -18
  226. package/src/platform-implementation-js/lib/routeIDmatchesHash.test.js +11 -17
  227. package/src/platform-implementation-js/lib/shared-style.js +14 -13
  228. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +18 -17
  229. package/src/platform-implementation-js/lib/toLiveSet.js +17 -15
  230. package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +6 -5
  231. package/src/platform-implementation-js/main.js +9 -24
  232. package/src/platform-implementation-js/namespaces/compose.js +37 -60
  233. package/src/platform-implementation-js/namespaces/conversations.js +52 -124
  234. package/src/platform-implementation-js/namespaces/global.js +27 -39
  235. package/src/platform-implementation-js/namespaces/keyboard.js +29 -33
  236. package/src/platform-implementation-js/namespaces/lists.js +25 -31
  237. package/src/platform-implementation-js/namespaces/modal.js +34 -28
  238. package/src/platform-implementation-js/namespaces/nav-menu.js +30 -45
  239. package/src/platform-implementation-js/namespaces/router.js +70 -137
  240. package/src/platform-implementation-js/namespaces/search.js +19 -17
  241. package/src/platform-implementation-js/namespaces/toolbars.js +71 -117
  242. package/src/platform-implementation-js/namespaces/user.js +36 -37
  243. package/src/platform-implementation-js/namespaces/widgets.js +54 -61
  244. package/src/platform-implementation-js/platform-implementation.js +98 -229
  245. package/src/platform-implementation-js/views/app-toolbar-button-view.js +26 -47
  246. package/src/platform-implementation-js/views/collapsible-section-view.js +66 -63
  247. package/src/platform-implementation-js/views/content-panel-view.js +28 -30
  248. package/src/platform-implementation-js/views/conversations/attachment-card-view.js +21 -44
  249. package/src/platform-implementation-js/views/conversations/custom-message-view.js +44 -104
  250. package/src/platform-implementation-js/views/conversations/message-view.js +131 -202
  251. package/src/platform-implementation-js/views/conversations/thread-view.js +75 -127
  252. package/src/platform-implementation-js/views/native-nav-item-view.js +32 -65
  253. package/src/platform-implementation-js/views/nav-item-view.js +51 -115
  254. package/src/platform-implementation-js/views/route-view/custom-route-view.js +25 -20
  255. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +18 -18
  256. package/src/platform-implementation-js/views/route-view/list-route-view.js +30 -52
  257. package/src/platform-implementation-js/views/route-view/route-view.js +24 -35
  258. package/src/platform-implementation-js/views/section-view.js +60 -52
  259. package/src/platform-implementation-js/views/thread-row-view.js +49 -74
  260. package/src/platform-implementation-js/widgets/drawer-view.js +29 -36
  261. package/src/platform-implementation-js/widgets/modal-view.js +39 -68
  262. package/src/platform-implementation-js/widgets/mole-view.js +22 -22
  263. package/src/platform-implementation-js/widgets/top-message-bar-view.js +13 -10
@@ -1,98 +1,82 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import Kefir from 'kefir';
4
- import { parse } from 'querystring';
5
- import PageCommunicator from './gmail-page-communicator';
6
-
7
- import { injectScript } from '../../lib/inject-script';
8
-
9
- export default function makeXhrInterceptor(): {
10
- xhrInterceptStream: Kefir.Observable<Object>,
11
- pageCommunicatorPromise: Promise<PageCommunicator>,
12
- } {
13
- var pageCommunicator = new PageCommunicator();
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = makeXhrInterceptor;
8
+ var _kefir = _interopRequireDefault(require("kefir"));
9
+ var _querystring = require("querystring");
10
+ var _gmailPageCommunicator = _interopRequireDefault(require("./gmail-page-communicator"));
11
+ var _injectScript = require("../../lib/inject-script");
12
+ function makeXhrInterceptor() {
13
+ var pageCommunicator = new _gmailPageCommunicator.default();
14
14
  var rawInterceptStream = pageCommunicator.ajaxInterceptStream;
15
-
16
- var pageCommunicatorPromise = injectScript().then(() => pageCommunicator);
17
-
18
- var interceptStream = Kefir.merge([
19
- rawInterceptStream
20
- .filter(function (detail) {
21
- return detail.type === 'emailSending';
22
- })
23
- .map(function (detail) {
24
- if (detail.draftID) {
25
- return detail;
26
- } else {
27
- // TODO is this block dead code?
28
- var body = parse(detail.body);
29
- return {
30
- type: 'emailSending',
31
- composeId: body.composeid,
32
- draft: body.draft,
33
- };
34
- }
35
- }),
36
- rawInterceptStream
37
- .filter(function (detail) {
38
- return detail.type === 'emailSent';
39
- })
40
- .map(function (detail) {
41
- if (detail.draftID) {
42
- return detail;
43
- } else {
44
- // TODO is this block dead code?
45
- var body = parse(detail.originalSendBody);
46
- var response = detail.responseText;
47
- return {
48
- type: 'emailSent',
49
- composeId: body.composeid,
50
- draft: body.draft,
51
- response: response,
52
- };
53
- }
54
- }),
55
- rawInterceptStream
56
- .filter(function (detail) {
57
- return detail.type === 'emailDraftSaveSending';
58
- })
59
- .map(function (detail) {
60
- if (detail.draftID) {
61
- return detail;
62
- } else {
63
- // TODO is this block dead code?
64
- var body = parse(detail.body);
65
- return {
66
- type: 'emailDraftSaveSending',
67
- composeId: body.composeid,
68
- draft: body.draft,
69
- };
70
- }
71
- }),
72
- rawInterceptStream
73
- .filter(function (detail) {
74
- return detail.type === 'emailDraftReceived';
75
- })
76
- .map(function (detail) {
77
- if (detail.draftID) {
78
- return detail;
79
- } else {
80
- // TODO is this block dead code?
81
- var body = parse(detail.originalSendBody);
82
- var response = detail.responseText;
83
- return {
84
- type: 'emailDraftReceived',
85
- composeId: body.composeid,
86
- draft: body.draft,
87
- response: response,
88
- connectionDetails: detail.connectionDetails,
89
- };
90
- }
91
- }),
92
- ]);
93
-
15
+ var pageCommunicatorPromise = (0, _injectScript.injectScript)().then(() => pageCommunicator);
16
+ var interceptStream = _kefir.default.merge([rawInterceptStream.filter(function (detail) {
17
+ return detail.type === 'emailSending';
18
+ }).map(function (detail) {
19
+ if (detail.draftID) {
20
+ return detail;
21
+ } else {
22
+ // TODO is this block dead code?
23
+ var body = (0, _querystring.parse)(detail.body);
24
+ return {
25
+ type: 'emailSending',
26
+ composeId: body.composeid,
27
+ draft: body.draft
28
+ };
29
+ }
30
+ }), rawInterceptStream.filter(function (detail) {
31
+ return detail.type === 'emailSent';
32
+ }).map(function (detail) {
33
+ if (detail.draftID) {
34
+ return detail;
35
+ } else {
36
+ // TODO is this block dead code?
37
+ var body = (0, _querystring.parse)(detail.originalSendBody);
38
+ var response = detail.responseText;
39
+ return {
40
+ type: 'emailSent',
41
+ composeId: body.composeid,
42
+ draft: body.draft,
43
+ response: response
44
+ };
45
+ }
46
+ }), rawInterceptStream.filter(function (detail) {
47
+ return detail.type === 'emailDraftSaveSending';
48
+ }).map(function (detail) {
49
+ if (detail.draftID) {
50
+ return detail;
51
+ } else {
52
+ // TODO is this block dead code?
53
+ var body = (0, _querystring.parse)(detail.body);
54
+ return {
55
+ type: 'emailDraftSaveSending',
56
+ composeId: body.composeid,
57
+ draft: body.draft
58
+ };
59
+ }
60
+ }), rawInterceptStream.filter(function (detail) {
61
+ return detail.type === 'emailDraftReceived';
62
+ }).map(function (detail) {
63
+ if (detail.draftID) {
64
+ return detail;
65
+ } else {
66
+ // TODO is this block dead code?
67
+ var body = (0, _querystring.parse)(detail.originalSendBody);
68
+ var response = detail.responseText;
69
+ return {
70
+ type: 'emailDraftReceived',
71
+ composeId: body.composeid,
72
+ draft: body.draft,
73
+ response: response,
74
+ connectionDetails: detail.connectionDetails
75
+ };
76
+ }
77
+ })]);
94
78
  return {
95
79
  xhrInterceptStream: interceptStream,
96
- pageCommunicatorPromise,
80
+ pageCommunicatorPromise
97
81
  };
98
- }
82
+ }
@@ -1,25 +1,21 @@
1
- /* @flow */
2
-
3
- import { defn } from 'ud';
4
- import udKefir from 'ud-kefir';
5
- import Kefir from 'kefir';
6
- import kefirStopper from 'kefir-stopper';
7
- import GmailAppSidebarPrimary from './primary';
8
- import ContentPanelViewDriver from '../../../../driver-common/sidebar/ContentPanelViewDriver';
9
- import type GmailDriver from '../../gmail-driver';
10
- import type GmailThreadView from '../gmail-thread-view';
11
-
12
- const updates: Kefir.Observable<null> = udKefir(module, null);
1
+ "use strict";
13
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _ud = require("ud");
10
+ var _udKefir = _interopRequireDefault(require("ud-kefir"));
11
+ var _kefir = _interopRequireDefault(require("kefir"));
12
+ var _kefirStopper = _interopRequireDefault(require("kefir-stopper"));
13
+ var _primary = _interopRequireDefault(require("./primary"));
14
+ var _ContentPanelViewDriver = _interopRequireDefault(require("../../../../driver-common/sidebar/ContentPanelViewDriver"));
15
+ const updates = (0, _udKefir.default)(module, null);
14
16
  class GmailAppSidebarView {
15
- _stopper = kefirStopper();
16
- _driver: GmailDriver;
17
- _instanceId: string;
18
-
19
- constructor(
20
- driver: GmailDriver,
21
- companionSidebarContentContainerElement: HTMLElement
22
- ) {
17
+ constructor(driver, companionSidebarContentContainerElement) {
18
+ (0, _defineProperty2.default)(this, "_stopper", (0, _kefirStopper.default)());
23
19
  this._driver = driver;
24
20
 
25
21
  // We need to be able to cooperate with other apps/extensions that are
@@ -29,52 +25,33 @@ class GmailAppSidebarView {
29
25
  // GmailAppSidebarView is instantiated, we check the element for an
30
26
  // attribute to see whether a previous extension's GmailAppSidebarView has
31
27
  // already set up the sidebar or not.
32
- const instanceId = companionSidebarContentContainerElement.getAttribute(
33
- 'data-sdk-sidebar-instance-id'
34
- );
28
+ const instanceId = companionSidebarContentContainerElement.getAttribute('data-sdk-sidebar-instance-id');
35
29
  if (instanceId != null) {
36
30
  this._instanceId = instanceId;
37
31
  } else {
38
- let primary = new GmailAppSidebarPrimary(
39
- driver,
40
- companionSidebarContentContainerElement
41
- );
32
+ let primary = new _primary.default(driver, companionSidebarContentContainerElement);
42
33
  this._instanceId = primary.getInstanceId();
43
34
 
44
35
  // hot reloading support. Not perfect; this will break any existing panels.
45
36
  updates.changes().onValue(() => {
46
37
  primary.destroy();
47
- primary = new GmailAppSidebarPrimary(
48
- driver,
49
- companionSidebarContentContainerElement
50
- );
38
+ primary = new _primary.default(driver, companionSidebarContentContainerElement);
51
39
  this._instanceId = primary.getInstanceId();
52
40
  });
53
41
  }
54
42
  }
55
-
56
43
  destroy() {
57
44
  this._stopper.destroy();
58
45
  }
59
-
60
- getStopper(): Kefir.Observable<*> {
46
+ getStopper() {
61
47
  return this._stopper;
62
48
  }
63
-
64
- _getShouldThreadAppSidebarOpen(): boolean {
65
- return (
66
- global.localStorage.getItem(
67
- 'inboxsdk__thread_app_sidebar_should_open'
68
- ) !== 'false'
69
- );
49
+ _getShouldThreadAppSidebarOpen() {
50
+ return global.localStorage.getItem('inboxsdk__thread_app_sidebar_should_open') !== 'false';
70
51
  }
71
-
72
- _setShouldThreadAppSidebarOpen(open: boolean) {
52
+ _setShouldThreadAppSidebarOpen(open) {
73
53
  try {
74
- global.localStorage.setItem(
75
- 'inboxsdk__thread_app_sidebar_should_open',
76
- String(open)
77
- );
54
+ global.localStorage.setItem('inboxsdk__thread_app_sidebar_should_open', String(open));
78
55
  } catch (err) {
79
56
  console.error('error saving', err); //eslint-disable-line no-console
80
57
  }
@@ -83,51 +60,27 @@ class GmailAppSidebarView {
83
60
  // This value controls whether the app sidebar should automatically open
84
61
  // itself when available when the chat sidebar isn't present. It's only set
85
62
  // if the user interacts with the app sidebar button.
86
- _getShouldGlobalAppSidebarOpen(): boolean {
87
- return (
88
- global.localStorage.getItem(
89
- 'inboxsdk__global_app_sidebar_should_open'
90
- ) === 'true'
91
- );
63
+ _getShouldGlobalAppSidebarOpen() {
64
+ return global.localStorage.getItem('inboxsdk__global_app_sidebar_should_open') === 'true';
92
65
  }
93
-
94
- _setShouldGlobalAppSidebarOpen(open: boolean) {
66
+ _setShouldGlobalAppSidebarOpen(open) {
95
67
  try {
96
- global.localStorage.setItem(
97
- 'inboxsdk__global_app_sidebar_should_open',
98
- String(open)
99
- );
68
+ global.localStorage.setItem('inboxsdk__global_app_sidebar_should_open', String(open));
100
69
  } catch (err) {
101
70
  console.error('error saving', err); //eslint-disable-line no-console
102
71
  }
103
72
  }
104
73
 
105
- addThreadSidebarContentPanel(
106
- descriptor: Kefir.Observable<Object>,
107
- threadView: GmailThreadView
108
- ) {
109
- const panel = new ContentPanelViewDriver(
110
- this._driver,
111
- descriptor,
112
- this._instanceId
113
- );
114
- Kefir.merge([threadView.getStopper(), this._stopper])
115
- .take(1)
116
- .takeUntilBy(panel.getStopper())
117
- .onValue(() => panel.remove());
74
+ addThreadSidebarContentPanel(descriptor, threadView) {
75
+ const panel = new _ContentPanelViewDriver.default(this._driver, descriptor, this._instanceId);
76
+ _kefir.default.merge([threadView.getStopper(), this._stopper]).take(1).takeUntilBy(panel.getStopper()).onValue(() => panel.remove());
118
77
  return panel;
119
78
  }
120
-
121
- addGlobalSidebarContentPanel(descriptor: Kefir.Observable<Object>) {
122
- const panel = new ContentPanelViewDriver(
123
- this._driver,
124
- descriptor,
125
- this._instanceId,
126
- true
127
- );
79
+ addGlobalSidebarContentPanel(descriptor) {
80
+ const panel = new _ContentPanelViewDriver.default(this._driver, descriptor, this._instanceId, true);
128
81
  this._stopper.takeUntilBy(panel.getStopper()).onValue(() => panel.remove());
129
82
  return panel;
130
83
  }
131
84
  }
132
-
133
- export default defn(module, GmailAppSidebarView);
85
+ var _default = (0, _ud.defn)(module, GmailAppSidebarView);
86
+ exports.default = _default;
@@ -1,162 +1,112 @@
1
- /* @flow */
2
-
3
- import _ from 'lodash';
4
- import Kefir from 'kefir';
5
- import kefirBus from 'kefir-bus';
6
- import kefirStopper from 'kefir-stopper';
7
- import delay from 'pdelay';
8
- import fs from 'fs';
9
- import idMap from '../../../../lib/idMap';
10
- import GmailAppSidebarView from './index';
11
- import ContentPanelViewDriver from '../../../../driver-common/sidebar/ContentPanelViewDriver';
12
- import MockWebStorage from 'mock-webstorage';
13
-
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _lodash = _interopRequireDefault(require("lodash"));
5
+ var _kefir = _interopRequireDefault(require("kefir"));
6
+ var _kefirBus = _interopRequireDefault(require("kefir-bus"));
7
+ var _kefirStopper = _interopRequireDefault(require("kefir-stopper"));
8
+ var _pdelay = _interopRequireDefault(require("pdelay"));
9
+ var _fs = _interopRequireDefault(require("fs"));
10
+ var _idMap = _interopRequireDefault(require("../../../../lib/idMap"));
11
+ var _index = _interopRequireDefault(require("./index"));
12
+ var _ContentPanelViewDriver = _interopRequireDefault(require("../../../../driver-common/sidebar/ContentPanelViewDriver"));
13
+ var _mockWebstorage = _interopRequireDefault(require("mock-webstorage"));
14
14
  jest.mock('../../../../lib/dom/make-element-child-stream', () => {
15
15
  return () => require('kefir-bus')();
16
16
  });
17
-
18
17
  jest.mock('../../../../lib/dom/make-mutation-observer-chunked-stream', () => {
19
18
  return () => require('kefir-bus')();
20
19
  });
21
-
22
- global.localStorage = new MockWebStorage();
20
+ global.localStorage = new _mockWebstorage.default();
23
21
  global._APP_SIDEBAR_TEST = true;
24
-
25
22
  describe('GmailAppSidebarView Primary', function () {
26
23
  beforeEach(() => {
27
24
  makeSidebarContainerElement();
28
25
  });
29
-
30
26
  afterEach(() => {
31
27
  removeSidebarContainerElement();
32
28
  });
33
-
34
29
  it('construction works', () => {
35
- const gmailAppSidebarView = new GmailAppSidebarView(
36
- makeDriver(),
37
- makeContentContainerElement()
38
- );
30
+ const gmailAppSidebarView = new _index.default(makeDriver(), makeContentContainerElement());
39
31
  });
40
-
41
32
  it('sidebar is added', async () => {
42
33
  const container = makeContentContainerElement();
43
- const gmailAppSidebarView = new GmailAppSidebarView(
44
- makeDriver(),
45
- container
46
- );
47
-
48
- const descriptor = Kefir.constant({
34
+ const gmailAppSidebarView = new _index.default(makeDriver(), container);
35
+ const descriptor = _kefir.default.constant({
49
36
  title: 'foo',
50
37
  iconUrl: '/bar.png',
51
- el: document.createElement('div'),
38
+ el: document.createElement('div')
52
39
  });
53
-
54
- const fakeThreadView: Object = {
55
- getStopper: _.constant(kefirStopper()),
40
+ const fakeThreadView = {
41
+ getStopper: _lodash.default.constant((0, _kefirStopper.default)())
56
42
  };
57
-
58
- const panel = gmailAppSidebarView.addThreadSidebarContentPanel(
59
- descriptor,
60
- fakeThreadView
61
- );
62
-
63
- await delay(0);
64
- expect(
65
- container.querySelectorAll('.' + idMap('app_sidebar_content_panel'))
66
- .length
67
- ).toBe(1);
68
-
43
+ const panel = gmailAppSidebarView.addThreadSidebarContentPanel(descriptor, fakeThreadView);
44
+ await (0, _pdelay.default)(0);
45
+ expect(container.querySelectorAll('.' + (0, _idMap.default)('app_sidebar_content_panel')).length).toBe(1);
69
46
  panel.remove();
70
- expect(
71
- container.querySelectorAll('.' + idMap('app_sidebar_content_panel'))
72
- .length
73
- ).toBe(0);
47
+ expect(container.querySelectorAll('.' + (0, _idMap.default)('app_sidebar_content_panel')).length).toBe(0);
74
48
  });
75
-
76
49
  it('multiple sidebars can be added', async () => {
77
50
  const container = makeContentContainerElement();
78
- const gmailAppSidebarView = new GmailAppSidebarView(
79
- makeDriver(),
80
- container
81
- );
82
-
83
- const descriptor1 = Kefir.constant({
51
+ const gmailAppSidebarView = new _index.default(makeDriver(), container);
52
+ const descriptor1 = _kefir.default.constant({
84
53
  title: 'foo1',
85
54
  iconUrl: '/bar.png',
86
- el: document.createElement('div'),
55
+ el: document.createElement('div')
87
56
  });
88
-
89
- const descriptor2 = Kefir.constant({
57
+ const descriptor2 = _kefir.default.constant({
90
58
  title: 'foo2',
91
59
  iconUrl: '/bar.png',
92
- el: document.createElement('div'),
60
+ el: document.createElement('div')
93
61
  });
94
-
95
- const fakeThreadView: Object = {
96
- getStopper: _.constant(kefirStopper()),
62
+ const fakeThreadView = {
63
+ getStopper: _lodash.default.constant((0, _kefirStopper.default)())
97
64
  };
98
-
99
- gmailAppSidebarView.addThreadSidebarContentPanel(
100
- descriptor1,
101
- fakeThreadView
102
- );
103
-
104
- gmailAppSidebarView.addThreadSidebarContentPanel(
105
- descriptor2,
106
- fakeThreadView
107
- );
108
-
109
- await delay(0);
110
- expect(
111
- container.querySelectorAll('.' + idMap('app_sidebar_content_panel'))
112
- .length
113
- ).toBe(2);
65
+ gmailAppSidebarView.addThreadSidebarContentPanel(descriptor1, fakeThreadView);
66
+ gmailAppSidebarView.addThreadSidebarContentPanel(descriptor2, fakeThreadView);
67
+ await (0, _pdelay.default)(0);
68
+ expect(container.querySelectorAll('.' + (0, _idMap.default)('app_sidebar_content_panel')).length).toBe(2);
114
69
  });
115
70
  });
116
-
117
- function makeDriver(appId, opts): any {
71
+ function makeDriver(appId, opts) {
118
72
  return {
119
73
  getAppId: () => appId || 'test',
120
- getOpts: () => opts || { appName: 'Test', appIconUrl: 'testImage.png' },
74
+ getOpts: () => opts || {
75
+ appName: 'Test',
76
+ appIconUrl: 'testImage.png'
77
+ },
121
78
  getLogger() {
122
79
  return {
123
80
  eventSdkPassive() {},
124
81
  error(err, details) {
125
82
  console.error('logger.error called:', err, details); //eslint-disable-line no-console
126
83
  throw err;
127
- },
84
+ }
128
85
  };
129
- },
86
+ }
130
87
  };
131
88
  }
132
-
133
89
  function makeSidebarContainerElement() {
134
90
  const newDiv = document.createElement('div');
135
91
  newDiv.className = 'brC-aT5-aOt-Jw';
136
-
137
92
  const sidebar = document.createElement('div');
138
93
  sidebar.className = 'J-KU-Jg';
139
94
  sidebar.setAttribute('role', 'tablist');
140
-
141
95
  const separator = document.createElement('div');
142
96
  separator.setAttribute('role', 'separator');
143
-
144
97
  sidebar.appendChild(separator);
145
98
  newDiv.appendChild(sidebar);
146
-
147
99
  document.body && document.body.appendChild(newDiv);
148
100
  }
149
-
150
101
  function removeSidebarContainerElement() {
151
102
  const oldDivs = Array.from(document.getElementsByClassName('brC-aT5-aOt-Jw'));
152
- oldDivs.forEach((oldDiv) => {
103
+ oldDivs.forEach(oldDiv => {
153
104
  const parent = oldDiv.parentNode;
154
105
  parent && parent.removeChild(oldDiv);
155
106
  });
156
107
  }
157
-
158
108
  function makeContentContainerElement() {
159
109
  const contentContainerElement = document.createElement('div');
160
110
  contentContainerElement.className = 'bq9';
161
111
  return contentContainerElement;
162
- }
112
+ }
@@ -1,10 +1,12 @@
1
- /* @flow */
2
-
3
- import { defn } from 'ud';
4
-
5
- import querySelector from '../../../../../lib/dom/querySelectorOrFail';
6
- import type Logger from '../../../../../lib/logger';
1
+ "use strict";
7
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 _querySelectorOrFail = _interopRequireDefault(require("../../../../../lib/dom/querySelectorOrFail"));
8
10
  /*
9
11
  As of Feb 6th, 2018.
10
12
  div.brC-aT5-aOt-Jw - the container for native global icons and sidebar icons
@@ -12,17 +14,9 @@ As of Feb 6th, 2018.
12
14
  div.brC-aT5-aOt-ato-Kp-Jw - container for sidebar icons
13
15
  div.bvq - matches the structure in regular add-on icon sidebar
14
16
  */
15
-
16
17
  const GLOBAL_ICON_AREA_SELECTOR = '.brC-aT5-aOt-bsf-Jw';
17
-
18
- function addCompanionGlobalIconArea(
19
- logger: Logger,
20
- iconArea: HTMLElement,
21
- companionSidebarIconContainerEl: HTMLElement
22
- ) {
23
- const sidebarIconArea = companionSidebarIconContainerEl.querySelector(
24
- GLOBAL_ICON_AREA_SELECTOR
25
- );
18
+ function addCompanionGlobalIconArea(logger, iconArea, companionSidebarIconContainerEl) {
19
+ const sidebarIconArea = companionSidebarIconContainerEl.querySelector(GLOBAL_ICON_AREA_SELECTOR);
26
20
  if (!sidebarIconArea) {
27
21
  logger.error(new Error('addCompanionGlobalIconArea: no sidebarIconArea'));
28
22
  return;
@@ -32,8 +26,7 @@ function addCompanionGlobalIconArea(
32
26
  logger.error(new Error('addCompanionGlobalIconArea: no nativeIconArea'));
33
27
  return;
34
28
  }
35
-
36
29
  nativeIconArea.insertAdjacentElement('beforebegin', iconArea);
37
30
  }
38
-
39
- export default defn(module, addCompanionGlobalIconArea);
31
+ var _default = (0, _ud.defn)(module, addCompanionGlobalIconArea);
32
+ exports.default = _default;
@@ -1,47 +1,35 @@
1
- /* @flow */
2
-
3
- import { defn } from 'ud';
4
-
5
- import Kefir from 'kefir';
6
- import makeMutationObserverChunkedStream from '../../../../../lib/dom/make-mutation-observer-chunked-stream';
7
- import querySelector from '../../../../../lib/dom/querySelectorOrFail';
8
- import type Logger from '../../../../../lib/logger';
1
+ "use strict";
9
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 _kefir = _interopRequireDefault(require("kefir"));
10
+ var _makeMutationObserverChunkedStream = _interopRequireDefault(require("../../../../../lib/dom/make-mutation-observer-chunked-stream"));
11
+ var _querySelectorOrFail = _interopRequireDefault(require("../../../../../lib/dom/querySelectorOrFail"));
10
12
  /*
11
13
  As of Feb 6th, 2018.
12
14
  div.brC-aT5-aOt-Jw - the container for native global icons and sidebar icons
13
15
  div.brC-aT5-aOt-bsf-Jw - container for sdk global sidebar icons
14
16
  [role=tablist] - container for native and sdk thread sidebar icons
15
17
  */
16
-
17
18
  const TAB_LIST_SELECTOR = '[role=tablist],.J-KU-Jg';
18
-
19
- function addCompanionThreadIconArea(
20
- logger: Logger,
21
- iconArea: HTMLElement,
22
- companionSidebarIconContainerEl: HTMLElement
23
- ) {
24
- const tabList =
25
- companionSidebarIconContainerEl.querySelector(TAB_LIST_SELECTOR);
19
+ function addCompanionThreadIconArea(logger, iconArea, companionSidebarIconContainerEl) {
20
+ const tabList = companionSidebarIconContainerEl.querySelector(TAB_LIST_SELECTOR);
26
21
  if (!tabList) {
27
22
  logger.error(new Error('addCompanionThreadIconArea: no tablist'));
28
23
  return;
29
24
  }
30
-
31
- const separator =
32
- companionSidebarIconContainerEl.querySelector('[role=separator]');
25
+ const separator = companionSidebarIconContainerEl.querySelector('[role=separator]');
33
26
  if (!separator) {
34
- logger.error(
35
- new Error('addCompanionThreadIconArea: failed to find separator')
36
- );
27
+ logger.error(new Error('addCompanionThreadIconArea: failed to find separator'));
37
28
  tabList.insertAdjacentElement('beforebegin', iconArea);
38
29
  } else {
39
30
  if (!separator.parentElement) throw new Error();
40
- separator.parentElement.insertBefore(
41
- iconArea,
42
- separator.nextElementSibling
43
- );
31
+ separator.parentElement.insertBefore(iconArea, separator.nextElementSibling);
44
32
  }
45
33
  }
46
-
47
- export default defn(module, addCompanionThreadIconArea);
34
+ var _default = (0, _ud.defn)(module, addCompanionThreadIconArea);
35
+ exports.default = _default;