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