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

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 (263) 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/injected-js/gmail/modify-suggestions.test.js +8 -9
  12. package/src/injected-js/gmail/setup-gmail-interceptor.js +340 -579
  13. package/src/injected-js/gmail/sync-compose-request-processor.test.js +39 -49
  14. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +20 -33
  15. package/src/injected-js/gmail/thread-identifier/index.js +57 -93
  16. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +22 -31
  17. package/src/injected-js/gmail/thread-identifier/thread-row-parser.test.js +12 -28
  18. package/src/injected-js/inbox/setupAjaxInterceptor.js +64 -121
  19. package/src/injected-js/inbox/setupClickAndGetNewIframeSrc.js +53 -66
  20. package/src/injected-js/inbox/setupComposeViewDraftIDFinder.js +20 -36
  21. package/src/injected-js/inbox/setupInboxFakeWindowResizeListener.js +13 -13
  22. package/src/injected-js/main.js +11 -24
  23. package/src/injected-js/message-metadata-holder.js +52 -82
  24. package/src/injected-js/setup-data-exposer.js +89 -148
  25. package/src/injected-js/setup-error-silencer.js +21 -21
  26. package/src/injected-js/setup-event-reemitter.js +30 -22
  27. package/src/injected-js/setupInboxCustomViewLinkFixer.js +24 -29
  28. package/src/injected-js/setupPushStateListener.js +18 -11
  29. package/src/injected-js/xhr-helper.js +62 -65
  30. package/src/injected-js/xhr-proxy-factory.js +195 -445
  31. package/src/injected-js/xhr-proxy-factory.test.js +824 -991
  32. package/src/platform-implementation-js/constants/router.js +14 -9
  33. package/src/platform-implementation-js/constants/toolbars.js +8 -3
  34. package/src/platform-implementation-js/dom-driver/gmail/custom-style.js +13 -13
  35. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.js +115 -136
  36. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +13 -14
  37. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.js +27 -48
  38. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.js +31 -42
  39. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.js +30 -40
  40. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +10 -18
  41. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +21 -28
  42. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +33 -45
  43. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +31 -49
  44. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +58 -65
  45. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.js +40 -124
  46. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.js +17 -22
  47. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.test.js +10 -11
  48. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.js +44 -80
  49. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.js +19 -26
  50. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.js +71 -147
  51. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.js +91 -148
  52. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +150 -166
  53. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.test.js +70 -120
  54. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.js +15 -15
  55. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.js +44 -67
  56. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +230 -379
  57. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.test.js +121 -307
  58. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.js +17 -24
  59. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.js +41 -49
  60. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.js +30 -40
  61. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +28 -60
  62. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +61 -133
  63. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +30 -42
  64. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.test.js +52 -46
  65. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +354 -694
  66. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +77 -93
  67. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +35 -82
  68. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.test.js +44 -94
  69. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +12 -19
  70. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +17 -29
  71. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.js +26 -26
  72. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +391 -797
  73. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +7 -9
  74. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +60 -109
  75. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +95 -135
  76. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +103 -211
  77. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.test.js +61 -61
  78. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.js +17 -17
  79. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +188 -541
  80. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +67 -135
  81. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +27 -49
  82. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-inner-sidebar.js +7 -13
  83. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-outer-sidebar.js +9 -22
  84. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +36 -63
  85. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +38 -113
  86. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +11 -16
  87. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +11 -17
  88. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +8 -11
  89. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +27 -47
  90. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +11 -24
  91. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +59 -111
  92. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +15 -14
  93. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +11 -17
  94. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +18 -24
  95. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +19 -23
  96. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +11 -19
  97. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +141 -376
  98. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +17 -28
  99. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +34 -70
  100. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +10 -17
  101. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +83 -137
  102. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +10 -19
  103. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +632 -1190
  104. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +29 -38
  105. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +327 -617
  106. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +26 -49
  107. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +188 -380
  108. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +104 -194
  109. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +382 -811
  110. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view/add-icon-area.js +34 -58
  111. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.js +330 -581
  112. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.test.js +123 -277
  113. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +15 -35
  114. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +216 -571
  115. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +152 -336
  116. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +87 -211
  117. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +10 -11
  118. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +20 -29
  119. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +41 -76
  120. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.js +45 -99
  121. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +76 -128
  122. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +128 -319
  123. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.js +45 -78
  124. package/src/platform-implementation-js/dom-driver/inbox/__mocks__/getSidebarClassnames.js +8 -4
  125. package/src/platform-implementation-js/dom-driver/inbox/addNavItem.js +36 -54
  126. package/src/platform-implementation-js/dom-driver/inbox/addRecipientRow.js +35 -53
  127. package/src/platform-implementation-js/dom-driver/inbox/createLink.js +13 -15
  128. package/src/platform-implementation-js/dom-driver/inbox/createLink.test.js +15 -18
  129. package/src/platform-implementation-js/dom-driver/inbox/custom-style.js +14 -13
  130. package/src/platform-implementation-js/dom-driver/inbox/detection/appToolbarLocation/parser.js +14 -20
  131. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentCard/parser.js +14 -13
  132. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentOverlay/parser.js +35 -67
  133. package/src/platform-implementation-js/dom-driver/inbox/detection/chatSidebar/parser.js +16 -18
  134. package/src/platform-implementation-js/dom-driver/inbox/detection/compose/parser.js +68 -185
  135. package/src/platform-implementation-js/dom-driver/inbox/detection/message/parser.js +28 -56
  136. package/src/platform-implementation-js/dom-driver/inbox/detection/nativeDrawer/parser.js +12 -10
  137. package/src/platform-implementation-js/dom-driver/inbox/detection/searchBar/parser.js +16 -16
  138. package/src/platform-implementation-js/dom-driver/inbox/detection/thread/parser.js +24 -35
  139. package/src/platform-implementation-js/dom-driver/inbox/detection/thread-row/parser.js +37 -89
  140. package/src/platform-implementation-js/dom-driver/inbox/getComposeViewDriverLiveSet.js +56 -78
  141. package/src/platform-implementation-js/dom-driver/inbox/getInboxMessageIdForInboxThreadId.js +26 -32
  142. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.js +52 -109
  143. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.test.js +7 -8
  144. package/src/platform-implementation-js/dom-driver/inbox/gotoView.js +16 -20
  145. package/src/platform-implementation-js/dom-driver/inbox/gotoView.test.js +15 -16
  146. package/src/platform-implementation-js/dom-driver/inbox/inbox-butter-bar-driver.js +75 -83
  147. package/src/platform-implementation-js/dom-driver/inbox/inbox-driver.js +530 -822
  148. package/src/platform-implementation-js/dom-driver/inbox/inbox-page-communicator.js +48 -61
  149. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.js +9 -12
  150. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.test.js +12 -19
  151. package/src/platform-implementation-js/dom-driver/inbox/makePageParserTree.js +24 -33
  152. package/src/platform-implementation-js/dom-driver/inbox/pageParserOptions.js +201 -388
  153. package/src/platform-implementation-js/dom-driver/inbox/registerSearchSuggestionsProvider.js +249 -265
  154. package/src/platform-implementation-js/dom-driver/inbox/setupCustomAutocompleteSelectionHandling.js +84 -152
  155. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.js +55 -67
  156. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.test.js +43 -65
  157. package/src/platform-implementation-js/dom-driver/inbox/views/InboxLabelView.js +31 -56
  158. package/src/platform-implementation-js/dom-driver/inbox/views/InboxMoleViewDriver.js +191 -294
  159. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarButtonView.js +32 -45
  160. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarView.js +21 -39
  161. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-sidebar-view.js +153 -240
  162. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-button-view.js +75 -150
  163. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-tooltip-view.js +20 -37
  164. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-card-view.js +60 -114
  165. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-overlay-view.js +47 -65
  166. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +41 -52
  167. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-chat-sidebar-view.js +27 -36
  168. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-button-view.js +52 -80
  169. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-view.js +465 -649
  170. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.js +37 -58
  171. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.test.js +14 -26
  172. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +118 -235
  173. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dropdown-view.js +10 -11
  174. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dummy-route-view.js +28 -46
  175. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-message-view.js +131 -202
  176. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-modal-view.js +40 -80
  177. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-route-view.js +35 -61
  178. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-row-view.js +124 -221
  179. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.js +125 -213
  180. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.test.js +104 -126
  181. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-tooltip-view.js +36 -51
  182. package/src/platform-implementation-js/dom-driver/inbox/views/inboxNavItemView.js +158 -297
  183. package/src/platform-implementation-js/dom-driver/inbox/waitForAnimationClickBlockerGone.js +21 -35
  184. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +24 -43
  185. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +39 -68
  186. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +14 -19
  187. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +27 -35
  188. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +16 -22
  189. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +14 -14
  190. package/src/platform-implementation-js/driver-common/inboxAjax.js +12 -7
  191. package/src/platform-implementation-js/driver-common/requestGmailThread.js +19 -20
  192. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +197 -306
  193. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +113 -161
  194. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +1 -114
  195. package/src/platform-implementation-js/driver-interfaces/driver.js +1 -131
  196. package/src/platform-implementation-js/driver-interfaces/message-view-driver.js +4 -48
  197. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +1 -29
  198. package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +1 -32
  199. package/src/platform-implementation-js/driver-interfaces/thread-row-view-driver.js +1 -11
  200. package/src/platform-implementation-js/lib/array-to-lifetimes.js +43 -41
  201. package/src/platform-implementation-js/lib/array-to-lifetimes.test.js +139 -155
  202. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +19 -38
  203. package/src/platform-implementation-js/lib/css-selector-escape.js +7 -3
  204. package/src/platform-implementation-js/lib/dom/element-view-mapper.js +8 -11
  205. package/src/platform-implementation-js/lib/dom/get-selection.js +23 -52
  206. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +69 -101
  207. package/src/platform-implementation-js/lib/dom/is-node-in-range.js +8 -10
  208. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.js +15 -17
  209. package/src/platform-implementation-js/lib/dom/querySelectorOne.js +8 -11
  210. package/src/platform-implementation-js/lib/dom/set-css.js +7 -3
  211. package/src/platform-implementation-js/lib/dom/set-value-and-dispatch-event.js +9 -11
  212. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +32 -33
  213. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.test.js +23 -26
  214. package/src/platform-implementation-js/lib/handle-compose-link-chips.js +86 -149
  215. package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +42 -57
  216. package/src/platform-implementation-js/lib/make-revocable-function.js +19 -21
  217. package/src/platform-implementation-js/lib/make-revocable-function.test.js +20 -22
  218. package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +15 -17
  219. package/src/platform-implementation-js/lib/parseParamsFromRouteID.test.js +9 -18
  220. package/src/platform-implementation-js/lib/populateRouteID.js +8 -9
  221. package/src/platform-implementation-js/lib/populateRouteID.test.js +20 -19
  222. package/src/platform-implementation-js/lib/react/ElementContainer.js +23 -20
  223. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.js +10 -9
  224. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.test.js +13 -20
  225. package/src/platform-implementation-js/lib/routeIDmatchesHash.js +13 -18
  226. package/src/platform-implementation-js/lib/routeIDmatchesHash.test.js +11 -17
  227. package/src/platform-implementation-js/lib/shared-style.js +14 -13
  228. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +18 -17
  229. package/src/platform-implementation-js/lib/toLiveSet.js +17 -15
  230. package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +6 -5
  231. package/src/platform-implementation-js/main.js +9 -24
  232. package/src/platform-implementation-js/namespaces/compose.js +37 -60
  233. package/src/platform-implementation-js/namespaces/conversations.js +52 -124
  234. package/src/platform-implementation-js/namespaces/global.js +27 -39
  235. package/src/platform-implementation-js/namespaces/keyboard.js +29 -33
  236. package/src/platform-implementation-js/namespaces/lists.js +25 -31
  237. package/src/platform-implementation-js/namespaces/modal.js +34 -28
  238. package/src/platform-implementation-js/namespaces/nav-menu.js +30 -45
  239. package/src/platform-implementation-js/namespaces/router.js +70 -137
  240. package/src/platform-implementation-js/namespaces/search.js +19 -17
  241. package/src/platform-implementation-js/namespaces/toolbars.js +71 -117
  242. package/src/platform-implementation-js/namespaces/user.js +36 -37
  243. package/src/platform-implementation-js/namespaces/widgets.js +54 -61
  244. package/src/platform-implementation-js/platform-implementation.js +98 -229
  245. package/src/platform-implementation-js/views/app-toolbar-button-view.js +26 -47
  246. package/src/platform-implementation-js/views/collapsible-section-view.js +66 -63
  247. package/src/platform-implementation-js/views/content-panel-view.js +28 -30
  248. package/src/platform-implementation-js/views/conversations/attachment-card-view.js +21 -44
  249. package/src/platform-implementation-js/views/conversations/custom-message-view.js +44 -104
  250. package/src/platform-implementation-js/views/conversations/message-view.js +131 -202
  251. package/src/platform-implementation-js/views/conversations/thread-view.js +75 -127
  252. package/src/platform-implementation-js/views/native-nav-item-view.js +32 -65
  253. package/src/platform-implementation-js/views/nav-item-view.js +51 -115
  254. package/src/platform-implementation-js/views/route-view/custom-route-view.js +25 -20
  255. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +18 -18
  256. package/src/platform-implementation-js/views/route-view/list-route-view.js +30 -52
  257. package/src/platform-implementation-js/views/route-view/route-view.js +24 -35
  258. package/src/platform-implementation-js/views/section-view.js +60 -52
  259. package/src/platform-implementation-js/views/thread-row-view.js +49 -74
  260. package/src/platform-implementation-js/widgets/drawer-view.js +29 -36
  261. package/src/platform-implementation-js/widgets/modal-view.js +39 -68
  262. package/src/platform-implementation-js/widgets/mole-view.js +22 -22
  263. 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
+ }