@inboxsdk/core 1.1.6 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (483) hide show
  1. package/background.js +1 -0
  2. package/inboxsdk.js +31 -36
  3. package/inboxsdk.js.map +1 -1
  4. package/package.json +1 -1
  5. package/pageWorld.js +1 -1
  6. package/pageWorld.js.map +1 -1
  7. package/src/inboxsdk-js/header.d.ts +19 -0
  8. package/src/inboxsdk-js/header.d.ts.map +1 -0
  9. package/src/inboxsdk-js/header.js +1 -1
  10. package/src/inboxsdk.d.ts +8 -3
  11. package/src/injected-js/gmail/constants.d.ts +1 -1
  12. package/src/injected-js/gmail/constants.d.ts.map +1 -1
  13. package/src/injected-js/gmail/setup-gmail-interceptor.d.ts +3 -4
  14. package/src/injected-js/gmail/setup-gmail-interceptor.d.ts.map +1 -0
  15. package/src/injected-js/gmail/setup-gmail-interceptor.js +896 -896
  16. package/src/injected-js/gmail/sync-compose-processor-20220909.d.ts +1 -1
  17. package/src/injected-js/gmail/sync-compose-processor-20220909.d.ts.map +1 -1
  18. package/src/injected-js/gmail/sync-compose-processor.d.ts +3 -3
  19. package/src/injected-js/gmail/sync-compose-request-processor.d.ts.map +1 -1
  20. package/src/injected-js/gmail/sync-compose-request-processor.js +0 -1
  21. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.d.ts +2 -0
  22. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.d.ts.map +1 -0
  23. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +66 -78
  24. package/src/injected-js/gmail/thread-identifier/index.d.ts +3 -0
  25. package/src/injected-js/gmail/thread-identifier/index.d.ts.map +1 -0
  26. package/src/injected-js/gmail/thread-identifier/index.js +100 -98
  27. package/src/injected-js/gmail/thread-identifier/thread-row-parser.d.ts +7 -0
  28. package/src/injected-js/gmail/thread-identifier/thread-row-parser.d.ts.map +1 -0
  29. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +51 -61
  30. package/src/injected-js/main.d.ts +2 -0
  31. package/src/injected-js/main.d.ts.map +1 -0
  32. package/src/injected-js/main.js +44 -43
  33. package/src/injected-js/message-metadata-holder.d.ts +7 -0
  34. package/src/injected-js/message-metadata-holder.d.ts.map +1 -0
  35. package/src/injected-js/message-metadata-holder.js +89 -97
  36. package/src/injected-js/setup-data-exposer.d.ts +2 -0
  37. package/src/injected-js/setup-data-exposer.d.ts.map +1 -0
  38. package/src/injected-js/setup-data-exposer.js +126 -118
  39. package/src/injected-js/setup-error-silencer.d.ts +2 -0
  40. package/src/injected-js/setup-error-silencer.d.ts.map +1 -0
  41. package/src/injected-js/setup-error-silencer.js +16 -24
  42. package/src/injected-js/setup-event-reemitter.d.ts +2 -0
  43. package/src/injected-js/setup-event-reemitter.d.ts.map +1 -0
  44. package/src/injected-js/setup-event-reemitter.js +46 -59
  45. package/src/injected-js/setupInboxCustomViewLinkFixer.d.ts +2 -0
  46. package/src/injected-js/setupInboxCustomViewLinkFixer.d.ts.map +1 -0
  47. package/src/injected-js/setupInboxCustomViewLinkFixer.js +24 -26
  48. package/src/injected-js/setupPushStateListener.d.ts +2 -0
  49. package/src/injected-js/setupPushStateListener.d.ts.map +1 -0
  50. package/src/injected-js/setupPushStateListener.js +14 -23
  51. package/src/injected-js/xhr-helper.d.ts +2 -0
  52. package/src/injected-js/xhr-helper.d.ts.map +1 -0
  53. package/src/injected-js/xhr-helper.js +73 -83
  54. package/src/injected-js/xhr-proxy-factory.d.ts +97 -0
  55. package/src/injected-js/xhr-proxy-factory.d.ts.map +1 -0
  56. package/src/injected-js/xhr-proxy-factory.js +503 -451
  57. package/src/platform-implementation-js/constants/router.d.ts +37 -5
  58. package/src/platform-implementation-js/constants/router.d.ts.map +1 -0
  59. package/src/platform-implementation-js/constants/router.js +57 -60
  60. package/src/platform-implementation-js/constants/toolbars.d.ts +2 -0
  61. package/src/platform-implementation-js/constants/toolbars.d.ts.map +1 -0
  62. package/src/platform-implementation-js/constants/toolbars.js +4 -11
  63. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.d.ts.map +1 -1
  64. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +0 -1
  65. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.d.ts.map +1 -1
  66. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +0 -1
  67. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.d.ts.map +1 -1
  68. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +0 -1
  69. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.d.ts +4 -6
  70. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.d.ts.map +1 -0
  71. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +55 -62
  72. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.d.ts.map +1 -1
  73. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +0 -1
  74. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.d.ts.map +1 -1
  75. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +0 -1
  76. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.d.ts.map +1 -1
  77. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +4 -5
  78. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.d.ts.map +1 -1
  79. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +4 -9
  80. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.d.ts.map +1 -1
  81. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +1 -0
  82. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.d.ts +2 -1
  83. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.d.ts.map +1 -1
  84. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +1 -1
  85. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts +4 -3
  86. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.d.ts.map +1 -1
  87. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.d.ts.map +1 -1
  88. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +0 -1
  89. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.d.ts +19 -6
  90. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.d.ts.map +1 -0
  91. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +75 -80
  92. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.d.ts +5 -0
  93. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.d.ts.map +1 -0
  94. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +13 -22
  95. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.d.ts +5 -0
  96. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.d.ts.map +1 -0
  97. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +18 -26
  98. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.d.ts +5 -0
  99. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.d.ts.map +1 -0
  100. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.js +13 -30
  101. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.d.ts +44 -0
  102. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.d.ts.map +1 -0
  103. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +681 -601
  104. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.d.ts +2 -0
  105. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.d.ts.map +1 -0
  106. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +23 -24
  107. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.d.ts +19 -3
  108. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.d.ts.map +1 -0
  109. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +156 -150
  110. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.d.ts +20 -0
  111. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.d.ts.map +1 -0
  112. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +101 -96
  113. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.d.ts +40 -0
  114. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.d.ts.map +1 -0
  115. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +287 -265
  116. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.d.ts +61 -0
  117. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.d.ts.map +1 -0
  118. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +689 -524
  119. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.d.ts +5 -0
  120. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.d.ts.map +1 -0
  121. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +124 -118
  122. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.d.ts +15 -0
  123. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.d.ts.map +1 -0
  124. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +47 -51
  125. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-inner-sidebar.d.ts +8 -0
  126. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-inner-sidebar.d.ts.map +1 -0
  127. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-inner-sidebar.js +8 -16
  128. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-outer-sidebar.d.ts +8 -0
  129. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-outer-sidebar.d.ts.map +1 -0
  130. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-outer-sidebar.js +23 -31
  131. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.d.ts +4 -0
  132. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.d.ts.map +1 -0
  133. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +61 -66
  134. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.d.ts +6 -0
  135. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.d.ts.map +1 -0
  136. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +64 -48
  137. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.d.ts +2 -0
  138. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.d.ts.map +1 -0
  139. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +10 -17
  140. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.d.ts +2 -0
  141. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.d.ts.map +1 -0
  142. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +14 -23
  143. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.d.ts +3 -0
  144. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.d.ts.map +1 -0
  145. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +13 -16
  146. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.d.ts +7 -0
  147. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.d.ts.map +1 -0
  148. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +57 -59
  149. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.d.ts +3 -0
  150. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.d.ts.map +1 -0
  151. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +49 -49
  152. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.d.ts +4 -0
  153. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.d.ts.map +1 -0
  154. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +89 -89
  155. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.d.ts +1 -1
  156. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-information-extractor.d.ts.map +1 -1
  157. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.d.ts +4 -0
  158. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.d.ts.map +1 -0
  159. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +13 -21
  160. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.d.ts +3 -0
  161. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.d.ts.map +1 -0
  162. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +16 -23
  163. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.d.ts +4 -0
  164. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.d.ts.map +1 -0
  165. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +14 -22
  166. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.d.ts +1 -1
  167. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-recipients.d.ts.map +1 -1
  168. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.d.ts +4 -0
  169. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.d.ts.map +1 -0
  170. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +23 -29
  171. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.d.ts +3 -0
  172. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.d.ts.map +1 -0
  173. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +17 -25
  174. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.d.ts +4 -0
  175. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.d.ts.map +1 -0
  176. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +317 -252
  177. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.d.ts +3 -0
  178. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.d.ts.map +1 -0
  179. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +22 -18
  180. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.d.ts +4 -0
  181. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.d.ts.map +1 -0
  182. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +57 -50
  183. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.d.ts +3 -0
  184. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.d.ts.map +1 -0
  185. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +18 -20
  186. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.d.ts +3 -0
  187. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.d.ts.map +1 -0
  188. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +114 -113
  189. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.d.ts +3 -0
  190. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.d.ts.map +1 -0
  191. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +15 -18
  192. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.d.ts +189 -118
  193. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.d.ts.map +1 -0
  194. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +1480 -1333
  195. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.d.ts +1 -2
  196. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.d.ts.map +1 -1
  197. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/attachment-icon.js +1 -2
  198. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.d.ts +3 -0
  199. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.d.ts.map +1 -0
  200. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +69 -70
  201. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.d.ts +67 -6
  202. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.d.ts.map +1 -0
  203. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +715 -637
  204. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.d.ts +44 -6
  205. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.d.ts.map +1 -0
  206. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +100 -101
  207. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.d.ts +72 -3
  208. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.d.ts.map +1 -0
  209. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +502 -438
  210. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.d.ts +39 -8
  211. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.d.ts.map +1 -0
  212. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +229 -211
  213. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.d.ts +117 -5
  214. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.d.ts.map +1 -0
  215. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +938 -821
  216. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view/add-icon-area.d.ts +5 -0
  217. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view/add-icon-area.d.ts.map +1 -0
  218. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view/add-icon-area.js +66 -61
  219. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.d.ts +18 -0
  220. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.d.ts.map +1 -0
  221. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.js +520 -457
  222. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.d.ts +7 -0
  223. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.d.ts.map +1 -0
  224. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +24 -27
  225. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.d.ts +69 -7
  226. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.d.ts.map +1 -0
  227. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +646 -523
  228. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.d.ts +58 -11
  229. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.d.ts.map +1 -0
  230. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +436 -383
  231. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.d.ts +35 -7
  232. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.d.ts.map +1 -0
  233. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +265 -235
  234. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.d.ts +2 -0
  235. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.d.ts.map +1 -1
  236. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-accessory-button-view.js +4 -0
  237. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.d.ts +2 -0
  238. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.d.ts.map +1 -1
  239. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/create-parent-accessory-button-view.js +4 -0
  240. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.d.ts +7 -0
  241. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.d.ts.map +1 -0
  242. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +22 -30
  243. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.d.ts +4 -0
  244. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.d.ts.map +1 -1
  245. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/modal-button-view.js +6 -0
  246. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.d.ts +11 -0
  247. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.d.ts.map +1 -0
  248. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +35 -41
  249. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.d.ts +18 -0
  250. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.d.ts.map +1 -0
  251. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +96 -97
  252. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.d.ts +18 -15
  253. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.d.ts.map +1 -0
  254. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +170 -170
  255. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.d.ts +47 -0
  256. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.d.ts.map +1 -0
  257. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +325 -279
  258. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.d.ts +16 -0
  259. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.d.ts.map +1 -0
  260. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +56 -61
  261. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.d.ts +31 -3
  262. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.d.ts.map +1 -0
  263. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +275 -252
  264. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.d.ts +6 -0
  265. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.d.ts.map +1 -0
  266. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +27 -32
  267. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.d.ts +7 -0
  268. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.d.ts.map +1 -0
  269. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +45 -43
  270. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.d.ts +5 -6
  271. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.d.ts.map +1 -0
  272. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +11 -19
  273. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.d.ts +5 -6
  274. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.d.ts.map +1 -0
  275. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +39 -48
  276. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.d.ts +5 -0
  277. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.d.ts.map +1 -0
  278. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +12 -20
  279. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.d.ts +5 -0
  280. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.d.ts.map +1 -0
  281. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +11 -19
  282. package/src/platform-implementation-js/driver-common/inboxAjax.d.ts +4 -0
  283. package/src/platform-implementation-js/driver-common/inboxAjax.d.ts.map +1 -0
  284. package/src/platform-implementation-js/driver-common/inboxAjax.js +5 -13
  285. package/src/platform-implementation-js/driver-common/requestGmailThread.d.ts +4 -0
  286. package/src/platform-implementation-js/driver-common/requestGmailThread.d.ts.map +1 -0
  287. package/src/platform-implementation-js/driver-common/requestGmailThread.js +22 -32
  288. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.d.ts +50 -0
  289. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.d.ts.map +1 -0
  290. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +228 -279
  291. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.d.ts +25 -1
  292. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.d.ts.map +1 -0
  293. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +142 -147
  294. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.d.ts +106 -133
  295. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.d.ts.map +1 -0
  296. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +1 -1
  297. package/src/platform-implementation-js/driver-interfaces/driver.d.ts +31 -139
  298. package/src/platform-implementation-js/driver-interfaces/driver.d.ts.map +1 -0
  299. package/src/platform-implementation-js/driver-interfaces/driver.js +1 -1
  300. package/src/platform-implementation-js/driver-interfaces/message-view-driver.d.ts +44 -0
  301. package/src/platform-implementation-js/driver-interfaces/message-view-driver.d.ts.map +1 -0
  302. package/src/platform-implementation-js/driver-interfaces/message-view-driver.js +1 -5
  303. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.d.ts +18 -20
  304. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.d.ts.map +1 -0
  305. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +1 -1
  306. package/src/platform-implementation-js/driver-interfaces/route-view-driver.d.ts +19 -0
  307. package/src/platform-implementation-js/driver-interfaces/route-view-driver.d.ts.map +1 -0
  308. package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +1 -1
  309. package/src/platform-implementation-js/driver-interfaces/thread-row-view-driver.d.ts +11 -0
  310. package/src/platform-implementation-js/driver-interfaces/thread-row-view-driver.d.ts.map +1 -0
  311. package/src/platform-implementation-js/driver-interfaces/thread-row-view-driver.js +1 -1
  312. package/src/platform-implementation-js/lib/css-selector-escape.d.ts +2 -0
  313. package/src/platform-implementation-js/lib/css-selector-escape.d.ts.map +1 -0
  314. package/src/platform-implementation-js/lib/css-selector-escape.js +6 -12
  315. package/src/platform-implementation-js/lib/delay-asap.d.ts +1 -1
  316. package/src/platform-implementation-js/lib/delay-asap.d.ts.map +1 -1
  317. package/src/platform-implementation-js/lib/delay-asap.js +0 -2
  318. package/src/platform-implementation-js/lib/dom/get-selection.d.ts +3 -0
  319. package/src/platform-implementation-js/lib/dom/get-selection.d.ts.map +1 -0
  320. package/src/platform-implementation-js/lib/dom/get-selection.js +22 -24
  321. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.d.ts +3 -0
  322. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.d.ts.map +1 -0
  323. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +78 -75
  324. package/src/platform-implementation-js/lib/dom/is-node-in-range.d.ts +2 -0
  325. package/src/platform-implementation-js/lib/dom/is-node-in-range.d.ts.map +1 -0
  326. package/src/platform-implementation-js/lib/dom/is-node-in-range.js +12 -17
  327. package/src/platform-implementation-js/lib/dom/make-element-stream-merger.d.ts.map +1 -1
  328. package/src/platform-implementation-js/lib/dom/set-css.d.ts +2 -0
  329. package/src/platform-implementation-js/lib/dom/set-css.d.ts.map +1 -0
  330. package/src/platform-implementation-js/lib/dom/set-css.js +18 -23
  331. package/src/platform-implementation-js/lib/dom/set-value-and-dispatch-event.d.ts +2 -0
  332. package/src/platform-implementation-js/lib/dom/set-value-and-dispatch-event.d.ts.map +1 -0
  333. package/src/platform-implementation-js/lib/dom/set-value-and-dispatch-event.js +6 -12
  334. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.d.ts +4 -0
  335. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.d.ts.map +1 -0
  336. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +84 -93
  337. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.d.ts +1 -1
  338. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.d.ts.map +1 -1
  339. package/src/platform-implementation-js/lib/handle-compose-link-chips.d.ts +4 -0
  340. package/src/platform-implementation-js/lib/handle-compose-link-chips.d.ts.map +1 -0
  341. package/src/platform-implementation-js/lib/handle-compose-link-chips.js +106 -97
  342. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.d.ts.map +1 -1
  343. package/src/platform-implementation-js/lib/inject-script-EMBEDDED.js +1 -1
  344. package/src/platform-implementation-js/lib/insert-link-chip-into-body.d.ts +4 -0
  345. package/src/platform-implementation-js/lib/insert-link-chip-into-body.d.ts.map +1 -0
  346. package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +32 -39
  347. package/src/platform-implementation-js/lib/logger.d.ts +1 -0
  348. package/src/platform-implementation-js/lib/logger.d.ts.map +1 -1
  349. package/src/platform-implementation-js/lib/parseParamsFromRouteID.d.ts +2 -0
  350. package/src/platform-implementation-js/lib/parseParamsFromRouteID.d.ts.map +1 -0
  351. package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +12 -18
  352. package/src/platform-implementation-js/lib/populateRouteID.d.ts +2 -5
  353. package/src/platform-implementation-js/lib/populateRouteID.d.ts.map +1 -0
  354. package/src/platform-implementation-js/lib/populateRouteID.js +16 -21
  355. package/src/platform-implementation-js/lib/react/ElementContainer.d.ts +15 -0
  356. package/src/platform-implementation-js/lib/react/ElementContainer.d.ts.map +1 -0
  357. package/src/platform-implementation-js/lib/react/ElementContainer.js +24 -36
  358. package/src/platform-implementation-js/lib/routeIDmatchesHash.d.ts +2 -4
  359. package/src/platform-implementation-js/lib/routeIDmatchesHash.d.ts.map +1 -0
  360. package/src/platform-implementation-js/lib/routeIDmatchesHash.js +8 -15
  361. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.d.ts +2 -4
  362. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.d.ts.map +1 -0
  363. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +12 -19
  364. package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +1 -1
  365. package/src/platform-implementation-js/main.d.ts.map +1 -1
  366. package/src/platform-implementation-js/main.js +1 -4
  367. package/src/platform-implementation-js/namespaces/compose.d.ts +13 -0
  368. package/src/platform-implementation-js/namespaces/compose.d.ts.map +1 -0
  369. package/src/platform-implementation-js/namespaces/compose.js +56 -61
  370. package/src/platform-implementation-js/namespaces/conversations.d.ts +24 -0
  371. package/src/platform-implementation-js/namespaces/conversations.d.ts.map +1 -0
  372. package/src/platform-implementation-js/namespaces/conversations.js +79 -78
  373. package/src/platform-implementation-js/namespaces/global.d.ts +11 -0
  374. package/src/platform-implementation-js/namespaces/global.d.ts.map +1 -0
  375. package/src/platform-implementation-js/namespaces/global.js +28 -36
  376. package/src/platform-implementation-js/namespaces/keyboard.d.ts +11 -0
  377. package/src/platform-implementation-js/namespaces/keyboard.d.ts.map +1 -0
  378. package/src/platform-implementation-js/namespaces/keyboard.js +27 -40
  379. package/src/platform-implementation-js/namespaces/lists.d.ts +14 -0
  380. package/src/platform-implementation-js/namespaces/lists.d.ts.map +1 -0
  381. package/src/platform-implementation-js/namespaces/lists.js +38 -50
  382. package/src/platform-implementation-js/namespaces/modal.d.ts +10 -0
  383. package/src/platform-implementation-js/namespaces/modal.d.ts.map +1 -0
  384. package/src/platform-implementation-js/namespaces/modal.js +40 -48
  385. package/src/platform-implementation-js/namespaces/nav-menu.d.ts +16 -0
  386. package/src/platform-implementation-js/namespaces/nav-menu.d.ts.map +1 -0
  387. package/src/platform-implementation-js/namespaces/nav-menu.js +29 -36
  388. package/src/platform-implementation-js/namespaces/router.d.ts +50 -1
  389. package/src/platform-implementation-js/namespaces/router.d.ts.map +1 -0
  390. package/src/platform-implementation-js/namespaces/router.js +126 -137
  391. package/src/platform-implementation-js/namespaces/search.d.ts +7 -0
  392. package/src/platform-implementation-js/namespaces/search.d.ts.map +1 -0
  393. package/src/platform-implementation-js/namespaces/search.js +25 -34
  394. package/src/platform-implementation-js/namespaces/toolbars.d.ts +15 -0
  395. package/src/platform-implementation-js/namespaces/toolbars.d.ts.map +1 -0
  396. package/src/platform-implementation-js/namespaces/toolbars.js +138 -140
  397. package/src/platform-implementation-js/namespaces/user.d.ts +13 -0
  398. package/src/platform-implementation-js/namespaces/user.d.ts.map +1 -0
  399. package/src/platform-implementation-js/namespaces/user.js +53 -62
  400. package/src/platform-implementation-js/namespaces/widgets.d.ts +16 -0
  401. package/src/platform-implementation-js/namespaces/widgets.d.ts.map +1 -0
  402. package/src/platform-implementation-js/namespaces/widgets.js +68 -77
  403. package/src/platform-implementation-js/platform-implementation.d.ts +54 -126
  404. package/src/platform-implementation-js/platform-implementation.d.ts.map +1 -0
  405. package/src/platform-implementation-js/platform-implementation.js +176 -147
  406. package/src/platform-implementation-js/views/app-toolbar-button-view.d.ts +11 -0
  407. package/src/platform-implementation-js/views/app-toolbar-button-view.d.ts.map +1 -0
  408. package/src/platform-implementation-js/views/app-toolbar-button-view.js +42 -51
  409. package/src/platform-implementation-js/views/collapsible-section-view.d.ts +12 -0
  410. package/src/platform-implementation-js/views/collapsible-section-view.d.ts.map +1 -0
  411. package/src/platform-implementation-js/views/collapsible-section-view.js +58 -86
  412. package/src/platform-implementation-js/views/compose-view.d.ts +2 -1
  413. package/src/platform-implementation-js/views/compose-view.d.ts.map +1 -1
  414. package/src/platform-implementation-js/views/content-panel-view.d.ts +12 -0
  415. package/src/platform-implementation-js/views/content-panel-view.d.ts.map +1 -0
  416. package/src/platform-implementation-js/views/content-panel-view.js +35 -50
  417. package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts +18 -0
  418. package/src/platform-implementation-js/views/conversations/attachment-card-view.d.ts.map +1 -0
  419. package/src/platform-implementation-js/views/conversations/attachment-card-view.js +39 -44
  420. package/src/platform-implementation-js/views/conversations/custom-message-view.d.ts +28 -0
  421. package/src/platform-implementation-js/views/conversations/custom-message-view.d.ts.map +1 -0
  422. package/src/platform-implementation-js/views/conversations/custom-message-view.js +115 -103
  423. package/src/platform-implementation-js/views/conversations/message-view.d.ts +34 -0
  424. package/src/platform-implementation-js/views/conversations/message-view.d.ts.map +1 -0
  425. package/src/platform-implementation-js/views/conversations/message-view.js +197 -209
  426. package/src/platform-implementation-js/views/conversations/thread-view.d.ts +23 -0
  427. package/src/platform-implementation-js/views/conversations/thread-view.d.ts.map +1 -0
  428. package/src/platform-implementation-js/views/conversations/thread-view.js +93 -100
  429. package/src/platform-implementation-js/views/native-nav-item-view.d.ts +11 -0
  430. package/src/platform-implementation-js/views/native-nav-item-view.d.ts.map +1 -0
  431. package/src/platform-implementation-js/views/native-nav-item-view.js +56 -62
  432. package/src/platform-implementation-js/views/nav-item-view.d.ts +12 -22
  433. package/src/platform-implementation-js/views/nav-item-view.d.ts.map +1 -0
  434. package/src/platform-implementation-js/views/nav-item-view.js +123 -124
  435. package/src/platform-implementation-js/views/route-view/custom-route-view.d.ts +9 -0
  436. package/src/platform-implementation-js/views/route-view/custom-route-view.d.ts.map +1 -0
  437. package/src/platform-implementation-js/views/route-view/custom-route-view.js +24 -36
  438. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.d.ts +14 -0
  439. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.d.ts.map +1 -0
  440. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +27 -38
  441. package/src/platform-implementation-js/views/route-view/list-route-view.d.ts +13 -0
  442. package/src/platform-implementation-js/views/route-view/list-route-view.d.ts.map +1 -0
  443. package/src/platform-implementation-js/views/route-view/list-route-view.js +41 -51
  444. package/src/platform-implementation-js/views/route-view/route-view.d.ts +11 -0
  445. package/src/platform-implementation-js/views/route-view/route-view.d.ts.map +1 -0
  446. package/src/platform-implementation-js/views/route-view/route-view.js +41 -51
  447. package/src/platform-implementation-js/views/section-view.d.ts +11 -0
  448. package/src/platform-implementation-js/views/section-view.d.ts.map +1 -0
  449. package/src/platform-implementation-js/views/section-view.js +56 -81
  450. package/src/platform-implementation-js/views/thread-row-view.d.ts +27 -0
  451. package/src/platform-implementation-js/views/thread-row-view.d.ts.map +1 -0
  452. package/src/platform-implementation-js/views/thread-row-view.js +87 -94
  453. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.d.ts +4 -0
  454. package/src/platform-implementation-js/widgets/buttons/basic-button-view-controller.d.ts.map +1 -1
  455. package/src/platform-implementation-js/widgets/drawer-view.d.ts +13 -0
  456. package/src/platform-implementation-js/widgets/drawer-view.d.ts.map +1 -0
  457. package/src/platform-implementation-js/widgets/drawer-view.js +46 -53
  458. package/src/platform-implementation-js/widgets/modal-view.d.ts +18 -0
  459. package/src/platform-implementation-js/widgets/modal-view.d.ts.map +1 -0
  460. package/src/platform-implementation-js/widgets/modal-view.js +95 -91
  461. package/src/platform-implementation-js/widgets/mole-view.d.ts +12 -0
  462. package/src/platform-implementation-js/widgets/mole-view.d.ts.map +1 -0
  463. package/src/platform-implementation-js/widgets/mole-view.js +37 -46
  464. package/src/platform-implementation-js/widgets/top-message-bar-view.d.ts +8 -0
  465. package/src/platform-implementation-js/widgets/top-message-bar-view.d.ts.map +1 -0
  466. package/src/platform-implementation-js/widgets/top-message-bar-view.js +13 -21
  467. package/src/injected-js/gmail/modify-suggestions.test.js +0 -20
  468. package/src/injected-js/gmail/sync-compose-request-processor.test.js +0 -80
  469. package/src/injected-js/gmail/thread-identifier/thread-row-parser.test.js +0 -41
  470. package/src/injected-js/xhr-proxy-factory.test.js +0 -1052
  471. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.test.js +0 -22
  472. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.test.js +0 -125
  473. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.test.js +0 -141
  474. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.test.js +0 -209
  475. package/src/platform-implementation-js/lib/array-to-lifetimes.js +0 -69
  476. package/src/platform-implementation-js/lib/array-to-lifetimes.test.js +0 -155
  477. package/src/platform-implementation-js/lib/dom/querySelectorOne.js +0 -13
  478. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.test.js +0 -39
  479. package/src/platform-implementation-js/lib/make-revocable-function.js +0 -38
  480. package/src/platform-implementation-js/lib/make-revocable-function.test.js +0 -61
  481. package/src/platform-implementation-js/lib/parseParamsFromRouteID.test.js +0 -19
  482. package/src/platform-implementation-js/lib/populateRouteID.test.js +0 -32
  483. package/src/platform-implementation-js/lib/routeIDmatchesHash.test.js +0 -17
