@inboxsdk/core 0.2.28-alpha.3 → 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 (398) hide show
  1. package/inboxsdk.js +1 -1
  2. package/inboxsdk.js.map +1 -1
  3. package/package.json +5 -1
  4. package/src/build/exec.js +26 -0
  5. package/src/build/spawn.js +17 -0
  6. package/src/common/ajax.js +90 -0
  7. package/src/common/cachebust-url.js +10 -0
  8. package/src/common/censorHTMLstring.js +37 -0
  9. package/src/common/censorHTMLtree.js +28 -0
  10. package/src/common/censorJSONTree.js +15 -0
  11. package/src/common/connectivity-test.js +21 -0
  12. package/src/common/defer.js +11 -0
  13. package/src/common/find-parent.js +10 -0
  14. package/src/common/get-extension-id.js +7 -0
  15. package/src/common/get-or-fail.js +8 -0
  16. package/src/common/get-session-id.js +14 -0
  17. package/src/common/get-stack-trace.js +6 -0
  18. package/src/common/html-to-text.js +7 -0
  19. package/src/common/isElementVisible.js +6 -0
  20. package/src/common/load-script.js +127 -0
  21. package/src/common/log-error.js +191 -0
  22. package/src/common/quoted-split.js +18 -0
  23. package/src/common/rate-limit-queuer.js +57 -0
  24. package/src/common/rate-limit.js +14 -0
  25. package/src/common/version.js +6 -0
  26. package/src/inboxsdk-js/check-requirements.js +7 -3
  27. package/src/inboxsdk-js/header.js +1 -0
  28. package/src/inboxsdk-js/inboxsdk-NONREMOTE-INTEGRATED-PAGEWORLD.js +5 -6
  29. package/src/inboxsdk-js/inboxsdk-NONREMOTE.js +4 -3
  30. package/src/inboxsdk-js/inboxsdk-REMOTE.js +3 -1
  31. package/src/inboxsdk-js/inboxsdk-TEST.js +4 -3
  32. package/src/inboxsdk-js/inboxsdk.js +33 -39
  33. package/src/inboxsdk-js/loading/load-platform-implementation-DEV.js +15 -18
  34. package/src/inboxsdk-js/loading/platform-implementation-loader.js +27 -0
  35. package/src/injected-js/gmail/constants.js +2 -0
  36. package/src/injected-js/gmail/modify-suggestions.js +106 -0
  37. package/src/injected-js/gmail/modify-suggestions.test.js +8 -9
  38. package/src/injected-js/gmail/setup-gmail-interceptor.js +340 -579
  39. package/src/injected-js/gmail/setup-gmonkey-handler.js +49 -0
  40. package/src/injected-js/gmail/sync-compose-processor-20220909.js +298 -0
  41. package/src/injected-js/gmail/sync-compose-processor.js +55 -0
  42. package/src/injected-js/gmail/sync-compose-request-processor.js +110 -0
  43. package/src/injected-js/gmail/sync-compose-request-processor.test.js +39 -49
  44. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +20 -33
  45. package/src/injected-js/gmail/thread-identifier/index.js +57 -93
  46. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +22 -31
  47. package/src/injected-js/gmail/thread-identifier/thread-row-parser.test.js +12 -28
  48. package/src/injected-js/inbox/setupAjaxInterceptor.js +64 -121
  49. package/src/injected-js/inbox/setupClickAndGetNewIframeSrc.js +53 -66
  50. package/src/injected-js/inbox/setupComposeViewDraftIDFinder.js +20 -36
  51. package/src/injected-js/inbox/setupInboxFakeWindowResizeListener.js +13 -13
  52. package/src/injected-js/injected-logger.js +50 -0
  53. package/src/injected-js/main.js +11 -24
  54. package/src/injected-js/message-metadata-holder.js +52 -82
  55. package/src/injected-js/setup-data-exposer.js +89 -148
  56. package/src/injected-js/setup-error-silencer.js +21 -21
  57. package/src/injected-js/setup-event-reemitter.js +30 -22
  58. package/src/injected-js/setupCustomViewEventAssassin.js +90 -0
  59. package/src/injected-js/setupInboxCustomViewLinkFixer.js +24 -29
  60. package/src/injected-js/setupPushStateListener.js +18 -11
  61. package/src/injected-js/xhr-helper.js +62 -65
  62. package/src/injected-js/xhr-proxy-factory.js +195 -445
  63. package/src/injected-js/xhr-proxy-factory.test.js +824 -991
  64. package/src/platform-implementation-js/constants/nav-item-types.js +19 -0
  65. package/src/platform-implementation-js/constants/router.js +14 -9
  66. package/src/platform-implementation-js/constants/toolbars.js +8 -3
  67. package/src/platform-implementation-js/dom-driver/gmail/custom-style.js +13 -13
  68. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.js +115 -136
  69. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.js +21 -0
  70. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.js +28 -0
  71. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.js +98 -0
  72. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-support-item.js +4 -0
  73. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +13 -14
  74. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.js +27 -48
  75. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/encodeDraftUrlId.js +8 -0
  76. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.js +31 -42
  77. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.js +30 -40
  78. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-message-id.js +12 -0
  79. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-thread-id.js +33 -0
  80. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +10 -18
  81. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +21 -28
  82. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +33 -45
  83. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +31 -49
  84. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +58 -65
  85. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.js +4 -0
  86. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.js +40 -124
  87. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.js +17 -22
  88. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.js +44 -0
  89. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.test.js +10 -11
  90. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.js +44 -80
  91. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.js +19 -26
  92. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.js +71 -147
  93. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.js +91 -148
  94. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +150 -166
  95. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.test.js +70 -120
  96. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.js +15 -15
  97. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.js +44 -67
  98. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +230 -379
  99. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.test.js +121 -307
  100. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.js +17 -24
  101. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.js +41 -49
  102. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.js +30 -40
  103. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +28 -60
  104. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +61 -133
  105. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.js +95 -0
  106. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +30 -42
  107. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.test.js +52 -46
  108. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +354 -694
  109. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/get-main-content-element-changed-stream.js +38 -0
  110. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/wait-for-gmail-mode-to-settle.js +12 -0
  111. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.js +253 -0
  112. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.js +200 -0
  113. package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.js +533 -0
  114. package/src/platform-implementation-js/dom-driver/gmail/gmail-sync-response-processor.js +289 -0
  115. package/src/platform-implementation-js/dom-driver/gmail/is-compose-titlebar-light-color.js +21 -0
  116. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +77 -93
  117. package/src/platform-implementation-js/dom-driver/gmail/makePageParserTree.js +28 -0
  118. package/src/platform-implementation-js/dom-driver/gmail/pageParserOptions.js +19 -0
  119. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.js +126 -0
  120. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +35 -82
  121. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.test.js +44 -94
  122. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +12 -19
  123. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +17 -29
  124. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.js +26 -26
  125. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +391 -797
  126. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +7 -9
  127. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +60 -109
  128. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +95 -135
  129. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +103 -211
  130. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.test.js +61 -61
  131. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.js +17 -17
  132. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +188 -541
  133. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +67 -135
  134. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +27 -49
  135. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-inner-sidebar.js +7 -13
  136. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-outer-sidebar.js +9 -22
  137. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +36 -63
  138. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.js +101 -0
  139. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +38 -113
  140. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/detectClassicRecipientsArea.js +38 -0
  141. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +11 -16
  142. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +11 -17
  143. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +8 -11
  144. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +27 -47
  145. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +11 -24
  146. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +59 -111
  147. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.js +28 -0
  148. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +15 -14
  149. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +11 -17
  150. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +18 -24
  151. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.js +22 -0
  152. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +19 -23
  153. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.js +233 -0
  154. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +11 -19
  155. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +141 -376
  156. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +17 -28
  157. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +34 -70
  158. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/page-parser.js +223 -0
  159. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +10 -17
  160. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/set-recipients.js +157 -0
  161. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/setupLinkPopovers.js +109 -0
  162. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +83 -137
  163. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +10 -19
  164. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +632 -1190
  165. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.js +5 -0
  166. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +29 -38
  167. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +327 -617
  168. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.js +759 -0
  169. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +26 -49
  170. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +188 -380
  171. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +104 -194
  172. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-support-item-view.js +84 -0
  173. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +382 -811
  174. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view/add-icon-area.js +34 -58
  175. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.js +330 -581
  176. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.test.js +123 -277
  177. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +15 -35
  178. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +216 -571
  179. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +152 -336
  180. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +87 -211
  181. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-color-classes.js +33 -0
  182. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.js +325 -0
  183. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.js +58 -0
  184. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.js +55 -0
  185. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +10 -11
  186. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.js +96 -0
  187. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-dropdown-button-view.js +30 -0
  188. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-parent-accessory-button-view.js +10 -0
  189. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +20 -29
  190. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.js +22 -0
  191. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +41 -76
  192. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.js +45 -99
  193. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +76 -128
  194. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +128 -319
  195. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.js +45 -78
  196. package/src/platform-implementation-js/dom-driver/inbox/__mocks__/getSidebarClassnames.js +8 -4
  197. package/src/platform-implementation-js/dom-driver/inbox/addNavItem.js +36 -54
  198. package/src/platform-implementation-js/dom-driver/inbox/addRecipientRow.js +35 -53
  199. package/src/platform-implementation-js/dom-driver/inbox/createLink.js +13 -15
  200. package/src/platform-implementation-js/dom-driver/inbox/createLink.test.js +15 -18
  201. package/src/platform-implementation-js/dom-driver/inbox/custom-style.js +14 -13
  202. package/src/platform-implementation-js/dom-driver/inbox/detection/appToolbarLocation/parser.js +14 -20
  203. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentCard/parser.js +14 -13
  204. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentOverlay/parser.js +35 -67
  205. package/src/platform-implementation-js/dom-driver/inbox/detection/chatSidebar/parser.js +16 -18
  206. package/src/platform-implementation-js/dom-driver/inbox/detection/compose/parser.js +68 -185
  207. package/src/platform-implementation-js/dom-driver/inbox/detection/message/parser.js +28 -56
  208. package/src/platform-implementation-js/dom-driver/inbox/detection/nativeDrawer/parser.js +12 -10
  209. package/src/platform-implementation-js/dom-driver/inbox/detection/searchBar/parser.js +16 -16
  210. package/src/platform-implementation-js/dom-driver/inbox/detection/thread/parser.js +24 -35
  211. package/src/platform-implementation-js/dom-driver/inbox/detection/thread-row/parser.js +37 -89
  212. package/src/platform-implementation-js/dom-driver/inbox/getComposeViewDriverLiveSet.js +56 -78
  213. package/src/platform-implementation-js/dom-driver/inbox/getInboxMessageIdForInboxThreadId.js +26 -32
  214. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.js +52 -109
  215. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.test.js +7 -8
  216. package/src/platform-implementation-js/dom-driver/inbox/gotoView.js +16 -20
  217. package/src/platform-implementation-js/dom-driver/inbox/gotoView.test.js +15 -16
  218. package/src/platform-implementation-js/dom-driver/inbox/inbox-butter-bar-driver.js +75 -83
  219. package/src/platform-implementation-js/dom-driver/inbox/inbox-driver.js +530 -822
  220. package/src/platform-implementation-js/dom-driver/inbox/inbox-page-communicator.js +48 -61
  221. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.js +9 -12
  222. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.test.js +12 -19
  223. package/src/platform-implementation-js/dom-driver/inbox/makePageParserTree.js +24 -33
  224. package/src/platform-implementation-js/dom-driver/inbox/pageParserOptions.js +201 -388
  225. package/src/platform-implementation-js/dom-driver/inbox/registerSearchSuggestionsProvider.js +249 -265
  226. package/src/platform-implementation-js/dom-driver/inbox/setupCustomAutocompleteSelectionHandling.js +84 -152
  227. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.js +55 -67
  228. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.test.js +43 -65
  229. package/src/platform-implementation-js/dom-driver/inbox/views/InboxLabelView.js +31 -56
  230. package/src/platform-implementation-js/dom-driver/inbox/views/InboxMoleViewDriver.js +191 -294
  231. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarButtonView.js +32 -45
  232. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarView.js +21 -39
  233. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-sidebar-view.js +153 -240
  234. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-button-view.js +75 -150
  235. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-tooltip-view.js +20 -37
  236. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-card-view.js +60 -114
  237. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-overlay-view.js +47 -65
  238. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +41 -52
  239. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-chat-sidebar-view.js +27 -36
  240. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-button-view.js +52 -80
  241. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-view.js +465 -649
  242. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.js +37 -58
  243. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.test.js +14 -26
  244. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +118 -235
  245. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dropdown-view.js +10 -11
  246. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dummy-route-view.js +28 -46
  247. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-message-view.js +131 -202
  248. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-modal-view.js +40 -80
  249. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-route-view.js +35 -61
  250. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-row-view.js +124 -221
  251. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.js +125 -213
  252. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.test.js +104 -126
  253. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-tooltip-view.js +36 -51
  254. package/src/platform-implementation-js/dom-driver/inbox/views/inboxNavItemView.js +158 -297
  255. package/src/platform-implementation-js/dom-driver/inbox/waitForAnimationClickBlockerGone.js +21 -35
  256. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +24 -43
  257. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +39 -68
  258. package/src/platform-implementation-js/driver-common/getAccountUrlPart.js +17 -0
  259. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +14 -19
  260. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +27 -35
  261. package/src/platform-implementation-js/driver-common/getOriginalMessagePage.js +33 -0
  262. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +16 -22
  263. package/src/platform-implementation-js/driver-common/getSyncThreadsForSearch.js +49 -0
  264. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +14 -14
  265. package/src/platform-implementation-js/driver-common/gmailAjax.js +65 -0
  266. package/src/platform-implementation-js/driver-common/inboxAjax.js +12 -7
  267. package/src/platform-implementation-js/driver-common/render-custom-icon.js +16 -0
  268. package/src/platform-implementation-js/driver-common/requestGmailThread.js +19 -20
  269. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +197 -306
  270. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +113 -161
  271. package/src/platform-implementation-js/driver-common/update-icon.js +90 -0
  272. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +1 -114
  273. package/src/platform-implementation-js/driver-interfaces/driver.js +1 -131
  274. package/src/platform-implementation-js/driver-interfaces/message-view-driver.js +4 -48
  275. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +1 -29
  276. package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +1 -32
  277. package/src/platform-implementation-js/driver-interfaces/thread-row-view-driver.js +1 -11
  278. package/src/platform-implementation-js/lib/ErrorCollector.js +47 -0
  279. package/src/platform-implementation-js/lib/Membrane.js +22 -0
  280. package/src/platform-implementation-js/lib/ScrollableContainByScreen.js +30 -0
  281. package/src/platform-implementation-js/lib/array-to-lifetimes.js +43 -41
  282. package/src/platform-implementation-js/lib/array-to-lifetimes.test.js +139 -155
  283. package/src/platform-implementation-js/lib/attemptWithRetries.js +16 -0
  284. package/src/platform-implementation-js/lib/common-page-communicator.js +137 -0
  285. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +19 -38
  286. package/src/platform-implementation-js/lib/css-selector-escape.js +7 -3
  287. package/src/platform-implementation-js/lib/delay-asap.js +12 -0
  288. package/src/platform-implementation-js/lib/delay-idle.js +16 -0
  289. package/src/platform-implementation-js/lib/dom/block-and-reemit-keyboard-events.js +36 -0
  290. package/src/platform-implementation-js/lib/dom/element-view-mapper.js +8 -11
  291. package/src/platform-implementation-js/lib/dom/generic-button-view.js +39 -0
  292. package/src/platform-implementation-js/lib/dom/get-insert-before-element.js +39 -0
  293. package/src/platform-implementation-js/lib/dom/get-selection.js +23 -52
  294. package/src/platform-implementation-js/lib/dom/insert-element-in-order.js +38 -0
  295. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +69 -101
  296. package/src/platform-implementation-js/lib/dom/is-node-in-range.js +8 -10
  297. package/src/platform-implementation-js/lib/dom/keyboard-shortcut-stream.js +12 -0
  298. package/src/platform-implementation-js/lib/dom/make-element-child-stream.js +79 -0
  299. package/src/platform-implementation-js/lib/dom/make-element-stream-merger.js +28 -0
  300. package/src/platform-implementation-js/lib/dom/make-element-view-stream.js +15 -0
  301. package/src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.js +15 -0
  302. package/src/platform-implementation-js/lib/dom/make-mutation-observer-stream.js +5 -0
  303. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.js +15 -17
  304. package/src/platform-implementation-js/lib/dom/outsideClicksAndEscape.js +39 -0
  305. package/src/platform-implementation-js/lib/dom/parentNodes.js +8 -0
  306. package/src/platform-implementation-js/lib/dom/querySelectorOne.js +8 -11
  307. package/src/platform-implementation-js/lib/dom/querySelectorOrFail.js +6 -0
  308. package/src/platform-implementation-js/lib/dom/reemitClickEventForReact.js +22 -0
  309. package/src/platform-implementation-js/lib/dom/set-css.js +7 -3
  310. package/src/platform-implementation-js/lib/dom/set-value-and-dispatch-event.js +9 -11
  311. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +32 -33
  312. package/src/platform-implementation-js/lib/dom/simulate-key.js +46 -0
  313. package/src/platform-implementation-js/lib/dom/simulate-mouse-event.js +16 -0
  314. package/src/platform-implementation-js/lib/dom/trigger-relay-event.js +7 -0
  315. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.js +25 -0
  316. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.test.js +23 -26
  317. package/src/platform-implementation-js/lib/fake-window-resize.js +5 -0
  318. package/src/platform-implementation-js/lib/from-event-target-capture.js +12 -0
  319. package/src/platform-implementation-js/lib/fromEventsWithOptions.js +10 -0
  320. package/src/platform-implementation-js/lib/handle-compose-link-chips.js +86 -149
  321. package/src/platform-implementation-js/lib/handler-registry.js +67 -0
  322. package/src/platform-implementation-js/lib/idMap.js +45 -0
  323. package/src/platform-implementation-js/lib/imageRequest.js +8 -0
  324. package/src/platform-implementation-js/lib/incrementName.js +7 -0
  325. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.js +14 -0
  326. package/src/platform-implementation-js/lib/inject-script.js +33 -0
  327. package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +42 -57
  328. package/src/platform-implementation-js/lib/is-valid-app-id.js +27 -0
  329. package/src/platform-implementation-js/lib/is-valid-email.js +14 -0
  330. package/src/platform-implementation-js/lib/isNotNil.js +5 -0
  331. package/src/platform-implementation-js/lib/isStreakAppId.js +11 -0
  332. package/src/platform-implementation-js/lib/logger.js +441 -0
  333. package/src/platform-implementation-js/lib/make-revocable-function.js +19 -21
  334. package/src/platform-implementation-js/lib/make-revocable-function.test.js +20 -22
  335. package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +15 -17
  336. package/src/platform-implementation-js/lib/parseParamsFromRouteID.test.js +9 -18
  337. package/src/platform-implementation-js/lib/persistent-queue.js +107 -0
  338. package/src/platform-implementation-js/lib/populateRouteID.js +8 -9
  339. package/src/platform-implementation-js/lib/populateRouteID.test.js +20 -19
  340. package/src/platform-implementation-js/lib/react/ElementContainer.js +23 -20
  341. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.js +10 -9
  342. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.test.js +13 -20
  343. package/src/platform-implementation-js/lib/routeIDmatchesHash.js +13 -18
  344. package/src/platform-implementation-js/lib/routeIDmatchesHash.test.js +11 -17
  345. package/src/platform-implementation-js/lib/safe-event-emitter.js +17 -0
  346. package/src/platform-implementation-js/lib/shared-style.js +14 -13
  347. package/src/platform-implementation-js/lib/stopper-pool.js +41 -0
  348. package/src/platform-implementation-js/lib/stream-wait-for.js +30 -0
  349. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +18 -17
  350. package/src/platform-implementation-js/lib/toLiveSet.js +17 -15
  351. package/src/platform-implementation-js/lib/wait-for.js +28 -0
  352. package/src/platform-implementation-js/lib/waitForAsync.js +19 -0
  353. package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +6 -5
  354. package/src/platform-implementation-js/main.js +9 -24
  355. package/src/platform-implementation-js/namespaces/app-menu.d.ts.map +1 -1
  356. package/src/platform-implementation-js/namespaces/app-menu.js +31 -0
  357. package/src/platform-implementation-js/namespaces/butter-bar.js +163 -0
  358. package/src/platform-implementation-js/namespaces/compose.js +37 -60
  359. package/src/platform-implementation-js/namespaces/conversations.js +52 -124
  360. package/src/platform-implementation-js/namespaces/global.js +27 -39
  361. package/src/platform-implementation-js/namespaces/keyboard.js +29 -33
  362. package/src/platform-implementation-js/namespaces/lists.js +25 -31
  363. package/src/platform-implementation-js/namespaces/modal.js +34 -28
  364. package/src/platform-implementation-js/namespaces/nav-menu.js +30 -45
  365. package/src/platform-implementation-js/namespaces/router.js +70 -137
  366. package/src/platform-implementation-js/namespaces/search.js +19 -17
  367. package/src/platform-implementation-js/namespaces/toolbars.js +71 -117
  368. package/src/platform-implementation-js/namespaces/user.js +36 -37
  369. package/src/platform-implementation-js/namespaces/widgets.js +54 -61
  370. package/src/platform-implementation-js/platform-implementation.js +98 -229
  371. package/src/platform-implementation-js/views/SimpleElementView.js +16 -0
  372. package/src/platform-implementation-js/views/app-menu-item-view.js +257 -0
  373. package/src/platform-implementation-js/views/app-toolbar-button-view.js +26 -47
  374. package/src/platform-implementation-js/views/collapsible-panel-view.js +222 -0
  375. package/src/platform-implementation-js/views/collapsible-section-view.js +66 -63
  376. package/src/platform-implementation-js/views/compose-button-view.js +45 -0
  377. package/src/platform-implementation-js/views/compose-view.js +312 -0
  378. package/src/platform-implementation-js/views/content-panel-view.js +28 -30
  379. package/src/platform-implementation-js/views/conversations/attachment-card-view.js +21 -44
  380. package/src/platform-implementation-js/views/conversations/custom-message-view.js +44 -104
  381. package/src/platform-implementation-js/views/conversations/message-view.js +131 -202
  382. package/src/platform-implementation-js/views/conversations/thread-view.js +75 -127
  383. package/src/platform-implementation-js/views/keyboard-shortcut-handle.js +14 -0
  384. package/src/platform-implementation-js/views/native-nav-item-view.js +32 -65
  385. package/src/platform-implementation-js/views/nav-item-view.js +51 -115
  386. package/src/platform-implementation-js/views/route-view/custom-route-view.js +25 -20
  387. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +18 -18
  388. package/src/platform-implementation-js/views/route-view/list-route-view.js +30 -52
  389. package/src/platform-implementation-js/views/route-view/route-view.js +24 -35
  390. package/src/platform-implementation-js/views/section-view.js +60 -52
  391. package/src/platform-implementation-js/views/thread-row-view.js +49 -74
  392. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.js +39 -0
  393. package/src/platform-implementation-js/widgets/buttons/dropdown-button-view-controller.js +98 -0
  394. package/src/platform-implementation-js/widgets/buttons/dropdown-view.js +122 -0
  395. package/src/platform-implementation-js/widgets/drawer-view.js +29 -36
  396. package/src/platform-implementation-js/widgets/modal-view.js +39 -68
  397. package/src/platform-implementation-js/widgets/mole-view.js +22 -22
  398. package/src/platform-implementation-js/widgets/top-message-bar-view.js +13 -10
