@inboxsdk/core 1.2.4 → 1.2.7

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 (332) hide show
  1. package/inboxsdk.js +4474 -463
  2. package/inboxsdk.js.map +1 -1
  3. package/package.json +1 -1
  4. package/pageWorld.js +1 -1
  5. package/pageWorld.js.map +1 -1
  6. package/src/common/load-script.d.ts +0 -6
  7. package/src/common/load-script.d.ts.map +1 -1
  8. package/src/inboxsdk-js/loading/platform-implementation-loader.d.ts.map +1 -1
  9. package/src/inboxsdk.d.ts +29 -0
  10. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.d.ts +2 -2
  11. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.d.ts.map +1 -1
  12. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts +6 -1
  13. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts.map +1 -1
  14. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts +2 -2
  15. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts.map +1 -1
  16. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts +5 -0
  17. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts.map +1 -1
  18. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.d.ts +13 -5
  19. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.d.ts.map +1 -1
  20. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts +1 -1
  21. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts.map +1 -1
  22. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.d.ts.map +1 -1
  23. package/src/platform-implementation-js/namespaces/conversations.d.ts +7 -0
  24. package/src/platform-implementation-js/namespaces/conversations.d.ts.map +1 -1
  25. package/src/platform-implementation-js/namespaces/nav-menu.d.ts +4 -2
  26. package/src/platform-implementation-js/namespaces/nav-menu.d.ts.map +1 -1
  27. package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts +12 -5
  28. package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts.map +1 -1
  29. package/src/platform-implementation-js/views/native-nav-item-view.d.ts +2 -1
  30. package/src/platform-implementation-js/views/native-nav-item-view.d.ts.map +1 -1
  31. package/src/build/exec.js +0 -26
  32. package/src/build/spawn.js +0 -17
  33. package/src/common/ajax.js +0 -90
  34. package/src/common/cachebust-url.js +0 -10
  35. package/src/common/censorHTMLstring.js +0 -37
  36. package/src/common/censorHTMLtree.js +0 -28
  37. package/src/common/censorJSONTree.js +0 -15
  38. package/src/common/connectivity-test.js +0 -21
  39. package/src/common/defer.js +0 -11
  40. package/src/common/find-parent.js +0 -10
  41. package/src/common/get-extension-id.js +0 -7
  42. package/src/common/get-or-fail.js +0 -8
  43. package/src/common/get-session-id.js +0 -14
  44. package/src/common/get-stack-trace.js +0 -6
  45. package/src/common/html-to-text.js +0 -7
  46. package/src/common/isElementVisible.js +0 -6
  47. package/src/common/load-script.js +0 -128
  48. package/src/common/log-error.js +0 -185
  49. package/src/common/quoted-split.js +0 -18
  50. package/src/common/rate-limit-queuer.js +0 -57
  51. package/src/common/rate-limit.js +0 -14
  52. package/src/common/version.js +0 -8
  53. package/src/inboxsdk-js/header.js +0 -19
  54. package/src/inboxsdk-js/inboxsdk-NONREMOTE-INTEGRATED-PAGEWORLD.js +0 -4
  55. package/src/inboxsdk-js/inboxsdk-NONREMOTE.js +0 -4
  56. package/src/inboxsdk-js/inboxsdk-REMOTE.js +0 -2
  57. package/src/inboxsdk-js/inboxsdk-TEST.js +0 -5
  58. package/src/inboxsdk-js/inboxsdk.js +0 -23
  59. package/src/inboxsdk-js/loading/load-platform-implementation-DEV.js +0 -14
  60. package/src/inboxsdk-js/loading/platform-implementation-loader.js +0 -31
  61. package/src/injected-js/gmail/constants.js +0 -2
  62. package/src/injected-js/gmail/modify-suggestions.js +0 -106
  63. package/src/injected-js/gmail/setup-gmail-interceptor.js +0 -936
  64. package/src/injected-js/gmail/setup-gmonkey-handler.js +0 -49
  65. package/src/injected-js/gmail/sync-compose-processor-20220909.js +0 -298
  66. package/src/injected-js/gmail/sync-compose-processor.js +0 -55
  67. package/src/injected-js/gmail/sync-compose-request-processor.js +0 -109
  68. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +0 -71
  69. package/src/injected-js/gmail/thread-identifier/index.js +0 -133
  70. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +0 -61
  71. package/src/injected-js/injected-logger.js +0 -50
  72. package/src/injected-js/main.js +0 -49
  73. package/src/injected-js/message-metadata-holder.js +0 -103
  74. package/src/injected-js/setup-data-exposer.js +0 -135
  75. package/src/injected-js/setup-error-silencer.js +0 -15
  76. package/src/injected-js/setup-event-reemitter.js +0 -47
  77. package/src/injected-js/setupCustomViewEventAssassin.js +0 -90
  78. package/src/injected-js/setupInboxCustomViewLinkFixer.js +0 -24
  79. package/src/injected-js/setupPushStateListener.js +0 -14
  80. package/src/injected-js/xhr-helper.js +0 -43
  81. package/src/injected-js/xhr-proxy-factory.js +0 -537
  82. package/src/platform-implementation-js/constants/nav-item-types.js +0 -19
  83. package/src/platform-implementation-js/constants/router.js +0 -60
  84. package/src/platform-implementation-js/constants/toolbars.js +0 -5
  85. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.js +0 -158
  86. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.js +0 -20
  87. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.js +0 -38
  88. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.js +0 -98
  89. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-support-item.js +0 -4
  90. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +0 -14
  91. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.js +0 -60
  92. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/encodeDraftUrlId.js +0 -8
  93. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.js +0 -47
  94. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.js +0 -31
  95. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-message-id.js +0 -12
  96. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-thread-id.js +0 -33
  97. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +0 -22
  98. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +0 -18
  99. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +0 -57
  100. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +0 -40
  101. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +0 -55
  102. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.js +0 -14
  103. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.js +0 -177
  104. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.js +0 -17
  105. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.js +0 -44
  106. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.js +0 -49
  107. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.js +0 -18
  108. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.js +0 -138
  109. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.js +0 -112
  110. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +0 -152
  111. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.js +0 -21
  112. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.js +0 -48
  113. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +0 -357
  114. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.js +0 -19
  115. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.js +0 -36
  116. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.js +0 -36
  117. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +0 -85
  118. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +0 -142
  119. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.js +0 -115
  120. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +0 -50
  121. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +0 -723
  122. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/get-main-content-element-changed-stream.js +0 -38
  123. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/wait-for-gmail-mode-to-settle.js +0 -12
  124. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.js +0 -264
  125. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.js +0 -201
  126. package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.js +0 -532
  127. package/src/platform-implementation-js/dom-driver/gmail/gmail-sync-response-processor.js +0 -300
  128. package/src/platform-implementation-js/dom-driver/gmail/is-compose-titlebar-light-color.js +0 -21
  129. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +0 -92
  130. package/src/platform-implementation-js/dom-driver/gmail/makePageParserTree.js +0 -28
  131. package/src/platform-implementation-js/dom-driver/gmail/pageParserOptions.js +0 -19
  132. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.js +0 -129
  133. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +0 -80
  134. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +0 -23
  135. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +0 -26
  136. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.js +0 -16
  137. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +0 -723
  138. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +0 -24
  139. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +0 -172
  140. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +0 -106
  141. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +0 -328
  142. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.js +0 -22
  143. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +0 -720
  144. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +0 -135
  145. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +0 -50
  146. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +0 -65
  147. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.js +0 -101
  148. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +0 -66
  149. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/detectClassicRecipientsArea.js +0 -38
  150. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +0 -10
  151. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +0 -14
  152. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +0 -13
  153. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +0 -60
  154. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +0 -54
  155. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +0 -98
  156. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.js +0 -28
  157. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +0 -13
  158. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +0 -18
  159. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +0 -16
  160. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.js +0 -22
  161. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +0 -23
  162. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.js +0 -233
  163. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +0 -19
  164. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +0 -355
  165. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +0 -21
  166. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +0 -63
  167. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/page-parser.js +0 -223
  168. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +0 -19
  169. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/set-recipients.js +0 -157
  170. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/setupLinkPopovers.js +0 -109
  171. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +0 -123
  172. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +0 -16
  173. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +0 -1542
  174. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.js +0 -4
  175. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +0 -75
  176. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +0 -737
  177. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.js +0 -763
  178. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +0 -103
  179. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +0 -508
  180. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +0 -236
  181. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-support-item-view.js +0 -84
  182. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +0 -986
  183. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +0 -26
  184. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +0 -658
  185. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +0 -459
  186. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +0 -265
  187. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-color-classes.js +0 -33
  188. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.js +0 -325
  189. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.js +0 -61
  190. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.js +0 -58
  191. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +0 -23
  192. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.js +0 -101
  193. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-dropdown-button-view.js +0 -30
  194. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-parent-accessory-button-view.js +0 -10
  195. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +0 -42
  196. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.js +0 -22
  197. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +0 -112
  198. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.js +0 -122
  199. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +0 -194
  200. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +0 -352
  201. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.js +0 -76
  202. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +0 -57
  203. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +0 -291
  204. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +0 -28
  205. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +0 -46
  206. package/src/platform-implementation-js/driver-common/getAccountUrlPart.js +0 -17
  207. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +0 -17
  208. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +0 -44
  209. package/src/platform-implementation-js/driver-common/getOriginalMessagePage.js +0 -33
  210. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +0 -18
  211. package/src/platform-implementation-js/driver-common/getSyncThreadsForSearch.js +0 -49
  212. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +0 -13
  213. package/src/platform-implementation-js/driver-common/gmailAjax.js +0 -65
  214. package/src/platform-implementation-js/driver-common/inboxAjax.js +0 -5
  215. package/src/platform-implementation-js/driver-common/render-custom-icon.js +0 -16
  216. package/src/platform-implementation-js/driver-common/requestGmailThread.js +0 -24
  217. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +0 -245
  218. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +0 -144
  219. package/src/platform-implementation-js/driver-common/sidebar/constants.js +0 -26
  220. package/src/platform-implementation-js/driver-common/update-icon.js +0 -90
  221. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +0 -1
  222. package/src/platform-implementation-js/driver-interfaces/driver.js +0 -1
  223. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +0 -1
  224. package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +0 -1
  225. package/src/platform-implementation-js/lib/ErrorCollector.js +0 -47
  226. package/src/platform-implementation-js/lib/Membrane.js +0 -22
  227. package/src/platform-implementation-js/lib/ScrollableContainByScreen.js +0 -30
  228. package/src/platform-implementation-js/lib/attemptWithRetries.js +0 -16
  229. package/src/platform-implementation-js/lib/common-page-communicator.js +0 -137
  230. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +0 -35
  231. package/src/platform-implementation-js/lib/css-selector-escape.js +0 -6
  232. package/src/platform-implementation-js/lib/delay-asap.js +0 -10
  233. package/src/platform-implementation-js/lib/delay-idle.js +0 -16
  234. package/src/platform-implementation-js/lib/dom/block-and-reemit-keyboard-events.js +0 -36
  235. package/src/platform-implementation-js/lib/dom/custom-events.js +0 -5
  236. package/src/platform-implementation-js/lib/dom/element-view-mapper.js +0 -9
  237. package/src/platform-implementation-js/lib/dom/generic-button-view.js +0 -39
  238. package/src/platform-implementation-js/lib/dom/get-insert-before-element.js +0 -39
  239. package/src/platform-implementation-js/lib/dom/get-selection.js +0 -30
  240. package/src/platform-implementation-js/lib/dom/insert-element-in-order.js +0 -38
  241. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +0 -83
  242. package/src/platform-implementation-js/lib/dom/is-node-in-range.js +0 -12
  243. package/src/platform-implementation-js/lib/dom/keyboard-shortcut-stream.js +0 -12
  244. package/src/platform-implementation-js/lib/dom/make-element-child-stream.js +0 -79
  245. package/src/platform-implementation-js/lib/dom/make-element-stream-merger.js +0 -27
  246. package/src/platform-implementation-js/lib/dom/make-element-view-stream.js +0 -15
  247. package/src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.js +0 -15
  248. package/src/platform-implementation-js/lib/dom/make-mutation-observer-stream.js +0 -5
  249. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.js +0 -8
  250. package/src/platform-implementation-js/lib/dom/outsideClicksAndEscape.js +0 -38
  251. package/src/platform-implementation-js/lib/dom/parentNodes.js +0 -8
  252. package/src/platform-implementation-js/lib/dom/querySelectorOrFail.js +0 -6
  253. package/src/platform-implementation-js/lib/dom/reemitClickEventForReact.js +0 -22
  254. package/src/platform-implementation-js/lib/dom/set-css.js +0 -20
  255. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +0 -88
  256. package/src/platform-implementation-js/lib/dom/simulate-key.js +0 -46
  257. package/src/platform-implementation-js/lib/dom/simulate-mouse-event.js +0 -16
  258. package/src/platform-implementation-js/lib/dom/trigger-relay-event.js +0 -7
  259. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.js +0 -25
  260. package/src/platform-implementation-js/lib/fake-window-resize.js +0 -5
  261. package/src/platform-implementation-js/lib/from-event-target-capture.js +0 -12
  262. package/src/platform-implementation-js/lib/fromEventsWithOptions.js +0 -10
  263. package/src/platform-implementation-js/lib/handle-compose-link-chips.js +0 -124
  264. package/src/platform-implementation-js/lib/handler-registry.js +0 -67
  265. package/src/platform-implementation-js/lib/idMap.js +0 -40
  266. package/src/platform-implementation-js/lib/imageRequest.js +0 -8
  267. package/src/platform-implementation-js/lib/incrementName.js +0 -7
  268. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.js +0 -8
  269. package/src/platform-implementation-js/lib/inject-script.js +0 -33
  270. package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +0 -44
  271. package/src/platform-implementation-js/lib/is-valid-app-id.js +0 -27
  272. package/src/platform-implementation-js/lib/is-valid-email.js +0 -14
  273. package/src/platform-implementation-js/lib/isNotNil.js +0 -5
  274. package/src/platform-implementation-js/lib/isStreakAppId.js +0 -11
  275. package/src/platform-implementation-js/lib/logger.js +0 -439
  276. package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +0 -10
  277. package/src/platform-implementation-js/lib/persistent-queue.js +0 -107
  278. package/src/platform-implementation-js/lib/populateRouteID.js +0 -17
  279. package/src/platform-implementation-js/lib/react/ElementContainer.js +0 -26
  280. package/src/platform-implementation-js/lib/routeIDmatchesHash.js +0 -8
  281. package/src/platform-implementation-js/lib/safe-event-emitter.js +0 -16
  282. package/src/platform-implementation-js/lib/stopper-pool.js +0 -41
  283. package/src/platform-implementation-js/lib/stream-wait-for.js +0 -30
  284. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +0 -12
  285. package/src/platform-implementation-js/lib/toLiveSet.js +0 -22
  286. package/src/platform-implementation-js/lib/wait-for.js +0 -38
  287. package/src/platform-implementation-js/lib/waitForAsync.js +0 -18
  288. package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +0 -5
  289. package/src/platform-implementation-js/main.js +0 -42
  290. package/src/platform-implementation-js/namespaces/app-menu.js +0 -81
  291. package/src/platform-implementation-js/namespaces/butter-bar.js +0 -163
  292. package/src/platform-implementation-js/namespaces/compose.js +0 -59
  293. package/src/platform-implementation-js/namespaces/conversations.js +0 -83
  294. package/src/platform-implementation-js/namespaces/global.js +0 -30
  295. package/src/platform-implementation-js/namespaces/keyboard.js +0 -30
  296. package/src/platform-implementation-js/namespaces/lists.js +0 -40
  297. package/src/platform-implementation-js/namespaces/modal.js +0 -43
  298. package/src/platform-implementation-js/namespaces/nav-menu.js +0 -33
  299. package/src/platform-implementation-js/namespaces/router.js +0 -139
  300. package/src/platform-implementation-js/namespaces/search.js +0 -29
  301. package/src/platform-implementation-js/namespaces/toolbars.js +0 -147
  302. package/src/platform-implementation-js/namespaces/user.js +0 -57
  303. package/src/platform-implementation-js/namespaces/widgets.js +0 -73
  304. package/src/platform-implementation-js/platform-implementation.js +0 -178
  305. package/src/platform-implementation-js/views/SimpleElementView.js +0 -16
  306. package/src/platform-implementation-js/views/app-menu-item-view.js +0 -442
  307. package/src/platform-implementation-js/views/app-toolbar-button-view.js +0 -43
  308. package/src/platform-implementation-js/views/collapsible-panel-view.js +0 -256
  309. package/src/platform-implementation-js/views/collapsible-section-view.js +0 -63
  310. package/src/platform-implementation-js/views/compose-button-view.js +0 -45
  311. package/src/platform-implementation-js/views/compose-view.js +0 -310
  312. package/src/platform-implementation-js/views/content-panel-view.js +0 -36
  313. package/src/platform-implementation-js/views/conversations/attachment-card-view.js +0 -41
  314. package/src/platform-implementation-js/views/conversations/custom-message-view.js +0 -117
  315. package/src/platform-implementation-js/views/conversations/message-view.js +0 -203
  316. package/src/platform-implementation-js/views/conversations/thread-view.js +0 -97
  317. package/src/platform-implementation-js/views/keyboard-shortcut-handle.js +0 -14
  318. package/src/platform-implementation-js/views/native-nav-item-view.js +0 -60
  319. package/src/platform-implementation-js/views/nav-item-view.js +0 -130
  320. package/src/platform-implementation-js/views/route-view/custom-route-view.js +0 -25
  321. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +0 -29
  322. package/src/platform-implementation-js/views/route-view/list-route-view.js +0 -46
  323. package/src/platform-implementation-js/views/route-view/route-view.js +0 -47
  324. package/src/platform-implementation-js/views/section-view.js +0 -60
  325. package/src/platform-implementation-js/views/thread-row-view.js +0 -90
  326. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.js +0 -39
  327. package/src/platform-implementation-js/widgets/buttons/dropdown-button-view-controller.js +0 -98
  328. package/src/platform-implementation-js/widgets/buttons/dropdown-view.js +0 -121
  329. package/src/platform-implementation-js/widgets/drawer-view.js +0 -46
  330. package/src/platform-implementation-js/widgets/modal-view.js +0 -108
  331. package/src/platform-implementation-js/widgets/mole-view.js +0 -38
  332. package/src/platform-implementation-js/widgets/top-message-bar-view.js +0 -15