@@ -1,10 +1,41 @@
1
- import { Observable } from 'kefir';
2
- import { GmailThreadRowView } from '../../../platform-implementation';
1
+ import * as Kefir from 'kefir';
2
+ import type { Bus } from 'kefir-bus';
3
3
  import GmailToolbarView from './gmail-toolbar-view';
4
-
5
- export default class GmailRowListView {
6
- getRowViewDriverStream(): Observable<GmailThreadRowView, unknown>;
7
- getThreadRowViewDrivers(): Set<GmailThreadRowView>;
8
- getToolbarView(): GmailToolbarView | null | undefined;
9
- getSelectedThreadRowViewDrivers(): Set<GmailThreadRowView>;
4
+ import GmailThreadRowView from './gmail-thread-row-view';
5
+ import type GmailDriver from '../gmail-driver';
6
+ import type GmailRouteView from './gmail-route-view/gmail-route-view';
7
+ declare class GmailRowListView {
8
+ _element: HTMLElement;
9
+ _gmailDriver: GmailDriver;
10
+ _routeViewDriver: GmailRouteView;
11
+ _pendingExpansions: Map<string, number>;
12
+ _pendingExpansionsSignal: Bus<any, unknown>;
13
+ _toolbarView: GmailToolbarView | null | undefined;
14
+ _threadRowViewDrivers: Set<GmailThreadRowView>;
15
+ _eventStreamBus: Bus<any, unknown>;
16
+ _rowViewDriverStream: Kefir.Observable<GmailThreadRowView, unknown>;
17
+ _stopper: Kefir.Observable<any, unknown>;
18
+ _elementsToViews: Map<HTMLElement, GmailThreadRowView>;
19
+ _selectionMutationObserver: MutationObserver;
20
+ _selectedThreadRowViews: Set<GmailThreadRowView>;
21
+ constructor(rootElement: HTMLElement, routeViewDriver: GmailRouteView, gmailDriver: GmailDriver);
22
+ destroy(): void;
23
+ getElement(): HTMLElement;
24
+ getRouteViewDriver(): GmailRouteView;
25
+ getToolbarView(): GmailToolbarView | null | undefined;
26
+ getSelectedThreadRowViewDrivers(): Set<GmailThreadRowView>;
27
+ getThreadRowViewDrivers(): Set<GmailThreadRowView>;
28
+ getRowViewDriverStream(): Kefir.Observable<GmailThreadRowView, unknown>;
29
+ getEventStream(): Bus<any, unknown>;
30
+ _setupToolbarView(): void;
31
+ _findToolbarElement(): HTMLElement | null;
32
+ _fixColumnWidths(newTableParent: HTMLElement | null | undefined): void;
33
+ expandColumn(colSelector: string, width: number): void;
34
+ _expandColumnJob(): void;
35
+ _batchedSignalThreadRowViewSelectionChangeScheduled: boolean;
36
+ _batchedSignalThreadRowViewSelectionChange(): void;
37
+ _startWatchingForRowViews(): void;
38
+ _addThreadRowView(gmailThreadRowView: GmailThreadRowView): void;
10
39
  }
40
+ export default GmailRowListView;
41
+ //# sourceMappingURL=gmail-row-list-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gmail-row-list-view.d.ts","sourceRoot":"","sources":["../../../../../../../src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAE/B,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAIrC,OAAO,gBAAgB,MAAM,sBAAsB,CAAC;AACpD,OAAO,kBAAkB,MAAM,yBAAyB,CAAC;AAKzD,OAAO,KAAK,WAAW,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,cAAc,MAAM,qCAAqC,CAAC;AAItE,cAAM,gBAAgB;IACpB,QAAQ,EAAE,WAAW,CAAC;IACtB,YAAY,EAAE,WAAW,CAAC;IAC1B,gBAAgB,EAAE,cAAc,CAAC;IACjC,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACxC,wBAAwB,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IAC5C,YAAY,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC;IAClD,qBAAqB,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAa;IAC3D,eAAe,EAAE,GAAG,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACnC,oBAAoB,EAAG,KAAK,CAAC,UAAU,CAAC,kBAAkB,EAAE,OAAO,CAAC,CAAC;IACrE,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC;IACzC,gBAAgB,EAAE,GAAG,CAAC,WAAW,EAAE,kBAAkB,CAAC,CAAa;IACnE,0BAA0B,EAAE,gBAAgB,CAAC;IAC7C,uBAAuB,EAAE,GAAG,CAAC,kBAAkB,CAAC,CAAa;gBAG3D,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,cAAc,EAC/B,WAAW,EAAE,WAAW;IAsD1B,OAAO;IAkBP,UAAU,IAAI,WAAW;IAIzB,kBAAkB,IAAI,cAAc;IAIpC,cAAc,IAAI,gBAAgB,GAAG,IAAI,GAAG,SAAS;IAIrD,+BAA+B,IAAI,GAAG,CAAC,kBAAkB,CAAC;IAI1D,uBAAuB,IAAI,GAAG,CAAC,kBAAkB,CAAC;IAIlD,sBAAsB;IAItB,cAAc;IAId,iBAAiB;IAejB,mBAAmB;IAuBnB,gBAAgB,CAAC,cAAc,EAAE,WAAW,GAAG,IAAI,GAAG,SAAS;IAqB/D,YAAY,CAAC,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;IAU/C,gBAAgB;IAiBhB,mDAAmD,UAAS;IAE5D,0CAA0C;IAe1C,yBAAyB;IAsEzB,iBAAiB,CAAC,kBAAkB,EAAE,kBAAkB;CAUzD;AAED,eAAe,gBAAgB,CAAC"}
@@ -1,219 +1,237 @@
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 _find = _interopRequireDefault(require("lodash/find"));
11
- var _zip = _interopRequireDefault(require("lodash/zip"));
12
- var _asap = _interopRequireDefault(require("asap"));
13
- var _assert = _interopRequireDefault(require("assert"));
14
- var _kefir = _interopRequireDefault(require("kefir"));
15
- var _kefirBus = _interopRequireDefault(require("kefir-bus"));
16
- var _getOrFail = _interopRequireDefault(require("../../../../common/get-or-fail"));
17
- var _delayAsap = _interopRequireDefault(require("../../../lib/delay-asap"));
18
- var _querySelectorOrFail = _interopRequireDefault(require("../../../lib/dom/querySelectorOrFail"));
19
- var _gmailToolbarView = _interopRequireDefault(require("./gmail-toolbar-view"));
20
- var _gmailThreadRowView = _interopRequireDefault(require("./gmail-thread-row-view"));
21
- var _streamWaitFor = _interopRequireDefault(require("../../../lib/stream-wait-for"));
22
- var _makeElementChildStream = _interopRequireDefault(require("../../../lib/dom/make-element-child-stream"));
23
- var _makeElementViewStream = _interopRequireDefault(require("../../../lib/dom/make-element-view-stream"));
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ import find from 'lodash/find';
3
+ import zip from 'lodash/zip';
4
+ import assert from 'assert';
5
+ import * as Kefir from 'kefir';
6
+ import kefirBus from 'kefir-bus';
7
+ import delayAsap from '../../../lib/delay-asap';
8
+ import querySelector from '../../../lib/dom/querySelectorOrFail';
9
+ import GmailToolbarView from './gmail-toolbar-view';
10
+ import GmailThreadRowView from './gmail-thread-row-view';
11
+ import makeElementChildStream from '../../../lib/dom/make-element-child-stream';
24
12
  const THREAD_ROW_SELECTED_CLASSNAME = 'x7';
25
13
  const THREAD_ROW_SELECTED_CLASSNAME_REGEX = /\bx7\b/;
26
14
  class GmailRowListView {
27
- constructor(rootElement, routeViewDriver, gmailDriver) {
28
- (0, _defineProperty2.default)(this, "_threadRowViewDrivers", new Set());
29
- (0, _defineProperty2.default)(this, "_elementsToViews", new Map());
30
- (0, _defineProperty2.default)(this, "_selectedThreadRowViews", new Set());
31
- (0, _defineProperty2.default)(this, "_batchedSignalThreadRowViewSelectionChangeScheduled", false);
32
- this._eventStreamBus = (0, _kefirBus.default)();
33
- this._stopper = this._eventStreamBus.ignoreValues().beforeEnd(() => null);
34
- this._gmailDriver = gmailDriver;
35
- this._element = rootElement;
36
- this._routeViewDriver = routeViewDriver;
37
- this._selectionMutationObserver = new MutationObserver(mutations => {
38
- let changed = false;
39
- for (let i = 0, len = mutations.length; i < len; i++) {
40
- const mutation = mutations[i];
41
- const target = mutation.target;
42
- const wasSelected = THREAD_ROW_SELECTED_CLASSNAME_REGEX.test(mutation.oldValue);
43
- const isSelected = THREAD_ROW_SELECTED_CLASSNAME_REGEX.test(target.className);
44
- if (wasSelected !== isSelected) {
45
- const view = this._elementsToViews.get(target);
46
- // we could be processing an element that was already removed
47
- if (view) {
48
- changed = true;
49
- if (isSelected) {
50
- this._selectedThreadRowViews.add(view);
51
- } else {
52
- this._selectedThreadRowViews.delete(view);
15
+ _element;
16
+ _gmailDriver;
17
+ _routeViewDriver;
18
+ _pendingExpansions;
19
+ _pendingExpansionsSignal;
20
+ _toolbarView;
21
+ _threadRowViewDrivers = new Set();
22
+ _eventStreamBus;
23
+ _rowViewDriverStream;
24
+ _stopper;
25
+ _elementsToViews = new Map();
26
+ _selectionMutationObserver;
27
+ _selectedThreadRowViews = new Set();
28
+ constructor(rootElement, routeViewDriver, gmailDriver) {
29
+ this._eventStreamBus = kefirBus();
30
+ this._stopper = this._eventStreamBus.ignoreValues().beforeEnd(() => null);
31
+ this._gmailDriver = gmailDriver;
32
+ this._element = rootElement;
33
+ this._routeViewDriver = routeViewDriver;
34
+ this._selectionMutationObserver = new MutationObserver((mutations) => {
35
+ let changed = false;
36
+ for (let i = 0, len = mutations.length; i < len; i++) {
37
+ const mutation = mutations[i];
38
+ const target = mutation.target;
39
+ const wasSelected = THREAD_ROW_SELECTED_CLASSNAME_REGEX.test(mutation.oldValue);
40
+ const isSelected = THREAD_ROW_SELECTED_CLASSNAME_REGEX.test(target.className);
41
+ if (wasSelected !== isSelected) {
42
+ const view = this._elementsToViews.get(target);
43
+ // we could be processing an element that was already removed
44
+ if (view) {
45
+ changed = true;
46
+ if (isSelected) {
47
+ this._selectedThreadRowViews.add(view);
48
+ }
49
+ else {
50
+ this._selectedThreadRowViews.delete(view);
51
+ }
52
+ }
53
+ }
53
54
  }
54
- }
55
+ if (changed) {
56
+ this._gmailDriver.signalThreadRowViewSelectionChange();
57
+ }
58
+ });
59
+ this._pendingExpansions = new Map();
60
+ this._pendingExpansionsSignal = kefirBus();
61
+ this._pendingExpansionsSignal
62
+ .bufferBy(this._pendingExpansionsSignal.flatMap(delayAsap))
63
+ .filter((x) => x.length > 0)
64
+ .takeUntilBy(this._stopper)
65
+ .onValue(this._expandColumnJob.bind(this));
66
+ this._setupToolbarView();
67
+ this._startWatchingForRowViews();
68
+ }
69
+ destroy() {
70
+ this._selectionMutationObserver.disconnect();
71
+ this._threadRowViewDrivers.forEach((threadRow) => threadRow.destroy());
72
+ this._eventStreamBus.end();
73
+ if (this._toolbarView) {
74
+ this._toolbarView.destroy();
75
+ }
76
+ if (this._selectedThreadRowViews.size) {
77
+ this._selectedThreadRowViews.clear();
78
+ this._gmailDriver.signalThreadRowViewSelectionChange();
79
+ }
80
+ }
81
+ getElement() {
82
+ return this._element;
83
+ }
84
+ getRouteViewDriver() {
85
+ return this._routeViewDriver;
86
+ }
87
+ getToolbarView() {
88
+ return this._toolbarView;
89
+ }
90
+ getSelectedThreadRowViewDrivers() {
91
+ return this._selectedThreadRowViews;
92
+ }
93
+ getThreadRowViewDrivers() {
94
+ return this._threadRowViewDrivers;
95
+ }
96
+ getRowViewDriverStream() {
97
+ return this._rowViewDriverStream;
98
+ }
99
+ getEventStream() {
100
+ return this._eventStreamBus;
101
+ }
102
+ _setupToolbarView() {
103
+ var toolbarElement = this._findToolbarElement();
104
+ if (toolbarElement) {
105
+ this._toolbarView = new GmailToolbarView(toolbarElement, this._gmailDriver, this._routeViewDriver, this);
55
106
  }
56
- }
57
- if (changed) {
58
- this._gmailDriver.signalThreadRowViewSelectionChange();
59
- }
60
- });
61
- this._pendingExpansions = new Map();
62
- this._pendingExpansionsSignal = (0, _kefirBus.default)();
63
- this._pendingExpansionsSignal.bufferBy(this._pendingExpansionsSignal.flatMap(_delayAsap.default)).filter(x => x.length > 0).takeUntilBy(this._stopper).onValue(this._expandColumnJob.bind(this));
64
- this._setupToolbarView();
65
- this._startWatchingForRowViews();
66
- }
67
- destroy() {
68
- this._selectionMutationObserver.disconnect();
69
- this._threadRowViewDrivers.forEach(threadRow => threadRow.destroy());
70
- this._eventStreamBus.end();
71
- if (this._toolbarView) {
72
- this._toolbarView.destroy();
73
- }
74
- if (this._selectedThreadRowViews.size) {
75
- this._selectedThreadRowViews.clear();
76
- this._gmailDriver.signalThreadRowViewSelectionChange();
77
- }
78
- }
79
- getElement() {
80
- return this._element;
81
- }
82
- getRouteViewDriver() {
83
- return this._routeViewDriver;
84
- }
85
- getToolbarView() {
86
- return this._toolbarView;
87
- }
88
- getSelectedThreadRowViewDrivers() {
89
- return this._selectedThreadRowViews;
90
- }
91
- getThreadRowViewDrivers() {
92
- return this._threadRowViewDrivers;
93
- }
94
- getRowViewDriverStream() {
95
- return this._rowViewDriverStream;
96
- }
97
- getEventStream() {
98
- return this._eventStreamBus;
99
- }
100
- _setupToolbarView() {
101
- var toolbarElement = this._findToolbarElement();
102
- if (toolbarElement) {
103
- this._toolbarView = new _gmailToolbarView.default(toolbarElement, this._gmailDriver, this._routeViewDriver, this);
104
- } else {
105
- this._toolbarView = null;
106
- }
107
- }
108
- _findToolbarElement() {
109
- /* multiple inbox extra section */
110
- const firstTry = this._element.querySelector('[gh=mtb]');
111
- if (firstTry) {
112
- return firstTry;
113
- }
114
- const el = (0, _find.default)(document.querySelectorAll('[gh=tm]'), toolbarContainerElement => toolbarContainerElement.parentElement.parentElement === this._element.parentElement.parentElement.parentElement.parentElement.parentElement || toolbarContainerElement.parentElement.parentElement === this._element.parentElement);
115
- return el ? el.querySelector('[gh=mtb]') : null;
116
- }
117
-
118
- // When a new table is added to a row list, if an existing table has had its
119
- // column widths modified (by GmailThreadRowView), then the new table needs to
120
- // match.
121
- _fixColumnWidths(newTableParent) {
122
- if (!newTableParent || !newTableParent.parentElement) {
123
- return;
124
- }
125
- const firstTableParent = newTableParent.parentElement.firstElementChild;
126
- if (firstTableParent !== newTableParent && firstTableParent) {
127
- const firstCols = firstTableParent.querySelectorAll('table.cf > colgroup > col');
128
- const newCols = newTableParent.querySelectorAll('table.cf > colgroup > col');
129
- _assert.default.strictEqual(firstCols.length, newCols.length);
130
- (0, _zip.default)(firstCols, newCols).forEach(_ref => {
131
- let [firstCol, newCol] = _ref;
132
- newCol.style.width = firstCol.style.width;
133
- });
134
- }
135
- }
136
- expandColumn(colSelector, width) {
137
- const pendingWidth = this._pendingExpansions.get(colSelector);
138
- if (!pendingWidth || width > pendingWidth) {
139
- this._pendingExpansions.set(colSelector, width);
140
- this._pendingExpansionsSignal.emit();
141
- }
142
- }
143
- _expandColumnJob() {
144
- this._pendingExpansions.forEach((width, colSelector) => {
145
- Array.prototype.forEach.call(this._element.querySelectorAll('table.cf > colgroup > ' + colSelector), col => {
146
- const currentWidth = parseInt(col.style.width, 10);
147
- if (isNaN(currentWidth) || currentWidth < width) {
148
- col.style.width = width + 'px';
107
+ else {
108
+ this._toolbarView = null;
149
109
  }
150
- });
151
- });
152
- this._pendingExpansions.clear();
153
- }
154
- _batchedSignalThreadRowViewSelectionChange() {
155
- if (this._batchedSignalThreadRowViewSelectionChangeScheduled) {
156
- return;
157
- }
158
- this._batchedSignalThreadRowViewSelectionChangeScheduled = true;
159
- (0, _delayAsap.default)(null).takeUntilBy(this._stopper).onValue(() => {
160
- this._batchedSignalThreadRowViewSelectionChangeScheduled = false;
161
- this._gmailDriver.signalThreadRowViewSelectionChange();
162
- });
163
- }
164
- _startWatchingForRowViews() {
165
- const tableDivParents = Array.from(this._element.querySelectorAll('div.Cp'));
166
- const elementStream = _kefir.default.merge(tableDivParents.map(_makeElementChildStream.default)).flatMap(event => {
167
- this._fixColumnWidths(event.el);
168
- const tbody = (0, _querySelectorOrFail.default)(event.el, 'table > tbody');
169
-
170
- // In vertical preview pane mode, each thread row has three <tr>
171
- // elements. We just want to pass the first one (which has an id) to
172
- // GmailThreadRowView().
173
- return (0, _makeElementChildStream.default)(tbody).takeUntilBy(event.removalStream).filter(rowEvent => rowEvent.el.id);
174
- });
175
- const laterStream = _kefir.default.later(2);
176
- this._rowViewDriverStream = elementStream.map(event => {
177
- const element = event.el;
178
- this._selectionMutationObserver.observe(element, {
179
- attributes: true,
180
- attributeFilter: ['class'],
181
- attributeOldValue: true
182
- });
183
- const view = new _gmailThreadRowView.default(element, this, this._gmailDriver);
184
- this._elementsToViews.set(element, view);
185
- if (element.classList.contains(THREAD_ROW_SELECTED_CLASSNAME)) {
186
- this._selectedThreadRowViews.add(view);
187
- this._batchedSignalThreadRowViewSelectionChange();
188
- }
189
- event.removalStream.take(1).onValue(() => {
190
- if (this._selectedThreadRowViews.has(view)) {
191
- this._selectedThreadRowViews.delete(view);
192
- this._batchedSignalThreadRowViewSelectionChange();
110
+ }
111
+ _findToolbarElement() {
112
+ /* multiple inbox extra section */
113
+ const firstTry = this._element.querySelector('[gh=mtb]');
114
+ if (firstTry) {
115
+ return firstTry;
193
116
  }
194
- this._elementsToViews.delete(element);
195
- view.destroy();
196
- });
197
- return view;
198
- }).flatMap(threadRowView => {
199
- if (threadRowView.getAlreadyHadModifications()) {
200
- // Performance hack: If the row already has old modifications on it, wait
201
- // a moment before we re-emit the thread row and process our new
202
- // modifications.
203
-
204
- return laterStream.flatMap(() => threadRowView.waitForReady()).takeUntilBy(threadRowView.getStopper());
205
- } else {
206
- return threadRowView.waitForReady().takeUntilBy(threadRowView.getStopper());
207
- }
208
- }).takeUntilBy(this._stopper);
209
- this._rowViewDriverStream.onValue(x => this._addThreadRowView(x));
210
- }
211
- _addThreadRowView(gmailThreadRowView) {
212
- this._threadRowViewDrivers.add(gmailThreadRowView);
213
- gmailThreadRowView.getStopper().takeUntilBy(this._stopper).onValue(() => {
214
- this._threadRowViewDrivers.delete(gmailThreadRowView);
215
- });
216
- }
117
+ const el = find(document.querySelectorAll('[gh=tm]'), (toolbarContainerElement) => toolbarContainerElement.parentElement.parentElement ===
118
+ this._element.parentElement.parentElement.parentElement
119
+ .parentElement.parentElement ||
120
+ toolbarContainerElement.parentElement.parentElement ===
121
+ this._element.parentElement);
122
+ return el ? el.querySelector('[gh=mtb]') : null;
123
+ }
124
+ // When a new table is added to a row list, if an existing table has had its
125
+ // column widths modified (by GmailThreadRowView), then the new table needs to
126
+ // match.
127
+ _fixColumnWidths(newTableParent) {
128
+ if (!newTableParent || !newTableParent.parentElement) {
129
+ return;
130
+ }
131
+ const firstTableParent = newTableParent.parentElement.firstElementChild;
132
+ if (firstTableParent !== newTableParent && firstTableParent) {
133
+ const firstCols = firstTableParent.querySelectorAll('table.cf > colgroup > col');
134
+ const newCols = newTableParent.querySelectorAll('table.cf > colgroup > col');
135
+ assert.strictEqual(firstCols.length, newCols.length);
136
+ zip(firstCols, newCols).forEach(([firstCol, newCol]) => {
137
+ newCol.style.width = firstCol.style.width;
138
+ });
139
+ }
140
+ }
141
+ expandColumn(colSelector, width) {
142
+ const pendingWidth = this._pendingExpansions.get(colSelector);
143
+ if (!pendingWidth || width > pendingWidth) {
144
+ this._pendingExpansions.set(colSelector, width);
145
+ this._pendingExpansionsSignal.emit(undefined);
146
+ }
147
+ }
148
+ _expandColumnJob() {
149
+ this._pendingExpansions.forEach((width, colSelector) => {
150
+ Array.prototype.forEach.call(this._element.querySelectorAll('table.cf > colgroup > ' + colSelector), (col) => {
151
+ const currentWidth = parseInt(col.style.width, 10);
152
+ if (isNaN(currentWidth) || currentWidth < width) {
153
+ col.style.width = width + 'px';
154
+ }
155
+ });
156
+ });
157
+ this._pendingExpansions.clear();
158
+ }
159
+ _batchedSignalThreadRowViewSelectionChangeScheduled = false;
160
+ _batchedSignalThreadRowViewSelectionChange() {
161
+ if (this._batchedSignalThreadRowViewSelectionChangeScheduled) {
162
+ return;
163
+ }
164
+ this._batchedSignalThreadRowViewSelectionChangeScheduled = true;
165
+ delayAsap(null)
166
+ .takeUntilBy(this._stopper)
167
+ .onValue(() => {
168
+ this._batchedSignalThreadRowViewSelectionChangeScheduled = false;
169
+ this._gmailDriver.signalThreadRowViewSelectionChange();
170
+ });
171
+ }
172
+ _startWatchingForRowViews() {
173
+ const tableDivParents = Array.from(this._element.querySelectorAll('div.Cp'));
174
+ const elementStream = Kefir.merge(tableDivParents.map(makeElementChildStream)).flatMap((event) => {
175
+ this._fixColumnWidths(event.el);
176
+ const tbody = querySelector(event.el, 'table > tbody');
177
+ // In vertical preview pane mode, each thread row has three <tr>
178
+ // elements. We just want to pass the first one (which has an id) to
179
+ // GmailThreadRowView().
180
+ return makeElementChildStream(tbody)
181
+ .takeUntilBy(event.removalStream)
182
+ .filter((rowEvent) => rowEvent.el.id);
183
+ });
184
+ const laterStream = Kefir.later(2, undefined);
185
+ this._rowViewDriverStream = elementStream
186
+ .map((event) => {
187
+ const element = event.el;
188
+ this._selectionMutationObserver.observe(element, {
189
+ attributes: true,
190
+ attributeFilter: ['class'],
191
+ attributeOldValue: true,
192
+ });
193
+ const view = new GmailThreadRowView(element, this, this._gmailDriver);
194
+ this._elementsToViews.set(element, view);
195
+ if (element.classList.contains(THREAD_ROW_SELECTED_CLASSNAME)) {
196
+ this._selectedThreadRowViews.add(view);
197
+ this._batchedSignalThreadRowViewSelectionChange();
198
+ }
199
+ event.removalStream.take(1).onValue(() => {
200
+ if (this._selectedThreadRowViews.has(view)) {
201
+ this._selectedThreadRowViews.delete(view);
202
+ this._batchedSignalThreadRowViewSelectionChange();
203
+ }
204
+ this._elementsToViews.delete(element);
205
+ view.destroy();
206
+ });
207
+ return view;
208
+ })
209
+ .flatMap((threadRowView) => {
210
+ if (threadRowView.getAlreadyHadModifications()) {
211
+ // Performance hack: If the row already has old modifications on it, wait
212
+ // a moment before we re-emit the thread row and process our new
213
+ // modifications.
214
+ return laterStream
215
+ .flatMap(() => threadRowView.waitForReady())
216
+ .takeUntilBy(threadRowView.getStopper());
217
+ }
218
+ else {
219
+ return threadRowView
220
+ .waitForReady()
221
+ .takeUntilBy(threadRowView.getStopper());
222
+ }
223
+ })
224
+ .takeUntilBy(this._stopper);
225
+ this._rowViewDriverStream.onValue((x) => this._addThreadRowView(x));
226
+ }
227
+ _addThreadRowView(gmailThreadRowView) {
228
+ this._threadRowViewDrivers.add(gmailThreadRowView);
229
+ gmailThreadRowView
230
+ .getStopper()
231
+ .takeUntilBy(this._stopper)
232
+ .onValue(() => {
233
+ this._threadRowViewDrivers.delete(gmailThreadRowView);
234
+ });
235
+ }
217
236
  }
218
- var _default = (0, _ud.defn)(module, GmailRowListView);
219
- exports.default = _default;
237
+ export default GmailRowListView;
@@ -1,5 +1,117 @@
1
- import { ThreadRowView } from '../../../../inboxsdk';
2
-
3
- export default ThreadRowView;
4
-
5
- export function removeAllThreadRowUnclaimedModifications(): void;
1
+ import * as Kefir from 'kefir';
2
+ import GmailActionButtonView from '../widgets/gmail-action-button-view';
3
+ import type GmailDriver from '../gmail-driver';
4
+ import type GmailRowListView from './gmail-row-list-view';
5
+ import { Contact } from '../../../../inboxsdk';
6
+ type LabelMod = {
7
+ gmailLabelView: Record<string, any>;
8
+ remove(): void;
9
+ };
10
+ type ActionButtonMod = {
11
+ gmailActionButtonView: GmailActionButtonView;
12
+ remove(): void;
13
+ };
14
+ type ButtonMod = {
15
+ buttonSpan: HTMLElement;
16
+ iconSettings: Record<string, any>;
17
+ remove(): void;
18
+ };
19
+ type ImageMod = {
20
+ iconSettings: Record<string, any>;
21
+ iconWrapper: HTMLElement;
22
+ remove(): void;
23
+ };
24
+ type ReplacedDateMod = {
25
+ el: HTMLElement;
26
+ remove(): void;
27
+ };
28
+ type ReplacedDraftLabelMod = ReplacedDateMod;
29
+ type Mods = {
30
+ label: {
31
+ unclaimed: LabelMod[];
32
+ claimed: LabelMod[];
33
+ };
34
+ action: {
35
+ unclaimed: ActionButtonMod[];
36
+ claimed: ActionButtonMod[];
37
+ };
38
+ button: {
39
+ unclaimed: ButtonMod[];
40
+ claimed: ButtonMod[];
41
+ };
42
+ image: {
43
+ unclaimed: ImageMod[];
44
+ claimed: ImageMod[];
45
+ };
46
+ replacedDate: {
47
+ unclaimed: ReplacedDateMod[];
48
+ claimed: ReplacedDateMod[];
49
+ };
50
+ replacedDraftLabel: {
51
+ unclaimed: ReplacedDraftLabelMod[];
52
+ claimed: ReplacedDraftLabelMod[];
53
+ };
54
+ };
55
+ type Counts = {
56
+ messageCount: number;
57
+ draftCount: number;
58
+ };
59
+ declare class GmailThreadRowView {
60
+ _elements: HTMLElement[];
61
+ _modifications: Mods;
62
+ _alreadyHadModifications: boolean;
63
+ _rowListViewDriver: GmailRowListView;
64
+ _driver: GmailDriver;
65
+ _userView: Record<string, any> | null | undefined;
66
+ _cachedThreadID: string | null | undefined;
67
+ _cachedSyncThreadID: string | null | undefined;
68
+ _cachedSyncDraftIDPromise: Promise<string | null | undefined> | null | undefined;
69
+ _stopper: import("kefir-stopper").Stopper;
70
+ _refresher: Kefir.Observable<any, any> | null | undefined;
71
+ _subjectRefresher: Kefir.Observable<any, any> | null | undefined;
72
+ _imageRefresher: Kefir.Observable<any, any> | null | undefined;
73
+ _counts: Counts | null | undefined;
74
+ _isVertical: boolean;
75
+ _isDestroyed: boolean;
76
+ constructor(element: HTMLElement, rowListViewDriver: GmailRowListView, gmailDriver: GmailDriver);
77
+ destroy(): void;
78
+ getElement(): HTMLElement;
79
+ _removeUnclaimedModifications(): void;
80
+ getAlreadyHadModifications(): boolean;
81
+ waitForReady(): Kefir.Observable<GmailThreadRowView, unknown>;
82
+ setUserView(userView: Record<string, any>): void;
83
+ getCounts(): Counts;
84
+ _expandColumn(colSelector: string, width: number): void;
85
+ addLabel(label: Record<string, any>): void;
86
+ addImage(inIconDescriptor: Record<string, any>): void;
87
+ addButton(buttonDescriptor: Record<string, any>): void;
88
+ addActionButton(actionButtonDescriptor: Record<string, any>): void;
89
+ addAttachmentIcon(opts: Record<string, any>): void;
90
+ _fixDateColumnWidth(): void;
91
+ replaceDraftLabel(opts: Record<string, any>): void;
92
+ replaceDate(opts: Record<string, any>): void;
93
+ getEventStream(): import("kefir-stopper").Stopper;
94
+ getStopper(): import("kefir-stopper").Stopper;
95
+ getSubject(): string;
96
+ _getSubjectSelector(): HTMLElement;
97
+ replaceSubject(newSubjectStr: string): void;
98
+ getDateString(): string;
99
+ _threadIdReady(): boolean;
100
+ _getThreadID(): string | null | undefined;
101
+ getThreadID(): string;
102
+ getSyncThreadID(): Promise<string | null | undefined>;
103
+ getThreadIDAsync(): Promise<string>;
104
+ getDraftID(): Promise<string | null | undefined>;
105
+ getVisibleDraftCount(): number;
106
+ getVisibleMessageCount(): number;
107
+ getContacts(): Contact[];
108
+ isSelected(): boolean;
109
+ _getLabelParent(): HTMLElement;
110
+ _getWatchElement(): HTMLElement;
111
+ _getRefresher(): Kefir.Observable<any, any>;
112
+ _getSubjectRefresher(): Kefir.Observable<any, unknown>;
113
+ _getImageContainerRefresher(): Kefir.Observable<any, unknown>;
114
+ }
115
+ export default GmailThreadRowView;
116
+ export declare function removeAllThreadRowUnclaimedModifications(): void;
117
+ //# sourceMappingURL=gmail-thread-row-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gmail-thread-row-view.d.ts","sourceRoot":"","sources":["../../../../../../../src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.ts"],"names":[],"mappings":"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"}