@inboxsdk/core 1.1.5 → 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 +10 -10
  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
@@ -0,0 +1,40 @@
1
+ import * as Kefir from 'kefir';
2
+ import type GmailDriver from '../gmail-driver';
3
+ import type GmailMessageView from './gmail-message-view';
4
+ import ButtonView from '../widgets/buttons/button-view';
5
+ declare class GmailAttachmentCardView {
6
+ _element: HTMLElement;
7
+ _driver: GmailDriver;
8
+ _messageViewDriver: GmailMessageView | null | undefined;
9
+ _cachedType: any;
10
+ _stopper: Kefir.Observable<null, unknown> & {
11
+ destroy(): void;
12
+ };
13
+ _previewClicks: Kefir.Pool<Event, unknown>;
14
+ constructor(options: Record<string, any>, driver: GmailDriver, messageViewDriver?: GmailMessageView | null);
15
+ destroy(): void;
16
+ getElement(): HTMLElement;
17
+ getMessageViewDriver(): GmailMessageView | null | undefined;
18
+ getStopper(): Kefir.Observable<null, unknown> & {
19
+ destroy(): void;
20
+ };
21
+ getPreviewClicks(): Kefir.Observable<Event, unknown>;
22
+ _isStandardAttachment(): boolean;
23
+ getAttachmentType(): string;
24
+ _readAttachmentType(): string;
25
+ addButton(options: Record<string, any>): void;
26
+ getTitle(): string;
27
+ _getDownloadLink(): string | null | undefined;
28
+ getDownloadURL(): Promise<string | null | undefined>;
29
+ _extractFileNameFromElement(): string;
30
+ _createNewElement(options: Record<string, any>): void;
31
+ _addHoverEvents(): void;
32
+ _addDownloadButton(options: Record<string, any>): void;
33
+ _addMoreButtons(buttonDescriptors: Record<string, any>[] | null | undefined): void;
34
+ _addButton(buttonView: ButtonView): void;
35
+ _getPreviewImageUrl(): string | null | undefined;
36
+ _getPreviewImage(): HTMLImageElement;
37
+ _getButtonContainerElement(): HTMLElement;
38
+ }
39
+ export default GmailAttachmentCardView;
40
+ //# sourceMappingURL=gmail-attachment-card-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"gmail-attachment-card-view.d.ts","sourceRoot":"","sources":["../../../../../../../src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,KAAK,MAAM,OAAO,CAAC;AAI/B,OAAO,KAAK,WAAW,MAAM,iBAAiB,CAAC;AAC/C,OAAO,KAAK,gBAAgB,MAAM,sBAAsB,CAAC;AAGzD,OAAO,UAAU,MAAM,gCAAgC,CAAC;AAMxD,cAAM,uBAAuB;IAC3B,QAAQ,EAAG,WAAW,CAAC;IACvB,OAAO,EAAE,WAAW,CAAC;IACrB,kBAAkB,EAAE,gBAAgB,GAAG,IAAI,GAAG,SAAS,CAAC;IACxD,WAAW,EAAE,GAAG,CAAC;IACjB,QAAQ,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,EAAE,OAAO,CAAC,GAAG;QAC1C,OAAO,IAAI,IAAI,CAAC;KACjB,CAAkB;IACnB,cAAc,6BAAgC;gBAG5C,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC5B,MAAM,EAAE,WAAW,EACnB,iBAAiB,CAAC,EAAE,gBAAgB,GAAG,IAAI;IAY7C,OAAO;IAIP,UAAU,IAAI,WAAW;IAIzB,oBAAoB;IAIpB,UAAU;;;IAIV,gBAAgB;IAIhB,qBAAqB,IAAI,OAAO;IAIhC,iBAAiB,IAAI,MAAM;IAc3B,mBAAmB,IAAI,MAAM;IA2B7B,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAmBtC,QAAQ,IAAI,MAAM;IAMlB,gBAAgB,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS;IA2BvC,cAAc,IAAI,OAAO,CAAC,MAAM,GAAG,IAAI,GAAG,SAAS,CAAC;IA8C1D,2BAA2B,IAAI,MAAM;IAIrC,iBAAiB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAqH9C,eAAe;IAsBf,kBAAkB,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;IAqD/C,eAAe,CAAC,iBAAiB,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,IAAI,GAAG,SAAS;IAU3E,UAAU,CAAC,UAAU,EAAE,UAAU;IAMjC,mBAAmB,IAAI,MAAM,GAAG,IAAI,GAAG,SAAS;IAUhD,gBAAgB,IAAI,gBAAgB;IAIpC,0BAA0B,IAAI,WAAW;CAG1C;AAED,eAAe,uBAAuB,CAAC"}
@@ -1,179 +1,188 @@
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 _find = _interopRequireDefault(require("lodash/find"));
10
- var _kefir = _interopRequireDefault(require("kefir"));
11
- var _kefirStopper = _interopRequireDefault(require("kefir-stopper"));
12
- var _util = _interopRequireDefault(require("util"));
13
- var _autoHtml = _interopRequireDefault(require("auto-html"));
14
- var _ud = require("ud");
15
- var _fromEventTargetCapture = _interopRequireDefault(require("../../../lib/from-event-target-capture"));
16
- var _querySelectorOrFail = _interopRequireDefault(require("../../../lib/dom/querySelectorOrFail"));
17
- var _buttonView = _interopRequireDefault(require("../widgets/buttons/button-view"));
18
- var _basicButtonViewController = _interopRequireDefault(require("../../../widgets/buttons/basic-button-view-controller"));
19
- var _simulateMouseEvent = require("../../../lib/dom/simulate-mouse-event");
20
- var _waitFor = _interopRequireDefault(require("../../../lib/wait-for"));
21
- var _streamWaitFor = _interopRequireDefault(require("../../../lib/stream-wait-for"));
1
+ /* eslint-disable @typescript-eslint/no-unused-vars */
2
+ import find from 'lodash/find';
3
+ import * as Kefir from 'kefir';
4
+ import kefirStopper from 'kefir-stopper';
5
+ import autoHtml from 'auto-html';
6
+ import fromEventTargetCapture from '../../../lib/from-event-target-capture';
7
+ import querySelector from '../../../lib/dom/querySelectorOrFail';
8
+ import ButtonView from '../widgets/buttons/button-view';
9
+ import BasicButtonViewController from '../../../widgets/buttons/basic-button-view-controller';
10
+ import { simulateClick } from '../../../lib/dom/simulate-mouse-event';
11
+ import waitFor from '../../../lib/wait-for';
22
12
  class GmailAttachmentCardView {
23
- constructor(options, driver, messageViewDriver) {
24
- (0, _defineProperty2.default)(this, "_stopper", (0, _kefirStopper.default)());
25
- (0, _defineProperty2.default)(this, "_previewClicks", _kefir.default.pool());
26
- this._driver = driver;
27
- this._messageViewDriver = messageViewDriver;
28
- if (options.element) {
29
- this._element = options.element;
30
- } else {
31
- this._createNewElement(options);
13
+ _element;
14
+ _driver;
15
+ _messageViewDriver;
16
+ _cachedType;
17
+ _stopper = kefirStopper();
18
+ _previewClicks = Kefir.pool();
19
+ constructor(options, driver, messageViewDriver) {
20
+ this._driver = driver;
21
+ this._messageViewDriver = messageViewDriver;
22
+ if (options.element) {
23
+ this._element = options.element;
24
+ }
25
+ else {
26
+ this._createNewElement(options);
27
+ }
28
+ }
29
+ destroy() {
30
+ this._stopper.destroy();
32
31
  }
33
- }
34
- destroy() {
35
- this._stopper.destroy();
36
- }
37
- getElement() {
38
- return this._element;
39
- }
40
- getMessageViewDriver() {
41
- return this._messageViewDriver;
42
- }
43
- getStopper() {
44
- return this._stopper;
45
- }
46
- getPreviewClicks() {
47
- return this._previewClicks.takeUntilBy(this._stopper);
48
- }
49
- _isStandardAttachment() {
50
- return this.getAttachmentType() === 'FILE';
51
- }
52
- getAttachmentType() {
53
- if (this._cachedType) {
54
- return this._cachedType;
32
+ getElement() {
33
+ return this._element;
55
34
  }
56
- const type = this._readAttachmentType();
57
- if (type !== 'UNLOADED') {
58
- this._cachedType = type;
35
+ getMessageViewDriver() {
36
+ return this._messageViewDriver;
59
37
  }
60
- return type;
61
- }
62
- _readAttachmentType() {
63
- if (this._element.classList.contains('inboxsdk__attachmentCard')) {
64
- return 'CUSTOM';
38
+ getStopper() {
39
+ return this._stopper;
65
40
  }
66
- // FILE attachment cards are never in unloaded state.
67
- if (this._element.children.length === 1 && this._element.children[0].children.length === 0) {
68
- return 'UNLOADED';
41
+ getPreviewClicks() {
42
+ return this._previewClicks.takeUntilBy(this._stopper);
69
43
  }
70
- const link = this._getDownloadLink();
71
- if (!link || link.match(/^https?:\/\/mail\.google\.com\//)) {
72
- // Only files and unloaded ever lack a link.
73
- return 'FILE';
44
+ _isStandardAttachment() {
45
+ return this.getAttachmentType() === 'FILE';
74
46
  }
75
- if (link.match(/^https?:\/\/([^/]*\.)?google(usercontent)?\.com\//)) {
76
- return 'DRIVE';
47
+ getAttachmentType() {
48
+ if (this._cachedType) {
49
+ return this._cachedType;
50
+ }
51
+ const type = this._readAttachmentType();
52
+ if (type !== 'UNLOADED') {
53
+ this._cachedType = type;
54
+ }
55
+ return type;
77
56
  }
78
- return 'UNKNOWN';
79
- }
80
- addButton(options) {
81
- var buttonView = new _buttonView.default({
82
- iconUrl: options.iconUrl,
83
- tooltip: options.tooltip
84
- });
85
- var basicButtonViewController = new _basicButtonViewController.default({
86
- activateFunction: () => {
87
- if (options.onClick) {
88
- options.onClick({
89
- getDownloadURL: () => this.getDownloadURL()
90
- });
57
+ _readAttachmentType() {
58
+ if (this._element.classList.contains('inboxsdk__attachmentCard')) {
59
+ return 'CUSTOM';
91
60
  }
92
- },
93
- buttonView: buttonView
94
- });
95
- this._addButton(buttonView);
96
- }
97
- getTitle() {
98
- const title = this._element.querySelector('span .aV3');
99
- return title ? title.textContent : '';
100
- }
101
- _getDownloadLink() {
102
- const firstChild = this._element.firstElementChild;
103
- if (!firstChild) throw new Error('Failed to find link');
104
- if (firstChild.tagName !== 'A' || !firstChild.href) {
105
- const download_url = this._element.getAttribute('download_url');
106
- if (download_url) {
107
- const m = /:(https:\/\/[^:]+)/.exec(download_url);
108
- return m ? m[1] : null;
109
- }
110
- } else {
111
- const firstChildHref = firstChild.href;
112
- if (firstChildHref) {
113
- return firstChildHref.replace(/([?&])disp=inline(?=&|$)/, '$1disp=safe');
114
- }
115
- return firstChildHref;
61
+ // FILE attachment cards are never in unloaded state.
62
+ if (this._element.children.length === 1 &&
63
+ this._element.children[0].children.length === 0) {
64
+ return 'UNLOADED';
65
+ }
66
+ const link = this._getDownloadLink();
67
+ if (!link || link.match(/^https?:\/\/mail\.google\.com\//)) {
68
+ // Only files and unloaded ever lack a link.
69
+ return 'FILE';
70
+ }
71
+ if (link.match(/^https?:\/\/([^/]*\.)?google(usercontent)?\.com\//)) {
72
+ return 'DRIVE';
73
+ }
74
+ return 'UNKNOWN';
75
+ }
76
+ addButton(options) {
77
+ var buttonView = new ButtonView({
78
+ iconUrl: options.iconUrl,
79
+ tooltip: options.tooltip,
80
+ });
81
+ var basicButtonViewController = new BasicButtonViewController({
82
+ activateFunction: () => {
83
+ if (options.onClick) {
84
+ options.onClick({
85
+ getDownloadURL: () => this.getDownloadURL(),
86
+ });
87
+ }
88
+ },
89
+ buttonView: buttonView,
90
+ });
91
+ this._addButton(buttonView);
116
92
  }
117
- }
118
-
119
- // Resolves the short-lived cookie-less download URL
120
- async getDownloadURL() {
121
- try {
122
- if (this._isStandardAttachment()) {
123
- const downloadUrl = await (0, _waitFor.default)(() => this._getDownloadLink());
124
- if (!downloadUrl) return null;
125
- const finalUrl = await this._driver.resolveUrlRedirects(downloadUrl);
126
- if (!/^https:\/\/mail-attachment\.googleusercontent\.com\/attachment\//.test(finalUrl)) {
127
- console.error('getDownloadURL returned unexpected url', finalUrl);
128
- const err = new Error('getDownloadURL returned unexpected url');
129
- this._driver.getLogger().error(err, {
130
- finalUrlCensored: finalUrl.replace(/\?[^/]+$/, '?[...]')
131
- });
132
- if (/^https:\/\/mail\.google\.com\//.test(finalUrl)) {
133
- // This URL definitely isn't right: these URLs generally require
134
- // authentication and shouldn't be returned by getDownloadURL.
93
+ getTitle() {
94
+ const title = this._element.querySelector('span .aV3');
95
+ return title ? title.textContent : '';
96
+ }
97
+ _getDownloadLink() {
98
+ const firstChild = this._element
99
+ .firstElementChild;
100
+ if (!firstChild)
101
+ throw new Error('Failed to find link');
102
+ if (firstChild.tagName !== 'A' || !firstChild.href) {
103
+ const download_url = this._element.getAttribute('download_url');
104
+ if (download_url) {
105
+ const m = /:(https:\/\/[^:]+)/.exec(download_url);
106
+ return m ? m[1] : null;
107
+ }
108
+ }
109
+ else {
110
+ const firstChildHref = firstChild.href;
111
+ if (firstChildHref) {
112
+ return firstChildHref.replace(/([?&])disp=inline(?=&|$)/, '$1disp=safe');
113
+ }
114
+ return firstChildHref;
115
+ }
116
+ }
117
+ // Resolves the short-lived cookie-less download URL
118
+ async getDownloadURL() {
119
+ try {
120
+ if (this._isStandardAttachment()) {
121
+ const downloadUrl = await waitFor(() => this._getDownloadLink());
122
+ if (!downloadUrl)
123
+ return null;
124
+ const finalUrl = await this._driver.resolveUrlRedirects(downloadUrl);
125
+ if (!/^https:\/\/mail-attachment\.googleusercontent\.com\/attachment\//.test(finalUrl)) {
126
+ console.error('getDownloadURL returned unexpected url', finalUrl);
127
+ const err = new Error('getDownloadURL returned unexpected url');
128
+ this._driver.getLogger().error(err, {
129
+ finalUrlCensored: finalUrl.replace(/\?[^/]+$/, '?[...]'),
130
+ });
131
+ if (/^https:\/\/mail\.google\.com\//.test(finalUrl)) {
132
+ // This URL definitely isn't right: these URLs generally require
133
+ // authentication and shouldn't be returned by getDownloadURL.
134
+ throw err;
135
+ } // Otherwise, don't throw; only log. Maybe Gmail has changed the URL
136
+ // structure and things will just work.
137
+ }
138
+ return finalUrl;
139
+ }
140
+ else {
141
+ const downloadButton = this._element.querySelector('[data-inboxsdk-download-url]');
142
+ return downloadButton
143
+ ? downloadButton.getAttribute('data-inboxsdk-download-url')
144
+ : null;
145
+ }
146
+ }
147
+ catch (err) {
148
+ this._driver.getLogger().error(err);
135
149
  throw err;
136
- }
137
- // Otherwise, don't throw; only log. Maybe Gmail has changed the URL
138
- // structure and things will just work.
139
150
  }
140
-
141
- return finalUrl;
142
- } else {
143
- const downloadButton = this._element.querySelector('[data-inboxsdk-download-url]');
144
- return downloadButton ? downloadButton.getAttribute('data-inboxsdk-download-url') : null;
145
- }
146
- } catch (err) {
147
- this._driver.getLogger().error(err);
148
- throw err;
149
151
  }
150
- }
151
- _extractFileNameFromElement() {
152
- return (0, _querySelectorOrFail.default)(this._element, '.aQA > span').textContent;
153
- }
154
- _createNewElement(options) {
155
- this._element = document.createElement('span');
156
- this._element.classList.add('aZo');
157
- this._element.classList.add('inboxsdk__attachmentCard');
158
- var htmlArray = [(0, _autoHtml.default)`
152
+ _extractFileNameFromElement() {
153
+ return querySelector(this._element, '.aQA > span').textContent;
154
+ }
155
+ _createNewElement(options) {
156
+ this._element = document.createElement('span');
157
+ this._element.classList.add('aZo');
158
+ this._element.classList.add('inboxsdk__attachmentCard');
159
+ var htmlArray = [
160
+ autoHtml `
159
161
  <a target="_blank" role="link" class="aQy e" href="">
160
162
  <div aria-hidden="true">
161
163
  <div class="aSG"></div>
162
164
  <div class="aVY aZn">
163
165
  <div class="aZm"></div>
164
166
  </div>
165
- <div class="aSH">`];
166
- if (options.iconThumbnailUrl) {
167
- htmlArray = htmlArray.concat([(0, _autoHtml.default)`
167
+ <div class="aSH">`,
168
+ ];
169
+ if (options.iconThumbnailUrl) {
170
+ htmlArray = htmlArray.concat([
171
+ autoHtml `
168
172
  <div class="aYv">
169
173
  <img class="aZG aYw" src="${options.iconThumbnailUrl}">
170
- </div>`]);
171
- } else {
172
- htmlArray = htmlArray.concat([(0, _autoHtml.default)`
174
+ </div>`,
175
+ ]);
176
+ }
177
+ else {
178
+ htmlArray = htmlArray.concat([
179
+ autoHtml `
173
180
  <img class="aQG aYB inboxsdk__attachmentCard_previewThumbnailUrl"
174
- src="${options.previewThumbnailUrl}">`]);
175
- }
176
- htmlArray = htmlArray.concat([(0, _autoHtml.default)`
181
+ src="${options.previewThumbnailUrl}">`,
182
+ ]);
183
+ }
184
+ htmlArray = htmlArray.concat([
185
+ autoHtml `
177
186
  <div class="aYy">
178
187
  <div class="aYA">
179
188
  <img class="aSM" src="${options.fileIconImageUrl}">
@@ -195,120 +204,133 @@ class GmailAttachmentCardView {
195
204
  </div>
196
205
  </div>
197
206
  </a>
198
- <div class="aQw"></div>`]);
199
- this._element.innerHTML = htmlArray.join('');
200
- this._element.children[0].href = options.previewUrl;
201
- if (options.mimeType && options.mimeType.split('/')[0] === 'image') {
202
- this._element.children[0].classList.add('aZI');
203
- }
204
- (0, _querySelectorOrFail.default)(this._element, 'span .aV3').textContent = options.title;
205
- (0, _querySelectorOrFail.default)(this._element, 'div.aYp > span').textContent = options.description || '';
206
- (0, _querySelectorOrFail.default)(this._element, 'div.aSJ').style.borderColor = options.foldColor;
207
- this._addHoverEvents();
208
- if (options.buttons) {
209
- const downloadButton = (0, _find.default)(options.buttons, function (button) {
210
- return button.downloadUrl;
211
- });
212
- if (downloadButton) {
213
- this._addDownloadButton(downloadButton);
214
- }
215
- this._addMoreButtons(options.buttons);
216
- }
217
- var self = this;
218
- // :any to work around https://github.com/facebook/flow/issues/1155
219
- this._previewClicks.plug(_kefir.default.fromEvents(this._element, 'click').map(event => ({
220
- preventDefault: () => event.preventDefault()
221
- })));
222
- if (options.previewThumbnailUrl && options.failoverPreviewIconUrl) {
223
- const previewThumbnailUrlImage = (0, _querySelectorOrFail.default)(this._element, '.inboxsdk__attachmentCard_previewThumbnailUrl');
224
- previewThumbnailUrlImage.onerror = e => {
225
- var iconDiv = document.createElement('div');
226
- iconDiv.classList.add('aYv');
227
- iconDiv.innerHTML = '<img class="aZG aYw" src="' + options.failoverPreviewIconUrl + '">';
228
- const parent = previewThumbnailUrlImage.parentElement;
229
- if (!parent) throw new Error('Could not find parent element');
230
- parent.insertBefore(iconDiv, previewThumbnailUrlImage.nextElementSibling);
231
- previewThumbnailUrlImage.remove();
232
- };
233
- }
234
- }
235
- _addHoverEvents() {
236
- _kefir.default.merge([_kefir.default.fromEvents(this._element, 'mouseenter'), (0, _fromEventTargetCapture.default)(this._element, 'focus')]).onValue(() => {
237
- this._element.classList.add('aZp');
238
- });
239
- _kefir.default.merge([_kefir.default.fromEvents(this._element, 'mouseleave'), (0, _fromEventTargetCapture.default)(this._element, 'blur')]).onValue(() => {
240
- this._element.classList.remove('aZp');
241
- });
242
- const anchor = (0, _querySelectorOrFail.default)(this._element, 'a');
243
- _kefir.default.fromEvents(anchor, 'focus').onValue(() => {
244
- anchor.classList.add('a1U');
245
- });
246
- _kefir.default.fromEvents(anchor, 'blur').onValue(() => {
247
- anchor.classList.remove('a1U');
248
- });
249
- }
250
- _addDownloadButton(options) {
251
- const buttonView = new _buttonView.default({
252
- tooltip: 'Download',
253
- iconClass: 'aSK J-J5-Ji aYr'
254
- });
255
- buttonView.getElement().setAttribute('data-inboxsdk-download-url', options.downloadUrl);
256
- const basicButtonViewController = new _basicButtonViewController.default({
257
- activateFunction: function () {
258
- let prevented = false;
259
- if (options.onClick) {
260
- options.onClick({
261
- preventDefault: function () {
262
- prevented = true;
263
- }
264
- });
207
+ <div class="aQw"></div>`,
208
+ ]);
209
+ this._element.innerHTML = htmlArray.join('');
210
+ this._element.children[0].href = options.previewUrl;
211
+ if (options.mimeType && options.mimeType.split('/')[0] === 'image') {
212
+ this._element.children[0].classList.add('aZI');
265
213
  }
266
- if (prevented) {
267
- return;
214
+ querySelector(this._element, 'span .aV3').textContent = options.title;
215
+ querySelector(this._element, 'div.aYp > span').textContent =
216
+ options.description || '';
217
+ querySelector(this._element, 'div.aSJ').style.borderColor =
218
+ options.foldColor;
219
+ this._addHoverEvents();
220
+ if (options.buttons) {
221
+ const downloadButton = find(options.buttons, function (button) {
222
+ return button.downloadUrl;
223
+ });
224
+ if (downloadButton) {
225
+ this._addDownloadButton(downloadButton);
226
+ }
227
+ this._addMoreButtons(options.buttons);
268
228
  }
269
- const downloadLink = document.createElement('a');
270
- downloadLink.href = options.downloadUrl;
271
- if (options.downloadFilename) {
272
- downloadLink.download = options.downloadFilename;
229
+ var self = this;
230
+ this._previewClicks.plug(Kefir.fromEvents(this._element, 'click').map((event) => ({
231
+ preventDefault: () => event.preventDefault(),
232
+ })));
233
+ if (options.previewThumbnailUrl && options.failoverPreviewIconUrl) {
234
+ const previewThumbnailUrlImage = querySelector(this._element, '.inboxsdk__attachmentCard_previewThumbnailUrl');
235
+ previewThumbnailUrlImage.onerror = (e) => {
236
+ var iconDiv = document.createElement('div');
237
+ iconDiv.classList.add('aYv');
238
+ iconDiv.innerHTML =
239
+ '<img class="aZG aYw" src="' + options.failoverPreviewIconUrl + '">';
240
+ const parent = previewThumbnailUrlImage.parentElement;
241
+ if (!parent)
242
+ throw new Error('Could not find parent element');
243
+ parent.insertBefore(iconDiv, previewThumbnailUrlImage.nextElementSibling);
244
+ previewThumbnailUrlImage.remove();
245
+ };
273
246
  }
274
- downloadLink.addEventListener('click', function (e) {
275
- e.stopPropagation();
276
- }, true);
277
- if (options.openInNewTab) {
278
- downloadLink.setAttribute('target', '_blank');
247
+ }
248
+ _addHoverEvents() {
249
+ Kefir.merge([
250
+ Kefir.fromEvents(this._element, 'mouseenter'),
251
+ fromEventTargetCapture(this._element, 'focus'),
252
+ ]).onValue(() => {
253
+ this._element.classList.add('aZp');
254
+ });
255
+ Kefir.merge([
256
+ Kefir.fromEvents(this._element, 'mouseleave'),
257
+ fromEventTargetCapture(this._element, 'blur'),
258
+ ]).onValue(() => {
259
+ this._element.classList.remove('aZp');
260
+ });
261
+ const anchor = querySelector(this._element, 'a');
262
+ Kefir.fromEvents(anchor, 'focus').onValue(() => {
263
+ anchor.classList.add('a1U');
264
+ });
265
+ Kefir.fromEvents(anchor, 'blur').onValue(() => {
266
+ anchor.classList.remove('a1U');
267
+ });
268
+ }
269
+ _addDownloadButton(options) {
270
+ const buttonView = new ButtonView({
271
+ tooltip: 'Download',
272
+ iconClass: 'aSK J-J5-Ji aYr',
273
+ });
274
+ buttonView
275
+ .getElement()
276
+ .setAttribute('data-inboxsdk-download-url', options.downloadUrl);
277
+ const basicButtonViewController = new BasicButtonViewController({
278
+ activateFunction: function () {
279
+ let prevented = false;
280
+ if (options.onClick) {
281
+ options.onClick({
282
+ preventDefault: function () {
283
+ prevented = true;
284
+ },
285
+ });
286
+ }
287
+ if (prevented) {
288
+ return;
289
+ }
290
+ const downloadLink = document.createElement('a');
291
+ downloadLink.href = options.downloadUrl;
292
+ if (options.downloadFilename) {
293
+ downloadLink.download = options.downloadFilename;
294
+ }
295
+ downloadLink.addEventListener('click', function (e) {
296
+ e.stopPropagation();
297
+ }, true);
298
+ if (options.openInNewTab) {
299
+ downloadLink.setAttribute('target', '_blank');
300
+ }
301
+ document.body.appendChild(downloadLink);
302
+ simulateClick(downloadLink);
303
+ downloadLink.remove();
304
+ },
305
+ buttonView: buttonView,
306
+ });
307
+ this._addButton(buttonView);
308
+ }
309
+ _addMoreButtons(buttonDescriptors) {
310
+ (buttonDescriptors || [])
311
+ .filter(function (buttonDescriptor) {
312
+ return !buttonDescriptor.downloadUrl;
313
+ })
314
+ .forEach((desc) => {
315
+ this.addButton(desc);
316
+ });
317
+ }
318
+ _addButton(buttonView) {
319
+ buttonView.addClass('aQv');
320
+ this._getButtonContainerElement().appendChild(buttonView.getElement());
321
+ }
322
+ _getPreviewImageUrl() {
323
+ var previewImage = this._getPreviewImage();
324
+ if (!previewImage) {
325
+ return null;
279
326
  }
280
- document.body.appendChild(downloadLink);
281
- (0, _simulateMouseEvent.simulateClick)(downloadLink);
282
- downloadLink.remove();
283
- },
284
- buttonView: buttonView
285
- });
286
- this._addButton(buttonView);
287
- }
288
- _addMoreButtons(buttonDescriptors) {
289
- (buttonDescriptors || []).filter(function (buttonDescriptor) {
290
- return !buttonDescriptor.downloadUrl;
291
- }).forEach(desc => {
292
- this.addButton(desc);
293
- });
294
- }
295
- _addButton(buttonView) {
296
- buttonView.addClass('aQv');
297
- this._getButtonContainerElement().appendChild(buttonView.getElement());
298
- }
299
- _getPreviewImageUrl() {
300
- var previewImage = this._getPreviewImage();
301
- if (!previewImage) {
302
- return null;
327
+ return previewImage.src;
328
+ }
329
+ _getPreviewImage() {
330
+ return this._element.querySelector('img.aQG');
331
+ }
332
+ _getButtonContainerElement() {
333
+ return querySelector(this._element, '.aQw');
303
334
  }
304
- return previewImage.src;
305
- }
306
- _getPreviewImage() {
307
- return this._element.querySelector('img.aQG');
308
- }
309
- _getButtonContainerElement() {
310
- return (0, _querySelectorOrFail.default)(this._element, '.aQw');
311
- }
312
335
  }
313
- var _default = (0, _ud.defn)(module, GmailAttachmentCardView);
314
- exports.default = _default;
336
+ export default GmailAttachmentCardView;