@inboxsdk/core 0.2.28-alpha.4 → 0.2.28-alpha.6

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 (264) hide show
  1. package/inboxsdk.js +1 -1
  2. package/package.json +5 -1
  3. package/src/inboxsdk-js/check-requirements.js +7 -3
  4. package/src/inboxsdk-js/header.js +1 -0
  5. package/src/inboxsdk-js/inboxsdk-NONREMOTE-INTEGRATED-PAGEWORLD.js +5 -6
  6. package/src/inboxsdk-js/inboxsdk-NONREMOTE.js +4 -3
  7. package/src/inboxsdk-js/inboxsdk-REMOTE.js +3 -1
  8. package/src/inboxsdk-js/inboxsdk-TEST.js +4 -3
  9. package/src/inboxsdk-js/inboxsdk.js +33 -39
  10. package/src/inboxsdk-js/loading/load-platform-implementation-DEV.js +15 -18
  11. package/src/inboxsdk.d.ts +2 -0
  12. package/src/injected-js/gmail/modify-suggestions.test.js +8 -9
  13. package/src/injected-js/gmail/setup-gmail-interceptor.js +340 -579
  14. package/src/injected-js/gmail/sync-compose-request-processor.test.js +39 -49
  15. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +20 -33
  16. package/src/injected-js/gmail/thread-identifier/index.js +57 -93
  17. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +22 -31
  18. package/src/injected-js/gmail/thread-identifier/thread-row-parser.test.js +12 -28
  19. package/src/injected-js/inbox/setupAjaxInterceptor.js +64 -121
  20. package/src/injected-js/inbox/setupClickAndGetNewIframeSrc.js +53 -66
  21. package/src/injected-js/inbox/setupComposeViewDraftIDFinder.js +20 -36
  22. package/src/injected-js/inbox/setupInboxFakeWindowResizeListener.js +13 -13
  23. package/src/injected-js/main.js +11 -24
  24. package/src/injected-js/message-metadata-holder.js +52 -82
  25. package/src/injected-js/setup-data-exposer.js +89 -148
  26. package/src/injected-js/setup-error-silencer.js +21 -21
  27. package/src/injected-js/setup-event-reemitter.js +30 -22
  28. package/src/injected-js/setupInboxCustomViewLinkFixer.js +24 -29
  29. package/src/injected-js/setupPushStateListener.js +18 -11
  30. package/src/injected-js/xhr-helper.js +62 -65
  31. package/src/injected-js/xhr-proxy-factory.js +195 -445
  32. package/src/injected-js/xhr-proxy-factory.test.js +824 -991
  33. package/src/platform-implementation-js/constants/router.js +14 -9
  34. package/src/platform-implementation-js/constants/toolbars.js +8 -3
  35. package/src/platform-implementation-js/dom-driver/gmail/custom-style.js +13 -13
  36. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.js +115 -136
  37. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +13 -14
  38. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.js +27 -48
  39. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.js +31 -42
  40. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.js +30 -40
  41. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +10 -18
  42. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +21 -28
  43. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +33 -45
  44. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +31 -49
  45. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +58 -65
  46. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.js +40 -124
  47. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.js +17 -22
  48. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.test.js +10 -11
  49. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.js +44 -80
  50. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.js +19 -26
  51. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.js +71 -147
  52. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.js +91 -148
  53. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +150 -166
  54. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.test.js +70 -120
  55. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.js +15 -15
  56. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.js +44 -67
  57. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +230 -379
  58. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.test.js +121 -307
  59. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.js +17 -24
  60. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.js +41 -49
  61. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.js +30 -40
  62. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +28 -60
  63. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +61 -133
  64. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +30 -42
  65. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.test.js +52 -46
  66. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +354 -694
  67. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +77 -93
  68. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +35 -82
  69. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.test.js +44 -94
  70. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +12 -19
  71. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +17 -29
  72. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.js +26 -26
  73. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +391 -797
  74. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +7 -9
  75. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +60 -109
  76. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +95 -135
  77. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +103 -211
  78. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.test.js +61 -61
  79. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.js +17 -17
  80. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +188 -541
  81. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +67 -135
  82. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +27 -49
  83. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-inner-sidebar.js +7 -13
  84. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-outer-sidebar.js +9 -22
  85. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +36 -63
  86. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +38 -113
  87. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +11 -16
  88. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +11 -17
  89. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +8 -11
  90. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +27 -47
  91. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +11 -24
  92. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +59 -111
  93. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +15 -14
  94. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +11 -17
  95. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +18 -24
  96. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +19 -23
  97. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +11 -19
  98. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +141 -376
  99. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +17 -28
  100. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +34 -70
  101. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +10 -17
  102. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +83 -137
  103. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +10 -19
  104. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +632 -1190
  105. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +29 -38
  106. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +327 -617
  107. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +26 -49
  108. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +188 -380
  109. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +104 -194
  110. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +382 -811
  111. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view/add-icon-area.js +34 -58
  112. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.js +330 -581
  113. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.test.js +123 -277
  114. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +15 -35
  115. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +216 -571
  116. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +152 -336
  117. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +87 -211
  118. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +10 -11
  119. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +20 -29
  120. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +41 -76
  121. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.js +45 -99
  122. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +76 -128
  123. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +128 -319
  124. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.js +45 -78
  125. package/src/platform-implementation-js/dom-driver/inbox/__mocks__/getSidebarClassnames.js +8 -4
  126. package/src/platform-implementation-js/dom-driver/inbox/addNavItem.js +36 -54
  127. package/src/platform-implementation-js/dom-driver/inbox/addRecipientRow.js +35 -53
  128. package/src/platform-implementation-js/dom-driver/inbox/createLink.js +13 -15
  129. package/src/platform-implementation-js/dom-driver/inbox/createLink.test.js +15 -18
  130. package/src/platform-implementation-js/dom-driver/inbox/custom-style.js +14 -13
  131. package/src/platform-implementation-js/dom-driver/inbox/detection/appToolbarLocation/parser.js +14 -20
  132. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentCard/parser.js +14 -13
  133. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentOverlay/parser.js +35 -67
  134. package/src/platform-implementation-js/dom-driver/inbox/detection/chatSidebar/parser.js +16 -18
  135. package/src/platform-implementation-js/dom-driver/inbox/detection/compose/parser.js +68 -185
  136. package/src/platform-implementation-js/dom-driver/inbox/detection/message/parser.js +28 -56
  137. package/src/platform-implementation-js/dom-driver/inbox/detection/nativeDrawer/parser.js +12 -10
  138. package/src/platform-implementation-js/dom-driver/inbox/detection/searchBar/parser.js +16 -16
  139. package/src/platform-implementation-js/dom-driver/inbox/detection/thread/parser.js +24 -35
  140. package/src/platform-implementation-js/dom-driver/inbox/detection/thread-row/parser.js +37 -89
  141. package/src/platform-implementation-js/dom-driver/inbox/getComposeViewDriverLiveSet.js +56 -78
  142. package/src/platform-implementation-js/dom-driver/inbox/getInboxMessageIdForInboxThreadId.js +26 -32
  143. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.js +52 -109
  144. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.test.js +7 -8
  145. package/src/platform-implementation-js/dom-driver/inbox/gotoView.js +16 -20
  146. package/src/platform-implementation-js/dom-driver/inbox/gotoView.test.js +15 -16
  147. package/src/platform-implementation-js/dom-driver/inbox/inbox-butter-bar-driver.js +75 -83
  148. package/src/platform-implementation-js/dom-driver/inbox/inbox-driver.js +530 -822
  149. package/src/platform-implementation-js/dom-driver/inbox/inbox-page-communicator.js +48 -61
  150. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.js +9 -12
  151. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.test.js +12 -19
  152. package/src/platform-implementation-js/dom-driver/inbox/makePageParserTree.js +24 -33
  153. package/src/platform-implementation-js/dom-driver/inbox/pageParserOptions.js +201 -388
  154. package/src/platform-implementation-js/dom-driver/inbox/registerSearchSuggestionsProvider.js +249 -265
  155. package/src/platform-implementation-js/dom-driver/inbox/setupCustomAutocompleteSelectionHandling.js +84 -152
  156. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.js +55 -67
  157. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.test.js +43 -65
  158. package/src/platform-implementation-js/dom-driver/inbox/views/InboxLabelView.js +31 -56
  159. package/src/platform-implementation-js/dom-driver/inbox/views/InboxMoleViewDriver.js +191 -294
  160. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarButtonView.js +32 -45
  161. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarView.js +21 -39
  162. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-sidebar-view.js +153 -240
  163. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-button-view.js +75 -150
  164. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-tooltip-view.js +20 -37
  165. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-card-view.js +60 -114
  166. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-overlay-view.js +47 -65
  167. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +41 -52
  168. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-chat-sidebar-view.js +27 -36
  169. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-button-view.js +52 -80
  170. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-view.js +465 -649
  171. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.js +37 -58
  172. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.test.js +14 -26
  173. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +118 -235
  174. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dropdown-view.js +10 -11
  175. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dummy-route-view.js +28 -46
  176. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-message-view.js +131 -202
  177. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-modal-view.js +40 -80
  178. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-route-view.js +35 -61
  179. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-row-view.js +124 -221
  180. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.js +125 -213
  181. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.test.js +104 -126
  182. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-tooltip-view.js +36 -51
  183. package/src/platform-implementation-js/dom-driver/inbox/views/inboxNavItemView.js +158 -297
  184. package/src/platform-implementation-js/dom-driver/inbox/waitForAnimationClickBlockerGone.js +21 -35
  185. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +24 -43
  186. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +39 -68
  187. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +14 -19
  188. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +27 -35
  189. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +16 -22
  190. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +14 -14
  191. package/src/platform-implementation-js/driver-common/inboxAjax.js +12 -7
  192. package/src/platform-implementation-js/driver-common/requestGmailThread.js +19 -20
  193. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +197 -306
  194. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +113 -161
  195. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +1 -114
  196. package/src/platform-implementation-js/driver-interfaces/driver.js +1 -131
  197. package/src/platform-implementation-js/driver-interfaces/message-view-driver.js +4 -48
  198. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +1 -29
  199. package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +1 -32
  200. package/src/platform-implementation-js/driver-interfaces/thread-row-view-driver.js +1 -11
  201. package/src/platform-implementation-js/lib/array-to-lifetimes.js +43 -41
  202. package/src/platform-implementation-js/lib/array-to-lifetimes.test.js +139 -155
  203. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +19 -38
  204. package/src/platform-implementation-js/lib/css-selector-escape.js +7 -3
  205. package/src/platform-implementation-js/lib/dom/element-view-mapper.js +8 -11
  206. package/src/platform-implementation-js/lib/dom/get-selection.js +23 -52
  207. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +69 -101
  208. package/src/platform-implementation-js/lib/dom/is-node-in-range.js +8 -10
  209. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.js +15 -17
  210. package/src/platform-implementation-js/lib/dom/querySelectorOne.js +8 -11
  211. package/src/platform-implementation-js/lib/dom/set-css.js +7 -3
  212. package/src/platform-implementation-js/lib/dom/set-value-and-dispatch-event.js +9 -11
  213. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +32 -33
  214. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.test.js +23 -26
  215. package/src/platform-implementation-js/lib/handle-compose-link-chips.js +86 -149
  216. package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +42 -57
  217. package/src/platform-implementation-js/lib/make-revocable-function.js +19 -21
  218. package/src/platform-implementation-js/lib/make-revocable-function.test.js +20 -22
  219. package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +15 -17
  220. package/src/platform-implementation-js/lib/parseParamsFromRouteID.test.js +9 -18
  221. package/src/platform-implementation-js/lib/populateRouteID.js +8 -9
  222. package/src/platform-implementation-js/lib/populateRouteID.test.js +20 -19
  223. package/src/platform-implementation-js/lib/react/ElementContainer.js +23 -20
  224. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.js +10 -9
  225. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.test.js +13 -20
  226. package/src/platform-implementation-js/lib/routeIDmatchesHash.js +13 -18
  227. package/src/platform-implementation-js/lib/routeIDmatchesHash.test.js +11 -17
  228. package/src/platform-implementation-js/lib/shared-style.js +14 -13
  229. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +18 -17
  230. package/src/platform-implementation-js/lib/toLiveSet.js +17 -15
  231. package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +6 -5
  232. package/src/platform-implementation-js/main.js +9 -24
  233. package/src/platform-implementation-js/namespaces/compose.js +37 -60
  234. package/src/platform-implementation-js/namespaces/conversations.js +52 -124
  235. package/src/platform-implementation-js/namespaces/global.js +27 -39
  236. package/src/platform-implementation-js/namespaces/keyboard.js +29 -33
  237. package/src/platform-implementation-js/namespaces/lists.js +25 -31
  238. package/src/platform-implementation-js/namespaces/modal.js +34 -28
  239. package/src/platform-implementation-js/namespaces/nav-menu.js +30 -45
  240. package/src/platform-implementation-js/namespaces/router.js +70 -137
  241. package/src/platform-implementation-js/namespaces/search.js +19 -17
  242. package/src/platform-implementation-js/namespaces/toolbars.js +71 -117
  243. package/src/platform-implementation-js/namespaces/user.js +36 -37
  244. package/src/platform-implementation-js/namespaces/widgets.js +54 -61
  245. package/src/platform-implementation-js/platform-implementation.js +98 -229
  246. package/src/platform-implementation-js/views/app-toolbar-button-view.js +26 -47
  247. package/src/platform-implementation-js/views/collapsible-section-view.js +66 -63
  248. package/src/platform-implementation-js/views/content-panel-view.js +28 -30
  249. package/src/platform-implementation-js/views/conversations/attachment-card-view.js +21 -44
  250. package/src/platform-implementation-js/views/conversations/custom-message-view.js +44 -104
  251. package/src/platform-implementation-js/views/conversations/message-view.js +131 -202
  252. package/src/platform-implementation-js/views/conversations/thread-view.js +75 -127
  253. package/src/platform-implementation-js/views/native-nav-item-view.js +32 -65
  254. package/src/platform-implementation-js/views/nav-item-view.js +51 -115
  255. package/src/platform-implementation-js/views/route-view/custom-route-view.js +25 -20
  256. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +18 -18
  257. package/src/platform-implementation-js/views/route-view/list-route-view.js +30 -52
  258. package/src/platform-implementation-js/views/route-view/route-view.js +24 -35
  259. package/src/platform-implementation-js/views/section-view.js +60 -52
  260. package/src/platform-implementation-js/views/thread-row-view.js +49 -74
  261. package/src/platform-implementation-js/widgets/drawer-view.js +29 -36
  262. package/src/platform-implementation-js/widgets/modal-view.js +39 -68
  263. package/src/platform-implementation-js/widgets/mole-view.js +22 -22
  264. package/src/platform-implementation-js/widgets/top-message-bar-view.js +13 -10