@@ -1,459 +0,0 @@
1
- import escape from 'lodash/escape';
2
- import asap from 'asap';
3
- import * as Kefir from 'kefir';
4
- import kefirStopper from 'kefir-stopper';
5
- import streamWaitFor from '../../../lib/stream-wait-for';
6
- import makeMutationObserverStream from '../../../lib/dom/make-mutation-observer-stream';
7
- import insertElementInOrder from '../../../lib/dom/insert-element-in-order';
8
- import isElementVisible from '../../../../common/isElementVisible';
9
- import GmailElementGetter from '../gmail-element-getter';
10
- import ButtonView from '../widgets/buttons/button-view';
11
- import GmailDropdownView from '../widgets/gmail-dropdown-view';
12
- import BasicButtonViewController from '../../../widgets/buttons/basic-button-view-controller';
13
- import DropdownButtonViewController from '../../../widgets/buttons/dropdown-button-view-controller';
14
- import GmailThreadView from './gmail-thread-view';
15
- import GmailRowListView from './gmail-row-list-view';
16
- import { SECTION_NAMES } from '../../../constants/toolbars';
17
- import Logger from '../../../lib/logger';
18
- class GmailToolbarView {
19
- _element;
20
- _driver;
21
- _ready;
22
- _stopper;
23
- _routeViewDriver;
24
- _buttonViewControllers = new Set();
25
- _moreMenuItems = [];
26
- _toolbarState;
27
- _threadViewDriver;
28
- _rowListViewDriver;
29
- _isUpdateButtonClassesScheduled = false;
30
- _moreMenuItemsContainer = null;
31
- constructor(element, driver, routeViewDriver, parent) {
32
- // Important: Multiple GmailToolbarViews will be created for the same
33
- // toolbar element in preview pane mode! When a GmailToolbarView is
34
- // created, it adds some attributes to the element corresponding to the
35
- // GmailToolbarView's type. When addButton is called, the buttons get the
36
- // same attributes as the GmailToolbarView added. CSS rules are used to
37
- // hide the buttons with attributes that don't currently match the toolbar
38
- // element.
39
- this._element = element;
40
- this._driver = driver;
41
- this._stopper = kefirStopper();
42
- this._routeViewDriver = routeViewDriver;
43
- if (this._getMoveSectionElement()) {
44
- this._ready = Kefir.constant(this);
45
- }
46
- else {
47
- this._ready = streamWaitFor(() => !!this._getMoveSectionElement())
48
- .takeUntilBy(this._stopper)
49
- .map(() => this)
50
- .toProperty();
51
- }
52
- this._ready.onValue(() => {
53
- this._startMonitoringMoreMenu();
54
- this._determineToolbarState();
55
- this._determineToolbarIconMode();
56
- this._setupToolbarStateMonitoring();
57
- });
58
- if (parent instanceof GmailThreadView) {
59
- this._threadViewDriver = parent;
60
- this._ready.onValue(() => {
61
- this._element.setAttribute('data-thread-toolbar', 'true');
62
- });
63
- }
64
- else if (parent instanceof GmailRowListView) {
65
- this._rowListViewDriver = parent;
66
- this._ready.onValue(() => {
67
- this._element.setAttribute('data-rowlist-toolbar', 'true');
68
- });
69
- }
70
- else {
71
- throw new Error('Invalid parent');
72
- }
73
- }
74
- getStopper() {
75
- return this._stopper;
76
- }
77
- getElement() {
78
- return this._element;
79
- }
80
- getRouteViewDriver() {
81
- return this._routeViewDriver;
82
- }
83
- getThreadViewDriver() {
84
- return this._threadViewDriver;
85
- }
86
- isForRowList() {
87
- return this._rowListViewDriver != null;
88
- }
89
- isForThread() {
90
- return this._threadViewDriver != null;
91
- }
92
- getThreadRowViewDrivers() {
93
- if (!this._rowListViewDriver) {
94
- console.error('missing this._rowListViewDriver');
95
- return new Set();
96
- }
97
- return this._rowListViewDriver.getThreadRowViewDrivers();
98
- }
99
- addButton(buttonDescriptor, id) {
100
- const buttonStopper = kefirStopper();
101
- this._stopper.takeUntilBy(buttonStopper).onValue(() => {
102
- buttonStopper.destroy();
103
- });
104
- const toolbarSections = SECTION_NAMES;
105
- this._ready.takeUntilBy(buttonStopper).onValue(() => {
106
- if (buttonDescriptor.section === toolbarSections.OTHER) {
107
- const entry = {
108
- buttonDescriptor,
109
- };
110
- this._moreMenuItems.push(entry);
111
- this._addToOpenMoreMenu(buttonDescriptor);
112
- buttonStopper.onValue(() => {
113
- this._moreMenuItems = this._moreMenuItems.filter((_entry) => _entry !== entry);
114
- this._addMoreItems();
115
- });
116
- }
117
- else {
118
- const sectionElement = this._getSectionElement(buttonDescriptor.section, toolbarSections);
119
- if (sectionElement) {
120
- const buttonViewController = this._createButtonViewController(buttonDescriptor);
121
- this._buttonViewControllers.add(buttonViewController);
122
- buttonStopper.onValue(() => {
123
- this._buttonViewControllers.delete(buttonViewController);
124
- buttonViewController.destroy();
125
- });
126
- // Debugging code to track our duplicate toolbar button issue.
127
- buttonViewController.getView().getElement().__addButton_ownedByExtension = true;
128
- buttonViewController
129
- .getView()
130
- .getElement()
131
- .setAttribute('data-add-button-debug', JSON.stringify({
132
- id,
133
- title: buttonDescriptor.title,
134
- hasThreadViewDriver: this.isForThread(),
135
- hasRowListViewDriver: this.isForRowList(),
136
- }));
137
- buttonViewController
138
- .getView()
139
- .getElement()
140
- .setAttribute('data-order-hint', String(buttonDescriptor.orderHint || 0));
141
- insertElementInOrder(sectionElement, buttonViewController.getView().getElement());
142
- Kefir.merge([Kefir.constant(-1), Kefir.later(1000, 1000)])
143
- .map((delay) => {
144
- const duplicates = Array.from(sectionElement.children)
145
- .filter((el) => buttonViewController
146
- .getView()
147
- .getElement()
148
- .getAttribute('data-rowlist-toolbar') ===
149
- el.getAttribute('data-rowlist-toolbar') &&
150
- buttonViewController
151
- .getView()
152
- .getElement()
153
- .getAttribute('data-toolbar-expanded') ===
154
- el.getAttribute('data-toolbar-expanded'))
155
- .filter((el) => el.hasAttribute('data-add-button-debug'))
156
- .map((el) => Object.assign({
157
- ownedByExtension: !!el
158
- .__addButton_ownedByExtension,
159
- }, JSON.parse(el.getAttribute('data-add-button-debug') || 'null')))
160
- .filter(({ title }) => title === buttonDescriptor.title);
161
- return {
162
- delay,
163
- duplicates,
164
- };
165
- })
166
- .filter(({ duplicates }) => duplicates.length > 1)
167
- .take(1)
168
- .takeUntilBy(this._stopper)
169
- .onValue(({ delay, duplicates }) => {
170
- Logger.error(new Error('Duplicate toolbar button'), {
171
- delay,
172
- duplicates,
173
- dataThreadToolbar: this._element.getAttribute('data-thread-toolbar'),
174
- dataRowlistToolbar: this._element.getAttribute('data-rowlist-toolbar'),
175
- });
176
- });
177
- this._updateButtonClasses(this._element);
178
- buttonViewController
179
- .getView()
180
- .setEnabled(this._toolbarState === 'EXPANDED');
181
- }
182
- }
183
- });
184
- return {
185
- getStopper: () => buttonStopper,
186
- destroy: () => {
187
- buttonStopper.destroy();
188
- },
189
- };
190
- }
191
- waitForReady() {
192
- return this._ready;
193
- }
194
- _createButtonViewController(buttonDescriptor) {
195
- const buttonView = this._getButtonView(buttonDescriptor);
196
- buttonDescriptor.buttonView = buttonView;
197
- let buttonViewController = null;
198
- if (buttonDescriptor.hasDropdown) {
199
- buttonViewController = new DropdownButtonViewController({
200
- buttonView: buttonView,
201
- dropdownViewDriverClass: GmailDropdownView,
202
- dropdownShowFunction: buttonDescriptor.onClick,
203
- dropdownPositionOptions: {
204
- position: 'bottom',
205
- hAlign: 'left',
206
- },
207
- });
208
- }
209
- else {
210
- buttonViewController = new BasicButtonViewController(buttonDescriptor);
211
- }
212
- return buttonViewController;
213
- }
214
- _getButtonView(buttonDescriptor) {
215
- const buttonView = new ButtonView({ ...buttonDescriptor, noArrow: true });
216
- if (this._rowListViewDriver) {
217
- buttonView.getElement().setAttribute('data-rowlist-toolbar', 'true');
218
- buttonView.getElement().setAttribute('data-toolbar-expanded', 'true');
219
- }
220
- else if (this._threadViewDriver) {
221
- buttonView.getElement().setAttribute('data-thread-toolbar', 'true');
222
- }
223
- buttonView.getElement().setAttribute('role', 'button');
224
- return buttonView;
225
- }
226
- _startMonitoringMoreMenu() {
227
- const moreButtonElement = this._element.querySelector('.nf[role=button]');
228
- if (!moreButtonElement) {
229
- return;
230
- }
231
- makeMutationObserverStream(moreButtonElement, {
232
- attributes: true,
233
- attributeFilter: ['aria-expanded'],
234
- })
235
- .toProperty(() => null)
236
- .takeUntilBy(this._stopper)
237
- .map(() => moreButtonElement.getAttribute('aria-expanded'))
238
- .onValue((ariaExpanded) => {
239
- if (ariaExpanded !== 'true') {
240
- this._clearMoreItems();
241
- }
242
- else {
243
- this._addMoreItems();
244
- }
245
- });
246
- }
247
- _determineToolbarState() {
248
- const moveSectionElement = this._getMoveSectionElement();
249
- if (!moveSectionElement)
250
- throw new Error('No move section element');
251
- if (moveSectionElement.style.display === 'none') {
252
- this._toolbarState = 'COLLAPSED';
253
- }
254
- else {
255
- this._toolbarState = 'EXPANDED';
256
- }
257
- }
258
- _determineToolbarIconMode() {
259
- const moveSectionElement = this._getMoveSectionElement();
260
- if (!moveSectionElement)
261
- throw new Error('No move section element');
262
- const isIconMode = Array.from(moveSectionElement.querySelectorAll('[role=button]:not(.inboxsdk__button)')).some((buttonElement) => buttonElement.hasAttribute('title') ||
263
- buttonElement.hasAttribute('data-tooltip'));
264
- this._element.setAttribute('data-toolbar-icononly', isIconMode ? 'true' : 'false');
265
- }
266
- _setupToolbarStateMonitoring() {
267
- const moveSectionElement = this._getMoveSectionElement();
268
- if (!moveSectionElement)
269
- throw new Error('No move section element');
270
- makeMutationObserverStream(moveSectionElement, {
271
- attributes: true,
272
- attributeFilter: ['style'],
273
- })
274
- .takeUntilBy(this._stopper)
275
- .onValue((mutation) => {
276
- if (mutation.target instanceof HTMLElement &&
277
- mutation.target.style.display === 'none') {
278
- this._toolbarState = 'COLLAPSED';
279
- }
280
- else {
281
- this._toolbarState = 'EXPANDED';
282
- }
283
- this._updateButtonClasses(this._element);
284
- this._updateButtonEnabledState();
285
- });
286
- }
287
- _getSectionElement(sectionName, toolbarSections) {
288
- switch (sectionName) {
289
- case toolbarSections.INBOX_STATE:
290
- return this._getArchiveSectionElement();
291
- case toolbarSections.METADATA_STATE:
292
- return this._getMoveSectionElement();
293
- default:
294
- return null;
295
- }
296
- }
297
- _getArchiveSectionElement() {
298
- return this._getSectionElementForButtonSelector('.ar9, .aFh, .aFj, .lR, .nN, .nX, .aFk');
299
- }
300
- _getCheckboxSectionElement() {
301
- return this._getSectionElementForButtonSelector('.T-Jo-auh');
302
- }
303
- _getMoveSectionElement() {
304
- return this._getSectionElementForButtonSelector('.asb, .ase, .ns, .mw');
305
- }
306
- _getSectionElementForButtonSelector(buttonSelector) {
307
- const sectionElements = this._element.querySelectorAll('.G-Ni');
308
- for (let ii = 0; ii < sectionElements.length; ii++) {
309
- if (sectionElements[ii].querySelector(buttonSelector)) {
310
- return sectionElements[ii];
311
- }
312
- }
313
- return null;
314
- }
315
- _updateButtonClasses(element) {
316
- if (this._isUpdateButtonClassesScheduled)
317
- return;
318
- this._isUpdateButtonClassesScheduled = true;
319
- asap(() => {
320
- if (this._toolbarState === 'EXPANDED') {
321
- element.setAttribute('data-toolbar-expanded', 'true');
322
- }
323
- else if (this._toolbarState === 'COLLAPSED') {
324
- element.setAttribute('data-toolbar-expanded', 'false');
325
- }
326
- const buttons = element.querySelectorAll('.G-Ni > [role=button]');
327
- Array.prototype.forEach.call(buttons, (button) => {
328
- let current = button;
329
- for (let ii = 0; ii < 100000; ii++) {
330
- if (current.previousElementSibling) {
331
- if (current.previousElementSibling.classList.contains('inboxsdk__button')) {
332
- if (isElementVisible(current.previousElementSibling)) {
333
- button.classList.add('T-I-Js-Gs');
334
- break;
335
- }
336
- else {
337
- current = current.previousElementSibling;
338
- }
339
- }
340
- else {
341
- button.classList.add('T-I-Js-Gs');
342
- break;
343
- }
344
- }
345
- else {
346
- button.classList.remove('T-I-Js-Gs');
347
- break;
348
- }
349
- }
350
- current = button;
351
- for (let ii = 0; ii < 100000; ii++) {
352
- if (current.nextElementSibling) {
353
- if (current.nextElementSibling.classList.contains('inboxsdk__button')) {
354
- if (isElementVisible(current.nextElementSibling)) {
355
- button.classList.add('T-I-Js-IF');
356
- break;
357
- }
358
- else {
359
- current = current.nextElementSibling;
360
- }
361
- }
362
- else {
363
- button.classList.add('T-I-Js-IF');
364
- break;
365
- }
366
- }
367
- else {
368
- button.classList.remove('T-I-Js-IF');
369
- break;
370
- }
371
- }
372
- });
373
- this._isUpdateButtonClassesScheduled = false;
374
- });
375
- }
376
- _updateButtonEnabledState() {
377
- const enabled = this._toolbarState === 'EXPANDED';
378
- this._buttonViewControllers.forEach((buttonViewController) => {
379
- buttonViewController.getView().setEnabled(enabled);
380
- });
381
- }
382
- _addMoreItems() {
383
- this._clearMoreItems();
384
- if (this._toolbarState !== 'EXPANDED') {
385
- return;
386
- }
387
- this._moreMenuItems.forEach((item) => {
388
- this._addToOpenMoreMenu(item.buttonDescriptor);
389
- });
390
- }
391
- _clearMoreItems() {
392
- if (this._moreMenuItemsContainer) {
393
- this._moreMenuItemsContainer.remove();
394
- this._moreMenuItemsContainer = null;
395
- }
396
- }
397
- _addToOpenMoreMenu(buttonDescriptor) {
398
- const moreMenu = GmailElementGetter.getActiveMoreMenu();
399
- if (!moreMenu) {
400
- return;
401
- }
402
- const appDiv = this._getMoreMenuItemsContainer(moreMenu);
403
- const menuItemElement = this._getMoreMenuItemElement(buttonDescriptor);
404
- insertElementInOrder(appDiv, menuItemElement);
405
- }
406
- _getMoreMenuItemsContainer(moreMenu) {
407
- if (this._moreMenuItemsContainer) {
408
- return this._moreMenuItemsContainer;
409
- }
410
- const container = (this._moreMenuItemsContainer =
411
- document.createElement('div'));
412
- container.setAttribute('data-group-order-hint', this._driver.getAppId());
413
- container.innerHTML = '<div class="J-Kh"></div>';
414
- insertElementInOrder(moreMenu, container);
415
- return container;
416
- }
417
- _getMoreMenuItemElement(buttonDescriptor) {
418
- const itemElement = document.createElement('div');
419
- itemElement.setAttribute('class', 'J-N inboxsdk__menuItem');
420
- itemElement.setAttribute('role', 'menuitem');
421
- itemElement.setAttribute('data-order-hint', String(buttonDescriptor.orderHint || 0));
422
- itemElement.innerHTML = [
423
- '<div class="J-N-Jz" style="-webkit-user-select: none;">',
424
- buttonDescriptor.iconUrl
425
- ? '<img class="J-N-JX" src="' +
426
- escape(buttonDescriptor.iconUrl) +
427
- '" />'
428
- : '',
429
- buttonDescriptor.iconClass
430
- ? '<span class="inboxsdk__icon J-N-JX ' +
431
- escape(buttonDescriptor.iconClass) +
432
- '"></span>'
433
- : '',
434
- escape(buttonDescriptor.title),
435
- '</div>',
436
- ].join('');
437
- itemElement.addEventListener('mouseenter', () => itemElement.classList.add('J-N-JT'));
438
- itemElement.addEventListener('mouseleave', () => itemElement.classList.remove('J-N-JT'));
439
- itemElement.addEventListener('click', () => {
440
- if (buttonDescriptor.onClick) {
441
- buttonDescriptor.onClick({});
442
- }
443
- });
444
- return itemElement;
445
- }
446
- destroy() {
447
- const element = this._element;
448
- if (this._threadViewDriver) {
449
- this._element.removeAttribute('data-thread-toolbar');
450
- }
451
- else if (this._rowListViewDriver) {
452
- this._element.removeAttribute('data-rowlist-toolbar');
453
- }
454
- this._clearMoreItems();
455
- this._stopper.destroy();
456
- this._updateButtonClasses(element);
457
- }
458
- }
459
- export default GmailToolbarView;