@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,444 +1,508 @@
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 _includes = _interopRequireDefault(require("lodash/includes"));
10
- var _last = _interopRequireDefault(require("lodash/last"));
11
- var _once = _interopRequireDefault(require("lodash/once"));
12
- var _kefir = _interopRequireDefault(require("kefir"));
13
- var _kefirStopper = _interopRequireDefault(require("kefir-stopper"));
14
- var _kefirBus = _interopRequireDefault(require("kefir-bus"));
15
- var _querystring = require("querystring");
16
- var _asap = _interopRequireDefault(require("asap"));
17
- var _ud = require("ud");
18
- var _makeElementChildStream = _interopRequireDefault(require("../../../../lib/dom/make-element-child-stream"));
19
- var _makeElementViewStream = _interopRequireDefault(require("../../../../lib/dom/make-element-view-stream"));
20
- var _makeMutationObserverChunkedStream = _interopRequireDefault(require("../../../../lib/dom/make-mutation-observer-chunked-stream"));
21
- var _getInsertBeforeElement = _interopRequireDefault(require("../../../../lib/dom/get-insert-before-element"));
22
- var _gmailRowListView = _interopRequireDefault(require("../gmail-row-list-view"));
23
- var _gmailThreadView = _interopRequireDefault(require("../gmail-thread-view"));
24
- var _gmailCollapsibleSectionView = _interopRequireDefault(require("../gmail-collapsible-section-view"));
25
- var _gmailElementGetter = _interopRequireDefault(require("../../gmail-element-getter"));
26
- var _simulateMouseEvent = require("../../../../lib/dom/simulate-mouse-event");
27
- var _querySelectorOrFail = _interopRequireDefault(require("../../../../lib/dom/querySelectorOrFail"));
1
+ import includes from 'lodash/includes';
2
+ import last from 'lodash/last';
3
+ import once from 'lodash/once';
4
+ import * as Kefir from 'kefir';
5
+ import kefirStopper from 'kefir-stopper';
6
+ import kefirBus from 'kefir-bus';
7
+ import { parse } from 'querystring';
8
+ import asap from 'asap';
9
+ import makeElementChildStream from '../../../../lib/dom/make-element-child-stream';
10
+ import makeElementViewStream from '../../../../lib/dom/make-element-view-stream';
11
+ import makeMutationObserverChunkedStream from '../../../../lib/dom/make-mutation-observer-chunked-stream';
12
+ import getInsertBeforeElement from '../../../../lib/dom/get-insert-before-element';
13
+ import GmailRowListView from '../gmail-row-list-view';
14
+ import GmailThreadView from '../gmail-thread-view';
15
+ import GmailCollapsibleSectionView from '../gmail-collapsible-section-view';
16
+ import GmailElementGetter from '../../gmail-element-getter';
17
+ import { simulateClick } from '../../../../lib/dom/simulate-mouse-event';
18
+ import querySelector from '../../../../lib/dom/querySelectorOrFail';
28
19
  class GmailRouteView {
29
- constructor(_ref, gmailRouteProcessor, driver) {
30
- let {
31
- urlObject,
32
- type,
33
- routeID: _routeID,
34
- cachedRouteData
35
- } = _ref;
36
- (0, _defineProperty2.default)(this, "_stopper", (0, _kefirStopper.default)());
37
- (0, _defineProperty2.default)(this, "getParams", (0, _once.default)(() => {
38
- let params;
39
- if (this._customRouteID) {
40
- params = this._getCustomParams();
41
- } else {
42
- params = this._getNativeParams();
43
- const routeID = this.getRouteID();
44
- if (routeID) {
45
- const routeIDParams = this._extractParamKeysFromRouteID(routeID);
46
- const routeParams = {};
47
- routeIDParams.forEach(function (param) {
48
- if (params[param]) {
49
- routeParams[param] = params[param];
20
+ _type;
21
+ _hash;
22
+ _name;
23
+ _paramsArray;
24
+ _customRouteID;
25
+ _stopper = kefirStopper();
26
+ _rowListViews;
27
+ _gmailRouteProcessor;
28
+ _driver;
29
+ _eventStream;
30
+ _customViewElement;
31
+ _threadView;
32
+ _sectionsContainer;
33
+ _hasAddedCollapsibleSection;
34
+ _cachedRouteData;
35
+ constructor({ urlObject, type, routeID, cachedRouteData }, gmailRouteProcessor, driver) {
36
+ // Check we implement interface
37
+ this;
38
+ this._type = type;
39
+ this._hash = urlObject.hash;
40
+ this._name = urlObject.name;
41
+ this._paramsArray = urlObject.params;
42
+ this._customRouteID = routeID;
43
+ this._cachedRouteData = cachedRouteData;
44
+ this._stopper = kefirStopper();
45
+ this._rowListViews = [];
46
+ this._gmailRouteProcessor = gmailRouteProcessor;
47
+ this._driver = driver;
48
+ this._eventStream = kefirBus();
49
+ this._hasAddedCollapsibleSection = false;
50
+ if (this._type === 'CUSTOM') {
51
+ this._setupCustomViewElement();
52
+ driver
53
+ .getStopper()
54
+ .takeUntilBy(this._stopper.delay(0))
55
+ .onValue(() => {
56
+ driver.showNativeRouteView();
57
+ window.location.hash = '#inbox';
58
+ });
59
+ }
60
+ else if (includes(['NATIVE', 'CUSTOM_LIST'], this._type)) {
61
+ this._setupSubViews();
62
+ }
63
+ if (this._type === 'CUSTOM_LIST') {
64
+ Kefir.later(500, undefined)
65
+ .takeUntilBy(this._stopper)
66
+ .onValue(() => {
67
+ var last = driver.getLastCustomThreadListActivity();
68
+ if (!last ||
69
+ last.customRouteID !== this._customRouteID ||
70
+ Date.now() - last.timestamp > 5000) {
71
+ this.refresh();
72
+ }
73
+ });
74
+ }
75
+ }
76
+ destroy() {
77
+ this._stopper.destroy();
78
+ this._eventStream.end();
79
+ if (this._customViewElement) {
80
+ this._customViewElement.remove();
81
+ }
82
+ var rowListViews = this._rowListViews;
83
+ this._rowListViews = [];
84
+ rowListViews.forEach((view) => {
85
+ view.destroy();
86
+ });
87
+ if (this._threadView) {
88
+ this._threadView.destroy();
89
+ this._threadView = null;
90
+ }
91
+ }
92
+ getHash() {
93
+ return this._hash;
94
+ }
95
+ getEventStream() {
96
+ return this._eventStream;
97
+ }
98
+ getStopper() {
99
+ return this._stopper;
100
+ }
101
+ getCustomViewElement() {
102
+ return this._customViewElement;
103
+ }
104
+ getRowListViews() {
105
+ return this._rowListViews;
106
+ }
107
+ getThreadView() {
108
+ return this._threadView;
109
+ }
110
+ getType() {
111
+ if (this._type === 'OTHER_APP_CUSTOM') {
112
+ return 'CUSTOM';
113
+ }
114
+ else {
115
+ return this._type;
116
+ }
117
+ }
118
+ isCustomRouteBelongingToApp() {
119
+ return this._type === 'CUSTOM';
120
+ }
121
+ getParams = once(() => {
122
+ let params;
123
+ if (this._customRouteID) {
124
+ params = this._getCustomParams();
125
+ }
126
+ else {
127
+ params = this._getNativeParams();
128
+ const routeID = this.getRouteID();
129
+ if (routeID) {
130
+ const routeIDParams = this._extractParamKeysFromRouteID(routeID);
131
+ const routeParams = {};
132
+ routeIDParams.forEach(function (param) {
133
+ if (params[param]) {
134
+ routeParams[param] = params[param];
135
+ }
136
+ });
137
+ params = routeParams;
50
138
  }
51
- });
52
- params = routeParams;
53
- }
54
- }
55
- return Object.freeze(params);
56
- }));
57
- (0, _defineProperty2.default)(this, "_getThreadContainerElement", (0, _once.default)(() => {
58
- return _gmailElementGetter.default.getThreadContainerElement();
59
- }));
60
- // Check we implement interface
61
- this;
62
- this._type = type;
63
- this._hash = urlObject.hash;
64
- this._name = urlObject.name;
65
- this._paramsArray = urlObject.params;
66
- this._customRouteID = _routeID;
67
- this._cachedRouteData = cachedRouteData;
68
- this._stopper = (0, _kefirStopper.default)();
69
- this._rowListViews = [];
70
- this._gmailRouteProcessor = gmailRouteProcessor;
71
- this._driver = driver;
72
- this._eventStream = (0, _kefirBus.default)();
73
- this._hasAddedCollapsibleSection = false;
74
- if (this._type === 'CUSTOM') {
75
- this._setupCustomViewElement();
76
- driver.getStopper().takeUntilBy(this._stopper.delay(0)).onValue(() => {
77
- driver.showNativeRouteView();
78
- window.location.hash = '#inbox';
79
- });
80
- } else if ((0, _includes.default)(['NATIVE', 'CUSTOM_LIST'], this._type)) {
81
- this._setupSubViews();
82
- }
83
- if (this._type === 'CUSTOM_LIST') {
84
- _kefir.default.later(500).takeUntilBy(this._stopper).onValue(() => {
85
- var last = driver.getLastCustomThreadListActivity();
86
- if (!last || last.customRouteID !== this._customRouteID || Date.now() - last.timestamp > 5000) {
87
- this.refresh();
88
- }
89
- });
90
- }
91
- }
92
- destroy() {
93
- this._stopper.destroy();
94
- this._eventStream.end();
95
- if (this._customViewElement) {
96
- this._customViewElement.remove();
97
- }
98
- var rowListViews = this._rowListViews;
99
- this._rowListViews = [];
100
- rowListViews.forEach(view => {
101
- view.destroy();
102
- });
103
- if (this._threadView) {
104
- this._threadView.destroy();
105
- this._threadView = null;
106
- }
107
- }
108
- getHash() {
109
- return this._hash;
110
- }
111
- getEventStream() {
112
- return this._eventStream;
113
- }
114
- getStopper() {
115
- return this._stopper;
116
- }
117
- getCustomViewElement() {
118
- return this._customViewElement;
119
- }
120
- getRowListViews() {
121
- return this._rowListViews;
122
- }
123
- getThreadView() {
124
- return this._threadView;
125
- }
126
- getType() {
127
- if (this._type === 'OTHER_APP_CUSTOM') {
128
- return 'CUSTOM';
129
- } else {
130
- return this._type;
131
- }
132
- }
133
- isCustomRouteBelongingToApp() {
134
- return this._type === 'CUSTOM';
135
- }
136
- addCollapsibleSection(sectionDescriptorProperty, groupOrderHint) {
137
- return this._addCollapsibleSection(sectionDescriptorProperty, groupOrderHint, true);
138
- }
139
- addSection(sectionDescriptorProperty, groupOrderHint) {
140
- return this._addCollapsibleSection(sectionDescriptorProperty, groupOrderHint, false);
141
- }
142
- _addCollapsibleSection(collapsibleSectionDescriptorProperty, groupOrderHint, isCollapsible) {
143
- this._hasAddedCollapsibleSection = true;
144
- var gmailResultsSectionView = new _gmailCollapsibleSectionView.default(this._driver, groupOrderHint, this.getRouteID() === this._gmailRouteProcessor.NativeRouteIDs.SEARCH, isCollapsible);
145
- var sectionsContainer = this._getSectionsContainer();
146
- gmailResultsSectionView.getEventStream().filter(function (event) {
147
- return event.type === 'update' && event.property === 'orderHint';
148
- }).onValue(function () {
149
- var children = sectionsContainer.children;
150
- var insertBeforeElement = (0, _getInsertBeforeElement.default)(gmailResultsSectionView.getElement(), children, ['data-group-order-hint', 'data-order-hint']);
151
- if (insertBeforeElement) {
152
- sectionsContainer.insertBefore(gmailResultsSectionView.getElement(), insertBeforeElement);
153
- } else {
154
- sectionsContainer.appendChild(gmailResultsSectionView.getElement());
155
- }
156
- });
157
- gmailResultsSectionView.setCollapsibleSectionDescriptorProperty(collapsibleSectionDescriptorProperty);
158
- return gmailResultsSectionView;
159
- }
160
- _setupCustomViewElement() {
161
- this._customViewElement = document.createElement('div');
162
- this._customViewElement.classList.add('inboxsdk__custom_view_element');
163
- this._monitorLeftNavHeight();
164
- this._setCustomViewElementHeight();
165
- }
166
- _monitorLeftNavHeight() {
167
- var leftNav = _gmailElementGetter.default.getLeftNavHeightElement();
168
- if (!leftNav) {
169
- return;
170
- }
171
- (0, _makeMutationObserverChunkedStream.default)(leftNav, {
172
- attributes: true,
173
- attributeFilter: ['style']
174
- }).takeUntilBy(this._stopper).onValue(() => {
175
- this._setCustomViewElementHeight();
176
- });
177
- }
178
- _setCustomViewElementHeight() {
179
- const leftNav = _gmailElementGetter.default.getLeftNavHeightElement();
180
- const gtalkButtons = _gmailElementGetter.default.getGtalkButtons();
181
- const customViewEl = this._customViewElement;
182
- if (!leftNav || !customViewEl) throw new Error('Should not happen');
183
- const contentSectionElement = _gmailElementGetter.default.getContentSectionElement();
184
- const contentSectionElementBottomMargin = contentSectionElement ? parseInt(getComputedStyle(contentSectionElement).marginBottom, 10) : 0;
185
- customViewEl.style.height = `${parseInt(leftNav.style.height, 10) + (gtalkButtons ? gtalkButtons.offsetHeight : 0) - contentSectionElementBottomMargin}px`;
186
- }
187
- _setupSubViews() {
188
- (0, _asap.default)(() => {
189
- if (!this._eventStream) return;
190
- this._setupRowListViews();
191
- this._setupContentAndSidebarView();
192
- this._setupScrollStream();
193
- });
194
- }
195
- _setupRowListViews() {
196
- var rowListElements = _gmailElementGetter.default.getRowListElements();
197
- Array.prototype.forEach.call(rowListElements, rowListElement => {
198
- this._processRowListElement(rowListElement);
199
- });
200
- }
201
- _processRowListElement(rowListElement) {
202
- var rootElement = rowListElement.parentElement;
203
- if (!rootElement) throw new Error('no rootElement');
204
- var gmailRowListView = new _gmailRowListView.default(rootElement, this, this._driver);
205
- this._rowListViews.push(gmailRowListView);
206
- this._eventStream.emit({
207
- eventName: 'newGmailRowListView',
208
- view: gmailRowListView
209
- });
210
- }
211
- _setupContentAndSidebarView() {
212
- const threadContainerElement = this._getThreadContainerElement();
213
- if (threadContainerElement) {
214
- var gmailThreadView = new _gmailThreadView.default(threadContainerElement, this, this._driver);
215
- this._threadView = gmailThreadView;
216
- this._eventStream.emit({
217
- eventName: 'newGmailThreadView',
218
- view: gmailThreadView
219
- });
220
- } else {
221
- // This element is always present in thread lists, but it only has contents
222
- // when in preview pane mode. We want to monitor it in either case
223
- // because the user could switch into preview pane mode.
224
- const previewPaneContainer = document.querySelector('div[role=main] .aia');
225
- if (previewPaneContainer) {
226
- this._startMonitoringPreviewPaneForThread(previewPaneContainer);
227
- }
228
- }
229
- }
230
- _setupScrollStream() {
231
- const SCROLL_DEBOUNCE_MS = 100;
232
- const scrollContainer = _gmailElementGetter.default.getScrollContainer();
233
- const {
234
- scrollTop: cachedScrollTop
235
- } = this._cachedRouteData;
236
- if (scrollContainer && this._hasAddedCollapsibleSection) {
237
- if (cachedScrollTop) {
238
- scrollContainer.scrollTop = cachedScrollTop;
239
- }
240
- _kefir.default.fromEvents(scrollContainer, 'scroll').throttle(SCROLL_DEBOUNCE_MS).map(e => e.target.scrollTop).takeUntilBy(this._stopper).onValue(scrollTop => {
241
- this._cachedRouteData.scrollTop = scrollTop;
242
- });
243
- }
244
- }
245
- _startMonitoringPreviewPaneForThread(previewPaneContainer) {
246
- const threadContainerTableElement = (0, _querySelectorOrFail.default)(previewPaneContainer, 'table.Bs > tr');
247
- const elementStream = (0, _makeElementChildStream.default)(threadContainerTableElement).filter(event => !!event.el.querySelector('.if') || !!event.el.querySelector('.PeIF1d') || !!event.el.querySelector('.a98.iY'));
248
- this._eventStream.plug(elementStream.flatMap((0, _makeElementViewStream.default)(element => new _gmailThreadView.default(element, this, this._driver, true))).map(view => {
249
- this._threadView = view;
250
- return {
251
- eventName: 'newGmailThreadView',
252
- view: view
253
- };
254
- }));
255
- }
256
- _getSectionsContainer() {
257
- const main = document.querySelector("div[role='main']");
258
- if (!main) throw new Error('should not happen');
259
- let sectionsContainer = main.querySelector('.inboxsdk__custom_sections');
260
- if (!sectionsContainer) {
261
- sectionsContainer = this._sectionsContainer = document.createElement('div');
262
- sectionsContainer.classList.add('inboxsdk__custom_sections');
263
- main.insertBefore(sectionsContainer, main.firstChild);
264
- } else if (sectionsContainer.classList.contains('Wc') && !this._isSearchRoute()) {
265
- sectionsContainer.classList.remove('Wc');
266
- }
267
- return sectionsContainer;
268
- }
269
- _getCustomParams() {
270
- var params = Object.create(null);
271
- if (!this._customRouteID) throw new Error("Should not happen, can't get custom params for non-custom view");
272
- this._customRouteID.split('/').slice(1).forEach((part, index) => {
273
- if (part[0] !== ':') {
274
- return;
275
- }
276
- part = part.substring(1);
277
- if (this._paramsArray[index]) {
278
- params[part] = this._paramsArray[index];
279
- }
139
+ }
140
+ return Object.freeze(params);
280
141
  });
281
- return params;
282
- }
283
- _getNativeParams() {
284
- if (this._isSearchRoute()) {
285
- return this._getSearchRouteParams();
286
- } else if (this._isListRoute()) {
287
- return this._getListRouteParams();
288
- } else if (this._isThreadRoute()) {
289
- return this._getThreadRouteParams();
290
- } else if (this._isSettingsRoute()) {
291
- return this._getSettingsRouteParams();
292
- }
293
- return {};
294
- }
295
- _isSearchRoute() {
296
- return this.getRouteID() === this._gmailRouteProcessor.NativeRouteIDs.SEARCH;
297
- }
298
-
299
- /* FEB 2023 */
300
- _isChatWelcomeRoute() {
301
- return this._hash === this._gmailRouteProcessor.NativeRouteIDs.CHAT_WELCOME;
302
- }
303
- _isChatDmRoute() {
304
- return this._name === 'chat' && this._paramsArray?.[0] === 'dm' && !!this._paramsArray?.[1];
305
- }
306
- _isSpacesWelcomeRoute() {
307
- return this._hash === this._gmailRouteProcessor.NativeRouteIDs.SPACES_WELCOME;
308
- }
309
- _isSpaceRoute() {
310
- return this._name === 'chat' && this._paramsArray?.[0] === 'space' && !!this._paramsArray?.[1];
311
- }
312
- _isMeetRoute() {
313
- return this._hash === this._gmailRouteProcessor.NativeRouteIDs.MEET;
314
- }
315
- /* end FEB 2023 */
316
-
317
- getRouteType() {
318
- if ((0, _includes.default)(['CUSTOM', 'OTHER_APP_CUSTOM'], this._type)) {
319
- return this._gmailRouteProcessor.RouteTypes.CUSTOM;
320
- } else if (this._isListRoute()) {
321
- return this._gmailRouteProcessor.RouteTypes.LIST;
322
- } else if (this._isThreadRoute()) {
323
- return this._gmailRouteProcessor.RouteTypes.THREAD;
324
- } else if (this._isSettingsRoute()) {
325
- return this._gmailRouteProcessor.RouteTypes.SETTINGS;
326
- } else if (this._isChatWelcomeRoute() || this._isChatDmRoute()) {
327
- return this._gmailRouteProcessor.RouteTypes.CHAT;
328
- } else if (this._isSpacesWelcomeRoute() || this._isSpaceRoute()) {
329
- return this._gmailRouteProcessor.RouteTypes.SPACE;
330
- } else if (this._isMeetRoute()) {
331
- return this._gmailRouteProcessor.RouteTypes.MEET;
332
- }
333
- return this._gmailRouteProcessor.RouteTypes.UNKNOWN;
334
- }
335
- _isThreadRoute() {
336
- return !!this._getThreadContainerElement();
337
- }
338
- _isListRoute() {
339
- var rowListElements = _gmailElementGetter.default.getRowListElements();
340
- return (this._type === 'CUSTOM_LIST' || this._gmailRouteProcessor.isListRouteName(this._name)) && rowListElements && rowListElements.length > 0;
341
- }
342
- _isSettingsRoute() {
343
- return this._gmailRouteProcessor.isSettingsRouteName(this._name);
344
- }
345
- _getSearchRouteParams() {
346
- return {
347
- query: this._paramsArray[0],
348
- includesDriveResults: this._name === 'apps',
349
- page: this._getPageParam()
350
- };
351
- }
352
- _getListRouteParams() {
353
- var params = {
354
- page: this._getPageParam()
355
- };
356
- if (this.getRouteID() === this._gmailRouteProcessor.NativeRouteIDs.LABEL && this._paramsArray[0]) {
357
- params.labelName = this._paramsArray[0];
358
- }
359
- return params;
360
- }
361
- _getThreadRouteParams() {
362
- if (this._paramsArray && this._paramsArray.length > 0) {
363
- const threadID = (0, _last.default)(this._paramsArray);
364
- if (threadID && (threadID.length === 16 ||
365
- //for old hex style
366
- threadID[0] === '#') //new sync style thread id
367
- ) {
142
+ addCollapsibleSection(sectionDescriptorProperty, groupOrderHint) {
143
+ return this._addCollapsibleSection(sectionDescriptorProperty, groupOrderHint, true);
144
+ }
145
+ addSection(sectionDescriptorProperty, groupOrderHint) {
146
+ return this._addCollapsibleSection(sectionDescriptorProperty, groupOrderHint, false);
147
+ }
148
+ _addCollapsibleSection(collapsibleSectionDescriptorProperty, groupOrderHint, isCollapsible) {
149
+ this._hasAddedCollapsibleSection = true;
150
+ var gmailResultsSectionView = new GmailCollapsibleSectionView(this._driver, groupOrderHint, this.getRouteID() === this._gmailRouteProcessor.NativeRouteIDs.SEARCH, isCollapsible);
151
+ var sectionsContainer = this._getSectionsContainer();
152
+ gmailResultsSectionView
153
+ .getEventStream()
154
+ .filter(function (event) {
155
+ return event.type === 'update' && event.property === 'orderHint';
156
+ })
157
+ .onValue(function () {
158
+ var children = sectionsContainer.children;
159
+ var insertBeforeElement = getInsertBeforeElement(gmailResultsSectionView.getElement(), children, ['data-group-order-hint', 'data-order-hint']);
160
+ if (insertBeforeElement) {
161
+ sectionsContainer.insertBefore(gmailResultsSectionView.getElement(), insertBeforeElement);
162
+ }
163
+ else {
164
+ sectionsContainer.appendChild(gmailResultsSectionView.getElement());
165
+ }
166
+ });
167
+ gmailResultsSectionView.setCollapsibleSectionDescriptorProperty(collapsibleSectionDescriptorProperty);
168
+ return gmailResultsSectionView;
169
+ }
170
+ _setupCustomViewElement() {
171
+ this._customViewElement = document.createElement('div');
172
+ this._customViewElement.classList.add('inboxsdk__custom_view_element');
173
+ this._monitorLeftNavHeight();
174
+ this._setCustomViewElementHeight();
175
+ }
176
+ _monitorLeftNavHeight() {
177
+ var leftNav = GmailElementGetter.getLeftNavHeightElement();
178
+ if (!leftNav) {
179
+ return;
180
+ }
181
+ makeMutationObserverChunkedStream(leftNav, {
182
+ attributes: true,
183
+ attributeFilter: ['style'],
184
+ })
185
+ .takeUntilBy(this._stopper)
186
+ .onValue(() => {
187
+ this._setCustomViewElementHeight();
188
+ });
189
+ }
190
+ _setCustomViewElementHeight() {
191
+ const leftNav = GmailElementGetter.getLeftNavHeightElement();
192
+ const gtalkButtons = GmailElementGetter.getGtalkButtons();
193
+ const customViewEl = this._customViewElement;
194
+ if (!leftNav || !customViewEl)
195
+ throw new Error('Should not happen');
196
+ const contentSectionElement = GmailElementGetter.getContentSectionElement();
197
+ const contentSectionElementBottomMargin = contentSectionElement
198
+ ? parseInt(getComputedStyle(contentSectionElement).marginBottom, 10)
199
+ : 0;
200
+ customViewEl.style.height = `${parseInt(leftNav.style.height, 10) +
201
+ (gtalkButtons ? gtalkButtons.offsetHeight : 0) -
202
+ contentSectionElementBottomMargin}px`;
203
+ }
204
+ _setupSubViews() {
205
+ asap(() => {
206
+ if (!this._eventStream)
207
+ return;
208
+ this._setupRowListViews();
209
+ this._setupContentAndSidebarView();
210
+ this._setupScrollStream();
211
+ });
212
+ }
213
+ _setupRowListViews() {
214
+ var rowListElements = GmailElementGetter.getRowListElements();
215
+ Array.prototype.forEach.call(rowListElements, (rowListElement) => {
216
+ this._processRowListElement(rowListElement);
217
+ });
218
+ }
219
+ _processRowListElement(rowListElement) {
220
+ var rootElement = rowListElement.parentElement;
221
+ if (!rootElement)
222
+ throw new Error('no rootElement');
223
+ var gmailRowListView = new GmailRowListView(rootElement, this, this._driver);
224
+ this._rowListViews.push(gmailRowListView);
225
+ this._eventStream.emit({
226
+ eventName: 'newGmailRowListView',
227
+ view: gmailRowListView,
228
+ });
229
+ }
230
+ _setupContentAndSidebarView() {
231
+ const threadContainerElement = this._getThreadContainerElement();
232
+ if (threadContainerElement) {
233
+ var gmailThreadView = new GmailThreadView(threadContainerElement, this, this._driver);
234
+ this._threadView = gmailThreadView;
235
+ this._eventStream.emit({
236
+ eventName: 'newGmailThreadView',
237
+ view: gmailThreadView,
238
+ });
239
+ }
240
+ else {
241
+ // This element is always present in thread lists, but it only has contents
242
+ // when in preview pane mode. We want to monitor it in either case
243
+ // because the user could switch into preview pane mode.
244
+ const previewPaneContainer = document.querySelector('div[role=main] .aia');
245
+ if (previewPaneContainer) {
246
+ this._startMonitoringPreviewPaneForThread(previewPaneContainer);
247
+ }
248
+ }
249
+ }
250
+ _setupScrollStream() {
251
+ const SCROLL_DEBOUNCE_MS = 100;
252
+ const scrollContainer = GmailElementGetter.getScrollContainer();
253
+ const { scrollTop: cachedScrollTop } = this._cachedRouteData;
254
+ if (scrollContainer && this._hasAddedCollapsibleSection) {
255
+ if (cachedScrollTop) {
256
+ scrollContainer.scrollTop = cachedScrollTop;
257
+ }
258
+ Kefir.fromEvents(scrollContainer, 'scroll')
259
+ .throttle(SCROLL_DEBOUNCE_MS)
260
+ .map((e) => e.target.scrollTop)
261
+ .takeUntilBy(this._stopper)
262
+ .onValue((scrollTop) => {
263
+ this._cachedRouteData.scrollTop = scrollTop;
264
+ });
265
+ }
266
+ }
267
+ _startMonitoringPreviewPaneForThread(previewPaneContainer) {
268
+ const threadContainerTableElement = querySelector(previewPaneContainer, 'table.Bs > tr');
269
+ const elementStream = makeElementChildStream(threadContainerTableElement).filter((event) => !!event.el.querySelector('.if') ||
270
+ !!event.el.querySelector('.PeIF1d') ||
271
+ !!event.el.querySelector('.a98.iY'));
272
+ this._eventStream.plug(elementStream
273
+ .flatMap(makeElementViewStream((element) => new GmailThreadView(element, this, this._driver, true)))
274
+ .map((view) => {
275
+ this._threadView = view;
276
+ return {
277
+ eventName: 'newGmailThreadView',
278
+ view: view,
279
+ };
280
+ }));
281
+ }
282
+ _getSectionsContainer() {
283
+ const main = document.querySelector("div[role='main']");
284
+ if (!main)
285
+ throw new Error('should not happen');
286
+ let sectionsContainer = main.querySelector('.inboxsdk__custom_sections');
287
+ if (!sectionsContainer) {
288
+ sectionsContainer = this._sectionsContainer =
289
+ document.createElement('div');
290
+ sectionsContainer.classList.add('inboxsdk__custom_sections');
291
+ main.insertBefore(sectionsContainer, main.firstChild);
292
+ }
293
+ else if (sectionsContainer.classList.contains('Wc') &&
294
+ !this._isSearchRoute()) {
295
+ sectionsContainer.classList.remove('Wc');
296
+ }
297
+ return sectionsContainer;
298
+ }
299
+ _getCustomParams() {
300
+ var params = Object.create(null);
301
+ if (!this._customRouteID)
302
+ throw new Error("Should not happen, can't get custom params for non-custom view");
303
+ this._customRouteID
304
+ .split('/')
305
+ .slice(1)
306
+ .forEach((part, index) => {
307
+ if (part[0] !== ':') {
308
+ return;
309
+ }
310
+ part = part.substring(1);
311
+ if (this._paramsArray[index]) {
312
+ params[part] = this._paramsArray[index];
313
+ }
314
+ });
315
+ return params;
316
+ }
317
+ _getNativeParams() {
318
+ if (this._isSearchRoute()) {
319
+ return this._getSearchRouteParams();
320
+ }
321
+ else if (this._isListRoute()) {
322
+ return this._getListRouteParams();
323
+ }
324
+ else if (this._isThreadRoute()) {
325
+ return this._getThreadRouteParams();
326
+ }
327
+ else if (this._isSettingsRoute()) {
328
+ return this._getSettingsRouteParams();
329
+ }
330
+ return {};
331
+ }
332
+ _isSearchRoute() {
333
+ return (this.getRouteID() === this._gmailRouteProcessor.NativeRouteIDs.SEARCH);
334
+ }
335
+ /* FEB 2023 */
336
+ _isChatWelcomeRoute() {
337
+ return this._hash === this._gmailRouteProcessor.NativeRouteIDs.CHAT_WELCOME;
338
+ }
339
+ _isChatDmRoute() {
340
+ return (this._name === 'chat' &&
341
+ this._paramsArray?.[0] === 'dm' &&
342
+ !!this._paramsArray?.[1]);
343
+ }
344
+ _isSpacesWelcomeRoute() {
345
+ return (this._hash === this._gmailRouteProcessor.NativeRouteIDs.SPACES_WELCOME);
346
+ }
347
+ _isSpaceRoute() {
348
+ return (this._name === 'chat' &&
349
+ this._paramsArray?.[0] === 'space' &&
350
+ !!this._paramsArray?.[1]);
351
+ }
352
+ _isMeetRoute() {
353
+ return this._hash === this._gmailRouteProcessor.NativeRouteIDs.MEET;
354
+ }
355
+ /* end FEB 2023 */
356
+ getRouteType() {
357
+ if (includes(['CUSTOM', 'OTHER_APP_CUSTOM'], this._type)) {
358
+ return this._gmailRouteProcessor.RouteTypes.CUSTOM;
359
+ }
360
+ else if (this._isListRoute()) {
361
+ return this._gmailRouteProcessor.RouteTypes.LIST;
362
+ }
363
+ else if (this._isThreadRoute()) {
364
+ return this._gmailRouteProcessor.RouteTypes.THREAD;
365
+ }
366
+ else if (this._isSettingsRoute()) {
367
+ return this._gmailRouteProcessor.RouteTypes.SETTINGS;
368
+ }
369
+ else if (this._isChatWelcomeRoute() || this._isChatDmRoute()) {
370
+ return this._gmailRouteProcessor.RouteTypes.CHAT;
371
+ }
372
+ else if (this._isSpacesWelcomeRoute() || this._isSpaceRoute()) {
373
+ return this._gmailRouteProcessor.RouteTypes.SPACE;
374
+ }
375
+ else if (this._isMeetRoute()) {
376
+ return this._gmailRouteProcessor.RouteTypes.MEET;
377
+ }
378
+ return this._gmailRouteProcessor.RouteTypes.UNKNOWN;
379
+ }
380
+ _isThreadRoute() {
381
+ return !!this._getThreadContainerElement();
382
+ }
383
+ _isListRoute() {
384
+ var rowListElements = GmailElementGetter.getRowListElements();
385
+ return ((this._type === 'CUSTOM_LIST' ||
386
+ this._gmailRouteProcessor.isListRouteName(this._name)) &&
387
+ rowListElements &&
388
+ rowListElements.length > 0);
389
+ }
390
+ _isSettingsRoute() {
391
+ return this._gmailRouteProcessor.isSettingsRouteName(this._name);
392
+ }
393
+ _getSearchRouteParams() {
368
394
  return {
369
- threadID: threadID.replace('#', '')
395
+ query: this._paramsArray[0],
396
+ includesDriveResults: this._name === 'apps',
397
+ page: this._getPageParam(),
398
+ };
399
+ }
400
+ _getListRouteParams() {
401
+ var params = {
402
+ page: this._getPageParam(),
370
403
  };
371
- }
372
- }
373
- const threadContainerElement = this._getThreadContainerElement();
374
- let threadID;
375
- if (threadContainerElement) {
376
- try {
377
- threadID = this._driver.getPageCommunicator().getCurrentThreadID(threadContainerElement);
378
- } catch (err) {
379
- // leave threadID null to be set below
380
- }
381
- }
382
- if (!threadID) {
383
- // Happens if gmonkey isn't available, like on a standalone thread page.
384
- threadID = (0, _querystring.parse)(document.location.search, null, null).th || '';
385
- }
386
- return {
387
- threadID
388
- };
389
- }
390
- _getSettingsRouteParams() {
391
- return {
392
- tabName: this._paramsArray[0]
393
- };
394
- }
395
- _getPageParam() {
396
- for (var ii = 1; ii < this._paramsArray.length; ii++) {
397
- if (this._paramsArray[ii].match(/p\d+/)) {
398
- return parseInt(this._paramsArray[ii].replace(/[a-zA-Z]/, ''), 10);
399
- }
400
- }
401
- return 1;
402
- }
403
- getRouteID() {
404
- if (this._customRouteID) {
405
- return this._customRouteID;
406
- } else if (this._isThreadRoute()) {
407
- return this._gmailRouteProcessor.NativeRouteIDs.THREAD;
408
- } else if (this._isChatWelcomeRoute()) {
409
- return this._gmailRouteProcessor.NativeRouteIDs.CHAT_WELCOME;
410
- } else if (this._isChatDmRoute()) {
411
- return this._gmailRouteProcessor.NativeRouteIDs.CHAT_DM;
412
- } else if (this._isSpacesWelcomeRoute()) {
413
- return this._gmailRouteProcessor.NativeRouteIDs.SPACES_WELCOME;
414
- } else if (this._isSpaceRoute()) {
415
- return this._gmailRouteProcessor.NativeRouteIDs.SPACE;
416
- } else {
417
- return this._gmailRouteProcessor.getRouteID(this._name);
418
- }
419
- }
420
-
421
- // Used to click gmail refresh button in thread lists
422
- refresh() {
423
- var el = _gmailElementGetter.default.getToolbarElement().querySelector('div.T-I.nu');
424
- if (el) {
425
- var prevActive = document.activeElement;
426
- var prevClassName = el.className;
427
- (0, _simulateMouseEvent.simulateClick)(el);
428
- el.className = prevClassName; // remove the gmail focus class
429
- if (prevActive) {
430
- prevActive.focus();
431
- } else {
432
- el.blur();
433
- }
434
- }
435
- }
436
- setFullWidth(fullWidth) {
437
- // The setFullWidth method does not do anything in Gmail
438
- }
439
- _extractParamKeysFromRouteID(routeID) {
440
- return routeID.split('/').filter(part => part[0] === ':').map(part => part.substring(1));
441
- }
404
+ if (this.getRouteID() === this._gmailRouteProcessor.NativeRouteIDs.LABEL &&
405
+ this._paramsArray[0]) {
406
+ params.labelName = this._paramsArray[0];
407
+ }
408
+ return params;
409
+ }
410
+ _getThreadRouteParams() {
411
+ if (this._paramsArray && this._paramsArray.length > 0) {
412
+ const threadID = last(this._paramsArray);
413
+ if (threadID &&
414
+ (threadID.length === 16 || //for old hex style
415
+ threadID[0] === '#') //new sync style thread id
416
+ ) {
417
+ return {
418
+ threadID: threadID.replace('#', ''),
419
+ };
420
+ }
421
+ }
422
+ const threadContainerElement = this._getThreadContainerElement();
423
+ let threadID;
424
+ if (threadContainerElement) {
425
+ try {
426
+ threadID = this._driver
427
+ .getPageCommunicator()
428
+ .getCurrentThreadID(threadContainerElement);
429
+ }
430
+ catch (err) {
431
+ // leave threadID null to be set below
432
+ }
433
+ }
434
+ if (!threadID) {
435
+ // Happens if gmonkey isn't available, like on a standalone thread page.
436
+ threadID = parse(document.location.search, null, null).th || '';
437
+ }
438
+ return {
439
+ threadID,
440
+ };
441
+ }
442
+ _getSettingsRouteParams() {
443
+ return {
444
+ tabName: this._paramsArray[0],
445
+ };
446
+ }
447
+ _getPageParam() {
448
+ for (var ii = 1; ii < this._paramsArray.length; ii++) {
449
+ if (this._paramsArray[ii].match(/p\d+/)) {
450
+ return parseInt(this._paramsArray[ii].replace(/[a-zA-Z]/, ''), 10);
451
+ }
452
+ }
453
+ return 1;
454
+ }
455
+ getRouteID() {
456
+ if (this._customRouteID) {
457
+ return this._customRouteID;
458
+ }
459
+ else if (this._isThreadRoute()) {
460
+ return this._gmailRouteProcessor.NativeRouteIDs.THREAD;
461
+ }
462
+ else if (this._isChatWelcomeRoute()) {
463
+ return this._gmailRouteProcessor.NativeRouteIDs.CHAT_WELCOME;
464
+ }
465
+ else if (this._isChatDmRoute()) {
466
+ return this._gmailRouteProcessor.NativeRouteIDs.CHAT_DM;
467
+ }
468
+ else if (this._isSpacesWelcomeRoute()) {
469
+ return this._gmailRouteProcessor.NativeRouteIDs.SPACES_WELCOME;
470
+ }
471
+ else if (this._isSpaceRoute()) {
472
+ return this._gmailRouteProcessor.NativeRouteIDs.SPACE;
473
+ }
474
+ else {
475
+ return this._gmailRouteProcessor.getRouteID(this._name);
476
+ }
477
+ }
478
+ // Used to click gmail refresh button in thread lists
479
+ refresh() {
480
+ var el = GmailElementGetter.getToolbarElement().querySelector('div.T-I.nu');
481
+ if (el) {
482
+ var prevActive = document.activeElement;
483
+ var prevClassName = el.className;
484
+ simulateClick(el);
485
+ el.className = prevClassName; // remove the gmail focus class
486
+ if (prevActive) {
487
+ prevActive.focus();
488
+ }
489
+ else {
490
+ el.blur();
491
+ }
492
+ }
493
+ }
494
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
495
+ setFullWidth(fullWidth) {
496
+ // The setFullWidth method does not do anything in Gmail
497
+ }
498
+ _extractParamKeysFromRouteID(routeID) {
499
+ return routeID
500
+ .split('/')
501
+ .filter((part) => part[0] === ':')
502
+ .map((part) => part.substring(1));
503
+ }
504
+ _getThreadContainerElement = once(() => {
505
+ return GmailElementGetter.getThreadContainerElement();
506
+ });
442
507
  }
443
- var _default = (0, _ud.defn)(module, GmailRouteView);
444
- exports.default = _default;
508
+ export default GmailRouteView;