@@ -1,29 +1,18 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import Kefir from 'kefir';
4
-
5
- import fromEventTargetCapture from '../../../../lib/from-event-target-capture';
6
-
7
- import type GmailComposeView from '../gmail-compose-view';
8
-
9
- export default function (gmailComposeView: GmailComposeView) {
10
- Kefir.merge([
11
- fromEventTargetCapture((document.body: any), 'mousedown'),
12
- fromEventTargetCapture(gmailComposeView.getBodyElement(), 'keydown'),
13
- gmailComposeView
14
- .getEventStream()
15
- .filter((e) => e.eventName === 'bodyChanged'),
16
- ])
17
- .takeUntilBy(gmailComposeView.getStopper())
18
- .onValue((event) => {
19
- var body = gmailComposeView.getMaybeBodyElement();
20
- var selection = (document: any).getSelection();
21
- if (
22
- body &&
23
- selection.rangeCount > 0 &&
24
- body.contains(selection.anchorNode)
25
- ) {
26
- gmailComposeView.setLastSelectionRange(selection.getRangeAt(0));
27
- }
28
- });
29
- }
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = _default;
8
+ var _kefir = _interopRequireDefault(require("kefir"));
9
+ var _fromEventTargetCapture = _interopRequireDefault(require("../../../../lib/from-event-target-capture"));
10
+ function _default(gmailComposeView) {
11
+ _kefir.default.merge([(0, _fromEventTargetCapture.default)(document.body, 'mousedown'), (0, _fromEventTargetCapture.default)(gmailComposeView.getBodyElement(), 'keydown'), gmailComposeView.getEventStream().filter(e => e.eventName === 'bodyChanged')]).takeUntilBy(gmailComposeView.getStopper()).onValue(event => {
12
+ var body = gmailComposeView.getMaybeBodyElement();
13
+ var selection = document.getSelection();
14
+ if (body && selection.rangeCount > 0 && body.contains(selection.anchorNode)) {
15
+ gmailComposeView.setLastSelectionRange(selection.getRangeAt(0));
16
+ }
17
+ });
18
+ }
@@ -1,92 +1,56 @@
1
- /* @flow */
2
-
3
- import censorHTMLtree from '../../../../../common/censorHTMLtree';
4
- import { simulateClick } from '../../../../lib/dom/simulate-mouse-event';
5
-
6
- import type GmailDriver from '../../gmail-driver';
7
- import type GmailComposeView from '../gmail-compose-view';
8
-
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = overrideEditSubject;
8
+ var _censorHTMLtree = _interopRequireDefault(require("../../../../../common/censorHTMLtree"));
9
+ var _simulateMouseEvent = require("../../../../lib/dom/simulate-mouse-event");
9
10
  let hasLoggedError = false;
