@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
@@ -1,22 +0,0 @@
1
- "use strict";
2
-
3
- var _openDraftByMessageId = _interopRequireWildcard(require("./open-draft-by-message-id"));
4
- function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
5
- function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
6
- describe('makeNewHash', () => {
7
- it('1', () => {
8
- expect((0, _openDraftByMessageId.makeNewHash)('', '123')).toBe('#?compose=123');
9
- });
10
- it('2', () => {
11
- expect((0, _openDraftByMessageId.makeNewHash)('#', '123')).toBe('#?compose=123');
12
- });
13
- it('3', () => {
14
- expect((0, _openDraftByMessageId.makeNewHash)('#inbox', '123')).toBe('#inbox?compose=123');
15
- });
16
- it('4', () => {
17
- expect((0, _openDraftByMessageId.makeNewHash)('#inbox?compose=123', '456')).toBe('#inbox?compose=123%2C456');
18
- });
19
- it('5', () => {
20
- expect((0, _openDraftByMessageId.makeNewHash)('#inbox?foo=5', '123')).toBe('#inbox?foo=5&compose=123');
21
- });
22
- });
@@ -1,125 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _idMap = _interopRequireDefault(require("../../../../lib/idMap"));
5
- var _lodash = _interopRequireDefault(require("lodash"));
6
- var _kefir = _interopRequireDefault(require("kefir"));
7
- var _kefirBus = _interopRequireDefault(require("kefir-bus"));
8
- var _kefirStopper = _interopRequireDefault(require("kefir-stopper"));
9
- var _pdelay = _interopRequireDefault(require("pdelay"));
10
- var _fs = _interopRequireDefault(require("fs"));
11
- var _index = _interopRequireDefault(require("./index"));
12
- var _ContentPanelViewDriver = _interopRequireDefault(require("../../../../driver-common/sidebar/ContentPanelViewDriver"));
13
- var _mockWebstorage = _interopRequireDefault(require("mock-webstorage"));
14
- jest.mock('../../../../lib/idMap', () => {
15
- function idMap(key) {
16
- const legacyMapping = {
17
- app_sidebar_content_panel: 'bccbBAHIcfEeHCHf'
18
- };
19
- return legacyMapping[key] ?? key;
20
- }
21
- return {
22
- __esModule: true,
23
- default: idMap,
24
- legacyIdMap: idMap
25
- };
26
- });
27
- jest.mock('../../../../lib/dom/make-element-child-stream', () => {
28
- return () => require('kefir-bus')();
29
- });
30
- jest.mock('../../../../lib/dom/make-mutation-observer-chunked-stream', () => {
31
- return () => require('kefir-bus')();
32
- });
33
- global.localStorage = new _mockWebstorage.default();
34
- global._APP_SIDEBAR_TEST = true;
35
- describe('GmailAppSidebarView Primary', function () {
36
- beforeEach(() => {
37
- makeSidebarContainerElement();
38
- });
39
- afterEach(() => {
40
- removeSidebarContainerElement();
41
- });
42
- it('construction works', () => {
43
- const gmailAppSidebarView = new _index.default(makeDriver(), makeContentContainerElement());
44
- });
45
- it('sidebar is added', async () => {
46
- const container = makeContentContainerElement();
47
- const gmailAppSidebarView = new _index.default(makeDriver(), container);
48
- const descriptor = _kefir.default.constant({
49
- title: 'foo',
50
- iconUrl: '/bar.png',
51
- el: document.createElement('div')
52
- });
53
- const fakeThreadView = {
54
- getStopper: _lodash.default.constant((0, _kefirStopper.default)())
55
- };
56
- const panel = gmailAppSidebarView.addThreadSidebarContentPanel(descriptor, fakeThreadView);
57
- await (0, _pdelay.default)(0);
58
- expect(container.querySelectorAll('.' + (0, _idMap.default)('app_sidebar_content_panel')).length).toBe(1);
59
- panel.remove();
60
- expect(container.querySelectorAll('.' + (0, _idMap.default)('app_sidebar_content_panel')).length).toBe(0);
61
- });
62
- it('multiple sidebars can be added', async () => {
63
- const container = makeContentContainerElement();
64
- const gmailAppSidebarView = new _index.default(makeDriver(), container);
65
- const descriptor1 = _kefir.default.constant({
66
- title: 'foo1',
67
- iconUrl: '/bar.png',
68
- el: document.createElement('div')
69
- });
70
- const descriptor2 = _kefir.default.constant({
71
- title: 'foo2',
72
- iconUrl: '/bar.png',
73
- el: document.createElement('div')
74
- });
75
- const fakeThreadView = {
76
- getStopper: _lodash.default.constant((0, _kefirStopper.default)())
77
- };
78
- gmailAppSidebarView.addThreadSidebarContentPanel(descriptor1, fakeThreadView);
79
- gmailAppSidebarView.addThreadSidebarContentPanel(descriptor2, fakeThreadView);
80
- await (0, _pdelay.default)(0);
81
- expect(container.querySelectorAll('.' + (0, _idMap.default)('app_sidebar_content_panel')).length).toBe(2);
82
- });
83
- });
84
- function makeDriver(appId, opts) {
85
- return {
86
- getAppId: () => appId || 'test',
87
- getOpts: () => opts || {
88
- appName: 'Test',
89
- appIconUrl: 'testImage.png'
90
- },
91
- getLogger() {
92
- return {
93
- eventSdkPassive() {},
94
- error(err, details) {
95
- console.error('logger.error called:', err, details);
96
- throw err;
97
- }
98
- };
99
- }
100
- };
101
- }
102
- function makeSidebarContainerElement() {
103
- const newDiv = document.createElement('div');
104
- newDiv.className = 'brC-aT5-aOt-Jw';
105
- const sidebar = document.createElement('div');
106
- sidebar.className = 'J-KU-Jg';
107
- sidebar.setAttribute('role', 'tablist');
108
- const separator = document.createElement('div');
109
- separator.setAttribute('role', 'separator');
110
- sidebar.appendChild(separator);
111
- newDiv.appendChild(sidebar);
112
- document.body && document.body.appendChild(newDiv);
113
- }
114
- function removeSidebarContainerElement() {
115
- const oldDivs = Array.from(document.getElementsByClassName('brC-aT5-aOt-Jw'));
116
- oldDivs.forEach(oldDiv => {
117
- const parent = oldDiv.parentNode;
118
- parent && parent.removeChild(oldDiv);
119
- });
120
- }
121
- function makeContentContainerElement() {
122
- const contentContainerElement = document.createElement('div');
123
- contentContainerElement.className = 'bq9';
124
- return contentContainerElement;
125
- }
@@ -1,141 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _gmailAttachmentCardView = _interopRequireDefault(require("./gmail-attachment-card-view"));
5
- const driver = {};
6
- describe('getAttachmentType', () => {
7
- describe('UNLOADED', () => {
8
- it('not loaded', () => {
9
- const parent = document.createElement('div');
10
- parent.innerHTML = '<span class="aZo"><div id=":3e" class="aQy aUQ"></div></span>';
11
- const item = parent.firstElementChild;
12
- const card = new _gmailAttachmentCardView.default({
13
- element: item
14
- }, driver);
15
- expect(card.getAttachmentType()).toBe('UNLOADED');
16
- });
17
- });
18
- describe('DRIVE', () => {
19
- it('Spreadsheet/Doc', () => {
20
- const parent = document.createElement('div');
21
- parent.innerHTML = '<span class="aZo"><a id=":yx" target="_blank" role="link" class="aQy e aZr" href="https://docs.google.com/spreadsheets/d/1U8kXbtaQ8nV9O77itRojOI4hwz4AKwPAQ3kYFH5Di3M/pubchart?oid=1072376301&amp;format=interactive&amp;usp=gmail" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0"><span class="a3I" id=":z5">Preview attachment Support Numbers</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":yy" src="https://lh6.google.com/IK2P9aFJfvmo8jV2iUyRTuH3F7VCQ9gpYS0qafp-CeAdwUCc8Cf1hzHU34emBrSf64sjFeF8AIkfNfUU3LibBvMK7ZUw8cKk=w180-h120-p"><div id=":z0" class="aYv" style="display: none;"><img class="aYw aZF" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":z4" class="aYy"><div class="aYA"><img id=":z2" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_spreadsheet_x16.png" title="Google Sheets"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":z1">Support Numbers</span></div><div class="aYp"><span id=":z3" class="SaH2Ve">Shared in Drive</span></div></div></div></div></div><div class="aSI"><div id=":yz" class="aSJ" style="border-color: rgb(15, 157, 88);"></div></div></div></a><div class="aQw"><div id=":ud" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Download attachment Support Numbers" data-tooltip-class="a1V" aria-hidden="true" aria-disabled="true" data-tooltip="Download" style="-webkit-user-select: none; display: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":uo" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" tabindex="0" aria-label="Save attachment to Drive Support Numbers" data-tooltip-class="a1V" data-tooltip="Save to Drive" style="-webkit-user-select: none;"><div class="wtScjd J-J5-Ji aYr aQu"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div></div></span>';
22
- const item = parent.firstElementChild;
23
- const card = new _gmailAttachmentCardView.default({
24
- element: item
25
- }, driver);
26
- expect(card.getAttachmentType()).toBe('DRIVE');
27
- });
28
- it('Image', () => {
29
- const parent = document.createElement('div');
30
- parent.innerHTML = '<span class="aZo a5r N5jrZb" download_url="image/png:mixpanel.png:https://doc-0g-6g-docs.googleusercontent.com/docs/securesc/g7b6blm5q562d5kkm7hp3qjc197l3udo/rc9g7rutikab2k4o0grt0gojn77rhmre/1430503200000/12319357422283078493/14790627230404242429/0B9JouKBNdHWDeFpkM2QyWnFSdEU?h=07421357558349907965&amp;e=download" draggable="true"><a id=":vl" target="_blank" role="link" class="aQy aZr e aZI" href="https://doc-0g-6g-docs.googleusercontent.com/docs/securesc/g7b6blm5q562d5kkm7hp3qjc197l3udo/rc9g7rutikab2k4o0grt0gojn77rhmre/1430503200000/12319357422283078493/14790627230404242429/0B9JouKBNdHWDeFpkM2QyWnFSdEU?h=07421357558349907965&amp;e=download" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0"><span class="a3I" id=":2g">Preview attachment mixpanel.png</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG aYB" id=":vk" src="https://lh5.googleusercontent.com/2jWGyM4qIQPeyzEwnImuERZOVS53VACIv6znF6nKfJvM8_MEZvubnxicxUV4NXZtJ3Jxhw=w180-h120-p" style="margin: auto; position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; max-width: 100%; max-height: 100%;"><div id=":vi" class="aYv" style="display: none;"><img class="aYw aZy" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":2f" class="aYy"><div class="aYA"><img id=":6p" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_image_x16.png" title="Image"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":71">mixpanel.png</span></div><div class="aYp"><span id=":2e" class="SaH2Ve">Shared in Drive</span></div></div></div></div></div><div class="aSI"><div id=":vj" class="aSJ" style="border-color: rgb(255, 255, 255);"></div></div></div></a><div class="aQw"><div id=":2j" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Download attachment mixpanel.png" data-tooltip-class="a1V" aria-hidden="false" aria-disabled="false" tabindex="0" data-tooltip="Download" style="-webkit-user-select: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":2k" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" tabindex="0" aria-label="Locate attachment in Drive mixpanel.png" data-tooltip-class="a1V" data-tooltip="Show in Drive" style="-webkit-user-select: none;"><div class="wtScjd J-J5-Ji aYr aUR"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div></div></span>';
31
- const item = parent.firstElementChild;
32
- const card = new _gmailAttachmentCardView.default({
33
- element: item
34
- }, driver);
35
- expect(card.getAttachmentType()).toBe('DRIVE');
36
- });
37
- it('Video', () => {
38
- const parent = document.createElement('div');
39
- parent.innerHTML = '<span class="aZo a5r N5jrZb" download_url="video/quicktime:Cannot%20Uncheck%20%22Restrict%20Sharing%22.mov:https://doc-0g-c4-docs.googleusercontent.com/docs/securesc/g7b6blm5q562d5kkm7hp3qjc197l3udo/l2883n65nr5vlmps3fkqqggs7prht2fo/1430503200000/14790627230404242429/14790627230404242429/0B8oWVm_LzypkWTBJN3BkRjNsdlVFVzNOeEk2U3AxN0hiOVYw?h=07421357558349907965&amp;e=download" draggable="true"><a id=":3e" target="_blank" role="link" class="aQy aZL aZr e aZI" href="https://doc-0g-c4-docs.googleusercontent.com/docs/securesc/g7b6blm5q562d5kkm7hp3qjc197l3udo/l2883n65nr5vlmps3fkqqggs7prht2fo/1430503200000/14790627230404242429/14790627230404242429/0B8oWVm_LzypkWTBJN3BkRjNsdlVFVzNOeEk2U3AxN0hiOVYw?h=07421357558349907965&amp;e=download" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0"><span class="a3I" id=":3m">Preview attachment Cannot Uncheck "Restrict Sharing".mov</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG aYB" id=":3f" src="https://lh4.googleusercontent.com/FMC3IHFmtQMWK4Hc-5ue5865HR7tvqTsX4yBwPdBd4mC5M9CCeZ_HE_bqnaPFPXpHlFO6rm3GdnXX2OLQITRdZ3CXMM=w180-h120-p" style="margin: auto; position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; max-width: 100%; max-height: 100%;"><div id=":3h" class="aYv" style="display: none;"><img class="aYw aZA" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":3l" class="aYy"><div class="aYA"><img id=":3j" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_video_x16.png" title="Video"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":3i">Cannot Uncheck "Restrict Sharing".mov</span></div><div class="aYp"><span id=":3k" class="SaH2Ve">Shared in Drive</span></div></div></div></div></div><div class="aSI"><div id=":3g" class="aSJ" style="border-color: rgb(219, 58, 55);"></div></div></div></a><div class="aQw"><div id=":3p" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Download attachment Cannot Uncheck &quot;Restrict Sharing&quot;.mov" data-tooltip-class="a1V" aria-hidden="false" aria-disabled="false" tabindex="0" data-tooltip="Download" style="-webkit-user-select: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":3q" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" tabindex="0" aria-label="Locate attachment in Drive Cannot Uncheck &quot;Restrict Sharing&quot;.mov" data-tooltip-class="a1V" data-tooltip="Show in Drive" style="-webkit-user-select: none;"><div class="wtScjd J-J5-Ji aYr aUR"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div></div></span>';
40
- const item = parent.firstElementChild;
41
- const card = new _gmailAttachmentCardView.default({
42
- element: item
43
- }, driver);
44
- expect(card.getAttachmentType()).toBe('DRIVE');
45
- });
46
- });
47
- describe('UNKNOWN', () => {
48
- it('YouTube', () => {
49
- const parent = document.createElement('div');
50
- parent.innerHTML = '<span class="aZo"><a id=":1vm" target="_blank" role="link" class="aQy aZR e aZr" href="https://www.youtube.com/watch?v=XRYN2xt11Ek&amp;authuser=0" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0" data-tooltip="Netflix JavaScript Talks - Async JavaScript with Reactive Extensions"><span class="a3I" id=":1te">Preview YouTube video Netflix JavaScript Talks - Async JavaScript with Reactive Extensions</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG aYB" id=":1t7" src="https://i.ytimg.com/vi/XRYN2xt11Ek/mqdefault.jpg" style="position: absolute; margin: auto; top: -10%; right: -10%; bottom: -10%; left: -10%; max-width: 120%; min-width: 100%;"><div id=":1t9" class="aYv" style="display: none;"><img class="aYw" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":1td" class="aYy"><div class="aYA"><img id=":1tb" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_2_youtube_x16.png"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":1ta">Netflix JavaScript Talks - Async JavaScript with Reactive Extensions</span></div><div class="aYp"><span id=":1tc" class="SaH2Ve"></span></div></div><div class="a11"><img class="aZS" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div></div></div></div><div class="aSI"><div id=":1t8" class="aSJ" style="border-color: rgb(119, 119, 119);"></div></div></div></a></span>';
51
- const item = parent.firstElementChild;
52
- const card = new _gmailAttachmentCardView.default({
53
- element: item
54
- }, driver);
55
- expect(card.getAttachmentType()).toBe('UNKNOWN');
56
- });
57
- });
58
- describe('FILE', () => {
59
- it('Image partial load', () => {
60
- const parent = document.createElement('div');
61
- parent.innerHTML = '<span class="aZo"><a id=":x1" target="_blank" role="link" class="aQy e aZI" href="https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=fimg&amp;…yTm3Jys8&amp;sz=w1600&amp;ats=1430504364643&amp;rm=14d0c75c6145c8d4&amp;zw" data-tooltip-align="t,c" data-tooltip-class="a1V"><span class="a3I" id=":x9">Preview attachment shortcuts available.png</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":x2" src="?ui=2&amp;ik=1f119f7bbb&amp;view=fimg&amp;th=14d0c75c6145c8d4&amp;attid=0.1&amp;disp=thd&amp;realattid=f_i94qwb490&amp;attbid=ANGjdJ_jUb4hyszH7BYwFZCYh0dyb3mT--y5OlZLPHEnUJEz83h5iHUHr6JGjb57I8ckhCnGqk8az2YlDc_TLM3rivIfqzqmeEpCJtPc-c9DQuAclsN5JUb_Dww64Ck&amp;sz=w180-h120-p-nu&amp;ats=1430504364643&amp;rm=14d0c75c6145c8d4&amp;zw"><div id=":x4" class="aYv"><img class="aYw aZy" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":x8" class="aYy"><div class="aYA"><img id=":x6" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_image_x16.png" title="Image"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":x5">shortcuts available.png</span></div><div class="aYp"><span id=":x7" class="SaH2Ve">160 KB</span></div></div></div></div></div><div class="aSI"><div id=":x3" class="aSJ" style="border-color: #fff"></div></div></div></a><div class="aQw"><div id=":xc" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Download attachment shortcuts available.png" data-tooltip-class="a1V" aria-disabled="true" data-tooltip="Scanning for viruses..." style="-webkit-user-select: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":xd" class="T-I J-J5-Ji aQv T-I-ax7 L3" title="Save to Drive" role="button" aria-label="Save attachment to Drive shortcuts available.png" data-tooltip-class="a1V" aria-hidden="true" style="-webkit-user-select: none; display: none;"><div class="wtScjd aQu J-J5-Ji aYr"><div class="T-aT4"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":xe" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" data-tooltip="Add to contacts" style="-webkit-user-select: none; display: none;"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
62
- const item = parent.firstElementChild;
63
- const card = new _gmailAttachmentCardView.default({
64
- element: item
65
- }, driver);
66
- expect(card.getAttachmentType()).toBe('FILE');
67
- });
68
- it('Image', () => {
69
- const parent = document.createElement('div');
70
- parent.innerHTML = '<span class="aZo N5jrZb" download_url="image/png:shortcuts%20available.png:https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d0c75c6145c8d4&amp;attid=0.1&amp;disp=safe&amp;realattid=f_i94qwb490&amp;zw" draggable="true"><a id=":v2" target="_blank" role="link" class="aQy e aZI" href="https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=fimg&amp;th=14d0c75c6145c8d4&amp;attid=0.1&amp;disp=inline&amp;realattid=f_i94qwb490&amp;safe=1&amp;attbid=ANGjdJ-ttSt_OR-q9LAkPanrUKU8Mv3yKZYPdcZ0NNywe1NE-bvNZ3L759WF6EIaRanB7Kj663CFt7PdiRCQ0Py2X45zpH9NcuuzbqZET0tAepRJYN6U6YkK5yIFdRA&amp;sz=w1600&amp;ats=1430504486875&amp;rm=14d0c75c6145c8d4&amp;zw" data-tooltip-align="t,c" data-tooltip-class="a1V"><span class="a3I" id=":va">Preview attachment shortcuts available.png</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":v3" src="?ui=2&amp;ik=1f119f7bbb&amp;view=fimg&amp;th=14d0c75c6145c8d4&amp;attid=0.1&amp;disp=thd&amp;realattid=f_i94qwb490&amp;attbid=ANGjdJ9UbCYIYp1Tj3tWYlhwkVV4Vj4ddGIaiNqQL9Dmvhtxr1Yiu7-xX9xMdYzQY4upkHklIipUnO_7H3Y561Plkj1pHnw5L-J-2B__YULYHGfYrt7Vu7m5EmSN2YE&amp;sz=w180-h120-p-nu&amp;ats=1430504486875&amp;rm=14d0c75c6145c8d4&amp;zw"><div id=":v5" class="aYv"><img class="aYw aZy" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":v9" class="aYy"><div class="aYA"><img id=":v7" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_image_x16.png" title="Image"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":v6">shortcuts available.png</span></div><div class="aYp"><span id=":v8" class="SaH2Ve">160 KB</span></div></div></div></div></div><div class="aSI"><div id=":v4" class="aSJ" style="border-color: #fff"></div></div></div></a><div class="aQw"><div id=":vd" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" tabindex="0" aria-label="Download attachment shortcuts available.png" data-tooltip-class="a1V" data-tooltip="Download" style="-webkit-user-select: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":ve" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" tabindex="0" aria-label="Save attachment to Drive shortcuts available.png" data-tooltip-class="a1V" data-tooltip="Save to Drive" style="-webkit-user-select: none;"><div class="wtScjd J-J5-Ji aYr aQu"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":vf" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" data-tooltip="Add to contacts" style="-webkit-user-select: none; display: none;"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
71
- const item = parent.firstElementChild;
72
- const card = new _gmailAttachmentCardView.default({
73
- element: item
74
- }, driver);
75
- expect(card.getAttachmentType()).toBe('FILE');
76
- });
77
- it('Image 2', () => {
78
- const parent = document.createElement('div');
79
- parent.innerHTML = '<span class="aZo N5jrZb a5r" download_url="image/png:glyphicons_154_more_windows%402x.png:https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d10d2d2cac40be&amp;attid=0.1&amp;disp=safe&amp;realattid=f_i95yjsrs0&amp;zw" draggable="true"><a id=":1ub" target="_blank" role="link" class="aQy aZr e aZI" href="https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d10d2d2cac40be&amp;attid=0.1&amp;disp=safe&amp;realattid=f_i95yjsrs0&amp;zw" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0"><span class="a3I" id=":1uj">Preview attachment glyphicons_154_more_windows@2x.png</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG aYB" id=":1uc" src="?ui=2&amp;ik=1f119f7bbb&amp;view=fimg&amp;th=14d10d2d2cac40be&amp;attid=0.1&amp;disp=thd&amp;realattid=f_i95yjsrs0&amp;attbid=ANGjdJ81k5MBG_KC-NgOU0uB2nPdvsE8TB5xXoMRjUW4rxM6p0GcrkGwC7dHUdCimgqqR4Ab0K98UYfXLTZg6VjqeKGKFWiWlzJ3BBW9Cvytlcc0jO1fK5OqkHY6n2o&amp;sz=w180-h120-p-nu&amp;ats=1430510538939&amp;rm=14d10d2d2cac40be&amp;zw" style="margin: auto; position: absolute; top: 0px; right: 0px; bottom: 0px; left: 0px; max-width: 100%; max-height: 100%;"><div id=":1ue" class="aYv" style="display: none;"><img class="aYw aZy" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":1ui" class="aYy"><div class="aYA"><img id=":1ug" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_image_x16.png" title="Image"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":1uf">glyphicons_154_more_windows@2x.png</span></div><div class="aYp"><span id=":1uh" class="SaH2Ve">1.5 KB</span></div></div></div></div></div><div class="aSI"><div id=":1ud" class="aSJ" style="border-color: rgb(255, 255, 255);"></div></div></div></a><div class="aQw"><div id=":1um" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Download attachment glyphicons_154_more_windows@2x.png" data-tooltip-class="a1V" aria-disabled="false" style="-webkit-user-select: none;" tabindex="0" data-tooltip="Download"><div class="aSK J-J5-Ji aYr"></div></div><div id=":1un" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Save attachment to Drive glyphicons_154_more_windows@2x.png" data-tooltip-class="a1V" aria-hidden="false" style="-webkit-user-select: none;" tabindex="0" data-tooltip="Save to Drive"><div class="wtScjd J-J5-Ji aYr aQu"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":1uo" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" style="-webkit-user-select: none; display: none;" data-tooltip="Add to contacts"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
80
- const item = parent.firstElementChild;
81
- const card = new _gmailAttachmentCardView.default({
82
- element: item
83
- }, driver);
84
- expect(card.getAttachmentType()).toBe('FILE');
85
- });
86
- it('Doc partial load', () => {
87
- const parent = document.createElement('div');
88
- parent.innerHTML = '<span class="aZo"><a id=":yc" target="_blank" role="link" class="aQy e" href="https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d10d6c7456d1bf&amp;attid=0.1&amp;disp=inline&amp;realattid=f_i95ypbc10&amp;safe=1&amp;zw" data-tooltip-align="t,c" data-tooltip-class="a1V"><span class="a3I" id=":2v">Preview attachment NOTES.txt</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":yb" style="display:none;"><div id=":10m" class="aYv"><img class="aYw aZG" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":3r" class="aYy"><div class="aYA"><img id=":10o" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_text_x16.png" title="Text"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":10n">NOTES.txt</span></div><div class="aYp"><span id=":33" class="SaH2Ve">1 KB</span></div></div></div></div></div><div class="aSI"><div id=":ya" class="aSJ" style="border-color: #4986e7"></div></div></div></a><div class="aQw"><div id=":3f" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Download attachment NOTES.txt" data-tooltip-class="a1V" aria-disabled="true" data-tooltip="Scanning for viruses..." style="-webkit-user-select: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":3e" class="T-I J-J5-Ji aQv T-I-ax7 L3" title="Save to Drive" role="button" aria-label="Save attachment to Drive NOTES.txt" data-tooltip-class="a1V" aria-hidden="true" style="-webkit-user-select: none; display: none;"><div class="wtScjd aQu J-J5-Ji aYr"><div class="T-aT4"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":2d" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" data-tooltip="Add to contacts" style="-webkit-user-select: none; display: none;"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
89
- const item = parent.firstElementChild;
90
- const card = new _gmailAttachmentCardView.default({
91
- element: item
92
- }, driver);
93
- expect(card.getAttachmentType()).toBe('FILE');
94
- });
95
- it('Doc', () => {
96
- const parent = document.createElement('div');
97
- parent.innerHTML = '<span class="aZo N5jrZb" download_url="text/plain:NOTES.txt:https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d10d6c7456d1bf&amp;attid=0.1&amp;disp=safe&amp;realattid=f_i95ypbc10&amp;zw" draggable="true"><a id=":yc" target="_blank" role="link" class="aQy e" href="https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d10d6c7456d1bf&amp;attid=0.1&amp;disp=safe&amp;realattid=f_i95ypbc10&amp;zw" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0"><span class="a3I" id=":2v">Preview attachment NOTES.txt</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":yb" style="display: none;"><div id=":10m" class="aYv"><img class="aYw aZG" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":3r" class="aYy"><div class="aYA"><img id=":10o" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_text_x16.png" title="Text"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":10n">NOTES.txt</span></div><div class="aYp"><span id=":33" class="SaH2Ve">1 KB</span></div></div></div></div></div><div class="aSI"><div id=":ya" class="aSJ" style="border-color: rgb(73, 134, 231);"></div></div></div></a><div class="aQw"><div id=":3f" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Download attachment NOTES.txt" data-tooltip-class="a1V" aria-disabled="false" style="-webkit-user-select: none;" tabindex="0" data-tooltip="Download"><div class="aSK J-J5-Ji aYr"></div></div><div id=":3e" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Save attachment to Drive NOTES.txt" data-tooltip-class="a1V" aria-hidden="false" style="-webkit-user-select: none;" tabindex="0" data-tooltip="Save to Drive"><div class="wtScjd J-J5-Ji aYr aQu"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":2d" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" style="-webkit-user-select: none; display: none;" data-tooltip="Add to contacts"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
98
- const item = parent.firstElementChild;
99
- const card = new _gmailAttachmentCardView.default({
100
- element: item
101
- }, driver);
102
- expect(card.getAttachmentType()).toBe('FILE');
103
- });
104
- it('Generic partial load', () => {
105
- const parent = document.createElement('div');
106
- parent.innerHTML = '<span class="aZo"><a id=":38" target="_blank" role="link" class="aQy e" data-tooltip-align="t,c" data-tooltip-class="a1V"><span class="a3I" id=":ug">Preview attachment package.json</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":37" style="display:none;"><div id=":30" class="aYv"><img class="aYw" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":v0" class="aYy"><div class="aYA"><img id=":2y" class="aSM" src="https://drive-thirdparty.googleusercontent.com/16/type/application/json"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":2z">package.json</span></div><div class="aYp"><span id=":v2" class="SaH2Ve">1.7 KB</span></div></div></div></div></div><div class="aSI"><div id=":36" class="aSJ" style="border-color: #777"></div></div></div></a><div class="aQw"><div id=":ud" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Download attachment package.json" data-tooltip-class="a1V" aria-disabled="true" data-tooltip="Scanning for viruses..." style="-webkit-user-select: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":uc" class="T-I J-J5-Ji aQv T-I-ax7 L3" title="Save to Drive" role="button" aria-label="Save attachment to Drive package.json" data-tooltip-class="a1V" aria-hidden="true" style="-webkit-user-select: none; display: none;"><div class="wtScjd aQu J-J5-Ji aYr"><div class="T-aT4"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":ub" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" data-tooltip="Add to contacts" style="-webkit-user-select: none; display: none;"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
107
- const item = parent.firstElementChild;
108
- const card = new _gmailAttachmentCardView.default({
109
- element: item
110
- }, driver);
111
- expect(card.getAttachmentType()).toBe('FILE');
112
- });
113
- it('Generic', () => {
114
- const parent = document.createElement('div');
115
- parent.innerHTML = '<span class="aZo N5jrZb" download_url="application/json:package.json:https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d10ce8187dd269&amp;attid=0.1&amp;disp=safe&amp;realattid=f_i95ydr8x0&amp;zw" draggable="true"><a id=":35" target="_blank" role="link" class="aQy e" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0"><span class="a3I" id=":wf">Preview attachment package.json</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":3t" style="display: none;"><div id=":wk" class="aYv"><img class="aYw" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":wg" class="aYy"><div class="aYA"><img id=":wi" class="aSM" src="https://drive-thirdparty.googleusercontent.com/16/type/application/json"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":wj">package.json</span></div><div class="aYp"><span id=":wh" class="SaH2Ve">1.7 KB</span></div></div></div></div></div><div class="aSI"><div id=":wl" class="aSJ" style="border-color: rgb(119, 119, 119);"></div></div></div></a><div class="aQw"><div id=":wc" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Download attachment package.json" data-tooltip-class="a1V" aria-disabled="false" style="-webkit-user-select: none;" tabindex="0" data-tooltip="Download"><div class="aSK J-J5-Ji aYr"></div></div><div id=":wb" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" aria-label="Save attachment to Drive package.json" data-tooltip-class="a1V" aria-hidden="false" style="-webkit-user-select: none;" tabindex="0" data-tooltip="Save to Drive"><div class="wtScjd J-J5-Ji aYr aQu"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":wa" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" style="-webkit-user-select: none; display: none;" data-tooltip="Add to contacts"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
116
- const item = parent.firstElementChild;
117
- const card = new _gmailAttachmentCardView.default({
118
- element: item
119
- }, driver);
120
- expect(card.getAttachmentType()).toBe('FILE');
121
- });
122
- it('Video partial load', () => {
123
- const parent = document.createElement('div');
124
- parent.innerHTML = '<span class="aZo"><a id=":wt" target="_blank" role="link" class="aQy e aZI aZL" data-tooltip-align="t,c" data-tooltip-class="a1V"><span class="a3I" id=":2s">Preview attachment assigned to indicators.mov</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":ws" style="display:none;"><div id=":wq" class="aYv"><img class="aYw aZA" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":12v" class="aYy"><div class="aYA"><img id=":12u" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_video_x16.png" title="Video"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":3g">assigned to indicators.mov</span></div><div class="aYp"><span id=":zc" class="SaH2Ve">2.9 MB</span></div></div></div></div></div><div class="aSI"><div id=":wr" class="aSJ" style="border-color: #db3a37"></div></div></div></a><div class="aQw"><div id=":ym" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Download attachment assigned to indicators.mov" data-tooltip-class="a1V" aria-disabled="true" data-tooltip="Scanning for viruses..." style="-webkit-user-select: none;"><div class="aSK J-J5-Ji aYr"></div></div><div id=":6k" class="T-I J-J5-Ji aQv T-I-ax7 L3" title="Save to Drive" role="button" aria-label="Save attachment to Drive assigned to indicators.mov" data-tooltip-class="a1V" aria-hidden="true" style="-webkit-user-select: none; display: none;"><div class="wtScjd aQu J-J5-Ji aYr"><div class="T-aT4"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":w0" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" data-tooltip="Add to contacts" style="-webkit-user-select: none; display: none;"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
125
- const item = parent.firstElementChild;
126
- const card = new _gmailAttachmentCardView.default({
127
- element: item
128
- }, driver);
129
- expect(card.getAttachmentType()).toBe('FILE');
130
- });
131
- it('Video', () => {
132
- const parent = document.createElement('div');
133
- parent.innerHTML = '<span class="aZo N5jrZb a5r" download_url="video/quicktime:assigned%20to%20indicators.mov:https://mail.google.com/mail/u/0/?ui=2&amp;ik=1f119f7bbb&amp;view=att&amp;th=14d11050c673e1b5&amp;attid=0.1&amp;disp=safe&amp;realattid=f_i960ian10&amp;zw" draggable="true"><a id=":3i" target="_blank" role="link" class="aQy aZL e" data-tooltip-align="t,c" data-tooltip-class="a1V" tabindex="0"><span class="a3I" id=":3q">Preview attachment assigned to indicators.mov</span><div aria-hidden="true"><div class="aSG"></div><div class="aVY aZn"><div class="aZm"></div></div><div class="aSH"><img class="aQG" id=":3j" style="display: none;"><div id=":3l" class="aYv"><img class="aYw aZA" src="//ssl.gstatic.com/ui/v1/icons/mail/images/cleardot.gif"></div><div id=":3p" class="aYy"><div class="aYA"><img id=":3n" class="aSM" src="//ssl.gstatic.com/docs/doclist/images/mediatype/icon_1_video_x16.png" title="Video"></div><div class="aYz"><div class="a12"><div class="aQA"><span class="aV3 a6U" id=":3m">assigned to indicators.mov</span></div><div class="aYp"><span id=":3o" class="SaH2Ve">2.9 MB</span></div></div></div></div></div><div class="aSI"><div id=":3k" class="aSJ" style="border-color: rgb(219, 58, 55);"></div></div></div></a><div class="aQw"><div id=":3t" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" tabindex="0" aria-label="Download attachment assigned to indicators.mov" data-tooltip-class="a1V" style="-webkit-user-select: none;" data-tooltip="Download"><div class="aSK J-J5-Ji aYr"></div></div><div id=":3u" class="T-I J-J5-Ji aQv T-I-ax7 L3" role="button" tabindex="0" aria-label="Save attachment to Drive assigned to indicators.mov" data-tooltip-class="a1V" style="-webkit-user-select: none;" data-tooltip="Save to Drive"><div class="wtScjd J-J5-Ji aYr aQu"><div class="T-aT4" style="display: none;"><div></div><div class="T-aT4-JX"></div></div></div></div><div id=":3v" class="T-I J-J5-Ji aQv T-I-ax7 L3 T-I-JE aVZ" role="button" aria-label="Add to contacts" data-tooltip-class="a1V" aria-disabled="true" aria-hidden="true" style="-webkit-user-select: none; display: none;" data-tooltip="Add to contacts"><div class="aVX J-J5-Ji aYr"></div></div></div></span>';
134
- const item = parent.firstElementChild;
135
- const card = new _gmailAttachmentCardView.default({
136
- element: item
137
- }, driver);
138
- expect(card.getAttachmentType()).toBe('FILE');
139
- });
140
- });
141
- });
@@ -1,209 +0,0 @@
1
- "use strict";
2
-
3
- var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
- var _lodash = _interopRequireDefault(require("lodash"));
5
- var _kefir = _interopRequireDefault(require("kefir"));
6
- var _kefirBus = _interopRequireDefault(require("kefir-bus"));
7
- var _kefirStopper = _interopRequireDefault(require("kefir-stopper"));
8
- var _pdelay = _interopRequireDefault(require("pdelay"));
9
- var _fs = _interopRequireDefault(require("fs"));
10
- var _idMap = _interopRequireDefault(require("../../../lib/idMap"));
11
- var _gmailThreadSidebarView = _interopRequireDefault(require("./gmail-thread-sidebar-view"));
12
- var _ContentPanelViewDriver = _interopRequireDefault(require("../../../driver-common/sidebar/ContentPanelViewDriver"));
13
- var _gmailElementGetter = _interopRequireDefault(require("../gmail-element-getter"));
14
- var _mockWebstorage = _interopRequireDefault(require("mock-webstorage"));
15
- jest.mock('../../../lib/idMap', () => {
16
- function idMap(key) {
17
- const legacyMapping = {
18
- app_sidebar_content_panel: 'bccbBAHIcfEeHCHf',
19
- sidebar_button_container: 'CdCEaDfbJJbHDEaD'
20
- };
21
- return legacyMapping[key] ?? key;
22
- }
23
- return {
24
- __esModule: true,
25
- default: idMap,
26
- legacyIdMap: idMap
27
- };
28
- });
29
- jest.mock('../../../lib/dom/make-element-child-stream', () => {
30
- return () => require('kefir-bus')();
31
- });
32
- jest.mock('../../../lib/dom/make-mutation-observer-chunked-stream', () => {
33
- return () => require('kefir-bus')();
34
- });
35
- global.localStorage = new _mockWebstorage.default();
36
- global._APP_SIDEBAR_TEST = true;
37
- Element.prototype.insertAdjacentElement = function (position, el) {
38
- switch (position) {
39
- case 'beforebegin':
40
- this.parentElement.insertBefore(el, this);
41
- break;
42
- case 'afterbegin':
43
- this.insertBefore(el, this.firstElementChild);
44
- break;
45
- case 'beforeend':
46
- this.appendChild(el);
47
- break;
48
- case 'afterend':
49
- this.parentElement.insertBefore(el, this);
50
- this.parentElement.insertBefore(this, el);
51
- break;
52
- }
53
- };
54
- describe('Without add-ons', function () {
55
- it('construction works', () => {
56
- const gmailThreadSidebarView = new _gmailThreadSidebarView.default(makeDriver(), document.createElement('div'));
57
- });
58
- it('sidebar is added', async () => {
59
- const container = document.createElement('div');
60
- const gmailThreadSidebarView = new _gmailThreadSidebarView.default(makeDriver(), container);
61
- const panel = gmailThreadSidebarView.addSidebarContentPanel(_kefir.default.constant({
62
- title: 'foo',
63
- iconUrl: '/bar.png',
64
- el: document.createElement('div')
65
- }));
66
- await (0, _pdelay.default)(0);
67
- expect(container.querySelectorAll('.' + (0, _idMap.default)('app_sidebar_content_panel')).length).toBe(1);
68
- panel.remove();
69
- expect(container.querySelectorAll('.' + (0, _idMap.default)('app_sidebar_content_panel')).length).toBe(0);
70
- });
71
- it('multiple sidebars can be added', async () => {
72
- const container = document.createElement('div');
73
- const gmailThreadSidebarView = new _gmailThreadSidebarView.default(makeDriver(), container);
74
- gmailThreadSidebarView.addSidebarContentPanel(_kefir.default.constant({
75
- title: 'foo1',
76
- iconUrl: '/bar.png',
77
- el: document.createElement('div')
78
- }));
79
- gmailThreadSidebarView.addSidebarContentPanel(_kefir.default.constant({
80
- title: 'foo2',
81
- iconUrl: '/bar.png',
82
- el: document.createElement('div')
83
- }));
84
- await (0, _pdelay.default)(0);
85
- expect(container.querySelectorAll('.' + (0, _idMap.default)('app_sidebar_content_panel')).length).toBe(2);
86
- });
87
- });
88
- describe('With new add-ons html', function () {
89
- it('construction works', () => {
90
- const sidebarContainer = makeAddonSidebarWithV2HTML();
91
- const gmailThreadSidebarView = new _gmailThreadSidebarView.default(makeDriver(), document.createElement('div'), sidebarContainer);
92
- });
93
- it('sidebar is added', async () => {
94
- const sidebarContainer = makeAddonSidebarWithV2HTML();
95
- const gmailThreadSidebarView = new _gmailThreadSidebarView.default(makeDriver(), document.createElement('div'), sidebarContainer);
96
- const panel = gmailThreadSidebarView.addSidebarContentPanel(_kefir.default.constant({
97
- title: 'foo',
98
- iconUrl: '/bar.png',
99
- el: document.createElement('div')
100
- }));
101
- await (0, _pdelay.default)(0);
102
- expect(sidebarContainer.querySelectorAll('.' + (0, _idMap.default)('app_sidebar_content_panel')).length).toBe(1);
103
- expect(sidebarContainer.querySelectorAll('.' + (0, _idMap.default)('sidebar_button_container')).length).toBe(1);
104
- panel.remove();
105
- expect(sidebarContainer.querySelectorAll('.' + (0, _idMap.default)('app_sidebar_content_panel')).length).toBe(0);
106
- expect(sidebarContainer.querySelectorAll('.' + (0, _idMap.default)('sidebar_button_container')).length).toBe(0);
107
- });
108
- it('icons get grouped by appName', async () => {
109
- const sidebarContainer = makeAddonSidebarWithV2HTML();
110
- const gmailThreadSidebarView = new _gmailThreadSidebarView.default(makeDriver(), document.createElement('div'), sidebarContainer);
111
- gmailThreadSidebarView.addSidebarContentPanel(_kefir.default.constant({
112
- appName: 'foo',
113
- title: 'foo 1',
114
- iconUrl: '/bar.png',
115
- el: document.createElement('div')
116
- }));
117
- gmailThreadSidebarView.addSidebarContentPanel(_kefir.default.constant({
118
- appName: 'foo',
119
- title: 'foo 2',
120
- iconUrl: '/bar.png',
121
- el: document.createElement('div')
122
- }));
123
- gmailThreadSidebarView.addSidebarContentPanel(_kefir.default.constant({
124
- appName: 'bar',
125
- title: 'bar 2',
126
- iconUrl: '/bar.png',
127
- el: document.createElement('div')
128
- }));
129
- await (0, _pdelay.default)(0);
130
- expect(sidebarContainer.querySelectorAll('.' + (0, _idMap.default)('app_sidebar_content_panel')).length).toBe(3);
131
- expect(sidebarContainer.querySelectorAll('.' + (0, _idMap.default)('sidebar_button_container')).length).toBe(2);
132
- });
133
- });
134
- describe('With old add-ons html', function () {
135
- it('construction works', () => {
136
- const sidebarContainer = makeAddonSidebarWithV1HTML();
137
- const gmailThreadSidebarView = new _gmailThreadSidebarView.default(makeDriver(), document.createElement('div'), sidebarContainer);
138
- });
139
- it('sidebar is added', async () => {
140
- const sidebarContainer = makeAddonSidebarWithV1HTML();
141
- const gmailThreadSidebarView = new _gmailThreadSidebarView.default(makeDriver(), document.createElement('div'), sidebarContainer);
142
- const panel = gmailThreadSidebarView.addSidebarContentPanel(_kefir.default.constant({
143
- title: 'foo',
144
- iconUrl: '/bar.png',
145
- el: document.createElement('div')
146
- }));
147
- await (0, _pdelay.default)(0);
148
- expect(sidebarContainer.querySelectorAll('.' + (0, _idMap.default)('app_sidebar_content_panel')).length).toBe(1);
149
- expect(sidebarContainer.querySelectorAll('.' + (0, _idMap.default)('sidebar_button_container')).length).toBe(1);
150
- panel.remove();
151
- expect(sidebarContainer.querySelectorAll('.' + (0, _idMap.default)('app_sidebar_content_panel')).length).toBe(0);
152
- expect(sidebarContainer.querySelectorAll('.' + (0, _idMap.default)('sidebar_button_container')).length).toBe(0);
153
- });
154
- it('icons get grouped by appName', async () => {
155
- const sidebarContainer = makeAddonSidebarWithV1HTML();
156
- const gmailThreadSidebarView = new _gmailThreadSidebarView.default(makeDriver(), document.createElement('div'), sidebarContainer);
157
- gmailThreadSidebarView.addSidebarContentPanel(_kefir.default.constant({
158
- appName: 'foo',
159
- title: 'foo 1',
160
- iconUrl: '/bar.png',
161
- el: document.createElement('div')
162
- }));
163
- gmailThreadSidebarView.addSidebarContentPanel(_kefir.default.constant({
164
- appName: 'foo',
165
- title: 'foo 2',
166
- iconUrl: '/bar.png',
167
- el: document.createElement('div')
168
- }));
169
- gmailThreadSidebarView.addSidebarContentPanel(_kefir.default.constant({
170
- appName: 'bar',
171
- title: 'bar 2',
172
- iconUrl: '/bar.png',
173
- el: document.createElement('div')
174
- }));
175
- await (0, _pdelay.default)(0);
176
- expect(sidebarContainer.querySelectorAll('.' + (0, _idMap.default)('app_sidebar_content_panel')).length).toBe(3);
177
- expect(sidebarContainer.querySelectorAll('.' + (0, _idMap.default)('sidebar_button_container')).length).toBe(2);
178
- });
179
- });
180
- function makeDriver(appId, opts) {
181
- return {
182
- getAppId: () => appId || 'test',
183
- getOpts: () => opts || {
184
- appName: 'Test',
185
- appIconUrl: 'testImage.png'
186
- },
187
- getLogger() {
188
- return {
189
- eventSdkPassive() {},
190
- error(err, details) {
191
- console.error('logger.error called:', err, details);
192
- throw err;
193
- }
194
- };
195
- }
196
- };
197
- }
198
- function makeAddonSidebarWithV1HTML() {
199
- const mainContainer = document.createElement('div');
200
- mainContainer.innerHTML = _fs.default.readFileSync(__dirname + '/../../../../../test/data/gmail-2017-06-22-gmail-addon-sidebar.html', 'utf8');
201
- _gmailElementGetter.default.getMainContentBodyContainerElement = () => mainContainer.querySelector('.bkK');
202
- return mainContainer.querySelector('.bnl');
203
- }
204
- function makeAddonSidebarWithV2HTML() {
205
- const mainContainer = document.createElement('div');
206
- mainContainer.innerHTML = _fs.default.readFileSync(__dirname + '/../../../../../test/data/gmail-2017-09-08-gmail-addon-sidebar.html', 'utf8');
207
- _gmailElementGetter.default.getMainContentBodyContainerElement = () => mainContainer.querySelector('.bkK');
208
- return mainContainer.querySelector('.bnl');
209
- }