@inboxsdk/core 0.2.28-alpha.6 → 0.2.28

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 (669) hide show
  1. package/inboxsdk.js +28 -62
  2. package/inboxsdk.js.map +1 -1
  3. package/package.json +1 -5
  4. package/pageWorld.js.map +1 -1
  5. package/src/build/exec.d.ts +0 -1
  6. package/src/build/spawn.d.ts +0 -1
  7. package/src/common/ajax.d.ts +0 -1
  8. package/src/common/cachebust-url.d.ts +0 -1
  9. package/src/common/censorHTMLstring.d.ts +0 -1
  10. package/src/common/censorHTMLtree.d.ts +0 -1
  11. package/src/common/censorJSONTree.d.ts +0 -1
  12. package/src/common/connectivity-test.d.ts +0 -1
  13. package/src/common/defer.d.ts +0 -1
  14. package/src/common/find-parent.d.ts +0 -1
  15. package/src/common/get-extension-id.d.ts +0 -1
  16. package/src/common/get-or-fail.d.ts +0 -1
  17. package/src/common/get-session-id.d.ts +0 -1
  18. package/src/common/get-stack-trace.d.ts +0 -1
  19. package/src/common/html-to-text.d.ts +0 -1
  20. package/src/common/isElementVisible.d.ts +0 -1
  21. package/src/common/load-script.d.ts +0 -1
  22. package/src/common/log-error.d.ts +0 -1
  23. package/src/common/quoted-split.d.ts +0 -1
  24. package/src/common/rate-limit-queuer.d.ts +0 -1
  25. package/src/common/rate-limit.d.ts +0 -1
  26. package/src/common/version.d.ts +0 -1
  27. package/src/inboxsdk-js/check-requirements.js +3 -7
  28. package/src/inboxsdk-js/header.js +0 -1
  29. package/src/inboxsdk-js/inboxsdk-NONREMOTE-INTEGRATED-PAGEWORLD.js +6 -5
  30. package/src/inboxsdk-js/inboxsdk-NONREMOTE.js +3 -4
  31. package/src/inboxsdk-js/inboxsdk-REMOTE.js +1 -3
  32. package/src/inboxsdk-js/inboxsdk-TEST.js +3 -4
  33. package/src/inboxsdk-js/inboxsdk.js +39 -33
  34. package/src/inboxsdk-js/loading/load-platform-implementation-DEV.js +18 -15
  35. package/src/inboxsdk-js/loading/platform-implementation-loader.d.ts +0 -1
  36. package/src/inboxsdk.d.ts +27 -12
  37. package/src/injected-js/gmail/constants.d.ts +0 -1
  38. package/src/injected-js/gmail/modify-suggestions.d.ts +0 -1
  39. package/src/injected-js/gmail/modify-suggestions.test.js +9 -8
  40. package/src/injected-js/gmail/setup-gmail-interceptor.js +579 -340
  41. package/src/injected-js/gmail/setup-gmonkey-handler.d.ts +0 -1
  42. package/src/injected-js/gmail/sync-compose-processor-20220909.d.ts +0 -1
  43. package/src/injected-js/gmail/sync-compose-processor.d.ts +0 -1
  44. package/src/injected-js/gmail/sync-compose-request-processor.d.ts +0 -1
  45. package/src/injected-js/gmail/sync-compose-request-processor.test.js +49 -39
  46. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +33 -20
  47. package/src/injected-js/gmail/thread-identifier/index.js +93 -57
  48. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +31 -22
  49. package/src/injected-js/gmail/thread-identifier/thread-row-parser.test.js +28 -12
  50. package/src/injected-js/inbox/setupAjaxInterceptor.js +121 -64
  51. package/src/injected-js/inbox/setupClickAndGetNewIframeSrc.js +66 -53
  52. package/src/injected-js/inbox/setupComposeViewDraftIDFinder.js +36 -20
  53. package/src/injected-js/inbox/setupInboxFakeWindowResizeListener.js +13 -13
  54. package/src/injected-js/injected-logger.d.ts +0 -1
  55. package/src/injected-js/main.js +24 -11
  56. package/src/injected-js/message-metadata-holder.js +82 -52
  57. package/src/injected-js/setup-data-exposer.js +148 -89
  58. package/src/injected-js/setup-error-silencer.js +21 -21
  59. package/src/injected-js/setup-event-reemitter.js +22 -30
  60. package/src/injected-js/setupCustomViewEventAssassin.d.ts +0 -1
  61. package/src/injected-js/setupInboxCustomViewLinkFixer.js +29 -24
  62. package/src/injected-js/setupPushStateListener.js +11 -18
  63. package/src/injected-js/xhr-helper.js +65 -62
  64. package/src/injected-js/xhr-proxy-factory.js +445 -195
  65. package/src/injected-js/xhr-proxy-factory.test.js +991 -824
  66. package/src/platform-implementation-js/constants/nav-item-types.d.ts +0 -1
  67. package/src/platform-implementation-js/constants/router.js +9 -17
  68. package/src/platform-implementation-js/constants/toolbars.js +3 -8
  69. package/src/platform-implementation-js/dom-driver/gmail/custom-style.js +13 -13
  70. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.js +136 -115
  71. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.d.ts +2 -3
  72. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-support-item.d.ts +0 -1
  73. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +14 -13
  74. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.js +48 -27
  75. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/encodeDraftUrlId.d.ts +0 -1
  76. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.js +42 -31
  77. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.js +40 -30
  78. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-message-id.d.ts +0 -1
  79. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-thread-id.d.ts +0 -1
  80. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +18 -10
  81. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +28 -21
  82. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +45 -33
  83. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +49 -31
  84. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +65 -58
  85. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts +0 -1
  86. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.js +124 -40
  87. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.js +22 -17
  88. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.d.ts +0 -1
  89. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.test.js +11 -10
  90. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.js +80 -44
  91. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.js +26 -19
  92. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.js +147 -71
  93. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.js +148 -91
  94. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +166 -150
  95. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.test.js +120 -70
  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 +67 -44
  98. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +379 -230
  99. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.test.js +307 -121
  100. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.js +24 -17
  101. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.js +49 -41
  102. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.js +40 -30
  103. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +60 -28
  104. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +133 -61
  105. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.js +110 -83
  106. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +42 -30
  107. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.test.js +46 -52
  108. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts +3 -13
  109. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +683 -355
  110. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/get-main-content-element-changed-stream.d.ts +0 -1
  111. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/wait-for-gmail-mode-to-settle.d.ts +0 -1
  112. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts +0 -4
  113. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.d.ts +0 -1
  114. package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.d.ts +0 -1
  115. package/src/platform-implementation-js/dom-driver/gmail/gmail-sync-response-processor.d.ts +0 -1
  116. package/src/platform-implementation-js/dom-driver/gmail/is-compose-titlebar-light-color.d.ts +0 -1
  117. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +93 -77
  118. package/src/platform-implementation-js/dom-driver/gmail/makePageParserTree.d.ts +0 -1
  119. package/src/platform-implementation-js/dom-driver/gmail/pageParserOptions.d.ts +0 -1
  120. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +82 -35
  121. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.test.js +94 -44
  122. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +19 -12
  123. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +29 -17
  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 +797 -391
  126. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +9 -7
  127. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +109 -60
  128. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +135 -95
  129. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +211 -103
  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 +541 -188
  133. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +135 -67
  134. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +49 -27
  135. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-inner-sidebar.js +13 -7
  136. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-outer-sidebar.js +22 -9
  137. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +63 -36
  138. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.d.ts +0 -1
  139. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +113 -38
  140. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/detectClassicRecipientsArea.d.ts +0 -1
  141. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +16 -11
  142. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +17 -11
  143. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +11 -8
  144. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +47 -27
  145. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +24 -11
  146. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +111 -59
  147. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.d.ts +0 -1
  148. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +14 -15
  149. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +17 -11
  150. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +24 -18
  151. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.d.ts +0 -1
  152. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +23 -19
  153. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.d.ts +0 -1
  154. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +19 -11
  155. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +376 -141
  156. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +28 -17
  157. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +70 -34
  158. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/page-parser.d.ts +0 -1
  159. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +17 -10
  160. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/set-recipients.d.ts +0 -1
  161. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/setupLinkPopovers.d.ts +0 -1
  162. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +137 -83
  163. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +19 -10
  164. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +1190 -632
  165. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.d.ts +0 -1
  166. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +38 -29
  167. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +617 -327
  168. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts +1 -34
  169. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +48 -29
  170. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +380 -188
  171. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +194 -104
  172. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-support-item-view.d.ts +0 -1
  173. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +811 -382
  174. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view/add-icon-area.js +58 -34
  175. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.js +581 -330
  176. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.test.js +277 -123
  177. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +35 -15
  178. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +571 -216
  179. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +336 -152
  180. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +211 -87
  181. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-color-classes.d.ts +0 -1
  182. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.d.ts +0 -1
  183. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.d.ts +0 -1
  184. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.d.ts +0 -1
  185. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +11 -10
  186. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.d.ts +0 -1
  187. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-dropdown-button-view.d.ts +0 -1
  188. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-parent-accessory-button-view.d.ts +0 -1
  189. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +29 -20
  190. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.d.ts +0 -1
  191. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +76 -41
  192. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.js +99 -45
  193. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +128 -76
  194. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +319 -128
  195. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.js +78 -45
  196. package/src/platform-implementation-js/dom-driver/inbox/__mocks__/getSidebarClassnames.js +4 -8
  197. package/src/platform-implementation-js/dom-driver/inbox/addNavItem.js +54 -36
  198. package/src/platform-implementation-js/dom-driver/inbox/addRecipientRow.js +53 -35
  199. package/src/platform-implementation-js/dom-driver/inbox/createLink.js +15 -13
  200. package/src/platform-implementation-js/dom-driver/inbox/createLink.test.js +18 -15
  201. package/src/platform-implementation-js/dom-driver/inbox/custom-style.js +13 -14
  202. package/src/platform-implementation-js/dom-driver/inbox/detection/appToolbarLocation/parser.js +20 -14
  203. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentCard/parser.js +13 -14
  204. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentOverlay/parser.js +67 -35
  205. package/src/platform-implementation-js/dom-driver/inbox/detection/chatSidebar/parser.js +18 -16
  206. package/src/platform-implementation-js/dom-driver/inbox/detection/compose/parser.js +185 -68
  207. package/src/platform-implementation-js/dom-driver/inbox/detection/message/parser.js +56 -28
  208. package/src/platform-implementation-js/dom-driver/inbox/detection/nativeDrawer/parser.js +10 -12
  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 +35 -24
  211. package/src/platform-implementation-js/dom-driver/inbox/detection/thread-row/parser.js +89 -37
  212. package/src/platform-implementation-js/dom-driver/inbox/getComposeViewDriverLiveSet.js +78 -56
  213. package/src/platform-implementation-js/dom-driver/inbox/getInboxMessageIdForInboxThreadId.js +32 -26
  214. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.js +109 -52
  215. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.test.js +8 -7
  216. package/src/platform-implementation-js/dom-driver/inbox/gotoView.js +20 -16
  217. package/src/platform-implementation-js/dom-driver/inbox/gotoView.test.js +16 -15
  218. package/src/platform-implementation-js/dom-driver/inbox/inbox-butter-bar-driver.js +83 -75
  219. package/src/platform-implementation-js/dom-driver/inbox/inbox-driver.js +823 -531
  220. package/src/platform-implementation-js/dom-driver/inbox/inbox-page-communicator.js +61 -48
  221. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.js +12 -9
  222. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.test.js +19 -12
  223. package/src/platform-implementation-js/dom-driver/inbox/makePageParserTree.js +33 -24
  224. package/src/platform-implementation-js/dom-driver/inbox/pageParserOptions.js +388 -201
  225. package/src/platform-implementation-js/dom-driver/inbox/registerSearchSuggestionsProvider.js +265 -249
  226. package/src/platform-implementation-js/dom-driver/inbox/setupCustomAutocompleteSelectionHandling.js +152 -84
  227. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.js +67 -55
  228. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.test.js +65 -43
  229. package/src/platform-implementation-js/dom-driver/inbox/views/InboxLabelView.js +56 -31
  230. package/src/platform-implementation-js/dom-driver/inbox/views/InboxMoleViewDriver.js +294 -191
  231. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarButtonView.js +45 -32
  232. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarView.js +39 -21
  233. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-sidebar-view.js +240 -153
  234. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-button-view.js +150 -75
  235. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-tooltip-view.js +37 -20
  236. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-card-view.js +114 -60
  237. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-overlay-view.js +65 -47
  238. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +52 -41
  239. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-chat-sidebar-view.js +36 -27
  240. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-button-view.js +80 -52
  241. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-view.js +649 -465
  242. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.js +58 -37
  243. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.test.js +26 -14
  244. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +235 -118
  245. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dropdown-view.js +11 -10
  246. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dummy-route-view.js +46 -28
  247. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-message-view.js +202 -131
  248. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-modal-view.js +80 -40
  249. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-route-view.js +61 -35
  250. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-row-view.js +221 -124
  251. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.js +213 -125
  252. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.test.js +126 -104
  253. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-tooltip-view.js +51 -36
  254. package/src/platform-implementation-js/dom-driver/inbox/views/inboxNavItemView.js +297 -158
  255. package/src/platform-implementation-js/dom-driver/inbox/waitForAnimationClickBlockerGone.js +35 -21
  256. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +43 -24
  257. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +68 -39
  258. package/src/platform-implementation-js/driver-common/getAccountUrlPart.d.ts +0 -1
  259. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +19 -14
  260. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +35 -27
  261. package/src/platform-implementation-js/driver-common/getOriginalMessagePage.d.ts +0 -1
  262. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +22 -16
  263. package/src/platform-implementation-js/driver-common/getSyncThreadsForSearch.d.ts +0 -1
  264. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +14 -14
  265. package/src/platform-implementation-js/driver-common/gmailAjax.d.ts +0 -1
  266. package/src/platform-implementation-js/driver-common/inboxAjax.js +7 -12
  267. package/src/platform-implementation-js/driver-common/render-custom-icon.d.ts +0 -1
  268. package/src/platform-implementation-js/driver-common/requestGmailThread.js +20 -19
  269. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +306 -197
  270. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +161 -113
  271. package/src/platform-implementation-js/driver-common/update-icon.d.ts +0 -1
  272. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +114 -1
  273. package/src/platform-implementation-js/driver-interfaces/driver.d.ts +0 -5
  274. package/src/platform-implementation-js/driver-interfaces/driver.js +126 -1
  275. package/src/platform-implementation-js/driver-interfaces/message-view-driver.js +48 -4
  276. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +29 -1
  277. package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +32 -1
  278. package/src/platform-implementation-js/driver-interfaces/thread-row-view-driver.js +11 -1
  279. package/src/platform-implementation-js/lib/ErrorCollector.d.ts +0 -1
  280. package/src/platform-implementation-js/lib/Membrane.d.ts +0 -1
  281. package/src/platform-implementation-js/lib/ScrollableContainByScreen.d.ts +0 -1
  282. package/src/platform-implementation-js/lib/array-to-lifetimes.js +41 -43
  283. package/src/platform-implementation-js/lib/array-to-lifetimes.test.js +155 -139
  284. package/src/platform-implementation-js/lib/attemptWithRetries.d.ts +0 -1
  285. package/src/platform-implementation-js/lib/common-page-communicator.d.ts +0 -1
  286. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +38 -19
  287. package/src/platform-implementation-js/lib/css-selector-escape.js +3 -7
  288. package/src/platform-implementation-js/lib/delay-asap.d.ts +0 -1
  289. package/src/platform-implementation-js/lib/delay-idle.d.ts +0 -1
  290. package/src/platform-implementation-js/lib/dom/block-and-reemit-keyboard-events.d.ts +0 -1
  291. package/src/platform-implementation-js/lib/dom/element-view-mapper.js +11 -8
  292. package/src/platform-implementation-js/lib/dom/generic-button-view.d.ts +0 -1
  293. package/src/platform-implementation-js/lib/dom/get-insert-before-element.d.ts +0 -1
  294. package/src/platform-implementation-js/lib/dom/get-selection.js +52 -23
  295. package/src/platform-implementation-js/lib/dom/insert-element-in-order.d.ts +0 -1
  296. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +101 -69
  297. package/src/platform-implementation-js/lib/dom/is-node-in-range.js +10 -8
  298. package/src/platform-implementation-js/lib/dom/keyboard-shortcut-stream.d.ts +0 -1
  299. package/src/platform-implementation-js/lib/dom/make-element-child-stream.d.ts +0 -1
  300. package/src/platform-implementation-js/lib/dom/make-element-stream-merger.d.ts +0 -1
  301. package/src/platform-implementation-js/lib/dom/make-element-view-stream.d.ts +0 -1
  302. package/src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.d.ts +0 -1
  303. package/src/platform-implementation-js/lib/dom/make-mutation-observer-stream.d.ts +0 -1
  304. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.js +17 -15
  305. package/src/platform-implementation-js/lib/dom/outsideClicksAndEscape.d.ts +0 -1
  306. package/src/platform-implementation-js/lib/dom/parentNodes.d.ts +0 -1
  307. package/src/platform-implementation-js/lib/dom/querySelectorOne.js +11 -8
  308. package/src/platform-implementation-js/lib/dom/querySelectorOrFail.d.ts +0 -1
  309. package/src/platform-implementation-js/lib/dom/reemitClickEventForReact.d.ts +0 -1
  310. package/src/platform-implementation-js/lib/dom/set-css.js +3 -7
  311. package/src/platform-implementation-js/lib/dom/set-value-and-dispatch-event.js +11 -9
  312. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +33 -32
  313. package/src/platform-implementation-js/lib/dom/simulate-key.d.ts +0 -1
  314. package/src/platform-implementation-js/lib/dom/simulate-mouse-event.d.ts +0 -1
  315. package/src/platform-implementation-js/lib/dom/trigger-relay-event.d.ts +0 -1
  316. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.d.ts +0 -1
  317. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.test.js +26 -23
  318. package/src/platform-implementation-js/lib/fake-window-resize.d.ts +0 -1
  319. package/src/platform-implementation-js/lib/from-event-target-capture.d.ts +0 -1
  320. package/src/platform-implementation-js/lib/fromEventsWithOptions.d.ts +0 -1
  321. package/src/platform-implementation-js/lib/handle-compose-link-chips.js +149 -86
  322. package/src/platform-implementation-js/lib/handler-registry.d.ts +0 -1
  323. package/src/platform-implementation-js/lib/idMap.d.ts +0 -1
  324. package/src/platform-implementation-js/lib/imageRequest.d.ts +0 -1
  325. package/src/platform-implementation-js/lib/incrementName.d.ts +0 -1
  326. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.d.ts +0 -1
  327. package/src/platform-implementation-js/lib/inject-script.d.ts +0 -1
  328. package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +57 -42
  329. package/src/platform-implementation-js/lib/is-valid-app-id.d.ts +0 -1
  330. package/src/platform-implementation-js/lib/is-valid-email.d.ts +0 -1
  331. package/src/platform-implementation-js/lib/isNotNil.d.ts +0 -1
  332. package/src/platform-implementation-js/lib/isStreakAppId.d.ts +0 -1
  333. package/src/platform-implementation-js/lib/logger.d.ts +0 -1
  334. package/src/platform-implementation-js/lib/make-revocable-function.js +21 -19
  335. package/src/platform-implementation-js/lib/make-revocable-function.test.js +22 -20
  336. package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +17 -15
  337. package/src/platform-implementation-js/lib/parseParamsFromRouteID.test.js +18 -9
  338. package/src/platform-implementation-js/lib/persistent-queue.d.ts +0 -1
  339. package/src/platform-implementation-js/lib/populateRouteID.js +9 -8
  340. package/src/platform-implementation-js/lib/populateRouteID.test.js +19 -20
  341. package/src/platform-implementation-js/lib/react/ElementContainer.js +20 -23
  342. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.js +9 -10
  343. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.test.js +20 -13
  344. package/src/platform-implementation-js/lib/routeIDmatchesHash.js +18 -13
  345. package/src/platform-implementation-js/lib/routeIDmatchesHash.test.js +17 -11
  346. package/src/platform-implementation-js/lib/safe-event-emitter.d.ts +0 -1
  347. package/src/platform-implementation-js/lib/shared-style.js +13 -14
  348. package/src/platform-implementation-js/lib/stopper-pool.d.ts +0 -1
  349. package/src/platform-implementation-js/lib/stream-wait-for.d.ts +0 -1
  350. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +17 -18
  351. package/src/platform-implementation-js/lib/toLiveSet.js +15 -17
  352. package/src/platform-implementation-js/lib/wait-for.d.ts +1 -2
  353. package/src/platform-implementation-js/lib/waitForAsync.d.ts +0 -1
  354. package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +5 -6
  355. package/src/platform-implementation-js/main.js +24 -9
  356. package/src/platform-implementation-js/namespaces/butter-bar.d.ts +0 -1
  357. package/src/platform-implementation-js/namespaces/compose.js +60 -37
  358. package/src/platform-implementation-js/namespaces/conversations.js +124 -52
  359. package/src/platform-implementation-js/namespaces/global.js +39 -27
  360. package/src/platform-implementation-js/namespaces/keyboard.js +33 -29
  361. package/src/platform-implementation-js/namespaces/lists.js +31 -25
  362. package/src/platform-implementation-js/namespaces/modal.js +28 -34
  363. package/src/platform-implementation-js/namespaces/nav-menu.js +45 -30
  364. package/src/platform-implementation-js/namespaces/router.js +137 -70
  365. package/src/platform-implementation-js/namespaces/search.js +17 -19
  366. package/src/platform-implementation-js/namespaces/toolbars.js +117 -71
  367. package/src/platform-implementation-js/namespaces/user.js +37 -36
  368. package/src/platform-implementation-js/namespaces/widgets.js +61 -54
  369. package/src/platform-implementation-js/platform-implementation.d.ts +0 -2
  370. package/src/platform-implementation-js/platform-implementation.js +226 -98
  371. package/src/platform-implementation-js/views/SimpleElementView.d.ts +0 -1
  372. package/src/platform-implementation-js/views/app-toolbar-button-view.js +47 -26
  373. package/src/platform-implementation-js/views/collapsible-section-view.js +63 -66
  374. package/src/platform-implementation-js/views/compose-button-view.d.ts +0 -1
  375. package/src/platform-implementation-js/views/compose-view.d.ts +0 -1
  376. package/src/platform-implementation-js/views/content-panel-view.js +30 -28
  377. package/src/platform-implementation-js/views/conversations/attachment-card-view.js +44 -21
  378. package/src/platform-implementation-js/views/conversations/custom-message-view.js +104 -44
  379. package/src/platform-implementation-js/views/conversations/message-view.js +202 -131
  380. package/src/platform-implementation-js/views/conversations/thread-view.js +127 -75
  381. package/src/platform-implementation-js/views/keyboard-shortcut-handle.d.ts +0 -1
  382. package/src/platform-implementation-js/views/native-nav-item-view.js +65 -32
  383. package/src/platform-implementation-js/views/nav-item-view.js +115 -51
  384. package/src/platform-implementation-js/views/route-view/custom-route-view.js +20 -25
  385. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +18 -18
  386. package/src/platform-implementation-js/views/route-view/list-route-view.js +52 -30
  387. package/src/platform-implementation-js/views/route-view/route-view.js +35 -24
  388. package/src/platform-implementation-js/views/section-view.js +52 -60
  389. package/src/platform-implementation-js/views/thread-row-view.js +74 -49
  390. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.d.ts +0 -1
  391. package/src/platform-implementation-js/widgets/buttons/dropdown-button-view-controller.d.ts +0 -1
  392. package/src/platform-implementation-js/widgets/buttons/dropdown-view.d.ts +0 -1
  393. package/src/platform-implementation-js/widgets/drawer-view.js +36 -29
  394. package/src/platform-implementation-js/widgets/modal-view.js +68 -39
  395. package/src/platform-implementation-js/widgets/mole-view.js +22 -22
  396. package/src/platform-implementation-js/widgets/top-message-bar-view.js +10 -13
  397. package/src/build/exec.d.ts.map +0 -1
  398. package/src/build/exec.js +0 -26
  399. package/src/build/spawn.d.ts.map +0 -1
  400. package/src/build/spawn.js +0 -17
  401. package/src/common/ajax.d.ts.map +0 -1
  402. package/src/common/ajax.js +0 -90
  403. package/src/common/cachebust-url.d.ts.map +0 -1
  404. package/src/common/cachebust-url.js +0 -10
  405. package/src/common/censorHTMLstring.d.ts.map +0 -1
  406. package/src/common/censorHTMLstring.js +0 -37
  407. package/src/common/censorHTMLtree.d.ts.map +0 -1
  408. package/src/common/censorHTMLtree.js +0 -28
  409. package/src/common/censorJSONTree.d.ts.map +0 -1
  410. package/src/common/censorJSONTree.js +0 -15
  411. package/src/common/connectivity-test.d.ts.map +0 -1
  412. package/src/common/connectivity-test.js +0 -21
  413. package/src/common/defer.d.ts.map +0 -1
  414. package/src/common/defer.js +0 -11
  415. package/src/common/find-parent.d.ts.map +0 -1
  416. package/src/common/find-parent.js +0 -10
  417. package/src/common/get-extension-id.d.ts.map +0 -1
  418. package/src/common/get-extension-id.js +0 -7
  419. package/src/common/get-or-fail.d.ts.map +0 -1
  420. package/src/common/get-or-fail.js +0 -8
  421. package/src/common/get-session-id.d.ts.map +0 -1
  422. package/src/common/get-session-id.js +0 -14
  423. package/src/common/get-stack-trace.d.ts.map +0 -1
  424. package/src/common/get-stack-trace.js +0 -6
  425. package/src/common/html-to-text.d.ts.map +0 -1
  426. package/src/common/html-to-text.js +0 -7
  427. package/src/common/isElementVisible.d.ts.map +0 -1
  428. package/src/common/isElementVisible.js +0 -6
  429. package/src/common/load-script.d.ts.map +0 -1
  430. package/src/common/load-script.js +0 -127
  431. package/src/common/log-error.d.ts.map +0 -1
  432. package/src/common/log-error.js +0 -191
  433. package/src/common/quoted-split.d.ts.map +0 -1
  434. package/src/common/quoted-split.js +0 -18
  435. package/src/common/rate-limit-queuer.d.ts.map +0 -1
  436. package/src/common/rate-limit-queuer.js +0 -57
  437. package/src/common/rate-limit.d.ts.map +0 -1
  438. package/src/common/rate-limit.js +0 -14
  439. package/src/common/version.d.ts.map +0 -1
  440. package/src/common/version.js +0 -6
  441. package/src/inboxsdk-js/loading/platform-implementation-loader.d.ts.map +0 -1
  442. package/src/inboxsdk-js/loading/platform-implementation-loader.js +0 -27
  443. package/src/injected-js/gmail/constants.d.ts.map +0 -1
  444. package/src/injected-js/gmail/constants.js +0 -2
  445. package/src/injected-js/gmail/modify-suggestions.d.ts.map +0 -1
  446. package/src/injected-js/gmail/modify-suggestions.js +0 -106
  447. package/src/injected-js/gmail/setup-gmonkey-handler.d.ts.map +0 -1
  448. package/src/injected-js/gmail/setup-gmonkey-handler.js +0 -49
  449. package/src/injected-js/gmail/sync-compose-processor-20220909.d.ts.map +0 -1
  450. package/src/injected-js/gmail/sync-compose-processor-20220909.js +0 -298
  451. package/src/injected-js/gmail/sync-compose-processor.d.ts.map +0 -1
  452. package/src/injected-js/gmail/sync-compose-processor.js +0 -55
  453. package/src/injected-js/gmail/sync-compose-request-processor.d.ts.map +0 -1
  454. package/src/injected-js/gmail/sync-compose-request-processor.js +0 -110
  455. package/src/injected-js/injected-logger.d.ts.map +0 -1
  456. package/src/injected-js/injected-logger.js +0 -50
  457. package/src/injected-js/setupCustomViewEventAssassin.d.ts.map +0 -1
  458. package/src/injected-js/setupCustomViewEventAssassin.js +0 -90
  459. package/src/platform-implementation-js/constants/nav-item-types.d.ts.map +0 -1
  460. package/src/platform-implementation-js/constants/nav-item-types.js +0 -19
  461. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.d.ts +0 -5
  462. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.d.ts.map +0 -1
  463. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-app-menu-item.js +0 -21
  464. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.d.ts +0 -5
  465. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.d.ts.map +0 -1
  466. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-collapsible-panel.js +0 -28
  467. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.d.ts.map +0 -1
  468. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-nav-item.js +0 -98
  469. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-support-item.d.ts.map +0 -1
  470. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-support-item.js +0 -4
  471. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/encodeDraftUrlId.d.ts.map +0 -1
  472. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/encodeDraftUrlId.js +0 -8
  473. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-message-id.d.ts.map +0 -1
  474. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-message-id.js +0 -12
  475. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-thread-id.d.ts.map +0 -1
  476. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-rfc-message-id-for-gmail-thread-id.js +0 -33
  477. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.d.ts.map +0 -1
  478. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/isIntegratedViewGmail.js +0 -4
  479. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.d.ts.map +0 -1
  480. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.js +0 -44
  481. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.d.ts +0 -2
  482. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-gmail-styles.d.ts.map +0 -1
  483. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/get-main-content-element-changed-stream.d.ts.map +0 -1
  484. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/get-main-content-element-changed-stream.js +0 -38
  485. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/wait-for-gmail-mode-to-settle.d.ts.map +0 -1
  486. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter/wait-for-gmail-mode-to-settle.js +0 -12
  487. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.d.ts.map +0 -1
  488. package/src/platform-implementation-js/dom-driver/gmail/gmail-element-getter.js +0 -253
  489. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.d.ts.map +0 -1
  490. package/src/platform-implementation-js/dom-driver/gmail/gmail-page-communicator.js +0 -200
  491. package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.d.ts.map +0 -1
  492. package/src/platform-implementation-js/dom-driver/gmail/gmail-response-processor.js +0 -533
  493. package/src/platform-implementation-js/dom-driver/gmail/gmail-sync-response-processor.d.ts.map +0 -1
  494. package/src/platform-implementation-js/dom-driver/gmail/gmail-sync-response-processor.js +0 -289
  495. package/src/platform-implementation-js/dom-driver/gmail/is-compose-titlebar-light-color.d.ts.map +0 -1
  496. package/src/platform-implementation-js/dom-driver/gmail/is-compose-titlebar-light-color.js +0 -21
  497. package/src/platform-implementation-js/dom-driver/gmail/makePageParserTree.d.ts.map +0 -1
  498. package/src/platform-implementation-js/dom-driver/gmail/makePageParserTree.js +0 -28
  499. package/src/platform-implementation-js/dom-driver/gmail/pageParserOptions.d.ts.map +0 -1
  500. package/src/platform-implementation-js/dom-driver/gmail/pageParserOptions.js +0 -19
  501. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.d.ts +0 -43
  502. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.d.ts.map +0 -1
  503. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-menu-item-view.js +0 -126
  504. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.d.ts.map +0 -1
  505. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-status-bar.js +0 -101
  506. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/detectClassicRecipientsArea.d.ts.map +0 -1
  507. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/detectClassicRecipientsArea.js +0 -38
  508. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.d.ts.map +0 -1
  509. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.js +0 -28
  510. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.d.ts.map +0 -1
  511. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.js +0 -22
  512. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.d.ts.map +0 -1
  513. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/gmail-compose-button-view.js +0 -233
  514. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/page-parser.d.ts.map +0 -1
  515. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/page-parser.js +0 -223
  516. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/set-recipients.d.ts.map +0 -1
  517. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/set-recipients.js +0 -157
  518. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/setupLinkPopovers.d.ts.map +0 -1
  519. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/setupLinkPopovers.js +0 -109
  520. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.d.ts.map +0 -1
  521. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.js +0 -5
  522. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.d.ts.map +0 -1
  523. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-nav-item-view.js +0 -759
  524. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-support-item-view.d.ts.map +0 -1
  525. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-support-item-view.js +0 -84
  526. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-color-classes.d.ts.map +0 -1
  527. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-color-classes.js +0 -33
  528. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.d.ts.map +0 -1
  529. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/button-view.js +0 -325
  530. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.d.ts.map +0 -1
  531. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.js +0 -58
  532. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.d.ts.map +0 -1
  533. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.js +0 -55
  534. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.d.ts.map +0 -1
  535. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.js +0 -96
  536. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-dropdown-button-view.d.ts.map +0 -1
  537. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-dropdown-button-view.js +0 -30
  538. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-parent-accessory-button-view.d.ts.map +0 -1
  539. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/more-parent-accessory-button-view.js +0 -10
  540. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.d.ts.map +0 -1
  541. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-dropdown-view.js +0 -22
  542. package/src/platform-implementation-js/driver-common/getAccountUrlPart.d.ts.map +0 -1
  543. package/src/platform-implementation-js/driver-common/getAccountUrlPart.js +0 -17
  544. package/src/platform-implementation-js/driver-common/getOriginalMessagePage.d.ts.map +0 -1
  545. package/src/platform-implementation-js/driver-common/getOriginalMessagePage.js +0 -33
  546. package/src/platform-implementation-js/driver-common/getSyncThreadsForSearch.d.ts.map +0 -1
  547. package/src/platform-implementation-js/driver-common/getSyncThreadsForSearch.js +0 -49
  548. package/src/platform-implementation-js/driver-common/gmailAjax.d.ts.map +0 -1
  549. package/src/platform-implementation-js/driver-common/gmailAjax.js +0 -65
  550. package/src/platform-implementation-js/driver-common/render-custom-icon.d.ts.map +0 -1
  551. package/src/platform-implementation-js/driver-common/render-custom-icon.js +0 -16
  552. package/src/platform-implementation-js/driver-common/update-icon.d.ts.map +0 -1
  553. package/src/platform-implementation-js/driver-common/update-icon.js +0 -90
  554. package/src/platform-implementation-js/lib/ErrorCollector.d.ts.map +0 -1
  555. package/src/platform-implementation-js/lib/ErrorCollector.js +0 -47
  556. package/src/platform-implementation-js/lib/Membrane.d.ts.map +0 -1
  557. package/src/platform-implementation-js/lib/Membrane.js +0 -22
  558. package/src/platform-implementation-js/lib/ScrollableContainByScreen.d.ts.map +0 -1
  559. package/src/platform-implementation-js/lib/ScrollableContainByScreen.js +0 -30
  560. package/src/platform-implementation-js/lib/attemptWithRetries.d.ts.map +0 -1
  561. package/src/platform-implementation-js/lib/attemptWithRetries.js +0 -16
  562. package/src/platform-implementation-js/lib/common-page-communicator.d.ts.map +0 -1
  563. package/src/platform-implementation-js/lib/common-page-communicator.js +0 -137
  564. package/src/platform-implementation-js/lib/delay-asap.d.ts.map +0 -1
  565. package/src/platform-implementation-js/lib/delay-asap.js +0 -12
  566. package/src/platform-implementation-js/lib/delay-idle.d.ts.map +0 -1
  567. package/src/platform-implementation-js/lib/delay-idle.js +0 -16
  568. package/src/platform-implementation-js/lib/dom/block-and-reemit-keyboard-events.d.ts.map +0 -1
  569. package/src/platform-implementation-js/lib/dom/block-and-reemit-keyboard-events.js +0 -36
  570. package/src/platform-implementation-js/lib/dom/generic-button-view.d.ts.map +0 -1
  571. package/src/platform-implementation-js/lib/dom/generic-button-view.js +0 -39
  572. package/src/platform-implementation-js/lib/dom/get-insert-before-element.d.ts.map +0 -1
  573. package/src/platform-implementation-js/lib/dom/get-insert-before-element.js +0 -39
  574. package/src/platform-implementation-js/lib/dom/insert-element-in-order.d.ts.map +0 -1
  575. package/src/platform-implementation-js/lib/dom/insert-element-in-order.js +0 -38
  576. package/src/platform-implementation-js/lib/dom/keyboard-shortcut-stream.d.ts.map +0 -1
  577. package/src/platform-implementation-js/lib/dom/keyboard-shortcut-stream.js +0 -12
  578. package/src/platform-implementation-js/lib/dom/make-element-child-stream.d.ts.map +0 -1
  579. package/src/platform-implementation-js/lib/dom/make-element-child-stream.js +0 -79
  580. package/src/platform-implementation-js/lib/dom/make-element-stream-merger.d.ts.map +0 -1
  581. package/src/platform-implementation-js/lib/dom/make-element-stream-merger.js +0 -28
  582. package/src/platform-implementation-js/lib/dom/make-element-view-stream.d.ts.map +0 -1
  583. package/src/platform-implementation-js/lib/dom/make-element-view-stream.js +0 -15
  584. package/src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.d.ts.map +0 -1
  585. package/src/platform-implementation-js/lib/dom/make-mutation-observer-chunked-stream.js +0 -15
  586. package/src/platform-implementation-js/lib/dom/make-mutation-observer-stream.d.ts.map +0 -1
  587. package/src/platform-implementation-js/lib/dom/make-mutation-observer-stream.js +0 -5
  588. package/src/platform-implementation-js/lib/dom/outsideClicksAndEscape.d.ts.map +0 -1
  589. package/src/platform-implementation-js/lib/dom/outsideClicksAndEscape.js +0 -39
  590. package/src/platform-implementation-js/lib/dom/parentNodes.d.ts.map +0 -1
  591. package/src/platform-implementation-js/lib/dom/parentNodes.js +0 -8
  592. package/src/platform-implementation-js/lib/dom/querySelectorOrFail.d.ts.map +0 -1
  593. package/src/platform-implementation-js/lib/dom/querySelectorOrFail.js +0 -6
  594. package/src/platform-implementation-js/lib/dom/reemitClickEventForReact.d.ts.map +0 -1
  595. package/src/platform-implementation-js/lib/dom/reemitClickEventForReact.js +0 -22
  596. package/src/platform-implementation-js/lib/dom/simulate-key.d.ts.map +0 -1
  597. package/src/platform-implementation-js/lib/dom/simulate-key.js +0 -46
  598. package/src/platform-implementation-js/lib/dom/simulate-mouse-event.d.ts.map +0 -1
  599. package/src/platform-implementation-js/lib/dom/simulate-mouse-event.js +0 -16
  600. package/src/platform-implementation-js/lib/dom/trigger-relay-event.d.ts.map +0 -1
  601. package/src/platform-implementation-js/lib/dom/trigger-relay-event.js +0 -7
  602. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.d.ts.map +0 -1
  603. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.js +0 -25
  604. package/src/platform-implementation-js/lib/fake-window-resize.d.ts.map +0 -1
  605. package/src/platform-implementation-js/lib/fake-window-resize.js +0 -5
  606. package/src/platform-implementation-js/lib/from-event-target-capture.d.ts.map +0 -1
  607. package/src/platform-implementation-js/lib/from-event-target-capture.js +0 -12
  608. package/src/platform-implementation-js/lib/fromEventsWithOptions.d.ts.map +0 -1
  609. package/src/platform-implementation-js/lib/fromEventsWithOptions.js +0 -10
  610. package/src/platform-implementation-js/lib/handler-registry.d.ts.map +0 -1
  611. package/src/platform-implementation-js/lib/handler-registry.js +0 -67
  612. package/src/platform-implementation-js/lib/idMap.d.ts.map +0 -1
  613. package/src/platform-implementation-js/lib/idMap.js +0 -45
  614. package/src/platform-implementation-js/lib/imageRequest.d.ts.map +0 -1
  615. package/src/platform-implementation-js/lib/imageRequest.js +0 -8
  616. package/src/platform-implementation-js/lib/incrementName.d.ts.map +0 -1
  617. package/src/platform-implementation-js/lib/incrementName.js +0 -7
  618. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.d.ts.map +0 -1
  619. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.js +0 -14
  620. package/src/platform-implementation-js/lib/inject-script.d.ts.map +0 -1
  621. package/src/platform-implementation-js/lib/inject-script.js +0 -33
  622. package/src/platform-implementation-js/lib/is-valid-app-id.d.ts.map +0 -1
  623. package/src/platform-implementation-js/lib/is-valid-app-id.js +0 -27
  624. package/src/platform-implementation-js/lib/is-valid-email.d.ts.map +0 -1
  625. package/src/platform-implementation-js/lib/is-valid-email.js +0 -14
  626. package/src/platform-implementation-js/lib/isNotNil.d.ts.map +0 -1
  627. package/src/platform-implementation-js/lib/isNotNil.js +0 -5
  628. package/src/platform-implementation-js/lib/isStreakAppId.d.ts.map +0 -1
  629. package/src/platform-implementation-js/lib/isStreakAppId.js +0 -11
  630. package/src/platform-implementation-js/lib/logger.d.ts.map +0 -1
  631. package/src/platform-implementation-js/lib/logger.js +0 -441
  632. package/src/platform-implementation-js/lib/persistent-queue.d.ts.map +0 -1
  633. package/src/platform-implementation-js/lib/persistent-queue.js +0 -107
  634. package/src/platform-implementation-js/lib/safe-event-emitter.d.ts.map +0 -1
  635. package/src/platform-implementation-js/lib/safe-event-emitter.js +0 -17
  636. package/src/platform-implementation-js/lib/stopper-pool.d.ts.map +0 -1
  637. package/src/platform-implementation-js/lib/stopper-pool.js +0 -41
  638. package/src/platform-implementation-js/lib/stream-wait-for.d.ts.map +0 -1
  639. package/src/platform-implementation-js/lib/stream-wait-for.js +0 -30
  640. package/src/platform-implementation-js/lib/wait-for.d.ts.map +0 -1
  641. package/src/platform-implementation-js/lib/wait-for.js +0 -28
  642. package/src/platform-implementation-js/lib/waitForAsync.d.ts.map +0 -1
  643. package/src/platform-implementation-js/lib/waitForAsync.js +0 -19
  644. package/src/platform-implementation-js/namespaces/app-menu.d.ts +0 -38
  645. package/src/platform-implementation-js/namespaces/app-menu.d.ts.map +0 -1
  646. package/src/platform-implementation-js/namespaces/app-menu.js +0 -31
  647. package/src/platform-implementation-js/namespaces/butter-bar.d.ts.map +0 -1
  648. package/src/platform-implementation-js/namespaces/butter-bar.js +0 -163
  649. package/src/platform-implementation-js/views/SimpleElementView.d.ts.map +0 -1
  650. package/src/platform-implementation-js/views/SimpleElementView.js +0 -16
  651. package/src/platform-implementation-js/views/app-menu-item-view.d.ts +0 -23
  652. package/src/platform-implementation-js/views/app-menu-item-view.d.ts.map +0 -1
  653. package/src/platform-implementation-js/views/app-menu-item-view.js +0 -257
  654. package/src/platform-implementation-js/views/collapsible-panel-view.d.ts +0 -50
  655. package/src/platform-implementation-js/views/collapsible-panel-view.d.ts.map +0 -1
  656. package/src/platform-implementation-js/views/collapsible-panel-view.js +0 -222
  657. package/src/platform-implementation-js/views/compose-button-view.d.ts.map +0 -1
  658. package/src/platform-implementation-js/views/compose-button-view.js +0 -45
  659. package/src/platform-implementation-js/views/compose-view.d.ts.map +0 -1
  660. package/src/platform-implementation-js/views/compose-view.js +0 -312
  661. package/src/platform-implementation-js/views/keyboard-shortcut-handle.d.ts.map +0 -1
  662. package/src/platform-implementation-js/views/keyboard-shortcut-handle.js +0 -14
  663. package/src/platform-implementation-js/views/nav-item-view.d.ts +0 -24
  664. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.d.ts.map +0 -1
  665. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.js +0 -39
  666. package/src/platform-implementation-js/widgets/buttons/dropdown-button-view-controller.d.ts.map +0 -1
  667. package/src/platform-implementation-js/widgets/buttons/dropdown-button-view-controller.js +0 -98
  668. package/src/platform-implementation-js/widgets/buttons/dropdown-view.d.ts.map +0 -1
  669. package/src/platform-implementation-js/widgets/buttons/dropdown-view.js +0 -122