10
-
11
- export default function overrideEditSubject(
12
- gmailDriver: GmailDriver,
13
- gmailComposeView: GmailComposeView
14
- ) {
11
+ function overrideEditSubject(gmailDriver, gmailComposeView) {
15
12
  if (!gmailComposeView.isReply()) return;
16
-
17
- const menuItem = gmailComposeView
18
- .getElement()
19
- .querySelector(
20
- 'div.J-M.jQjAxd.HX[role=menu] > div.SK.AX > [role=menuitem]:nth-last-child(2)'
21
- );
13
+ const menuItem = gmailComposeView.getElement().querySelector('div.J-M.jQjAxd.HX[role=menu] > div.SK.AX > [role=menuitem]:nth-last-child(2)');
22
14
  if (!menuItem) {
23
15
  if (!hasLoggedError) {
24
- gmailDriver
25
- .getLogger()
26
- .error(new Error('could not find edit subject item'), {
27
- composeElement: censorHTMLtree(gmailComposeView.getElement()),
28
- });
16
+ gmailDriver.getLogger().error(new Error('could not find edit subject item'), {
17
+ composeElement: (0, _censorHTMLtree.default)(gmailComposeView.getElement())
18
+ });
29
19
  hasLoggedError = true;
30
20
  }
31
21
  return;
32
22
  }
33
-
34
- menuItem.addEventListener(
35
- 'click',
36
- (e: MouseEvent) => {
37
- e.stopPropagation();
38
- },
39
- true
40
- );
41
-
42
- menuItem.addEventListener(
43
- 'mouseup',
44
- (e: MouseEvent) => {
45
- e.stopPropagation();
46
- _cloneContentToNewCompose(gmailDriver, gmailComposeView);
47
- },
48
- true
49
- );
23
+ menuItem.addEventListener('click', e => {
24
+ e.stopPropagation();
25
+ }, true);
26
+ menuItem.addEventListener('mouseup', e => {
27
+ e.stopPropagation();
28
+ _cloneContentToNewCompose(gmailDriver, gmailComposeView);
29
+ }, true);
50
30
  }
51
-
52
31
  function _cloneContentToNewCompose(gmailDriver, gmailComposeView) {
53
32
  const toRecipients = gmailComposeView.getToRecipients();
54
33
  const ccRecipients = gmailComposeView.getCcRecipients();
55
34
  const bccRecipients = gmailComposeView.getBccRecipients();
56
35
  const fromAddress = gmailComposeView.getFromContact();
57
-
58
36
  const subject = gmailComposeView.getSubject();
59
-
60
37
  _ensureExtraContentIsVisible(gmailComposeView);
61
38
  const body = gmailComposeView.getHTMLContent();
62
-
63
39
  gmailComposeView.discard();
64
-
65
- gmailDriver
66
- .openNewComposeViewDriver()
67
- .then((newComposeView: GmailComposeView) => {
68
- if (toRecipients.length > 0)
69
- newComposeView.setToRecipients(toRecipients.map((c) => c.emailAddress));
70
- if (ccRecipients.length > 0)
71
- newComposeView.setCcRecipients(ccRecipients.map((c) => c.emailAddress));
72
- if (bccRecipients.length > 0)
73
- newComposeView.setBccRecipients(
74
- bccRecipients.map((c) => c.emailAddress)
75
- );
76
-
77
- newComposeView.setFromEmail(fromAddress.emailAddress);
78
- newComposeView.setSubject(subject);
79
- newComposeView.setBodyHTML(body);
80
-
81
- setTimeout(function () {
82
- newComposeView.getSubjectInput().select();
83
- }, 1);
84
- });
40
+ gmailDriver.openNewComposeViewDriver().then(newComposeView => {
41
+ if (toRecipients.length > 0) newComposeView.setToRecipients(toRecipients.map(c => c.emailAddress));
42
+ if (ccRecipients.length > 0) newComposeView.setCcRecipients(ccRecipients.map(c => c.emailAddress));
43
+ if (bccRecipients.length > 0) newComposeView.setBccRecipients(bccRecipients.map(c => c.emailAddress));
44
+ newComposeView.setFromEmail(fromAddress.emailAddress);
45
+ newComposeView.setSubject(subject);
46
+ newComposeView.setBodyHTML(body);
47
+ setTimeout(function () {
48
+ newComposeView.getSubjectInput().select();
49
+ }, 1);
50
+ });
85
51
  }
86
-
87
52
  function _ensureExtraContentIsVisible(gmailComposeView) {
88
53
  if (gmailComposeView.getBodyElement().querySelector('.gmail_extra')) return;
89
-
90
54
  const quoteDotsElement = gmailComposeView.getElement().querySelector('.ajR');
91
- if (quoteDotsElement) simulateClick(quoteDotsElement);
92
- }
55
+ if (quoteDotsElement) (0, _simulateMouseEvent.simulateClick)(quoteDotsElement);
56
+ }
@@ -1,28 +1,21 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import type GmailComposeView from '../gmail-compose-view';
4
-
5
- export default function positionFormattingToolbar(
6
- gmailComposeView: GmailComposeView
7
- ) {
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = positionFormattingToolbar;
7
+ function positionFormattingToolbar(gmailComposeView) {
8
8
  const formattingToolbar = gmailComposeView.getFormattingToolbar();
9
9
  if (formattingToolbar && formattingToolbar.style.display === '') {
10
10
  const arrowElement = gmailComposeView.getFormattingToolbarArrow();
11
11
  const buttonElement = gmailComposeView.getFormattingToolbarToggleButton();
12
-
13
- const left =
14
- buttonElement.offsetLeft +
15
- buttonElement.clientWidth / 2 -
16
- arrowElement.offsetWidth / 2;
12
+ const left = buttonElement.offsetLeft + buttonElement.clientWidth / 2 - arrowElement.offsetWidth / 2;
17
13
  arrowElement.style.left = left + 'px';
18
-
19
- const statusBarPrependContainer =
20
- gmailComposeView.getStatusBarPrependContainer();
14
+ const statusBarPrependContainer = gmailComposeView.getStatusBarPrependContainer();
21
15
  if (statusBarPrependContainer) {
22
- formattingToolbar.style.bottom =
23
- -1 * statusBarPrependContainer.offsetHeight + 'px';
16
+ formattingToolbar.style.bottom = -1 * statusBarPrependContainer.offsetHeight + 'px';
24
17
  } else {
25
18
  formattingToolbar.style.bottom = '';
26
19
  }
27
20
  }
28
- }
21
+ }
@@ -1,26 +1,26 @@
1
- /* @flow */
2
-
3
- import includes from 'lodash/includes';
4
- import startsWith from 'lodash/startsWith';
5
- import findIndex from 'lodash/findIndex';
6
- import once from 'lodash/once';
7
- import Kefir from 'kefir';
8
- import delayAsap from '../../../../lib/delay-asap';
9
- import makeMutationObserverChunkedStream from '../../../../lib/dom/make-mutation-observer-chunked-stream';
10
- import cssSelectorEscape from '../../../../lib/css-selector-escape';
11
- import type GmailComposeView from '../gmail-compose-view';
1
+ "use strict";
12
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = sizeFixer;
8
+ var _includes = _interopRequireDefault(require("lodash/includes"));
9
+ var _startsWith = _interopRequireDefault(require("lodash/startsWith"));
10
+ var _findIndex = _interopRequireDefault(require("lodash/findIndex"));
11
+ var _once = _interopRequireDefault(require("lodash/once"));
12
+ var _kefir = _interopRequireDefault(require("kefir"));
13
+ var _delayAsap = _interopRequireDefault(require("../../../../lib/delay-asap"));
14
+ var _makeMutationObserverChunkedStream = _interopRequireDefault(require("../../../../lib/dom/make-mutation-observer-chunked-stream"));
15
+ var _cssSelectorEscape = _interopRequireDefault(require("../../../../lib/css-selector-escape"));
13
16
  const MATERIAL_UI_GMAIL_STATUS_HEIGHT = 60;