@@ -1,354 +1,185 @@
1
- /* @flow */
2
-
3
- import asap from 'asap';
4
- import { defn, defonce } from 'ud';
5
- import GmailComposeButtonView from './gmail-compose-button-view';
6
- import BasicButtonViewController from '../../../../widgets/buttons/basic-button-view-controller';
7
- import DropdownButtonViewController from '../../../../widgets/buttons/dropdown-button-view-controller';
8
- import GmailDropdownView from '../../widgets/gmail-dropdown-view';
9
- import insertElementInOrder from '../../../../lib/dom/insert-element-in-order';
10
- import { simulateClick } from '../../../../lib/dom/simulate-mouse-event';
11
- import waitFor from '../../../../lib/wait-for';
12
- import Logger from '../../../../lib/logger';
13
- import querySelector from '../../../../lib/dom/querySelectorOrFail';
14
- import censorHTMLtree from '../../../../../common/censorHTMLtree';
15
- import positionFormattingToolbar from './position-formatting-toolbar';
16
- import type GmailComposeView from '../gmail-compose-view';
17
- import get from '../../../../../common/get-or-fail';
18
-
19
- const memberMap = defonce(module, () => new Map());
20
-
21
- export default defn(
22
- module,
23
- function manageButtonGrouping(gmailComposeView: GmailComposeView) {
24
- if (
25
- gmailComposeView
26
- .getElement()
27
- .getAttribute('data-button-grouping-managed') === 'true'
28
- ) {
29
- return;
30
- }
31
-
32
- var members = {};
33
- memberMap.set(gmailComposeView, members);
34
-
35
- gmailComposeView
36
- .getElement()
37
- .setAttribute('data-button-grouping-managed', 'true');
38
-
39
- gmailComposeView
40
- .getEventStream()
41
- .filter((event) => event.eventName === 'fullscreenChanged')
42
- .debounce(10)
43
- .onValue(() => {
44
- _handleComposeFullscreenStateChanged(gmailComposeView);
45
- });
46
-
47
- gmailComposeView
48
- .getEventStream()
49
- .filter(function (event) {
50
- return event.eventName === 'buttonAdded';
51
- })
52
- .onValue(() => {
53
- _handleButtonAdded(gmailComposeView);
54
- });
55
-
56
- gmailComposeView
57
- .getEventStream()
58
- .filter(
59
- (event) =>
60
- event.eventName === 'resize' || event.eventName === 'restored'
61
- )
62
- .onValue(() => {
63
- _handleButtonAdded(gmailComposeView);
64
- });
65
-
66
- var el = gmailComposeView.getElement();
67
- gmailComposeView.getStopper().onValue(function () {
68
- memberMap.delete(gmailComposeView);
69
- el.setAttribute('data-button-grouping-managed', 'false');
70
- });
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _asap = _interopRequireDefault(require("asap"));
9
+ var _ud = require("ud");
10
+ var _gmailComposeButtonView = _interopRequireDefault(require("./gmail-compose-button-view"));
11
+ var _basicButtonViewController = _interopRequireDefault(require("../../../../widgets/buttons/basic-button-view-controller"));
12
+ var _dropdownButtonViewController = _interopRequireDefault(require("../../../../widgets/buttons/dropdown-button-view-controller"));
13
+ var _gmailDropdownView = _interopRequireDefault(require("../../widgets/gmail-dropdown-view"));
14
+ var _insertElementInOrder = _interopRequireDefault(require("../../../../lib/dom/insert-element-in-order"));
15
+ var _simulateMouseEvent = require("../../../../lib/dom/simulate-mouse-event");
16
+ var _waitFor = _interopRequireDefault(require("../../../../lib/wait-for"));
17
+ var _logger = _interopRequireDefault(require("../../../../lib/logger"));
18
+ var _querySelectorOrFail = _interopRequireDefault(require("../../../../lib/dom/querySelectorOrFail"));
19
+ var _censorHTMLtree = _interopRequireDefault(require("../../../../../common/censorHTMLtree"));
20
+ var _positionFormattingToolbar = _interopRequireDefault(require("./position-formatting-toolbar"));
21
+ var _getOrFail = _interopRequireDefault(require("../../../../../common/get-or-fail"));
22
+ const memberMap = (0, _ud.defonce)(module, () => new Map());
23
+ var _default = (0, _ud.defn)(module, function manageButtonGrouping(gmailComposeView) {
24
+ if (gmailComposeView.getElement().getAttribute('data-button-grouping-managed') === 'true') {
25
+ return;
71
26
  }
72
- );
73
-
27
+ var members = {};
28
+ memberMap.set(gmailComposeView, members);
29
+ gmailComposeView.getElement().setAttribute('data-button-grouping-managed', 'true');
30
+ gmailComposeView.getEventStream().filter(event => event.eventName === 'fullscreenChanged').debounce(10).onValue(() => {
31
+ _handleComposeFullscreenStateChanged(gmailComposeView);
32
+ });
33
+ gmailComposeView.getEventStream().filter(function (event) {
34
+ return event.eventName === 'buttonAdded';
35
+ }).onValue(() => {
36
+ _handleButtonAdded(gmailComposeView);
37
+ });
38
+ gmailComposeView.getEventStream().filter(event => event.eventName === 'resize' || event.eventName === 'restored').onValue(() => {
39
+ _handleButtonAdded(gmailComposeView);
40
+ });
41
+ var el = gmailComposeView.getElement();
42
+ gmailComposeView.getStopper().onValue(function () {
43
+ memberMap.delete(gmailComposeView);
44
+ el.setAttribute('data-button-grouping-managed', 'false');
45
+ });
46
+ });
47
+ exports.default = _default;
74
48
  function _handleComposeFullscreenStateChanged(gmailComposeView) {
75
- if (
76
- gmailComposeView
77
- .getElement()
78
- .querySelector('.inboxsdk__compose_groupedActionToolbar')
79
- ) {
49
+ if (gmailComposeView.getElement().querySelector('.inboxsdk__compose_groupedActionToolbar')) {
80
50
  _ungroupButtons(gmailComposeView);
81
51
  }
82
-
83
52
  _handleButtonAdded(gmailComposeView);
84
53
  }
85
-
86
54
  function _ungroupButtons(gmailComposeView) {
87
- const members = get(memberMap, gmailComposeView);
88
- if (members.groupedToolbarButtonViewController)
89
- members.groupedToolbarButtonViewController.destroy();
90
- if (members.formattingToolbarMutationObserver)
91
- members.formattingToolbarMutationObserver.disconnect();
92
-
93
- const buttonToolbar: ?HTMLElement = (members.groupedActionToolbarContainer
94
- .firstElementChild: any);
95
-
55
+ const members = (0, _getOrFail.default)(memberMap, gmailComposeView);
56
+ if (members.groupedToolbarButtonViewController) members.groupedToolbarButtonViewController.destroy();
57
+ if (members.formattingToolbarMutationObserver) members.formattingToolbarMutationObserver.disconnect();
58
+ const buttonToolbar = members.groupedActionToolbarContainer.firstElementChild;
96
59
  if (buttonToolbar) {
97
60
  _moveNoOverflowButtonsToContainer(gmailComposeView, buttonToolbar);
98
61
  buttonToolbar.remove();
99
-
100
- const composeActionToolbar = querySelector(
101
- gmailComposeView.getElement(),
102
- '.inboxsdk__compose_actionToolbar'
103
- );
62
+ const composeActionToolbar = (0, _querySelectorOrFail.default)(gmailComposeView.getElement(), '.inboxsdk__compose_actionToolbar');
104
63
  composeActionToolbar.innerHTML = '';
105
64
  composeActionToolbar.appendChild(buttonToolbar);
106
65
  }
107
66
  }
108
-
109
- function _handleButtonAdded(gmailComposeView: GmailComposeView) {
67
+ function _handleButtonAdded(gmailComposeView) {
110
68
  _groupButtonsIfNeeded(gmailComposeView);
111
69
  _fixToolbarPosition(gmailComposeView);
112
70
  }
113
-
114
71
  const groupButtonsIfNeededMap = new WeakSet();
115
- function _groupButtonsIfNeeded(gmailComposeView: GmailComposeView) {
72
+ function _groupButtonsIfNeeded(gmailComposeView) {
116
73
  if (groupButtonsIfNeededMap.has(gmailComposeView)) return;
117
-
118
74
  groupButtonsIfNeededMap.add(gmailComposeView);
119
-
120
75
  window.requestAnimationFrame(() => {
121
76
  groupButtonsIfNeededMap.delete(gmailComposeView);
122
-
123
77
  if (gmailComposeView.isDestroyed()) return;
124
-
125
78
  _narrowButtonsIfNeeded(gmailComposeView);
126
-
127
79
  if (_doButtonsNeedToGroup(gmailComposeView)) {
128
- var groupedActionToolbarContainer =
129
- _createGroupedActionToolbarContainer(gmailComposeView);
130
- var groupToggleButtonViewController =
131
- _createGroupToggleButtonViewController(gmailComposeView);
132
-
80
+ var groupedActionToolbarContainer = _createGroupedActionToolbarContainer(gmailComposeView);
81
+ var groupToggleButtonViewController = _createGroupToggleButtonViewController(gmailComposeView);
133
82
  _swapToActionToolbar(gmailComposeView, groupToggleButtonViewController);
134
- _checkAndSetInitialState(
135
- gmailComposeView,
136
- groupToggleButtonViewController
137
- );
138
- _startMonitoringFormattingToolbar(
139
- gmailComposeView,
140
- groupToggleButtonViewController
141
- );
83
+ _checkAndSetInitialState(gmailComposeView, groupToggleButtonViewController);
84
+ _startMonitoringFormattingToolbar(gmailComposeView, groupToggleButtonViewController);
142
85
 
143
86
  // remove narrow buttons class
144
- gmailComposeView
145
- .getElement()
146
- .classList.remove('inboxsdk__compose_narrow_buttons');
87
+ gmailComposeView.getElement().classList.remove('inboxsdk__compose_narrow_buttons');
147
88
 
148
89
  // see if we should narrow buttons again
149
90
  _narrowButtonsIfNeeded(gmailComposeView);
150
-
151
91
  gmailComposeView.getStopper().onValue(function () {
152
- (groupedActionToolbarContainer: any).remove();
92
+ groupedActionToolbarContainer.remove();
153
93
  groupToggleButtonViewController.destroy();
154
94
  });
155
95
  }
156
96
  });
157
97
  }
158
-
159
- function _narrowButtonsIfNeeded(gmailComposeView: GmailComposeView) {
160
- if (
161
- gmailComposeView.getElement().clientWidth >
162
- _getBottomBarTableWidth(gmailComposeView) ||
163
- gmailComposeView.getElement().querySelectorAll('.inboxsdk__composeButton')
164
- .length === 0 ||
165
- gmailComposeView
166
- .getElement()
167
- .classList.contains('inboxsdk__compose_narrow_buttons')
168
- )
169
- return;
170
-
171
- gmailComposeView
172
- .getElement()
173
- .classList.add('inboxsdk__compose_narrow_buttons');
98
+ function _narrowButtonsIfNeeded(gmailComposeView) {
99
+ if (gmailComposeView.getElement().clientWidth > _getBottomBarTableWidth(gmailComposeView) || gmailComposeView.getElement().querySelectorAll('.inboxsdk__composeButton').length === 0 || gmailComposeView.getElement().classList.contains('inboxsdk__compose_narrow_buttons')) return;
100
+ gmailComposeView.getElement().classList.add('inboxsdk__compose_narrow_buttons');
174
101
  //force reflow
175
102
  gmailComposeView.getElement().offsetTop;
176
103
  }
177
-
178
- function _doButtonsNeedToGroup(gmailComposeView: GmailComposeView): boolean {
179
- if (
180
- gmailComposeView
181
- .getElement()
182
- .querySelector('.inboxsdk__compose_groupedActionToolbar')
183
- )
184
- return false;
185
- if (
186
- gmailComposeView
187
- .getElement()
188
- .querySelectorAll('.inboxsdk__composeButton:not([data-no-overflow])')
189
- .length < 2
190
- )
191
- return false;
192
-
193
- return (
194
- _getBottomBarTableWidth(gmailComposeView) >
195
- gmailComposeView.getBottomToolbarContainer().clientWidth
196
- );
104
+ function _doButtonsNeedToGroup(gmailComposeView) {
105
+ if (gmailComposeView.getElement().querySelector('.inboxsdk__compose_groupedActionToolbar')) return false;
106
+ if (gmailComposeView.getElement().querySelectorAll('.inboxsdk__composeButton:not([data-no-overflow])').length < 2) return false;
107
+ return _getBottomBarTableWidth(gmailComposeView) > gmailComposeView.getBottomToolbarContainer().clientWidth;
197
108
  }
198
-
199
- function _getBottomBarTableWidth(gmailComposeView: GmailComposeView): number {
109
+ function _getBottomBarTableWidth(gmailComposeView) {
200
110
  const bottomBarTable = gmailComposeView.getBottomBarTable();
201
-
202
- return Array.from(bottomBarTable.querySelectorAll('.btC > td')).reduce(
203
- (total, el) => total + el.clientWidth,
204
- 0
205
- );
111
+ return Array.from(bottomBarTable.querySelectorAll('.btC > td')).reduce((total, el) => total + el.clientWidth, 0);
206
112
  }
207
-
208
- function _createGroupedActionToolbarContainer(
209
- gmailComposeView: GmailComposeView
210
- ): HTMLElement {
211
- var groupedActionToolbarContainer: HTMLElement =
212
- document.createElement('div');
213
- groupedActionToolbarContainer.classList.add(
214
- 'inboxsdk__compose_groupedActionToolbar'
215
- );
216
- groupedActionToolbarContainer.innerHTML =
217
- '<div class="inboxsdk__compose_groupedActionToolbar_arrow"> </div>';
218
-
219
- get(memberMap, gmailComposeView).groupedActionToolbarContainer =
220
- groupedActionToolbarContainer;
221
-
113
+ function _createGroupedActionToolbarContainer(gmailComposeView) {
114
+ var groupedActionToolbarContainer = document.createElement('div');
115
+ groupedActionToolbarContainer.classList.add('inboxsdk__compose_groupedActionToolbar');
116
+ groupedActionToolbarContainer.innerHTML = '<div class="inboxsdk__compose_groupedActionToolbar_arrow"> </div>';
117
+ (0, _getOrFail.default)(memberMap, gmailComposeView).groupedActionToolbarContainer = groupedActionToolbarContainer;
222
118
  groupedActionToolbarContainer.style.display = 'none';
223
-
224
119
  return groupedActionToolbarContainer;
225
120
  }
226
-
227
- function _createGroupToggleButtonViewController(
228
- gmailComposeView: GmailComposeView
229
- ) {
230
- var members = get(memberMap, gmailComposeView);
231
-
121
+ function _createGroupToggleButtonViewController(gmailComposeView) {
122
+ var members = (0, _getOrFail.default)(memberMap, gmailComposeView);
232
123
  var buttonView = _createGroupToggleButtonView();
233
-
234
- var buttonViewController = new BasicButtonViewController({
124
+ var buttonViewController = new _basicButtonViewController.default({
235
125
  buttonView: buttonView,
236
126
  activateFunction: function () {
237
127
  _toggleGroupButtonToolbar(gmailComposeView, buttonViewController);
238
-
239
128
  if (_isToggleExpanded()) {
240
- get(memberMap, gmailComposeView)
241
- .groupedActionToolbarContainer.querySelectorAll(
242
- '.inboxsdk__composeButton'
243
- )[0]
244
- .focus();
129
+ (0, _getOrFail.default)(memberMap, gmailComposeView).groupedActionToolbarContainer.querySelectorAll('.inboxsdk__composeButton')[0].focus();
245
130
  }
246
- },
131
+ }
247
132
  });
248
-
249
- members.groupedActionToolbarContainer.addEventListener(
250
- 'keydown',
251
- (function (event) {
252
- if (event.which === 27) {
253
- //escape
254
- buttonViewController.activate();
255
-
256
- buttonView.getElement().focus();
257
-
258
- event.preventDefault();
259
- event.stopPropagation();
260
- }
261
- }: any)
262
- );
263
-
264
- get(memberMap, gmailComposeView).groupedToolbarButtonViewController =
265
- buttonViewController;
266
-
133
+ members.groupedActionToolbarContainer.addEventListener('keydown', function (event) {
134
+ if (event.which === 27) {
135
+ //escape
136
+ buttonViewController.activate();
137
+ buttonView.getElement().focus();
138
+ event.preventDefault();
139
+ event.stopPropagation();
140
+ }
141
+ });
142
+ (0, _getOrFail.default)(memberMap, gmailComposeView).groupedToolbarButtonViewController = buttonViewController;
267
143
  return buttonViewController;
268
144
  }
269
-
270
145
  function _createGroupToggleButtonView() {
271
- var buttonView = new GmailComposeButtonView({
146
+ var buttonView = new _gmailComposeButtonView.default({
272
147
  tooltip: 'More Tools',
273
- iconUrl:
274
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAEJGlDQ1BJQ0MgUHJvZmlsZQAAOBGFVd9v21QUPolvUqQWPyBYR4eKxa9VU1u5GxqtxgZJk6XtShal6dgqJOQ6N4mpGwfb6baqT3uBNwb8AUDZAw9IPCENBmJ72fbAtElThyqqSUh76MQPISbtBVXhu3ZiJ1PEXPX6yznfOec7517bRD1fabWaGVWIlquunc8klZOnFpSeTYrSs9RLA9Sr6U4tkcvNEi7BFffO6+EdigjL7ZHu/k72I796i9zRiSJPwG4VHX0Z+AxRzNRrtksUvwf7+Gm3BtzzHPDTNgQCqwKXfZwSeNHHJz1OIT8JjtAq6xWtCLwGPLzYZi+3YV8DGMiT4VVuG7oiZpGzrZJhcs/hL49xtzH/Dy6bdfTsXYNY+5yluWO4D4neK/ZUvok/17X0HPBLsF+vuUlhfwX4j/rSfAJ4H1H0qZJ9dN7nR19frRTeBt4Fe9FwpwtN+2p1MXscGLHR9SXrmMgjONd1ZxKzpBeA71b4tNhj6JGoyFNp4GHgwUp9qplfmnFW5oTdy7NamcwCI49kv6fN5IAHgD+0rbyoBc3SOjczohbyS1drbq6pQdqumllRC/0ymTtej8gpbbuVwpQfyw66dqEZyxZKxtHpJn+tZnpnEdrYBbueF9qQn93S7HQGGHnYP7w6L+YGHNtd1FJitqPAR+hERCNOFi1i1alKO6RQnjKUxL1GNjwlMsiEhcPLYTEiT9ISbN15OY/jx4SMshe9LaJRpTvHr3C/ybFYP1PZAfwfYrPsMBtnE6SwN9ib7AhLwTrBDgUKcm06FSrTfSj187xPdVQWOk5Q8vxAfSiIUc7Z7xr6zY/+hpqwSyv0I0/QMTRb7RMgBxNodTfSPqdraz/sDjzKBrv4zu2+a2t0/HHzjd2Lbcc2sG7GtsL42K+xLfxtUgI7YHqKlqHK8HbCCXgjHT1cAdMlDetv4FnQ2lLasaOl6vmB0CMmwT/IPszSueHQqv6i/qluqF+oF9TfO2qEGTumJH0qfSv9KH0nfS/9TIp0Wboi/SRdlb6RLgU5u++9nyXYe69fYRPdil1o1WufNSdTTsp75BfllPy8/LI8G7AUuV8ek6fkvfDsCfbNDP0dvRh0CrNqTbV7LfEEGDQPJQadBtfGVMWEq3QWWdufk6ZSNsjG2PQjp3ZcnOWWing6noonSInvi0/Ex+IzAreevPhe+CawpgP1/pMTMDo64G0sTCXIM+KdOnFWRfQKdJvQzV1+Bt8OokmrdtY2yhVX2a+qrykJfMq4Ml3VR4cVzTQVz+UoNne4vcKLoyS+gyKO6EHe+75Fdt0Mbe5bRIf/wjvrVmhbqBN97RD1vxrahvBOfOYzoosH9bq94uejSOQGkVM6sN/7HelL4t10t9F4gPdVzydEOx83Gv+uNxo7XyL/FtFl8z9ZAHF4bBsrEwAAADxJREFUOBFjYKASYISa8x/NPJLFmdAMIJs7+Awi2ys000hy7EBdghHLgy+wqeYimgU+2QaPxhrZQUe6RgBYwgkWqJftAwAAAABJRU5ErkJggg==',
148
+ iconUrl: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAEJGlDQ1BJQ0MgUHJvZmlsZQAAOBGFVd9v21QUPolvUqQWPyBYR4eKxa9VU1u5GxqtxgZJk6XtShal6dgqJOQ6N4mpGwfb6baqT3uBNwb8AUDZAw9IPCENBmJ72fbAtElThyqqSUh76MQPISbtBVXhu3ZiJ1PEXPX6yznfOec7517bRD1fabWaGVWIlquunc8klZOnFpSeTYrSs9RLA9Sr6U4tkcvNEi7BFffO6+EdigjL7ZHu/k72I796i9zRiSJPwG4VHX0Z+AxRzNRrtksUvwf7+Gm3BtzzHPDTNgQCqwKXfZwSeNHHJz1OIT8JjtAq6xWtCLwGPLzYZi+3YV8DGMiT4VVuG7oiZpGzrZJhcs/hL49xtzH/Dy6bdfTsXYNY+5yluWO4D4neK/ZUvok/17X0HPBLsF+vuUlhfwX4j/rSfAJ4H1H0qZJ9dN7nR19frRTeBt4Fe9FwpwtN+2p1MXscGLHR9SXrmMgjONd1ZxKzpBeA71b4tNhj6JGoyFNp4GHgwUp9qplfmnFW5oTdy7NamcwCI49kv6fN5IAHgD+0rbyoBc3SOjczohbyS1drbq6pQdqumllRC/0ymTtej8gpbbuVwpQfyw66dqEZyxZKxtHpJn+tZnpnEdrYBbueF9qQn93S7HQGGHnYP7w6L+YGHNtd1FJitqPAR+hERCNOFi1i1alKO6RQnjKUxL1GNjwlMsiEhcPLYTEiT9ISbN15OY/jx4SMshe9LaJRpTvHr3C/ybFYP1PZAfwfYrPsMBtnE6SwN9ib7AhLwTrBDgUKcm06FSrTfSj187xPdVQWOk5Q8vxAfSiIUc7Z7xr6zY/+hpqwSyv0I0/QMTRb7RMgBxNodTfSPqdraz/sDjzKBrv4zu2+a2t0/HHzjd2Lbcc2sG7GtsL42K+xLfxtUgI7YHqKlqHK8HbCCXgjHT1cAdMlDetv4FnQ2lLasaOl6vmB0CMmwT/IPszSueHQqv6i/qluqF+oF9TfO2qEGTumJH0qfSv9KH0nfS/9TIp0Wboi/SRdlb6RLgU5u++9nyXYe69fYRPdil1o1WufNSdTTsp75BfllPy8/LI8G7AUuV8ek6fkvfDsCfbNDP0dvRh0CrNqTbV7LfEEGDQPJQadBtfGVMWEq3QWWdufk6ZSNsjG2PQjp3ZcnOWWing6noonSInvi0/Ex+IzAreevPhe+CawpgP1/pMTMDo64G0sTCXIM+KdOnFWRfQKdJvQzV1+Bt8OokmrdtY2yhVX2a+qrykJfMq4Ml3VR4cVzTQVz+UoNne4vcKLoyS+gyKO6EHe+75Fdt0Mbe5bRIf/wjvrVmhbqBN97RD1vxrahvBOfOYzoosH9bq94uejSOQGkVM6sN/7HelL4t10t9F4gPdVzydEOx83Gv+uNxo7XyL/FtFl8z9ZAHF4bBsrEwAAADxJREFUOBFjYKASYISa8x/NPJLFmdAMIJs7+Awi2ys000hy7EBdghHLgy+wqeYimgU+2QaPxhrZQUe6RgBYwgkWqJftAwAAAABJRU5ErkJggg=='
275
149
  });
276
-
277
150
  buttonView.addClass('inboxsdk__compose_groupedActionButton');
278
151
  buttonView.getElement().setAttribute('tabindex', '1');
279
-
280
152
  return buttonView;
281
153
  }
282
-
283
154
  function _swapToActionToolbar(gmailComposeView, buttonViewController) {
284
- const actionToolbar = querySelector(
285
- gmailComposeView.getElement(),
286
- '.inboxsdk__compose_actionToolbar > div'
287
- );
288
- const actionToolbarContainer: HTMLElement =
289
- (actionToolbar.parentElement: any);
290
-
155
+ const actionToolbar = (0, _querySelectorOrFail.default)(gmailComposeView.getElement(), '.inboxsdk__compose_actionToolbar > div');
156
+ const actionToolbarContainer = actionToolbar.parentElement;
291
157
  const newActionToolbar = document.createElement('div');
292
158
  newActionToolbar.appendChild(buttonViewController.getView().getElement());
293
-
294
159
  actionToolbarContainer.appendChild(newActionToolbar);
295
- const groupedActionToolbarContainer: HTMLElement = get(
296
- memberMap,
297
- gmailComposeView
298
- ).groupedActionToolbarContainer;
299
- groupedActionToolbarContainer.insertBefore(
300
- actionToolbar,
301
- (groupedActionToolbarContainer.firstElementChild: any)
302
- );
160
+ const groupedActionToolbarContainer = (0, _getOrFail.default)(memberMap, gmailComposeView).groupedActionToolbarContainer;
161
+ groupedActionToolbarContainer.insertBefore(actionToolbar, groupedActionToolbarContainer.firstElementChild);
303
162
  actionToolbarContainer.appendChild(groupedActionToolbarContainer);
304
-
305
163
  _moveNoOverflowButtonsToActionToolbar(gmailComposeView);
306
164
  }
307
-
308
165
  function _moveNoOverflowButtonsToActionToolbar(gmailComposeView) {
309
- const actionToolbar = querySelector(
310
- gmailComposeView.getElement(),
311
- '.inboxsdk__compose_actionToolbar > div'
312
- );
313
-
166
+ const actionToolbar = (0, _querySelectorOrFail.default)(gmailComposeView.getElement(), '.inboxsdk__compose_actionToolbar > div');
314
167
  _moveNoOverflowButtonsToContainer(gmailComposeView, actionToolbar);
315
168
  }
316
-
317
- function _moveNoOverflowButtonsToContainer(
318
- gmailComposeView,
319
- container: HTMLElement
320
- ) {
321
- const noOverflowButtons = gmailComposeView
322
- .getElement()
323
- .querySelectorAll('.inboxsdk__composeButton[data-no-overflow]');
324
-
325
- Array.from(noOverflowButtons).forEach((buttonElement: HTMLElement) =>
326
- insertElementInOrder(container, buttonElement, undefined, true)
327
- );
169
+ function _moveNoOverflowButtonsToContainer(gmailComposeView, container) {
170
+ const noOverflowButtons = gmailComposeView.getElement().querySelectorAll('.inboxsdk__composeButton[data-no-overflow]');
171
+ Array.from(noOverflowButtons).forEach(buttonElement => (0, _insertElementInOrder.default)(container, buttonElement, undefined, true));
328
172
  }
329
-
330
- function _checkAndSetInitialState(
331
- gmailComposeView,
332
- groupToggleButtonViewController
333
- ) {
173
+ function _checkAndSetInitialState(gmailComposeView, groupToggleButtonViewController) {
334
174
  if (_isToggleExpanded()) {
335
- _expandGroupButtonToolbar(
336
- gmailComposeView,
337
- groupToggleButtonViewController
338
- );
175
+ _expandGroupButtonToolbar(gmailComposeView, groupToggleButtonViewController);
339
176
  }
340
177
  }
341
-
342
178
  function _collapseGroupButtonToolbar(gmailComposeView, buttonViewController) {
343
- get(memberMap, gmailComposeView).groupedActionToolbarContainer.style.display =
344
- 'none';
345
- gmailComposeView
346
- .getElement()
347
- .classList.remove('inboxsdk__compose_groupedActionToolbar_visible');
348
-
179
+ (0, _getOrFail.default)(memberMap, gmailComposeView).groupedActionToolbarContainer.style.display = 'none';
180
+ gmailComposeView.getElement().classList.remove('inboxsdk__compose_groupedActionToolbar_visible');
349
181
  buttonViewController.getView().deactivate();
350
182
  localStorage['inboxsdk__compose_groupedActionButton_state'] = 'collapsed';
351
-
352
183
  const bottomToolbarTable = gmailComposeView.getBottomBarTable();
353
184
  bottomToolbarTable.style.position = '';
354
185
 
@@ -356,43 +187,31 @@ function _collapseGroupButtonToolbar(gmailComposeView, buttonViewController) {
356
187
  // in gmail v2 when the body is scrolled Gmail puts a shadow border between the
357
188
  // toolbar and the content. We "jiggle" the scroll position by 1px to trigger Gmails
358
189
  // logic to show/hide the shadow border
359
- const bodyScrollContainer = gmailComposeView
360
- .getElement()
361
- .querySelector('.qz');
190
+ const bodyScrollContainer = gmailComposeView.getElement().querySelector('.qz');
362
191
  if (bodyScrollContainer) {
363
192
  bodyScrollContainer.scrollTop = bodyScrollContainer.scrollTop - 1;
364
193
  }
365
194
  }
366
-
367
195
  function _expandGroupButtonToolbar(gmailComposeView, buttonViewController) {
368
- get(memberMap, gmailComposeView).groupedActionToolbarContainer.style.display =
369
- '';
370
- gmailComposeView
371
- .getElement()
372
- .classList.add('inboxsdk__compose_groupedActionToolbar_visible');
373
-
196
+ (0, _getOrFail.default)(memberMap, gmailComposeView).groupedActionToolbarContainer.style.display = '';
197
+ gmailComposeView.getElement().classList.add('inboxsdk__compose_groupedActionToolbar_visible');
374
198
  buttonViewController.getView().activate();
375
199
  localStorage['inboxsdk__compose_groupedActionButton_state'] = 'expanded';
376
-
377
200
  _positionGroupToolbar(gmailComposeView);
378
-
379
201
  const formattingToolbar = gmailComposeView.getFormattingToolbar();
380
202
  if (formattingToolbar && formattingToolbar.style.display === '') {
381
- simulateClick(gmailComposeView.getFormattingToolbarToggleButton());
203
+ (0, _simulateMouseEvent.simulateClick)(gmailComposeView.getFormattingToolbarToggleButton());
382
204
  }
383
205
 
384
206
  // when expanding the group button this can change how the body is scrolled
385
207
  // in gmail v2 when the body is scrolled Gmail puts a shadow border between the
386
208
  // toolbar and the content. We "jiggle" the scroll position by 1px to trigger Gmails
387
209
  // logic to show/hide the shadow border
388
- const bodyScrollContainer = gmailComposeView
389
- .getElement()
390
- .querySelector('.qz');
210
+ const bodyScrollContainer = gmailComposeView.getElement().querySelector('.qz');
391
211
  if (bodyScrollContainer) {
392
212
  bodyScrollContainer.scrollTop = bodyScrollContainer.scrollTop + 1;
393
213
  }
394
214
  }
395
-
396
215
  function _toggleGroupButtonToolbar(gmailComposeView, buttonViewController) {
397
216
  if (_isToggleExpanded()) {
398
217
  _collapseGroupButtonToolbar(gmailComposeView, buttonViewController);
@@ -400,134 +219,80 @@ function _toggleGroupButtonToolbar(gmailComposeView, buttonViewController) {
400
219
  _expandGroupButtonToolbar(gmailComposeView, buttonViewController);
401
220
  }
402
221
  }
403
-
404
222
  function _isToggleExpanded() {
405
- return (
406
- localStorage['inboxsdk__compose_groupedActionButton_state'] === 'expanded'
407
- );
223
+ return localStorage['inboxsdk__compose_groupedActionButton_state'] === 'expanded';
408
224
  }
409
-
410
225
  const fixToolbarPositionMap = new WeakSet();
411
226
  function _fixToolbarPosition(gmailComposeView) {
412
227
  if (fixToolbarPositionMap.has(gmailComposeView)) return;
413
-
414
228
  fixToolbarPositionMap.add(gmailComposeView);
415
229
  window.requestAnimationFrame(() => {
416
230
  fixToolbarPositionMap.delete(gmailComposeView);
417
231
  if (gmailComposeView.isDestroyed()) return;
418
-
419
- positionFormattingToolbar(gmailComposeView);
420
-
421
- var groupedActionToolbarContainer = gmailComposeView
422
- .getElement()
423
- .querySelector('.inboxsdk__compose_groupedActionToolbar');
232
+ (0, _positionFormattingToolbar.default)(gmailComposeView);
233
+ var groupedActionToolbarContainer = gmailComposeView.getElement().querySelector('.inboxsdk__compose_groupedActionToolbar');
424
234
  if (!groupedActionToolbarContainer) {
425
235
  return;
426
236
  }
427
-
428
237
  if (groupedActionToolbarContainer.style.display === 'none') {
429
238
  return;
430
239
  }
431
240
  _positionGroupToolbar(gmailComposeView);
432
241
  });
433
242
  }
434
-
435
243
  function _positionGroupToolbar(gmailComposeView) {
436
244
  if (gmailComposeView.isMinimized()) {
437
245
  return;
438
246
  }
439
-
440
- var groupedActionToolbarContainer = gmailComposeView
441
- .getElement()
442
- .querySelector('.inboxsdk__compose_groupedActionToolbar');
443
-
247
+ var groupedActionToolbarContainer = gmailComposeView.getElement().querySelector('.inboxsdk__compose_groupedActionToolbar');
444
248
  if (!groupedActionToolbarContainer) {
445
249
  return;
446
250
  }
447
-
448
- const groupedToolbarButton = querySelector(
449
- gmailComposeView.getElement(),
450
- '.inboxsdk__compose_groupedActionButton'
451
- );
452
- const groupedActionToolbarArrow = querySelector(
453
- groupedActionToolbarContainer,
454
- '.inboxsdk__compose_groupedActionToolbar_arrow'
455
- );
456
-
251
+ const groupedToolbarButton = (0, _querySelectorOrFail.default)(gmailComposeView.getElement(), '.inboxsdk__compose_groupedActionButton');
252
+ const groupedActionToolbarArrow = (0, _querySelectorOrFail.default)(groupedActionToolbarContainer, '.inboxsdk__compose_groupedActionToolbar_arrow');
457
253
  groupedActionToolbarContainer.style.display = '';
458
-
459
- if (
460
- groupedToolbarButton.offsetLeft + groupedToolbarButton.clientWidth >
461
- groupedActionToolbarContainer.offsetWidth
462
- ) {
463
- var marginLeft =
464
- groupedToolbarButton.clientWidth / 2 -
465
- groupedActionToolbarContainer.offsetWidth / 2 -
466
- 3;
467
-
468
- groupedActionToolbarContainer.style.left =
469
- groupedToolbarButton.offsetLeft + marginLeft + 'px';
470
-
254
+ if (groupedToolbarButton.offsetLeft + groupedToolbarButton.clientWidth > groupedActionToolbarContainer.offsetWidth) {
255
+ var marginLeft = groupedToolbarButton.clientWidth / 2 - groupedActionToolbarContainer.offsetWidth / 2 - 3;
256
+ groupedActionToolbarContainer.style.left = groupedToolbarButton.offsetLeft + marginLeft + 'px';
471
257
  groupedActionToolbarArrow.style.left = -(marginLeft + 1) + 'px';
472
258
  } else {
473
259
  groupedActionToolbarContainer.style.left = '';
474
- groupedActionToolbarArrow.style.left =
475
- groupedToolbarButton.offsetLeft - 1 + 'px';
260
+ groupedActionToolbarArrow.style.left = groupedToolbarButton.offsetLeft - 1 + 'px';
476
261
  }
477
-
478
262
  const bottomToolbarTable = gmailComposeView.getBottomBarTable();
479
263
  bottomToolbarTable.style.position = 'relative';
480
-
481
264
  const bottomToolbarHeight = gmailComposeView.getBottomBarTable().clientHeight;
482
265
  groupedActionToolbarContainer.style.bottom = `${bottomToolbarHeight + 1}px`;
483
266
  if (bottomToolbarHeight < 1) {
484
267
  const heElements = gmailComposeView.getElement().querySelectorAll('td.HE');
485
- Logger.error(new Error('bottom toolbar had bad height'), {
268
+ _logger.default.error(new Error('bottom toolbar had bad height'), {
486
269
  bottomToolbarHeight,
487
- heElementHeights: Array.from(heElements).map((el) => el.clientHeight),
488
- heElementsHTML: Array.from(heElements).map(censorHTMLtree),
270
+ heElementHeights: Array.from(heElements).map(el => el.clientHeight),
271
+ heElementsHTML: Array.from(heElements).map(_censorHTMLtree.default)
489
272
  });
490
273
  }
491
274
  }
492
-
493
- function _startMonitoringFormattingToolbar(
494
- gmailComposeView,
495
- groupToggleButtonViewController
496
- ) {
497
- waitFor(function () {
275
+ function _startMonitoringFormattingToolbar(gmailComposeView, groupToggleButtonViewController) {
276
+ (0, _waitFor.default)(function () {
498
277
  if (gmailComposeView.isDestroyed()) throw 'skip';
499
-
500
278
  return gmailComposeView.getFormattingToolbar();
501
- })
502
- .then((formattingToolbar) => {
503
- const mutationObserver = new MutationObserver(function (mutations) {
504
- const target = mutations[0].target;
505
- if (
506
- target instanceof HTMLElement &&
507
- target.style.display === '' &&
508
- localStorage['inboxsdk__compose_groupedActionButton_state'] ===
509
- 'expanded'
510
- ) {
511
- groupToggleButtonViewController.activate();
512
- }
513
- });
514
-
515
- mutationObserver.observe(formattingToolbar, {
516
- attributes: true,
517
- attributeFilter: ['style'],
518
- });
519
-
520
- get(memberMap, gmailComposeView).formattingToolbarMutationObserver =
521
- mutationObserver;
522
-
523
- gmailComposeView
524
- .getStopper()
525
- .onValue(() => mutationObserver.disconnect());
526
- })
527
- .catch((err) => {
528
- if (err !== 'skip') {
529
- Logger.error(err);
530
- throw err;
279
+ }).then(formattingToolbar => {
280
+ const mutationObserver = new MutationObserver(function (mutations) {
281
+ const target = mutations[0].target;
282
+ if (target instanceof HTMLElement && target.style.display === '' && localStorage['inboxsdk__compose_groupedActionButton_state'] === 'expanded') {
283
+ groupToggleButtonViewController.activate();
531
284
  }
532
285
  });
533
- }
286
+ mutationObserver.observe(formattingToolbar, {
287
+ attributes: true,
288
+ attributeFilter: ['style']
289
+ });
290
+ (0, _getOrFail.default)(memberMap, gmailComposeView).formattingToolbarMutationObserver = mutationObserver;
291
+ gmailComposeView.getStopper().onValue(() => mutationObserver.disconnect());
292
+ }).catch(err => {
293
+ if (err !== 'skip') {
294
+ _logger.default.error(err);
295
+ throw err;
296
+ }
297
+ });
298
+ }