@@ -1,43 +1,56 @@
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 _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
- var _ud = require("ud");
10
- var _escape = _interopRequireDefault(require("lodash/escape"));
11
- var _kefir = _interopRequireDefault(require("kefir"));
12
- var _kefirBus = _interopRequireDefault(require("kefir-bus"));
13
- var _defer = _interopRequireDefault(require("../../../../common/defer"));
14
- var _autoHtml = _interopRequireDefault(require("auto-html"));
15
- var _querySelectorOrFail = _interopRequireDefault(require("../../../lib/dom/querySelectorOrFail"));
16
- var _inboxDropdownButtonView = _interopRequireDefault(require("../widgets/buttons/inbox-dropdown-button-view"));
17
- var _gmailDropdownView = _interopRequireDefault(require("../widgets/gmail-dropdown-view"));
18
- var _dropdownButtonViewController = _interopRequireDefault(require("../../../widgets/buttons/dropdown-button-view-controller"));
1
+ /* @flow */
2
+
3
+ import { defn } from 'ud';
4
+ import escape from 'lodash/escape';
5
+ import Kefir from 'kefir';
6
+ import kefirBus from 'kefir-bus';
7
+ import type { Bus } from 'kefir-bus';
8
+ import defer from '../../../../common/defer';
9
+ import autoHtml from 'auto-html';
10
+
11
+ import querySelector from '../../../lib/dom/querySelectorOrFail';
12
+ import InboxDropdownButtonView from '../widgets/buttons/inbox-dropdown-button-view';
13
+ import GmailDropdownView from '../widgets/gmail-dropdown-view';
14
+ import DropdownButtonViewController from '../../../widgets/buttons/dropdown-button-view-controller';
15
+
16
+ import type GmailDriver from '../gmail-driver';
17
+
19
18
  class GmailCollapsibleSectionView {
20
- constructor(driver, groupOrderHint, isSearch, isCollapsible) {
21
- (0, _defineProperty2.default)(this, "_collapsibleSectionDescriptor", {});
22
- (0, _defineProperty2.default)(this, "_element", null);
23
- (0, _defineProperty2.default)(this, "_headerElement", null);
24
- (0, _defineProperty2.default)(this, "_titleElement", null);
25
- (0, _defineProperty2.default)(this, "_bodyElement", null);
26
- (0, _defineProperty2.default)(this, "_contentElement", null);
27
- (0, _defineProperty2.default)(this, "_tableBodyElement", null);
28
- (0, _defineProperty2.default)(this, "_collapsedContainer", null);
29
- (0, _defineProperty2.default)(this, "_messageElement", null);
30
- (0, _defineProperty2.default)(this, "_footerElement", null);
31
- (0, _defineProperty2.default)(this, "_isCollapsed", false);
32
- (0, _defineProperty2.default)(this, "_inboxDropdownButtonView", null);
33
- (0, _defineProperty2.default)(this, "_dropdownViewController", null);
19
+ _driver: GmailDriver;
20
+ _groupOrderHint: number;
21
+ _isReadyDeferred: Object;
22
+ _isCollapsible: boolean;
23
+ _collapsibleSectionDescriptor: Object = {};
24
+ _isSearch: boolean;
25
+ _element: ?HTMLElement = null;
26
+ _headerElement: ?HTMLElement = null;
27
+ _titleElement: ?HTMLElement = null;
28
+ _bodyElement: ?HTMLElement = null;
29
+ _contentElement: ?HTMLElement = null;
30
+ _tableBodyElement: ?HTMLElement = null;
31
+ _collapsedContainer: ?HTMLElement = null;
32
+ _messageElement: ?HTMLElement = null;
33
+ _footerElement: ?HTMLElement = null;
34
+ _eventStream: Bus<any>;
35
+ _isCollapsed: boolean = false;
36
+ _inboxDropdownButtonView: ?Object = null;
37
+ _dropdownViewController: ?Object = null;
38
+
39
+ constructor(
40
+ driver: GmailDriver,
41
+ groupOrderHint: number,
42
+ isSearch: boolean,
43
+ isCollapsible: boolean
44
+ ) {
34
45
  this._driver = driver;
35
46
  this._isSearch = isSearch;
36
47
  this._groupOrderHint = groupOrderHint;
37
48
  this._isCollapsible = isCollapsible;
38
- this._eventStream = (0, _kefirBus.default)();
39
- this._isReadyDeferred = new _defer.default();
49
+ this._eventStream = kefirBus();
50
+
51
+ this._isReadyDeferred = new defer();
40
52
  }
53
+
41
54
  destroy() {
42
55
  if (this._element) this._element.remove();
43
56
  if (this._eventStream) this._eventStream.end();
@@ -51,43 +64,59 @@ class GmailCollapsibleSectionView {
51
64
  if (this._inboxDropdownButtonView) this._inboxDropdownButtonView.destroy();
52
65
  if (this._dropdownViewController) this._dropdownViewController.destroy();
53
66
  }
54
- getElement() {
67
+
68
+ getElement(): HTMLElement {
55
69
  const element = this._element;
56
- if (!element) throw new Error('tried to access element that does not exist');
70
+ if (!element)
71
+ throw new Error('tried to access element that does not exist');
57
72
  return element;
58
73
  }
59
- getEventStream() {
74
+
75
+ getEventStream(): Kefir.Observable<any> {
60
76
  return this._eventStream;
61
77
  }
62
- setCollapsibleSectionDescriptorProperty(collapsibleSectionDescriptorProperty) {
63
- const stoppedProperty = collapsibleSectionDescriptorProperty.takeUntilBy(this._eventStream.filter(() => false).beforeEnd(() => null));
64
- stoppedProperty.onValue(x => this._updateValues(x));
65
- stoppedProperty.take(1).onValue(x => this._isReadyDeferred.resolve(this));
78
+
79
+ setCollapsibleSectionDescriptorProperty(
80
+ collapsibleSectionDescriptorProperty: Kefir.Observable<?Object>
81
+ ) {
82
+ const stoppedProperty = collapsibleSectionDescriptorProperty.takeUntilBy(
83
+ this._eventStream.filter(() => false).beforeEnd(() => null)
84
+ );
85
+
86
+ stoppedProperty.onValue((x) => this._updateValues(x));
87
+ stoppedProperty.take(1).onValue((x) => this._isReadyDeferred.resolve(this));
66
88
  }
67
- setCollapsed(value) {
89
+
90
+ setCollapsed(value: boolean) {
68
91
  if (!this._isCollapsible) {
69
92
  return;
70
93
  }
94
+
71
95
  this._isReadyDeferred.promise.then(() => {
72
- if (value) this._collapse();else this._expand();
96
+ if (value) this._collapse();
97
+ else this._expand();
73
98
  });
74
99
  }
75
- _updateValues(collapsibleSectionDescriptor) {
100
+
101
+ _updateValues(collapsibleSectionDescriptor: ?Object) {
76
102
  const element = this._element;
77
103
  if (!collapsibleSectionDescriptor) {
78
104
  if (element) {
79
105
  element.style.display = 'none';
80
106
  }
107
+
81
108
  return;
82
109
  } else if (element) {
83
110
  element.style.display = '';
84
111
  }
112
+
85
113
  if (!element) {
86
114
  this._setupElement(collapsibleSectionDescriptor);
87
115
  this._showLoadingMessage();
88
116
  } else {
89
117
  this._updateElement(collapsibleSectionDescriptor);
90
118
  }
119
+
91
120
  this._updateHeader(collapsibleSectionDescriptor);
92
121
  this._updateTitle(collapsibleSectionDescriptor);
93
122
  this._updateSubtitle(collapsibleSectionDescriptor);
@@ -97,163 +126,301 @@ class GmailCollapsibleSectionView {
97
126
  this._updateTableRows(collapsibleSectionDescriptor);
98
127
  this._updateMessageElement(collapsibleSectionDescriptor);
99
128
  this._updateFooter(collapsibleSectionDescriptor);
129
+
100
130
  this._collapsibleSectionDescriptor = collapsibleSectionDescriptor;
101
131
  }
102
- _setupElement(collapsibleSectionDescriptor) {
103
- const element = this._element = document.createElement('div');
132
+
133
+ _setupElement(collapsibleSectionDescriptor: Object) {
134
+ const element = (this._element = document.createElement('div'));
104
135
  element.setAttribute('class', 'inboxsdk__resultsSection');
105
136
  element.setAttribute('data-group-order-hint', String(this._groupOrderHint));
106
- element.setAttribute('data-order-hint', String(typeof collapsibleSectionDescriptor.orderHint === 'number' ? collapsibleSectionDescriptor.orderHint : 0));
107
- if (!this._isCollapsible) element.classList.add('inboxsdk__resultsSection_nonCollapsible');
137
+ element.setAttribute(
138
+ 'data-order-hint',
139
+ String(
140
+ typeof collapsibleSectionDescriptor.orderHint === 'number'
141
+ ? collapsibleSectionDescriptor.orderHint
142
+ : 0
143
+ )
144
+ );
145
+ if (!this._isCollapsible)
146
+ element.classList.add('inboxsdk__resultsSection_nonCollapsible');
147
+
108
148
  this._setupHeader(collapsibleSectionDescriptor);
109
- const bodyElement = this._bodyElement = document.createElement('div');
149
+
150
+ const bodyElement = (this._bodyElement = document.createElement('div'));
110
151
  const bodyContentsElement = document.createElement('div');
111
152
  bodyContentsElement.classList.add('zE');
112
153
  bodyElement.appendChild(bodyContentsElement);
154
+
113
155
  element.appendChild(bodyElement);
114
- const contentElement = this._contentElement = document.createElement('div');
156
+
157
+ const contentElement = (this._contentElement =
158
+ document.createElement('div'));
115
159
  bodyContentsElement.appendChild(contentElement);
116
- const messageElement = this._messageElement = document.createElement('div');
160
+
161
+ const messageElement = (this._messageElement =
162
+ document.createElement('div'));
117
163
  bodyContentsElement.appendChild(messageElement);
118
- const tableBodyElement = this._tableBodyElement = document.createElement('div');
164
+
165
+ const tableBodyElement = (this._tableBodyElement =
166
+ document.createElement('div'));
119
167
  bodyContentsElement.appendChild(tableBodyElement);
168
+
120
169
  this._setupFooter(collapsibleSectionDescriptor);
170
+
121
171
  if (this._isCollapsible && this._titleElement) {
122
- _kefir.default.fromEvents(this._titleElement, 'click').onValue(() => this._toggleCollapseState());
172
+ Kefir.fromEvents(this._titleElement, 'click').onValue(() =>
173
+ this._toggleCollapseState()
174
+ );
123
175
  }
124
- _kefir.default.fromEvents(element, 'removeCollapsedContainer').onValue(() => this._destroyCollapsedContainer());
125
- _kefir.default.fromEvents(element, 'readdToCollapsedContainer').onValue(() => this._addToCollapsedContainer());
176
+
177
+ Kefir.fromEvents(element, 'removeCollapsedContainer').onValue(() =>
178
+ this._destroyCollapsedContainer()
179
+ );
180
+ Kefir.fromEvents(element, 'readdToCollapsedContainer').onValue(() =>
181
+ this._addToCollapsedContainer()
182
+ );
183
+
126
184
  this._eventStream.emit({
127
185
  type: 'update',
128
186
  property: 'orderHint',
129
- sectionDescriptor: collapsibleSectionDescriptor
187
+ sectionDescriptor: collapsibleSectionDescriptor,
130
188
  });
131
189
  }
132
- _setupHeader(collapsibleSectionDescriptor) {
133
- const headerElement = this._headerElement = document.createElement('div');
190
+
191
+ _setupHeader(collapsibleSectionDescriptor: Object) {
192
+ const headerElement = (this._headerElement = document.createElement('div'));
134
193
  headerElement.classList.add('inboxsdk__resultsSection_header', 'Wg');
194
+
135
195
  this._setupGmailv2Header(headerElement, collapsibleSectionDescriptor);
196
+
136
197
  if (this._element) this._element.appendChild(headerElement);
137
198
  }
138
- _setupGmailv2Header(headerElement, collapsibleSectionDescriptor) {
139
- const titleElement = this._titleElement = document.createElement('div');
199
+
200
+ _setupGmailv2Header(
201
+ headerElement: HTMLElement,
202
+ collapsibleSectionDescriptor: Object
203
+ ) {
204
+ const titleElement = (this._titleElement = document.createElement('div'));
140
205
  titleElement.setAttribute('class', 'inboxsdk__resultsSection_title');
141
- titleElement.innerHTML = ['<h3 class="Wr iR">', '<img alt="" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif" class="qi Wp Wq">', '<div class="Wn">', (0, _escape.default)(collapsibleSectionDescriptor.title), '</div>', '</h3>'].join('');
206
+
207
+ titleElement.innerHTML = [
208
+ '<h3 class="Wr iR">',
209
+ '<img alt="" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif" class="qi Wp Wq">',
210
+ '<div class="Wn">',
211
+ escape(collapsibleSectionDescriptor.title),
212
+ '</div>',
213
+ '</h3>',
214
+ ].join('');
215
+
142
216
  const floatRightElement = document.createElement('div');
143
217
  floatRightElement.classList.add('Cr');
144
218
  if (this._isSearch) floatRightElement.classList.add('Wg');
219
+
145
220
  headerElement.appendChild(titleElement);
146
221
  headerElement.appendChild(floatRightElement);
147
222
  }
148
- _setupFooter(collapsibleSectionDescriptor) {
149
- const footerElement = this._footerElement = document.createElement('div');
223
+
224
+ _setupFooter(collapsibleSectionDescriptor: Object) {
225
+ const footerElement = (this._footerElement = document.createElement('div'));
150
226
  footerElement.classList.add('inboxsdk__resultsSection_footer');
227
+
151
228
  if (this._bodyElement) this._bodyElement.appendChild(footerElement);
152
229
  }
153
- _updateElement(collapsibleSectionDescriptor) {
154
- if (this._collapsibleSectionDescriptor.orderHint !== collapsibleSectionDescriptor.orderHint) {
230
+
231
+ _updateElement(collapsibleSectionDescriptor: Object) {
232
+ if (
233
+ this._collapsibleSectionDescriptor.orderHint !==
234
+ collapsibleSectionDescriptor.orderHint
235
+ ) {
155
236
  const element = this._element;
156
- if (element) element.setAttribute('data-order-hint', '' + (typeof collapsibleSectionDescriptor.orderHint === 'number' ? collapsibleSectionDescriptor.orderHint : 0));
237
+ if (element)
238
+ element.setAttribute(
239
+ 'data-order-hint',
240
+ '' +
241
+ (typeof collapsibleSectionDescriptor.orderHint === 'number'
242
+ ? collapsibleSectionDescriptor.orderHint
243
+ : 0)
244
+ );
245
+
157
246
  this._eventStream.emit({
158
247
  type: 'update',
159
- property: 'orderHint'
248
+ property: 'orderHint',
160
249
  });
161
250
  }
162
251
  }
163
- _updateHeader(collapsibleSectionDescriptor) {
164
- if (this._isCollapsible || collapsibleSectionDescriptor.title || collapsibleSectionDescriptor.subtitle || collapsibleSectionDescriptor.titleLinkText || collapsibleSectionDescriptor.hasDropdown) {
252
+
253
+ _updateHeader(collapsibleSectionDescriptor: Object) {
254
+ if (
255
+ this._isCollapsible ||
256
+ collapsibleSectionDescriptor.title ||
257
+ collapsibleSectionDescriptor.subtitle ||
258
+ collapsibleSectionDescriptor.titleLinkText ||
259
+ collapsibleSectionDescriptor.hasDropdown
260
+ ) {
165
261
  if (this._headerElement) this._headerElement.style.display = '';
166
262
  } else {
167
263
  if (this._headerElement) this._headerElement.style.display = 'none';
168
264
  }
169
265
  }
170
- _updateTitle(collapsibleSectionDescriptor) {
171
- if (this._collapsibleSectionDescriptor.title !== collapsibleSectionDescriptor.title) {
266
+
267
+ _updateTitle(collapsibleSectionDescriptor: Object) {
268
+ if (
269
+ this._collapsibleSectionDescriptor.title !==
270
+ collapsibleSectionDescriptor.title
271
+ ) {
172
272
  const selector = 'h3 > .Wn';
273
+
173
274
  if (this._titleElement) {
174
- (0, _querySelectorOrFail.default)(this._titleElement, selector).textContent = collapsibleSectionDescriptor.title;
275
+ querySelector(this._titleElement, selector).textContent =
276
+ collapsibleSectionDescriptor.title;
175
277
  }
176
278
  }
177
279
  }
178
- _updateSubtitle(collapsibleSectionDescriptor) {
280
+
281
+ _updateSubtitle(collapsibleSectionDescriptor: Object) {
179
282
  const titleElement = this._titleElement;
180
283
  if (!titleElement) return;
181
- let subtitleElement = titleElement.querySelector('.inboxsdk__resultsSection_title_subtitle');
284
+
285
+ let subtitleElement = titleElement.querySelector(
286
+ '.inboxsdk__resultsSection_title_subtitle'
287
+ );
182
288
  if (!collapsibleSectionDescriptor.subtitle) {
183
289
  if (subtitleElement) {
184
290
  subtitleElement.remove();
185
291
  }
186
- } else if (this._collapsibleSectionDescriptor.subtitle !== collapsibleSectionDescriptor.subtitle) {
292
+ } else if (
293
+ this._collapsibleSectionDescriptor.subtitle !==
294
+ collapsibleSectionDescriptor.subtitle
295
+ ) {
187
296
  if (!subtitleElement) {
188
297
  subtitleElement = document.createElement('span');
189
298
  if (subtitleElement && titleElement) {
190
- subtitleElement.classList.add('inboxsdk__resultsSection_title_subtitle');
299
+ subtitleElement.classList.add(
300
+ 'inboxsdk__resultsSection_title_subtitle'
301
+ );
302
+
191
303
  const insertionPoint = titleElement.querySelector('.Wn');
304
+
192
305
  if (insertionPoint) {
193
306
  subtitleElement.classList.add('aw5');
194
- insertionPoint.appendChild(subtitleElement);
307
+ (insertionPoint: any).appendChild(subtitleElement);
195
308
  }
196
309
  }
197
310
  }
198
- subtitleElement.textContent = '(' + collapsibleSectionDescriptor.subtitle + ')';
311
+
312
+ subtitleElement.textContent =
313
+ '(' + collapsibleSectionDescriptor.subtitle + ')';
199
314
  }
200
315
  }
201
- _updateSummaryText(collapsibleSectionDescriptor) {
316
+
317
+ _updateSummaryText(collapsibleSectionDescriptor: Object) {
202
318
  const headerElement = this._headerElement;
203
319
  if (!headerElement) return;
204
- let summaryTextElement = headerElement.querySelector('.inboxsdk__resultsSection_header_summaryText');
320
+
321
+ let summaryTextElement = headerElement.querySelector(
322
+ '.inboxsdk__resultsSection_header_summaryText'
323
+ );
205
324
  if (!collapsibleSectionDescriptor.titleLinkText) {
206
325
  if (summaryTextElement) {
207
326
  summaryTextElement.remove();
208
327
  }
209
- } else if (collapsibleSectionDescriptor.titleLinkText !== this._collapsibleSectionDescriptor.titleLinkText) {
328
+ } else if (
329
+ collapsibleSectionDescriptor.titleLinkText !==
330
+ this._collapsibleSectionDescriptor.titleLinkText
331
+ ) {
210
332
  if (!summaryTextElement) {
211
333
  summaryTextElement = document.createElement('div');
212
- summaryTextElement.setAttribute('class', 'inboxsdk__resultsSection_header_summaryText Wm');
213
- summaryTextElement.innerHTML = ['<span class="Di">&nbsp;', '<div class="J-J5-Ji amH">', '<span class="Dj">', '<span></span>', '</span>', '&nbsp;', '</div>', '</span>'].join('');
214
- this._eventStream.plug(_kefir.default.fromEvents(summaryTextElement, 'click').map(() => ({
215
- eventName: 'titleLinkClicked',
216
- sectionDescriptor: this._collapsibleSectionDescriptor
217
- })));
334
+ summaryTextElement.setAttribute(
335
+ 'class',
336
+ 'inboxsdk__resultsSection_header_summaryText Wm'
337
+ );
338
+
339
+ summaryTextElement.innerHTML = [
340
+ '<span class="Di">&nbsp;',
341
+ '<div class="J-J5-Ji amH">',
342
+ '<span class="Dj">',
343
+ '<span></span>',
344
+ '</span>',
345
+ '&nbsp;',
346
+ '</div>',
347
+ '</span>',
348
+ ].join('');
349
+
350
+ this._eventStream.plug(
351
+ Kefir.fromEvents(summaryTextElement, 'click').map(() => ({
352
+ eventName: 'titleLinkClicked',
353
+ sectionDescriptor: this._collapsibleSectionDescriptor,
354
+ }))
355
+ );
356
+
218
357
  const _summaryTextElement = summaryTextElement;
219
358
  summaryTextElement.addEventListener('mouseenter', function () {
220
359
  _summaryTextElement.classList.add('aqi');
221
360
  });
361
+
222
362
  summaryTextElement.addEventListener('mouseleave', function () {
223
363
  _summaryTextElement.classList.remove('aqi');
224
364
  });
365
+
225
366
  const insertionPoint = headerElement.querySelector('.Cr');
226
- if (insertionPoint) insertionPoint.insertAdjacentElement('afterbegin', summaryTextElement);
367
+ if (insertionPoint)
368
+ (insertionPoint: any).insertAdjacentElement(
369
+ 'afterbegin',
370
+ summaryTextElement
371
+ );
227
372
  }
228
- (0, _querySelectorOrFail.default)(summaryTextElement, '.Dj > *').textContent = collapsibleSectionDescriptor.titleLinkText;
373
+
374
+ querySelector(summaryTextElement, '.Dj > *').textContent =
375
+ collapsibleSectionDescriptor.titleLinkText;
229
376
  }
230
377
  }
231
- _updateDropdown(collapsibleSectionDescriptor) {
232
- if (!collapsibleSectionDescriptor.hasDropdown || !collapsibleSectionDescriptor.onDropdownClick) {
233
- if (this._inboxDropdownButtonView) this._inboxDropdownButtonView.destroy();
378
+
379
+ _updateDropdown(collapsibleSectionDescriptor: Object) {
380
+ if (
381
+ !collapsibleSectionDescriptor.hasDropdown ||
382
+ !collapsibleSectionDescriptor.onDropdownClick
383
+ ) {
384
+ if (this._inboxDropdownButtonView)
385
+ this._inboxDropdownButtonView.destroy();
234
386
  if (this._dropdownViewController) this._dropdownViewController.destroy();
235
- } else if (collapsibleSectionDescriptor.hasDropdown && collapsibleSectionDescriptor.onDropdownClick) {
387
+ } else if (
388
+ collapsibleSectionDescriptor.hasDropdown &&
389
+ collapsibleSectionDescriptor.onDropdownClick
390
+ ) {
236
391
  if (!this._inboxDropdownButtonView || !this._dropdownViewController) {
237
- const inboxDropdownButtonView = this._inboxDropdownButtonView = new _inboxDropdownButtonView.default();
238
- this._dropdownViewController = new _dropdownButtonViewController.default({
392
+ const inboxDropdownButtonView = (this._inboxDropdownButtonView =
393
+ new InboxDropdownButtonView());
394
+ this._dropdownViewController = new DropdownButtonViewController({
239
395
  buttonView: inboxDropdownButtonView,
240
- dropdownViewDriverClass: _gmailDropdownView.default,
241
- dropdownShowFunction: collapsibleSectionDescriptor.onDropdownClick
396
+ dropdownViewDriverClass: GmailDropdownView,
397
+ dropdownShowFunction: collapsibleSectionDescriptor.onDropdownClick,
242
398
  });
399
+
243
400
  const headerElement = this._headerElement;
244
401
  if (headerElement) {
245
402
  const childElement = headerElement.querySelector('.Cr');
246
- if (childElement) childElement.appendChild(inboxDropdownButtonView.getElement());
403
+ if (childElement)
404
+ childElement.appendChild(inboxDropdownButtonView.getElement());
247
405
  }
248
- } else if (collapsibleSectionDescriptor.onDropdownClick !== this._collapsibleSectionDescriptor.onDropdownClick) {
249
- if (this._dropdownViewController) this._dropdownViewController.setDropdownShowFunction(collapsibleSectionDescriptor.onDropdownClick);
406
+ } else if (
407
+ collapsibleSectionDescriptor.onDropdownClick !==
408
+ this._collapsibleSectionDescriptor.onDropdownClick
409
+ ) {
410
+ if (this._dropdownViewController)
411
+ this._dropdownViewController.setDropdownShowFunction(
412
+ collapsibleSectionDescriptor.onDropdownClick
413
+ );
250
414
  }
251
415
  }
252
416
  }
253
- _updateContentElement(collapsibleSectionDescriptor) {
417
+
418
+ _updateContentElement(collapsibleSectionDescriptor: Object) {
254
419
  const contentElement = this._contentElement;
255
420
  if (!contentElement) return;
421
+
256
422
  contentElement.innerHTML = '';
423
+
257
424
  if (collapsibleSectionDescriptor.contentElement) {
258
425
  contentElement.style.display = '';
259
426
  contentElement.appendChild(collapsibleSectionDescriptor.contentElement);
@@ -261,13 +428,14 @@ class GmailCollapsibleSectionView {
261
428
  contentElement.style.display = 'none';
262
429
  }
263
430
  }
264
- _updateTableRows(collapsibleSectionDescriptor) {
265
- const {
266
- tableRows
267
- } = collapsibleSectionDescriptor;
431
+
432
+ _updateTableRows(collapsibleSectionDescriptor: Object) {
433
+ const { tableRows } = collapsibleSectionDescriptor;
268
434
  const tableBodyElement = this._tableBodyElement;
269
435
  if (!tableBodyElement) return;
436
+
270
437
  tableBodyElement.innerHTML = '';
438
+
271
439
  if (!tableRows || tableRows.length === 0) {
272
440
  tableBodyElement.style.display = 'none';
273
441
  } else {
@@ -275,44 +443,70 @@ class GmailCollapsibleSectionView {
275
443
  this._renderTable(tableRows);
276
444
  }
277
445
  }
278
- _renderTable(tableRows) {
446
+
447
+ _renderTable(tableRows: Array<Object>) {
279
448
  const tableElement = document.createElement('table');
280
449
  tableElement.setAttribute('class', 'F cf zt');
281
450
  tableElement.innerHTML = _getTableHTML();
282
- if (this._tableBodyElement) this._tableBodyElement.appendChild(tableElement);
451
+
452
+ if (this._tableBodyElement)
453
+ this._tableBodyElement.appendChild(tableElement);
454
+
283
455
  const tbody = tableElement.querySelector('tbody');
284
456
  const eventStream = this._eventStream;
285
- tableRows.forEach(result => {
457
+
458
+ tableRows.forEach((result) => {
286
459
  const rowElement = document.createElement('tr');
287
- rowElement.setAttribute('class', 'inboxsdk__resultsSection_tableRow zA ' + (result.isRead ? 'yO' : 'zE'));
460
+ rowElement.setAttribute(
461
+ 'class',
462
+ 'inboxsdk__resultsSection_tableRow zA ' + (result.isRead ? 'yO' : 'zE')
463
+ );
288
464
  rowElement.innerHTML = _getRowHTML(result);
465
+
289
466
  if (!tbody) throw new Error('should not happen');
290
467
  tbody.appendChild(rowElement);
291
- eventStream.plug(_kefir.default.fromEvents(rowElement, 'click').map(() => ({
292
- eventName: 'rowClicked',
293
- rowDescriptor: result
294
- })));
468
+
469
+ eventStream.plug(
470
+ Kefir.fromEvents(rowElement, 'click').map(() => ({
471
+ eventName: 'rowClicked',
472
+ rowDescriptor: result,
473
+ }))
474
+ );
295
475
  });
296
476
  }
297
- _updateMessageElement(collapsibleSectionDescriptor) {
477
+
478
+ _updateMessageElement(collapsibleSectionDescriptor: Object) {
298
479
  const messageElement = this._messageElement;
299
- if (collapsibleSectionDescriptor.tableRows && collapsibleSectionDescriptor.tableRows.length > 0 || collapsibleSectionDescriptor.contentElement) {
480
+ if (
481
+ (collapsibleSectionDescriptor.tableRows &&
482
+ collapsibleSectionDescriptor.tableRows.length > 0) ||
483
+ collapsibleSectionDescriptor.contentElement
484
+ ) {
300
485
  if (messageElement) {
301
486
  messageElement.innerHTML = '';
302
487
  messageElement.style.display = 'none';
303
488
  }
304
- } else if (collapsibleSectionDescriptor.tableRows && collapsibleSectionDescriptor.tableRows.length === 0 && !collapsibleSectionDescriptor.contentElement) {
489
+ } else if (
490
+ collapsibleSectionDescriptor.tableRows &&
491
+ collapsibleSectionDescriptor.tableRows.length === 0 &&
492
+ !collapsibleSectionDescriptor.contentElement
493
+ ) {
305
494
  this._showEmptyMessage();
306
495
  }
307
496
  }
497
+
308
498
  _showLoadingMessage() {
309
499
  const messageElement = this._messageElement;
310
500
  if (messageElement) {
311
- messageElement.setAttribute('class', 'TB TC inboxsdk__resultsSection_loading');
501
+ messageElement.setAttribute(
502
+ 'class',
503
+ 'TB TC inboxsdk__resultsSection_loading'
504
+ );
312
505
  messageElement.innerHTML = 'loading...'; //TODO: localize
313
506
  messageElement.style.display = '';
314
507
  }
315
508
  }
509
+
316
510
  _showEmptyMessage() {
317
511
  const messageElement = this._messageElement;
318
512
  if (messageElement) {
@@ -321,27 +515,41 @@ class GmailCollapsibleSectionView {
321
515
  messageElement.style.display = '';
322
516
  }
323
517
  }
324
- _updateFooter(collapsibleSectionDescriptor) {
518
+
519
+ _updateFooter(collapsibleSectionDescriptor: Object) {
325
520
  const footerElement = this._footerElement;
326
521
  if (!footerElement) return;
522
+
327
523
  footerElement.innerHTML = '';
328
- if (!collapsibleSectionDescriptor.footerLinkText && !collapsibleSectionDescriptor.footerLinkIconUrl && !collapsibleSectionDescriptor.footerLinkIconClass) {
524
+
525
+ if (
526
+ !collapsibleSectionDescriptor.footerLinkText &&
527
+ !collapsibleSectionDescriptor.footerLinkIconUrl &&
528
+ !collapsibleSectionDescriptor.footerLinkIconClass
529
+ ) {
329
530
  footerElement.style.display = 'none';
330
531
  } else {
331
532
  footerElement.style.display = '';
533
+
332
534
  const footerLinkElement = document.createElement('span');
333
535
  footerLinkElement.setAttribute('class', 'e Wb');
334
- footerLinkElement.textContent = collapsibleSectionDescriptor.footerLinkText;
335
- this._eventStream.plug(_kefir.default.fromEvents(footerLinkElement, 'click').map(() => {
336
- return {
337
- eventName: 'footerClicked',
338
- sectionDescriptor: this._collapsibleSectionDescriptor
339
- };
340
- }));
536
+ footerLinkElement.textContent =
537
+ collapsibleSectionDescriptor.footerLinkText;
538
+
539
+ this._eventStream.plug(
540
+ Kefir.fromEvents(footerLinkElement, 'click').map(() => {
541
+ return {
542
+ eventName: 'footerClicked',
543
+ sectionDescriptor: this._collapsibleSectionDescriptor,
544
+ };
545
+ })
546
+ );
547
+
341
548
  footerElement.appendChild(footerLinkElement);
342
549
  footerElement.insertAdjacentHTML('beforeend', '<br style="clear:both;">');
343
550
  }
344
551
  }
552
+
345
553
  _toggleCollapseState() {
346
554
  if (this._isCollapsed) {
347
555
  this._expand();
@@ -349,103 +557,154 @@ class GmailCollapsibleSectionView {
349
557
  this._collapse();
350
558
  }
351
559
  }
560
+
352
561
  _collapse() {
353
562
  const element = this._element;
354
563
  if (!element) {
355
564
  return;
356
565
  }
566
+
357
567
  element.classList.add('inboxsdk__resultsSection_collapsed');
568
+
358
569
  if (!this._isSearch) {
359
570
  this._addToCollapsedContainer();
360
571
  }
572
+
361
573
  const selector = 'h3 > img.Wp';
362
574
  if (this._titleElement) {
363
- const arrowSpan = (0, _querySelectorOrFail.default)(this._titleElement, selector);
575
+ const arrowSpan = querySelector(this._titleElement, selector);
364
576
  if (arrowSpan) {
365
577
  arrowSpan.classList.remove('Wq');
366
578
  arrowSpan.classList.add('Wo');
367
579
  }
368
580
  }
581
+
369
582
  if (this._bodyElement) this._bodyElement.style.display = 'none';
370
583
  this._isCollapsed = true;
584
+
371
585
  this._eventStream.emit({
372
- eventName: 'collapsed'
586
+ eventName: 'collapsed',
373
587
  });
374
588
  }
589
+
375
590
  _expand() {
376
591
  const element = this._element;
377
592
  if (!element) {
378
593
  return;
379
594
  }
595
+
380
596
  element.classList.remove('inboxsdk__resultsSection_collapsed');
597
+
381
598
  if (!this._isSearch) {
382
599
  this._removeFromCollapsedContainer();
383
600
  }
601
+
384
602
  const selector = 'h3 > img.Wp';
385
603
  if (this._titleElement) {
386
- const arrowSpan = (0, _querySelectorOrFail.default)(this._titleElement, selector);
604
+ const arrowSpan = querySelector(this._titleElement, selector);
387
605
  if (arrowSpan) {
388
606
  arrowSpan.classList.remove('Wo');
389
607
  arrowSpan.classList.add('Wq');
390
608
  }
391
609
  }
610
+
392
611
  if (this._bodyElement) this._bodyElement.style.display = '';
393
612
  this._isCollapsed = false;
613
+
394
614
  this._eventStream.emit({
395
- eventName: 'expanded'
615
+ eventName: 'expanded',
396
616
  });
397
617
  }
618
+
398
619
  _addToCollapsedContainer() {
399
620
  const element = this._element;
400
621
  if (!element) return;
401
622
  if (this._headerElement) this._headerElement.classList.remove('Wg');
402
- if (this._isCollapsedContainer(element.previousElementSibling) && this._isCollapsedContainer(element.nextElementSibling)) {
623
+
624
+ if (
625
+ this._isCollapsedContainer(element.previousElementSibling) &&
626
+ this._isCollapsedContainer(element.nextElementSibling)
627
+ ) {
403
628
  //we are surrounded by collapse containers, let's favor our previous sibling
404
629
  const otherCollapseContainer = element.nextElementSibling;
405
630
  const previousSibling = element.previousElementSibling;
406
631
  if (!previousSibling) throw new Error('previousSibling does not exist');
407
- if (!otherCollapseContainer) throw new Error('otherCollapseContainer does not exist');
632
+ if (!otherCollapseContainer)
633
+ throw new Error('otherCollapseContainer does not exist');
634
+
408
635
  const anchor = previousSibling.children[0].appendChild(element);
409
636
 
410
637
  //now we need to "merge" the two collapse containers. This can be done by taking all the result sections out of the collapsed container
411
638
  //and calling our "recollapse" helper function on them
412
- const elementsToRecollapse = Array.from(otherCollapseContainer.children[0].children).concat(Array.from(otherCollapseContainer.children[1].children));
413
- if (otherCollapseContainer) this._pulloutSectionsFromCollapsedContainer(otherCollapseContainer);
639
+ const elementsToRecollapse = Array.from(
640
+ otherCollapseContainer.children[0].children
641
+ ).concat(Array.from(otherCollapseContainer.children[1].children));
642
+
643
+ if (otherCollapseContainer)
644
+ this._pulloutSectionsFromCollapsedContainer(
645
+ (otherCollapseContainer: any)
646
+ );
414
647
  this._recollapse(elementsToRecollapse);
415
648
  } else {
416
649
  this._readdToCollapsedContainer();
417
650
  }
418
651
  }
652
+
419
653
  _removeFromCollapsedContainer() {
420
654
  if (this._headerElement) this._headerElement.classList.add('Wg');
421
655
  const element = this._element;
422
656
  if (!element) return;
657
+
423
658
  const parentElement = element.parentElement;
424
659
  if (!parentElement) return;
660
+
425
661
  const container = parentElement.parentElement;
426
- if (!container || !container.classList.contains('inboxsdk__results_collapsedContainer')) {
662
+
663
+ if (
664
+ !container ||
665
+ !container.classList.contains('inboxsdk__results_collapsedContainer')
666
+ ) {
427
667
  return;
428
668
  }
429
- const elementsToRecollapse = Array.from(container.children[0].children).concat(Array.from(container.children[1].children));
430
- this._pulloutSectionsFromCollapsedContainer(container);
669
+
670
+ const elementsToRecollapse = Array.from(
671
+ container.children[0].children
672
+ ).concat(Array.from(container.children[1].children));
673
+ this._pulloutSectionsFromCollapsedContainer((container: any));
431
674
  this._destroyCollapsedContainer();
432
- this._recollapse(elementsToRecollapse.filter(child => child !== element));
675
+
676
+ this._recollapse(elementsToRecollapse.filter((child) => child !== element));
433
677
  }
434
- _pulloutSectionsFromCollapsedContainer(container) {
678
+
679
+ _pulloutSectionsFromCollapsedContainer(container: HTMLElement) {
435
680
  const prependedChildren = Array.from(container.children[0].children);
436
- prependedChildren.forEach(child => container.insertAdjacentElement('beforebegin', child));
437
- const appendedChildren = Array.from(container.children[1].children).reverse();
438
- appendedChildren.forEach(child => container.insertAdjacentElement('afterend', child));
681
+ prependedChildren.forEach((child) =>
682
+ (container: any).insertAdjacentElement('beforebegin', child)
683
+ );
684
+
685
+ const appendedChildren = Array.from(
686
+ container.children[1].children
687
+ ).reverse();
688
+ appendedChildren.forEach((child) =>
689
+ (container: any).insertAdjacentElement('afterend', child)
690
+ );
439
691
  }
692
+
440
693
  _readdToCollapsedContainer() {
441
694
  const element = this._element;
442
695
  if (!element) return;
696
+
443
697
  if (this._collapsedContainer) {
444
- this._collapsedContainer.children[0].insertBefore(element, this._collapsedContainer.children[1].firstElementChild);
698
+ this._collapsedContainer.children[0].insertBefore(
699
+ element,
700
+ this._collapsedContainer.children[1].firstElementChild
701
+ );
445
702
  return;
446
703
  }
704
+
447
705
  let collapsedContainer;
448
706
  let isPrepend;
707
+
449
708
  if (this._isCollapsedContainer(element.previousElementSibling)) {
450
709
  isPrepend = false;
451
710
  collapsedContainer = element.previousElementSibling;
@@ -457,32 +716,61 @@ class GmailCollapsibleSectionView {
457
716
  this._createCollapsedContainer();
458
717
  collapsedContainer = this._collapsedContainer;
459
718
  }
719
+
460
720
  if (isPrepend && collapsedContainer) {
461
- collapsedContainer.children[0].insertBefore(element, collapsedContainer.children[0].firstElementChild);
721
+ collapsedContainer.children[0].insertBefore(
722
+ element,
723
+ collapsedContainer.children[0].firstElementChild
724
+ );
462
725
  } else if (collapsedContainer) {
463
726
  collapsedContainer.children[0].appendChild(element);
464
727
  }
465
728
  }
466
- _isCollapsedContainer(element) {
467
- return element && element.classList.contains('inboxsdk__results_collapsedContainer');
729
+
730
+ _isCollapsedContainer(element: any) {
731
+ return (
732
+ element &&
733
+ element.classList.contains('inboxsdk__results_collapsedContainer')
734
+ );
468
735
  }
469
- _recollapse(children) {
470
- children.forEach(child => {
736
+
737
+ _recollapse(children: Array<Object>) {
738
+ children.forEach((child) => {
471
739
  const removeEvent = document.createEvent('CustomEvent');
472
- removeEvent.initCustomEvent('removeCollapsedContainer', false, false, null);
740
+ (removeEvent: any).initCustomEvent(
741
+ 'removeCollapsedContainer',
742
+ false,
743
+ false,
744
+ null
745
+ );
473
746
  child.dispatchEvent(removeEvent);
747
+
474
748
  const readdEvent = document.createEvent('CustomEvent');
475
- readdEvent.initCustomEvent('readdToCollapsedContainer', false, false, null);
749
+ (readdEvent: any).initCustomEvent(
750
+ 'readdToCollapsedContainer',
751
+ false,
752
+ false,
753
+ null
754
+ );
476
755
  child.dispatchEvent(readdEvent);
477
756
  });
478
757
  }
758
+
479
759
  _createCollapsedContainer() {
480
- const collapsedContainer = this._collapsedContainer = document.createElement('div');
481
- collapsedContainer.setAttribute('class', 'inboxsdk__results_collapsedContainer Wg');
482
- collapsedContainer.innerHTML = '<div class="inboxsdk__results_collapsedContainer_prepend"></div><div class="inboxsdk__results_collapsedContainer_append"></div>';
760
+ const collapsedContainer = (this._collapsedContainer =
761
+ document.createElement('div'));
762
+ collapsedContainer.setAttribute(
763
+ 'class',
764
+ 'inboxsdk__results_collapsedContainer Wg'
765
+ );
766
+ collapsedContainer.innerHTML =
767
+ '<div class="inboxsdk__results_collapsedContainer_prepend"></div><div class="inboxsdk__results_collapsedContainer_append"></div>';
768
+
483
769
  const element = this._element;
484
- if (element) element.insertAdjacentElement('afterend', collapsedContainer);
770
+ if (element)
771
+ (element: any).insertAdjacentElement('afterend', collapsedContainer);
485
772
  }
773
+
486
774
  _destroyCollapsedContainer() {
487
775
  if (this._collapsedContainer) {
488
776
  this._collapsedContainer.remove();
@@ -490,67 +778,132 @@ class GmailCollapsibleSectionView {
490
778
  }
491
779
  }
492
780
  }
781
+
493
782
  function _getTableHTML() {
494
- return ['<colgroup>', '<col class="k0vOLb">', '<col class="Ci">', '<col class="y5">', '<col class="WA">', '<col class="yY">', '<col>', '<col class="xX">', '</colgroup>', '<tbody>', '</tbody>'].join('');
783
+ return [
784
+ '<colgroup>',
785
+ '<col class="k0vOLb">',
786
+ '<col class="Ci">',
787
+ '<col class="y5">',
788
+ '<col class="WA">',
789
+ '<col class="yY">',
790
+ '<col>',
791
+ '<col class="xX">',
792
+ '</colgroup>',
793
+ '<tbody>',
794
+ '</tbody>',
795
+ ].join('');
495
796
  }
797
+
496
798
  function _getRowHTML(result) {
497
799
  let iconHtml = '';
498
800
  if (result.iconHtml != null) {
499
- iconHtml = (0, _autoHtml.default)`<div class="inboxsdk__resultsSection_result_icon inboxsdk__resultsSection_result_iconHtml">
500
- ${{
501
- __html: result.iconHtml
502
- }}
801
+ iconHtml = autoHtml`<div class="inboxsdk__resultsSection_result_icon inboxsdk__resultsSection_result_iconHtml">
802
+ ${{ __html: result.iconHtml }}
503
803
  </div>`;
504
804
  } else if (result.iconUrl) {
505
- iconHtml = (0, _autoHtml.default)`<img class="inboxsdk__resultsSection_result_icon ${result.iconClass || ''}" src="${result.iconUrl}">`;
506
- } else if (result.iconClass) iconHtml = (0, _autoHtml.default)`<div class="${result.iconClass}"></div>`;
507
- const labelsHtml = Array.isArray(result.labels) ? result.labels.map(_getLabelHTML).join('') : '';
508
- const rowArr = ['<td class="xY PF"></td>', '<td class="xY oZ-x3"></td>', '<td class="xY WA">', iconHtml, '</td>', '<td class="xY WA"></td>', '<td class="xY yX inboxsdk__resultsSection_result_title">', '<div class="yW">', '<span ' + (result.isRead ? '' : 'class="zF"') + '>', (0, _escape.default)(result.title), '</span>', '</div>', '</td>', '<td class="xY a4W">', '<div class="xS">', '<div class="xT">', '<div class="yi">', labelsHtml, '</div>', '<div class="y6">', '<span class="bog">', result.isRead ? '' : '<b>', (0, _escape.default)(result.body || ''), result.isRead ? '' : '</b>', '</span>', '</div>', '</div>', '</div>', '</td>', '<td class="xY xW">', '<span' + (result.isRead ? '' : ' class="bq3"') + '>', (0, _escape.default)(result.shortDetailText || ''), '</span>', '</td>'];
805
+ iconHtml = autoHtml`<img class="inboxsdk__resultsSection_result_icon ${
806
+ result.iconClass || ''
807
+ }" src="${result.iconUrl}">`;
808
+ } else if (result.iconClass)
809
+ iconHtml = autoHtml`<div class="${result.iconClass}"></div>`;
810
+
811
+ const labelsHtml = Array.isArray(result.labels)
812
+ ? result.labels.map(_getLabelHTML).join('')
813
+ : '';
814
+
815
+ const rowArr = [
816
+ '<td class="xY PF"></td>',
817
+ '<td class="xY oZ-x3"></td>',
818
+ '<td class="xY WA">',
819
+ iconHtml,
820
+ '</td>',
821
+ '<td class="xY WA"></td>',
822
+ '<td class="xY yX inboxsdk__resultsSection_result_title">',
823
+ '<div class="yW">',
824
+ '<span ' + (result.isRead ? '' : 'class="zF"') + '>',
825
+ escape(result.title),
826
+ '</span>',
827
+ '</div>',
828
+ '</td>',
829
+ '<td class="xY a4W">',
830
+ '<div class="xS">',
831
+ '<div class="xT">',
832
+ '<div class="yi">',
833
+ labelsHtml,
834
+ '</div>',
835
+ '<div class="y6">',
836
+ '<span class="bog">',
837
+ result.isRead ? '' : '<b>',
838
+ escape(result.body || ''),
839
+ result.isRead ? '' : '</b>',
840
+ '</span>',
841
+ '</div>',
842
+ '</div>',
843
+ '</div>',
844
+ '</td>',
845
+ '<td class="xY xW">',
846
+ '<span' + (result.isRead ? '' : ' class="bq3"') + '>',
847
+ escape(result.shortDetailText || ''),
848
+ '</span>',
849
+ '</td>',
850
+ ];
851
+
509
852
  return rowArr.join('');
510
853
  }
854
+
511
855
  function _getLabelHTML(label) {
512
856
  const backgroundColor = label.backgroundColor || 'rgb(194, 194, 194)'; //grey
513
857
  const foregroundColor = label.foregroundColor || 'rgb(255, 255, 255)'; //white
514
858
  const maxWidth = label.maxWidth || '90px';
515
- const retArray = [(0, _autoHtml.default)`<div class="ar as" data-tooltip="${label.title}">
859
+
860
+ const retArray = [
861
+ autoHtml`<div class="ar as" data-tooltip="${label.title}">
516
862
  <div class="at" style="background-color: ${backgroundColor}; border-color: ${backgroundColor};">
517
- <div class="au" style="border-color: ${backgroundColor};">`];
518
- const styleHtml = label.iconBackgroundColor ? (0, _autoHtml.default)`style="background-color: ${label.iconBackgroundColor}"` : '';
863
+ <div class="au" style="border-color: ${backgroundColor};">`,
864
+ ];
865
+
866
+ const styleHtml = label.iconBackgroundColor
867
+ ? autoHtml`style="background-color: ${label.iconBackgroundColor}"`
868
+ : '';
869
+
519
870
  if (label.iconHtml != null) {
520
- retArray.push((0, _autoHtml.default)`<div class="inboxsdk__resultsSection_label_icon inboxsdk__resultsSection_label_iconHtml"
521
- ${{
522
- __html: styleHtml
523
- }}
871
+ retArray.push(
872
+ autoHtml`<div class="inboxsdk__resultsSection_label_icon inboxsdk__resultsSection_label_iconHtml"
873
+ ${{ __html: styleHtml }}
524
874
  >
525
- ${{
526
- __html: label.iconHtml
527
- }}
528
- </div>`);
875
+ ${{ __html: label.iconHtml }}
876
+ </div>`
877
+ );
529
878
  } else if (label.iconClass) {
530
- retArray.push((0, _autoHtml.default)`<div
879
+ retArray.push(
880
+ autoHtml`<div
531
881
  class="inboxsdk__resultsSection_label_icon ${label.iconClass || ''}"
532
- ${{
533
- __html: styleHtml
534
- }}
882
+ ${{ __html: styleHtml }}
535
883
  >
536
- </div>`);
884
+ </div>`
885
+ );
537
886
  } else if (label.iconUrl) {
538
- retArray.push((0, _autoHtml.default)`<img
887
+ retArray.push(
888
+ autoHtml`<img
539
889
  class="inboxsdk__resultsSection_label_icon"
540
- ${{
541
- __html: styleHtml
542
- }}
543
- src="${label.iconUrl}" />`);
890
+ ${{ __html: styleHtml }}
891
+ src="${label.iconUrl}" />`
892
+ );
544
893
  }
545
- retArray.push((0, _autoHtml.default)`
894
+
895
+ retArray.push(
896
+ autoHtml`
546
897
  <div class="av" style="color: ${foregroundColor}; max-width: ${maxWidth}">
547
898
  ${label.title}
548
899
  </div>
549
900
  </div>
550
901
  </div>
551
902
  </div>
552
- `);
903
+ `
904
+ );
905
+
553
906
  return retArray.join('');
554
907
  }
555
- var _default = (0, _ud.defn)(module, GmailCollapsibleSectionView);
556
- exports.default = _default;
908
+
909
+ export default defn(module, GmailCollapsibleSectionView);