14
17
  const MATERIAL_UI_TOP_FORM_HEIGHT = 72;
15
-
16
- const SELECTOR_ESCAPE_HATCH_PREFIX =
17
- 'body:not(.inboxsdk_hack_disableComposeSizeFixer) ';
18
-
19
- var getSizeFixerSheet: () => CSSStyleSheet = once(() => {
20
- const style: HTMLStyleElement = (document.createElement('style'): any);
18
+ const SELECTOR_ESCAPE_HATCH_PREFIX = 'body:not(.inboxsdk_hack_disableComposeSizeFixer) ';
19
+ var getSizeFixerSheet = (0, _once.default)(() => {
20
+ const style = document.createElement('style');
21
21
  style.type = 'text/css';
22
22
  style.className = 'inboxsdk__compose_size_fixer';
23
- (document.head: any).appendChild(style);
23
+ document.head.appendChild(style);
24
24
  var sheet = style.sheet;
25
25
  if (!(sheet instanceof CSSStyleSheet)) {
26
26
  throw new Error('Could not add stylesheet');
@@ -29,47 +29,28 @@ var getSizeFixerSheet: () => CSSStyleSheet = once(() => {
29
29
  });
30
30
 
31
31
  // Gets a css selector string for a given id
32
- function byId(id: string): string {
33
- return '#' + cssSelectorEscape(id);
32
+ function byId(id) {
33
+ return '#' + (0, _cssSelectorEscape.default)(id);
34
34
  }
35
-
36
- export default function sizeFixer(
37
- driver: Object,
38
- gmailComposeView: GmailComposeView
39
- ) {
40
- if (
41
- gmailComposeView.isInlineReplyForm() ||
42
- gmailComposeView.getElement().classList.contains('inboxsdk__size_fixer')
43
- ) {
35
+ function sizeFixer(driver, gmailComposeView) {
36
+ if (gmailComposeView.isInlineReplyForm() || gmailComposeView.getElement().classList.contains('inboxsdk__size_fixer')) {
44
37
  return;
45
38
  }
46
39
  gmailComposeView.getElement().classList.add('inboxsdk__size_fixer');
47
-
48
40
  var composeEvents = gmailComposeView.getEventStream();
49
41
  var stopper = composeEvents.filter(() => false).beforeEnd(() => null);
50
- var resizeEvents = composeEvents
51
- .filter((e) => includes(['resize', 'fullscreenChanged'], e.eventName))
52
- .merge(delayAsap(null));
53
-
54
- var statusAreaParent: HTMLElement = (gmailComposeView.getStatusArea()
55
- .parentElement: any);
56
- var scrollBody: HTMLElement = gmailComposeView.getScrollBody();
57
-
42
+ var resizeEvents = composeEvents.filter(e => (0, _includes.default)(['resize', 'fullscreenChanged'], e.eventName)).merge((0, _delayAsap.default)(null));
43
+ var statusAreaParent = gmailComposeView.getStatusArea().parentElement;
44
+ var scrollBody = gmailComposeView.getScrollBody();
58
45
  var sheet = getSizeFixerSheet();
59
46
  var topForm = gmailComposeView.getTopFormElement();
60
47
  var composeId = gmailComposeView.getElement().id;
61
48
  if (!composeId) {
62
- composeId =
63
- gmailComposeView.getElement().id = `x${Math.random()}x${Date.now()}`;
49
+ composeId = gmailComposeView.getElement().id = `x${Math.random()}x${Date.now()}`;
64
50
  }
65
-
66
- function setRuleForSelector(selector: string, rule: string) {
67
- const fullSelector =
68
- SELECTOR_ESCAPE_HATCH_PREFIX + byId(composeId) + ' ' + selector;
69
- const ix = findIndex(
70
- sheet.cssRules,
71
- (cssRule) => cssRule.selectorText === fullSelector
72
- );
51
+ function setRuleForSelector(selector, rule) {
52
+ const fullSelector = SELECTOR_ESCAPE_HATCH_PREFIX + byId(composeId) + ' ' + selector;
53
+ const ix = (0, _findIndex.default)(sheet.cssRules, cssRule => cssRule.selectorText === fullSelector);
73
54
  if (ix !== -1) {
74
55
  sheet.deleteRule(ix);
75
56
  }
@@ -77,101 +58,66 @@ export default function sizeFixer(
77
58
  }
78
59
 
79
60
  // Emit resize events when the recipients area is toggled
80
- makeMutationObserverChunkedStream(statusAreaParent, { attributes: true })
81
- .takeUntilBy(stopper)
82
- .onValue(() => {
83
- gmailComposeView.getElement().dispatchEvent(
84
- new CustomEvent('resize', {
85
- bubbles: false,
86
- cancelable: false,
87
- detail: null,
88
- })
89
- );
90
- });
91
-
92
- resizeEvents
93
- .bufferBy(resizeEvents.flatMap((x) => delayAsap(null)))
94
- .filter((x) => x.length > 0)
95
- .merge(makeMutationObserverChunkedStream(scrollBody, { attributes: true }))
96
- .takeUntilBy(stopper)
97
- .onValue(() => {
98
- const statusUnexpectedHeight = Math.max(
99
- statusAreaParent.offsetHeight - MATERIAL_UI_GMAIL_STATUS_HEIGHT,
100
- 0
101
- );
102
-
103
- const topFormUnexpectedHeight = Math.max(
104
- topForm.offsetHeight - MATERIAL_UI_TOP_FORM_HEIGHT,
105
- 0
106
- );
107
-
108
- const unexpectedHeight = statusUnexpectedHeight + topFormUnexpectedHeight;
109
-
110
- const maybeBody = gmailComposeView.getMaybeBodyElement();
111
-
112
- /**
113
- * In order to support dynamic height in non-fullscreen mode,
114
- * get height of the inner element of scrollBody
115
- * this way we still can override height values of scrollBody,
116
- * but recalculate them based on actual height of an inner child
117
- */
118
- const scrollBodyInner = scrollBody.querySelector('.qz');
119
- const height = scrollBodyInner?.offsetHeight || scrollBody.offsetHeight;
120
-
121
- const maxHeight = parseInt(
122
- scrollBody.style.getPropertyValue('max-height'),
123
- 10
124
- );
125
-
126
- const isFullScreen = gmailComposeView.isFullscreen();
127
-
128
- const newMaxHeight = maxHeight - unexpectedHeight;
129
- const newHeight = height > newMaxHeight ? newMaxHeight : null;
130
-
131
- const scrollBodyCssRules = [`max-height: ${newMaxHeight}px !important;`];
132
- let maybeBodyCssRules;
133
-
134
- if (newHeight) {
135
- scrollBodyCssRules.push(`height: ${newHeight}px !important;`);
136
- }
137
-
138
- if (isFullScreen) {
139
- // in non fullscreen mode compose window can get taller on user input,
140
- // but in fullscreen mode, compose window size is static so not only max-height
141
- // should be updated, but also min-height of scrollBody and maybeBody
142
-
143
- // NOTE: max-height and min-height in full screen are same
144
- scrollBodyCssRules.push(`min-height: ${newMaxHeight}px !important;`);
145
-
146
- const maybeBodyMinHeight =
147
- parseInt(maybeBody?.style.minHeight, 10) || maxHeight;
148
- const maybeBodyNewMinHeight = maybeBodyMinHeight - unexpectedHeight;
149
-
150
- maybeBodyCssRules = `min-height: ${maybeBodyNewMinHeight}px !important;`;
151
- }
152
-
153
- if (scrollBodyCssRules.length > 0) {
154
- setRuleForSelector(byId(scrollBody.id), scrollBodyCssRules.join('\n'));
155
- }
156
-
157
- if (maybeBodyCssRules && maybeBody) {
158
- setRuleForSelector(byId(maybeBody.id), maybeBodyCssRules);
159
- }
160
- });
161
-
61
+ (0, _makeMutationObserverChunkedStream.default)(statusAreaParent, {
62
+ attributes: true
63
+ }).takeUntilBy(stopper).onValue(() => {
64
+ gmailComposeView.getElement().dispatchEvent(new CustomEvent('resize', {
65
+ bubbles: false,
66
+ cancelable: false,
67
+ detail: null
68
+ }));
69
+ });
70
+ resizeEvents.bufferBy(resizeEvents.flatMap(x => (0, _delayAsap.default)(null))).filter(x => x.length > 0).merge((0, _makeMutationObserverChunkedStream.default)(scrollBody, {
71
+ attributes: true
72
+ })).takeUntilBy(stopper).onValue(() => {
73
+ const statusUnexpectedHeight = Math.max(statusAreaParent.offsetHeight - MATERIAL_UI_GMAIL_STATUS_HEIGHT, 0);
74
+ const topFormUnexpectedHeight = Math.max(topForm.offsetHeight - MATERIAL_UI_TOP_FORM_HEIGHT, 0);
75
+ const unexpectedHeight = statusUnexpectedHeight + topFormUnexpectedHeight;
76
+ const maybeBody = gmailComposeView.getMaybeBodyElement();
77
+
78
+ /**
79
+ * In order to support dynamic height in non-fullscreen mode,
80
+ * get height of the inner element of scrollBody
81
+ * this way we still can override height values of scrollBody,
82
+ * but recalculate them based on actual height of an inner child
83
+ */
84
+ const scrollBodyInner = scrollBody.querySelector('.qz');
85
+ const height = (scrollBodyInner === null || scrollBodyInner === void 0 ? void 0 : scrollBodyInner.offsetHeight) || scrollBody.offsetHeight;
86
+ const maxHeight = parseInt(scrollBody.style.getPropertyValue('max-height'), 10);
87
+ const isFullScreen = gmailComposeView.isFullscreen();
88
+ const newMaxHeight = maxHeight - unexpectedHeight;
89
+ const newHeight = height > newMaxHeight ? newMaxHeight : null;
90
+ const scrollBodyCssRules = [`max-height: ${newMaxHeight}px !important;`];
91
+ let maybeBodyCssRules;
92
+ if (newHeight) {
93
+ scrollBodyCssRules.push(`height: ${newHeight}px !important;`);
94
+ }
95
+ if (isFullScreen) {
96
+ // in non fullscreen mode compose window can get taller on user input,
97
+ // but in fullscreen mode, compose window size is static so not only max-height
98
+ // should be updated, but also min-height of scrollBody and maybeBody
99
+
100
+ // NOTE: max-height and min-height in full screen are same
101
+ scrollBodyCssRules.push(`min-height: ${newMaxHeight}px !important;`);
102
+ const maybeBodyMinHeight = parseInt(maybeBody === null || maybeBody === void 0 ? void 0 : maybeBody.style.minHeight, 10) || maxHeight;
103
+ const maybeBodyNewMinHeight = maybeBodyMinHeight - unexpectedHeight;
104
+ maybeBodyCssRules = `min-height: ${maybeBodyNewMinHeight}px !important;`;
105
+ }
106
+ if (scrollBodyCssRules.length > 0) {
107
+ setRuleForSelector(byId(scrollBody.id), scrollBodyCssRules.join('\n'));
108
+ }
109
+ if (maybeBodyCssRules && maybeBody) {
110
+ setRuleForSelector(byId(maybeBody.id), maybeBodyCssRules);
111
+ }
112
+ });
162
113
  stopper.onValue(() => {
163
114
  // Go through the rules array backwards so that we remove them in backwards
164
115
  // order. If we went through in ascending order, we'd have to worry about
165
116
  // the list shrinking out from under us.
166
117
  for (let ix = sheet.cssRules.length - 1; ix >= 0; ix--) {
167
- if (
168
- startsWith(
169
- (sheet.cssRules: any)[ix].selectorText,
170
- SELECTOR_ESCAPE_HATCH_PREFIX + byId(composeId) + ' '
171
- )
172
- ) {
118
+ if ((0, _startsWith.default)(sheet.cssRules[ix].selectorText, SELECTOR_ESCAPE_HATCH_PREFIX + byId(composeId) + ' ')) {
173
119
  sheet.deleteRule(ix);
174
120
  }
175
121
  }
176
122
  });
177
- }
123
+ }
@@ -1,28 +1,19 @@
1
- /* @flow */
2
-
3
- import type GmailComposeView from '../gmail-compose-view';
1
+ "use strict";
4
2
 
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = updateInsertMoreAreaLeft;
5
7
  const updateAreaSet = new WeakSet();
6
-
7
- export default function updateInsertMoreAreaLeft(
8
- gmailComposeView: GmailComposeView,
9
- oldFormattingAreaOffsetLeft: number
10
- ) {
8
+ function updateInsertMoreAreaLeft(gmailComposeView, oldFormattingAreaOffsetLeft) {
11
9
  if (updateAreaSet.has(gmailComposeView)) return;
12
-
13
10
  updateAreaSet.add(gmailComposeView);
14
-
15
11
  window.requestAnimationFrame(() => {
16
12
  updateAreaSet.delete(gmailComposeView);
17
13
  if (gmailComposeView.isDestroyed()) return;
18
- var newFormattingAreaOffsetLeft =
19
- gmailComposeView._getFormattingAreaOffsetLeft();
20
- var insertMoreAreaLeft = parseInt(
21
- gmailComposeView.getInsertMoreArea().style.left,
22
- 10
23
- );
14
+ var newFormattingAreaOffsetLeft = gmailComposeView._getFormattingAreaOffsetLeft();
15
+ var insertMoreAreaLeft = parseInt(gmailComposeView.getInsertMoreArea().style.left, 10);
24
16
  var diff = newFormattingAreaOffsetLeft - oldFormattingAreaOffsetLeft;
25
- gmailComposeView.getInsertMoreArea().style.left =
26
- insertMoreAreaLeft + diff + 'px';
17
+ gmailComposeView.getInsertMoreArea().style.left = insertMoreAreaLeft + diff + 'px';
27
18
  });
28
- }
19
+ }