@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,354 +1,185 @@
1
- /* @flow */
2
-
3
- import asap from 'asap';
4
- import { defn, defonce } from 'ud';
5
- import GmailComposeButtonView from './gmail-compose-button-view';
6
- import BasicButtonViewController from '../../../../widgets/buttons/basic-button-view-controller';
7
- import DropdownButtonViewController from '../../../../widgets/buttons/dropdown-button-view-controller';
8
- import GmailDropdownView from '../../widgets/gmail-dropdown-view';
9
- import insertElementInOrder from '../../../../lib/dom/insert-element-in-order';
10
- import { simulateClick } from '../../../../lib/dom/simulate-mouse-event';
11
- import waitFor from '../../../../lib/wait-for';
12
- import Logger from '../../../../lib/logger';
13
- import querySelector from '../../../../lib/dom/querySelectorOrFail';
14
- import censorHTMLtree from '../../../../../common/censorHTMLtree';
15
- import positionFormattingToolbar from './position-formatting-toolbar';
16
- import type GmailComposeView from '../gmail-compose-view';
17
- import get from '../../../../../common/get-or-fail';
18
-
19
- const memberMap = defonce(module, () => new Map());
20
-
21
- export default defn(
22
- module,
23
- function manageButtonGrouping(gmailComposeView: GmailComposeView) {
24
- if (
25
- gmailComposeView
26
- .getElement()
27
- .getAttribute('data-button-grouping-managed') === 'true'
28
- ) {
29
- return;
30
- }
31
-
32
- var members = {};
33
- memberMap.set(gmailComposeView, members);
34
-
35
- gmailComposeView
36
- .getElement()
37
- .setAttribute('data-button-grouping-managed', 'true');
38
-
39
- gmailComposeView
40
- .getEventStream()
41
- .filter((event) => event.eventName === 'fullscreenChanged')
42
- .debounce(10)
43
- .onValue(() => {
44
- _handleComposeFullscreenStateChanged(gmailComposeView);
45
- });
46
-
47
- gmailComposeView
48
- .getEventStream()
49
- .filter(function (event) {
50
- return event.eventName === 'buttonAdded';
51
- })
52
- .onValue(() => {
53
- _handleButtonAdded(gmailComposeView);
54
- });
55
-
56
- gmailComposeView
57
- .getEventStream()
58
- .filter(
59
- (event) =>
60
- event.eventName === 'resize' || event.eventName === 'restored'
61
- )
62
- .onValue(() => {
63
- _handleButtonAdded(gmailComposeView);
64
- });
65
-
66
- var el = gmailComposeView.getElement();
67
- gmailComposeView.getStopper().onValue(function () {
68
- memberMap.delete(gmailComposeView);
69
- el.setAttribute('data-button-grouping-managed', 'false');
70
- });
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _asap = _interopRequireDefault(require("asap"));
9
+ var _ud = require("ud");
10
+ var _gmailComposeButtonView = _interopRequireDefault(require("./gmail-compose-button-view"));
11
+ var _basicButtonViewController = _interopRequireDefault(require("../../../../widgets/buttons/basic-button-view-controller"));
12
+ var _dropdownButtonViewController = _interopRequireDefault(require("../../../../widgets/buttons/dropdown-button-view-controller"));
13
+ var _gmailDropdownView = _interopRequireDefault(require("../../widgets/gmail-dropdown-view"));
14
+ var _insertElementInOrder = _interopRequireDefault(require("../../../../lib/dom/insert-element-in-order"));
15
+ var _simulateMouseEvent = require("../../../../lib/dom/simulate-mouse-event");
16
+ var _waitFor = _interopRequireDefault(require("../../../../lib/wait-for"));
17
+ var _logger = _interopRequireDefault(require("../../../../lib/logger"));
18
+ var _querySelectorOrFail = _interopRequireDefault(require("../../../../lib/dom/querySelectorOrFail"));
19
+ var _censorHTMLtree = _interopRequireDefault(require("../../../../../common/censorHTMLtree"));
20
+ var _positionFormattingToolbar = _interopRequireDefault(require("./position-formatting-toolbar"));
21
+ var _getOrFail = _interopRequireDefault(require("../../../../../common/get-or-fail"));
22
+ const memberMap = (0, _ud.defonce)(module, () => new Map());
23
+ var _default = (0, _ud.defn)(module, function manageButtonGrouping(gmailComposeView) {
24
+ if (gmailComposeView.getElement().getAttribute('data-button-grouping-managed') === 'true') {
25
+ return;
71
26
  }
72
- );
73
-
27
+ var members = {};
28
+ memberMap.set(gmailComposeView, members);
29
+ gmailComposeView.getElement().setAttribute('data-button-grouping-managed', 'true');
30
+ gmailComposeView.getEventStream().filter(event => event.eventName === 'fullscreenChanged').debounce(10).onValue(() => {
31
+ _handleComposeFullscreenStateChanged(gmailComposeView);
32
+ });
33
+ gmailComposeView.getEventStream().filter(function (event) {
34
+ return event.eventName === 'buttonAdded';
35
+ }).onValue(() => {
36
+ _handleButtonAdded(gmailComposeView);
37
+ });
38
+ gmailComposeView.getEventStream().filter(event => event.eventName === 'resize' || event.eventName === 'restored').onValue(() => {
39
+ _handleButtonAdded(gmailComposeView);
40
+ });
41
+ var el = gmailComposeView.getElement();
42
+ gmailComposeView.getStopper().onValue(function () {
43
+ memberMap.delete(gmailComposeView);
44
+ el.setAttribute('data-button-grouping-managed', 'false');
45
+ });
46
+ });
47
+ exports.default = _default;
74
48
  function _handleComposeFullscreenStateChanged(gmailComposeView) {
75
- if (
76
- gmailComposeView
77
- .getElement()
78
- .querySelector('.inboxsdk__compose_groupedActionToolbar')
79
- ) {
49
+ if (gmailComposeView.getElement().querySelector('.inboxsdk__compose_groupedActionToolbar')) {
80
50
  _ungroupButtons(gmailComposeView);
81
51
  }
82
-
83
52
  _handleButtonAdded(gmailComposeView);
84
53
  }
85
-
86
54
  function _ungroupButtons(gmailComposeView) {
87
- const members = get(memberMap, gmailComposeView);
88
- if (members.groupedToolbarButtonViewController)
89
- members.groupedToolbarButtonViewController.destroy();
90
- if (members.formattingToolbarMutationObserver)
91
- members.formattingToolbarMutationObserver.disconnect();
92
-
93
- const buttonToolbar: ?HTMLElement = (members.groupedActionToolbarContainer
94
- .firstElementChild: any);
95
-
55
+ const members = (0, _getOrFail.default)(memberMap, gmailComposeView);
56
+ if (members.groupedToolbarButtonViewController) members.groupedToolbarButtonViewController.destroy();
57
+ if (members.formattingToolbarMutationObserver) members.formattingToolbarMutationObserver.disconnect();
58
+ const buttonToolbar = members.groupedActionToolbarContainer.firstElementChild;
96
59
  if (buttonToolbar) {
97
60
  _moveNoOverflowButtonsToContainer(gmailComposeView, buttonToolbar);
98
61
  buttonToolbar.remove();
99
-
100
- const composeActionToolbar = querySelector(
101
- gmailComposeView.getElement(),
102
- '.inboxsdk__compose_actionToolbar'
103
- );
62
+ const composeActionToolbar = (0, _querySelectorOrFail.default)(gmailComposeView.getElement(), '.inboxsdk__compose_actionToolbar');
104
63
  composeActionToolbar.innerHTML = '';
105
64
  composeActionToolbar.appendChild(buttonToolbar);
106
65
  }
107
66
  }
108
-
109
- function _handleButtonAdded(gmailComposeView: GmailComposeView) {
67
+ function _handleButtonAdded(gmailComposeView) {
110
68
  _groupButtonsIfNeeded(gmailComposeView);
111
69
  _fixToolbarPosition(gmailComposeView);
112
70
  }
113
-
114
71
  const groupButtonsIfNeededMap = new WeakSet();
115
- function _groupButtonsIfNeeded(gmailComposeView: GmailComposeView) {
72
+ function _groupButtonsIfNeeded(gmailComposeView) {
116
73
  if (groupButtonsIfNeededMap.has(gmailComposeView)) return;
117
-
118
74
  groupButtonsIfNeededMap.add(gmailComposeView);
119
-
120
75
  window.requestAnimationFrame(() => {
121
76
  groupButtonsIfNeededMap.delete(gmailComposeView);
122
-
123
77
  if (gmailComposeView.isDestroyed()) return;
124
-
125
78
  _narrowButtonsIfNeeded(gmailComposeView);
126
-
127
79
  if (_doButtonsNeedToGroup(gmailComposeView)) {
128
- var groupedActionToolbarContainer =
129
- _createGroupedActionToolbarContainer(gmailComposeView);
130
- var groupToggleButtonViewController =
131
- _createGroupToggleButtonViewController(gmailComposeView);
132
-
80
+ var groupedActionToolbarContainer = _createGroupedActionToolbarContainer(gmailComposeView);
81
+ var groupToggleButtonViewController = _createGroupToggleButtonViewController(gmailComposeView);
133
82
  _swapToActionToolbar(gmailComposeView, groupToggleButtonViewController);
134
- _checkAndSetInitialState(
135
- gmailComposeView,
136
- groupToggleButtonViewController
137
- );
138
- _startMonitoringFormattingToolbar(
139
- gmailComposeView,
140
- groupToggleButtonViewController
141
- );
83
+ _checkAndSetInitialState(gmailComposeView, groupToggleButtonViewController);
84
+ _startMonitoringFormattingToolbar(gmailComposeView, groupToggleButtonViewController);
142
85
 
143
86
  // remove narrow buttons class
144
- gmailComposeView
145
- .getElement()
146
- .classList.remove('inboxsdk__compose_narrow_buttons');
87
+ gmailComposeView.getElement().classList.remove('inboxsdk__compose_narrow_buttons');
147
88
 
148
89
  // see if we should narrow buttons again
149
90
  _narrowButtonsIfNeeded(gmailComposeView);
150
-
151
91
  gmailComposeView.getStopper().onValue(function () {
152
- (groupedActionToolbarContainer: any).remove();
92
+ groupedActionToolbarContainer.remove();
153
93
  groupToggleButtonViewController.destroy();
154
94
  });
155
95
  }
156
96
  });
157
97
  }
158
-
159
- function _narrowButtonsIfNeeded(gmailComposeView: GmailComposeView) {
160
- if (
161
- gmailComposeView.getElement().clientWidth >
162
- _getBottomBarTableWidth(gmailComposeView) ||
163
- gmailComposeView.getElement().querySelectorAll('.inboxsdk__composeButton')
164
- .length === 0 ||
165
- gmailComposeView
166
- .getElement()
167
- .classList.contains('inboxsdk__compose_narrow_buttons')
168
- )
169
- return;
170
-
171
- gmailComposeView
172
- .getElement()
173
- .classList.add('inboxsdk__compose_narrow_buttons');
98
+ function _narrowButtonsIfNeeded(gmailComposeView) {
99
+ if (gmailComposeView.getElement().clientWidth > _getBottomBarTableWidth(gmailComposeView) || gmailComposeView.getElement().querySelectorAll('.inboxsdk__composeButton').length === 0 || gmailComposeView.getElement().classList.contains('inboxsdk__compose_narrow_buttons')) return;
100
+ gmailComposeView.getElement().classList.add('inboxsdk__compose_narrow_buttons');
174
101
  //force reflow
175
102
  gmailComposeView.getElement().offsetTop;
176
103
  }
177
-
178
- function _doButtonsNeedToGroup(gmailComposeView: GmailComposeView): boolean {
179
- if (
180
- gmailComposeView
181
- .getElement()
182
- .querySelector('.inboxsdk__compose_groupedActionToolbar')
183
- )
184
- return false;
185
- if (
186
- gmailComposeView
187
- .getElement()
188
- .querySelectorAll('.inboxsdk__composeButton:not([data-no-overflow])')
189
- .length < 2
190
- )
191
- return false;
192
-
193
- return (
194
- _getBottomBarTableWidth(gmailComposeView) >
195
- gmailComposeView.getBottomToolbarContainer().clientWidth
196
- );
104
+ function _doButtonsNeedToGroup(gmailComposeView) {
105
+ if (gmailComposeView.getElement().querySelector('.inboxsdk__compose_groupedActionToolbar')) return false;
106
+ if (gmailComposeView.getElement().querySelectorAll('.inboxsdk__composeButton:not([data-no-overflow])').length < 2) return false;
107
+ return _getBottomBarTableWidth(gmailComposeView) > gmailComposeView.getBottomToolbarContainer().clientWidth;
197
108
  }
198
-
199
- function _getBottomBarTableWidth(gmailComposeView: GmailComposeView): number {
109
+ function _getBottomBarTableWidth(gmailComposeView) {
200
110
  const bottomBarTable = gmailComposeView.getBottomBarTable();
201
-
202
- return Array.from(bottomBarTable.querySelectorAll('.btC > td')).reduce(
203
- (total, el) => total + el.clientWidth,
204
- 0
205
- );
111
+ return Array.from(bottomBarTable.querySelectorAll('.btC > td')).reduce((total, el) => total + el.clientWidth, 0);
206
112
  }
207
-
208
- function _createGroupedActionToolbarContainer(
209
- gmailComposeView: GmailComposeView
210
- ): HTMLElement {
211
- var groupedActionToolbarContainer: HTMLElement =
212
- document.createElement('div');
213
- groupedActionToolbarContainer.classList.add(
214
- 'inboxsdk__compose_groupedActionToolbar'
215
- );
216
- groupedActionToolbarContainer.innerHTML =
217
- '<div class="inboxsdk__compose_groupedActionToolbar_arrow"> </div>';
218
-
219
- get(memberMap, gmailComposeView).groupedActionToolbarContainer =
220
- groupedActionToolbarContainer;
221
-
113
+ function _createGroupedActionToolbarContainer(gmailComposeView) {
114
+ var groupedActionToolbarContainer = document.createElement('div');
115
+ groupedActionToolbarContainer.classList.add('inboxsdk__compose_groupedActionToolbar');
116
+ groupedActionToolbarContainer.innerHTML = '<div class="inboxsdk__compose_groupedActionToolbar_arrow"> </div>';
117
+ (0, _getOrFail.default)(memberMap, gmailComposeView).groupedActionToolbarContainer = groupedActionToolbarContainer;
222
118
  groupedActionToolbarContainer.style.display = 'none';
223
-
224
119
  return groupedActionToolbarContainer;
225
120
  }
226
-
227
- function _createGroupToggleButtonViewController(
228
- gmailComposeView: GmailComposeView
229
- ) {
230
- var members = get(memberMap, gmailComposeView);
231
-
121
+ function _createGroupToggleButtonViewController(gmailComposeView) {
122
+ var members = (0, _getOrFail.default)(memberMap, gmailComposeView);
232
123
  var buttonView = _createGroupToggleButtonView();
233
-
234
- var buttonViewController = new BasicButtonViewController({
124
+ var buttonViewController = new _basicButtonViewController.default({
235
125
  buttonView: buttonView,
236
126
  activateFunction: function () {
237
127
  _toggleGroupButtonToolbar(gmailComposeView, buttonViewController);
238
-
239
128
  if (_isToggleExpanded()) {
240
- get(memberMap, gmailComposeView)
241
- .groupedActionToolbarContainer.querySelectorAll(
242
- '.inboxsdk__composeButton'
243
- )[0]
244
- .focus();
129
+ (0, _getOrFail.default)(memberMap, gmailComposeView).groupedActionToolbarContainer.querySelectorAll('.inboxsdk__composeButton')[0].focus();
245
130
  }
246
- },
131
+ }
247
132
  });
248
-
249
- members.groupedActionToolbarContainer.addEventListener(
250
- 'keydown',
251
- (function (event) {
252
- if (event.which === 27) {
253
- //escape
254
- buttonViewController.activate();
255
-
256
- buttonView.getElement().focus();
257
-
258
- event.preventDefault();
259
- event.stopPropagation();
260
- }
261
- }: any)
262
- );
263
-
264
- get(memberMap, gmailComposeView).groupedToolbarButtonViewController =
265
- buttonViewController;
266
-
133
+ members.groupedActionToolbarContainer.addEventListener('keydown', function (event) {
134
+ if (event.which === 27) {
135
+ //escape
136
+ buttonViewController.activate();
137
+ buttonView.getElement().focus();
138
+ event.preventDefault();
139
+ event.stopPropagation();
140
+ }
141
+ });
142
+ (0, _getOrFail.default)(memberMap, gmailComposeView).groupedToolbarButtonViewController = buttonViewController;
267
143
  return buttonViewController;
268
144
  }
269
-
270
145
  function _createGroupToggleButtonView() {
271
- var buttonView = new GmailComposeButtonView({
146
+ var buttonView = new _gmailComposeButtonView.default({
272
147
  tooltip: 'More Tools',
273
- iconUrl:
274
- 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAEJGlDQ1BJQ0MgUHJvZmlsZQAAOBGFVd9v21QUPolvUqQWPyBYR4eKxa9VU1u5GxqtxgZJk6XtShal6dgqJOQ6N4mpGwfb6baqT3uBNwb8AUDZAw9IPCENBmJ72fbAtElThyqqSUh76MQPISbtBVXhu3ZiJ1PEXPX6yznfOec7517bRD1fabWaGVWIlquunc8klZOnFpSeTYrSs9RLA9Sr6U4tkcvNEi7BFffO6+EdigjL7ZHu/k72I796i9zRiSJPwG4VHX0Z+AxRzNRrtksUvwf7+Gm3BtzzHPDTNgQCqwKXfZwSeNHHJz1OIT8JjtAq6xWtCLwGPLzYZi+3YV8DGMiT4VVuG7oiZpGzrZJhcs/hL49xtzH/Dy6bdfTsXYNY+5yluWO4D4neK/ZUvok/17X0HPBLsF+vuUlhfwX4j/rSfAJ4H1H0qZJ9dN7nR19frRTeBt4Fe9FwpwtN+2p1MXscGLHR9SXrmMgjONd1ZxKzpBeA71b4tNhj6JGoyFNp4GHgwUp9qplfmnFW5oTdy7NamcwCI49kv6fN5IAHgD+0rbyoBc3SOjczohbyS1drbq6pQdqumllRC/0ymTtej8gpbbuVwpQfyw66dqEZyxZKxtHpJn+tZnpnEdrYBbueF9qQn93S7HQGGHnYP7w6L+YGHNtd1FJitqPAR+hERCNOFi1i1alKO6RQnjKUxL1GNjwlMsiEhcPLYTEiT9ISbN15OY/jx4SMshe9LaJRpTvHr3C/ybFYP1PZAfwfYrPsMBtnE6SwN9ib7AhLwTrBDgUKcm06FSrTfSj187xPdVQWOk5Q8vxAfSiIUc7Z7xr6zY/+hpqwSyv0I0/QMTRb7RMgBxNodTfSPqdraz/sDjzKBrv4zu2+a2t0/HHzjd2Lbcc2sG7GtsL42K+xLfxtUgI7YHqKlqHK8HbCCXgjHT1cAdMlDetv4FnQ2lLasaOl6vmB0CMmwT/IPszSueHQqv6i/qluqF+oF9TfO2qEGTumJH0qfSv9KH0nfS/9TIp0Wboi/SRdlb6RLgU5u++9nyXYe69fYRPdil1o1WufNSdTTsp75BfllPy8/LI8G7AUuV8ek6fkvfDsCfbNDP0dvRh0CrNqTbV7LfEEGDQPJQadBtfGVMWEq3QWWdufk6ZSNsjG2PQjp3ZcnOWWing6noonSInvi0/Ex+IzAreevPhe+CawpgP1/pMTMDo64G0sTCXIM+KdOnFWRfQKdJvQzV1+Bt8OokmrdtY2yhVX2a+qrykJfMq4Ml3VR4cVzTQVz+UoNne4vcKLoyS+gyKO6EHe+75Fdt0Mbe5bRIf/wjvrVmhbqBN97RD1vxrahvBOfOYzoosH9bq94uejSOQGkVM6sN/7HelL4t10t9F4gPdVzydEOx83Gv+uNxo7XyL/FtFl8z9ZAHF4bBsrEwAAADxJREFUOBFjYKASYISa8x/NPJLFmdAMIJs7+Awi2ys000hy7EBdghHLgy+wqeYimgU+2QaPxhrZQUe6RgBYwgkWqJftAwAAAABJRU5ErkJggg==',
148
+ iconUrl: 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAEJGlDQ1BJQ0MgUHJvZmlsZQAAOBGFVd9v21QUPolvUqQWPyBYR4eKxa9VU1u5GxqtxgZJk6XtShal6dgqJOQ6N4mpGwfb6baqT3uBNwb8AUDZAw9IPCENBmJ72fbAtElThyqqSUh76MQPISbtBVXhu3ZiJ1PEXPX6yznfOec7517bRD1fabWaGVWIlquunc8klZOnFpSeTYrSs9RLA9Sr6U4tkcvNEi7BFffO6+EdigjL7ZHu/k72I796i9zRiSJPwG4VHX0Z+AxRzNRrtksUvwf7+Gm3BtzzHPDTNgQCqwKXfZwSeNHHJz1OIT8JjtAq6xWtCLwGPLzYZi+3YV8DGMiT4VVuG7oiZpGzrZJhcs/hL49xtzH/Dy6bdfTsXYNY+5yluWO4D4neK/ZUvok/17X0HPBLsF+vuUlhfwX4j/rSfAJ4H1H0qZJ9dN7nR19frRTeBt4Fe9FwpwtN+2p1MXscGLHR9SXrmMgjONd1ZxKzpBeA71b4tNhj6JGoyFNp4GHgwUp9qplfmnFW5oTdy7NamcwCI49kv6fN5IAHgD+0rbyoBc3SOjczohbyS1drbq6pQdqumllRC/0ymTtej8gpbbuVwpQfyw66dqEZyxZKxtHpJn+tZnpnEdrYBbueF9qQn93S7HQGGHnYP7w6L+YGHNtd1FJitqPAR+hERCNOFi1i1alKO6RQnjKUxL1GNjwlMsiEhcPLYTEiT9ISbN15OY/jx4SMshe9LaJRpTvHr3C/ybFYP1PZAfwfYrPsMBtnE6SwN9ib7AhLwTrBDgUKcm06FSrTfSj187xPdVQWOk5Q8vxAfSiIUc7Z7xr6zY/+hpqwSyv0I0/QMTRb7RMgBxNodTfSPqdraz/sDjzKBrv4zu2+a2t0/HHzjd2Lbcc2sG7GtsL42K+xLfxtUgI7YHqKlqHK8HbCCXgjHT1cAdMlDetv4FnQ2lLasaOl6vmB0CMmwT/IPszSueHQqv6i/qluqF+oF9TfO2qEGTumJH0qfSv9KH0nfS/9TIp0Wboi/SRdlb6RLgU5u++9nyXYe69fYRPdil1o1WufNSdTTsp75BfllPy8/LI8G7AUuV8ek6fkvfDsCfbNDP0dvRh0CrNqTbV7LfEEGDQPJQadBtfGVMWEq3QWWdufk6ZSNsjG2PQjp3ZcnOWWing6noonSInvi0/Ex+IzAreevPhe+CawpgP1/pMTMDo64G0sTCXIM+KdOnFWRfQKdJvQzV1+Bt8OokmrdtY2yhVX2a+qrykJfMq4Ml3VR4cVzTQVz+UoNne4vcKLoyS+gyKO6EHe+75Fdt0Mbe5bRIf/wjvrVmhbqBN97RD1vxrahvBOfOYzoosH9bq94uejSOQGkVM6sN/7HelL4t10t9F4gPdVzydEOx83Gv+uNxo7XyL/FtFl8z9ZAHF4bBsrEwAAADxJREFUOBFjYKASYISa8x/NPJLFmdAMIJs7+Awi2ys000hy7EBdghHLgy+wqeYimgU+2QaPxhrZQUe6RgBYwgkWqJftAwAAAABJRU5ErkJggg=='
275
149
  });
276
-
277
150
  buttonView.addClass('inboxsdk__compose_groupedActionButton');
278
151
  buttonView.getElement().setAttribute('tabindex', '1');
279
-
280
152
  return buttonView;
281
153
  }
282
-
283
154
  function _swapToActionToolbar(gmailComposeView, buttonViewController) {
284
- const actionToolbar = querySelector(
285
- gmailComposeView.getElement(),
286
- '.inboxsdk__compose_actionToolbar > div'
287
- );
288
- const actionToolbarContainer: HTMLElement =
289
- (actionToolbar.parentElement: any);
290
-
155
+ const actionToolbar = (0, _querySelectorOrFail.default)(gmailComposeView.getElement(), '.inboxsdk__compose_actionToolbar > div');
156
+ const actionToolbarContainer = actionToolbar.parentElement;
291
157
  const newActionToolbar = document.createElement('div');
292
158
  newActionToolbar.appendChild(buttonViewController.getView().getElement());
293
-
294
159
  actionToolbarContainer.appendChild(newActionToolbar);
295
- const groupedActionToolbarContainer: HTMLElement = get(
296
- memberMap,
297
- gmailComposeView
298
- ).groupedActionToolbarContainer;
299
- groupedActionToolbarContainer.insertBefore(
300
- actionToolbar,
301
- (groupedActionToolbarContainer.firstElementChild: any)
302
- );
160
+ const groupedActionToolbarContainer = (0, _getOrFail.default)(memberMap, gmailComposeView).groupedActionToolbarContainer;
161
+ groupedActionToolbarContainer.insertBefore(actionToolbar, groupedActionToolbarContainer.firstElementChild);
303
162
  actionToolbarContainer.appendChild(groupedActionToolbarContainer);
304
-
305
163
  _moveNoOverflowButtonsToActionToolbar(gmailComposeView);
306
164
  }
307
-
308
165
  function _moveNoOverflowButtonsToActionToolbar(gmailComposeView) {
309
- const actionToolbar = querySelector(
310
- gmailComposeView.getElement(),
311
- '.inboxsdk__compose_actionToolbar > div'
312
- );
313
-
166
+ const actionToolbar = (0, _querySelectorOrFail.default)(gmailComposeView.getElement(), '.inboxsdk__compose_actionToolbar > div');
314
167
  _moveNoOverflowButtonsToContainer(gmailComposeView, actionToolbar);
315
168
  }
316
-
317
- function _moveNoOverflowButtonsToContainer(
318
- gmailComposeView,
319
- container: HTMLElement
320
- ) {
321
- const noOverflowButtons = gmailComposeView
322
- .getElement()
323
- .querySelectorAll('.inboxsdk__composeButton[data-no-overflow]');
324
-
325
- Array.from(noOverflowButtons).forEach((buttonElement: HTMLElement) =>
326
- insertElementInOrder(container, buttonElement, undefined, true)
327
- );
169
+ function _moveNoOverflowButtonsToContainer(gmailComposeView, container) {
170
+ const noOverflowButtons = gmailComposeView.getElement().querySelectorAll('.inboxsdk__composeButton[data-no-overflow]');
171
+ Array.from(noOverflowButtons).forEach(buttonElement => (0, _insertElementInOrder.default)(container, buttonElement, undefined, true));
328
172
  }
329
-
330
- function _checkAndSetInitialState(
331
- gmailComposeView,
332
- groupToggleButtonViewController
333
- ) {
173
+ function _checkAndSetInitialState(gmailComposeView, groupToggleButtonViewController) {
334
174
  if (_isToggleExpanded()) {
335
- _expandGroupButtonToolbar(
336
- gmailComposeView,
337
- groupToggleButtonViewController
338
- );
175
+ _expandGroupButtonToolbar(gmailComposeView, groupToggleButtonViewController);
339
176
  }
340
177
  }
341
-
342
178
  function _collapseGroupButtonToolbar(gmailComposeView, buttonViewController) {
343
- get(memberMap, gmailComposeView).groupedActionToolbarContainer.style.display =
344
- 'none';
345
- gmailComposeView
346
- .getElement()
347
- .classList.remove('inboxsdk__compose_groupedActionToolbar_visible');
348
-
179
+ (0, _getOrFail.default)(memberMap, gmailComposeView).groupedActionToolbarContainer.style.display = 'none';
180
+ gmailComposeView.getElement().classList.remove('inboxsdk__compose_groupedActionToolbar_visible');
349
181
  buttonViewController.getView().deactivate();
350
182
  localStorage['inboxsdk__compose_groupedActionButton_state'] = 'collapsed';
351
-
352
183
  const bottomToolbarTable = gmailComposeView.getBottomBarTable();
353
184
  bottomToolbarTable.style.position = '';
354
185
 
@@ -356,43 +187,31 @@ function _collapseGroupButtonToolbar(gmailComposeView, buttonViewController) {
356
187
  // in gmail v2 when the body is scrolled Gmail puts a shadow border between the
357
188
  // toolbar and the content. We "jiggle" the scroll position by 1px to trigger Gmails
358
189
  // logic to show/hide the shadow border
359
- const bodyScrollContainer = gmailComposeView
360
- .getElement()
361
- .querySelector('.qz');
190
+ const bodyScrollContainer = gmailComposeView.getElement().querySelector('.qz');
362
191
  if (bodyScrollContainer) {
363
192
  bodyScrollContainer.scrollTop = bodyScrollContainer.scrollTop - 1;
364
193
  }
365
194
  }
366
-
367
195
  function _expandGroupButtonToolbar(gmailComposeView, buttonViewController) {
368
- get(memberMap, gmailComposeView).groupedActionToolbarContainer.style.display =
369
- '';
370
- gmailComposeView
371
- .getElement()
372
- .classList.add('inboxsdk__compose_groupedActionToolbar_visible');
373
-
196
+ (0, _getOrFail.default)(memberMap, gmailComposeView).groupedActionToolbarContainer.style.display = '';
197
+ gmailComposeView.getElement().classList.add('inboxsdk__compose_groupedActionToolbar_visible');
374
198
  buttonViewController.getView().activate();
375
199
  localStorage['inboxsdk__compose_groupedActionButton_state'] = 'expanded';
376
-
377
200
  _positionGroupToolbar(gmailComposeView);
378
-
379
201
  const formattingToolbar = gmailComposeView.getFormattingToolbar();
380
202
  if (formattingToolbar && formattingToolbar.style.display === '') {
381
- simulateClick(gmailComposeView.getFormattingToolbarToggleButton());
203
+ (0, _simulateMouseEvent.simulateClick)(gmailComposeView.getFormattingToolbarToggleButton());
382
204
  }
383
205
 
384
206
  // when expanding the group button this can change how the body is scrolled
385
207
  // in gmail v2 when the body is scrolled Gmail puts a shadow border between the
386
208
  // toolbar and the content. We "jiggle" the scroll position by 1px to trigger Gmails
387
209
  // logic to show/hide the shadow border
388
- const bodyScrollContainer = gmailComposeView
389
- .getElement()
390
- .querySelector('.qz');
210
+ const bodyScrollContainer = gmailComposeView.getElement().querySelector('.qz');
391
211
  if (bodyScrollContainer) {
392
212
  bodyScrollContainer.scrollTop = bodyScrollContainer.scrollTop + 1;
393
213
  }
394
214
  }
395
-
396
215
  function _toggleGroupButtonToolbar(gmailComposeView, buttonViewController) {
397
216
  if (_isToggleExpanded()) {
398
217
  _collapseGroupButtonToolbar(gmailComposeView, buttonViewController);
@@ -400,134 +219,80 @@ function _toggleGroupButtonToolbar(gmailComposeView, buttonViewController) {
400
219
  _expandGroupButtonToolbar(gmailComposeView, buttonViewController);
401
220
  }
402
221
  }
403
-
404
222
  function _isToggleExpanded() {
405
- return (
406
- localStorage['inboxsdk__compose_groupedActionButton_state'] === 'expanded'
407
- );
223
+ return localStorage['inboxsdk__compose_groupedActionButton_state'] === 'expanded';
408
224
  }
409
-
410
225
  const fixToolbarPositionMap = new WeakSet();
411
226
  function _fixToolbarPosition(gmailComposeView) {
412
227
  if (fixToolbarPositionMap.has(gmailComposeView)) return;
413
-
414
228
  fixToolbarPositionMap.add(gmailComposeView);
415
229
  window.requestAnimationFrame(() => {
416
230
  fixToolbarPositionMap.delete(gmailComposeView);
417
231
  if (gmailComposeView.isDestroyed()) return;
418
-
419
- positionFormattingToolbar(gmailComposeView);
420
-
421
- var groupedActionToolbarContainer = gmailComposeView
422
- .getElement()
423
- .querySelector('.inboxsdk__compose_groupedActionToolbar');
232
+ (0, _positionFormattingToolbar.default)(gmailComposeView);
233
+ var groupedActionToolbarContainer = gmailComposeView.getElement().querySelector('.inboxsdk__compose_groupedActionToolbar');
424
234
  if (!groupedActionToolbarContainer) {
425
235
  return;
426
236
  }
427
-
428
237
  if (groupedActionToolbarContainer.style.display === 'none') {
429
238
  return;
430
239
  }
431
240
  _positionGroupToolbar(gmailComposeView);
432
241
  });
433
242
  }
434
-
435
243
  function _positionGroupToolbar(gmailComposeView) {
436
244
  if (gmailComposeView.isMinimized()) {
437
245
  return;
438
246
  }
439
-
440
- var groupedActionToolbarContainer = gmailComposeView
441
- .getElement()
442
- .querySelector('.inboxsdk__compose_groupedActionToolbar');
443
-
247
+ var groupedActionToolbarContainer = gmailComposeView.getElement().querySelector('.inboxsdk__compose_groupedActionToolbar');
444
248
  if (!groupedActionToolbarContainer) {
445
249
  return;
446
250
  }
447
-
448
- const groupedToolbarButton = querySelector(
449
- gmailComposeView.getElement(),
450
- '.inboxsdk__compose_groupedActionButton'
451
- );
452
- const groupedActionToolbarArrow = querySelector(
453
- groupedActionToolbarContainer,
454
- '.inboxsdk__compose_groupedActionToolbar_arrow'
455
- );
456
-
251
+ const groupedToolbarButton = (0, _querySelectorOrFail.default)(gmailComposeView.getElement(), '.inboxsdk__compose_groupedActionButton');
252
+ const groupedActionToolbarArrow = (0, _querySelectorOrFail.default)(groupedActionToolbarContainer, '.inboxsdk__compose_groupedActionToolbar_arrow');
457
253
  groupedActionToolbarContainer.style.display = '';
458
-
459
- if (
460
- groupedToolbarButton.offsetLeft + groupedToolbarButton.clientWidth >
461
- groupedActionToolbarContainer.offsetWidth
462
- ) {
463
- var marginLeft =
464
- groupedToolbarButton.clientWidth / 2 -
465
- groupedActionToolbarContainer.offsetWidth / 2 -
466
- 3;
467
-
468
- groupedActionToolbarContainer.style.left =
469
- groupedToolbarButton.offsetLeft + marginLeft + 'px';
470
-
254
+ if (groupedToolbarButton.offsetLeft + groupedToolbarButton.clientWidth > groupedActionToolbarContainer.offsetWidth) {
255
+ var marginLeft = groupedToolbarButton.clientWidth / 2 - groupedActionToolbarContainer.offsetWidth / 2 - 3;
256
+ groupedActionToolbarContainer.style.left = groupedToolbarButton.offsetLeft + marginLeft + 'px';
471
257
  groupedActionToolbarArrow.style.left = -(marginLeft + 1) + 'px';
472
258
  } else {
473
259
  groupedActionToolbarContainer.style.left = '';
474
- groupedActionToolbarArrow.style.left =
475
- groupedToolbarButton.offsetLeft - 1 + 'px';
260
+ groupedActionToolbarArrow.style.left = groupedToolbarButton.offsetLeft - 1 + 'px';
476
261
  }
477
-
478
262
  const bottomToolbarTable = gmailComposeView.getBottomBarTable();
479
263
  bottomToolbarTable.style.position = 'relative';
480
-
481
264
  const bottomToolbarHeight = gmailComposeView.getBottomBarTable().clientHeight;
482
265
  groupedActionToolbarContainer.style.bottom = `${bottomToolbarHeight + 1}px`;
483
266
  if (bottomToolbarHeight < 1) {
484
267
  const heElements = gmailComposeView.getElement().querySelectorAll('td.HE');
485
- Logger.error(new Error('bottom toolbar had bad height'), {
268
+ _logger.default.error(new Error('bottom toolbar had bad height'), {
486
269
  bottomToolbarHeight,
487
- heElementHeights: Array.from(heElements).map((el) => el.clientHeight),
488
- heElementsHTML: Array.from(heElements).map(censorHTMLtree),
270
+ heElementHeights: Array.from(heElements).map(el => el.clientHeight),
271
+ heElementsHTML: Array.from(heElements).map(_censorHTMLtree.default)
489
272
  });
490
273
  }
491
274
  }
492
-
493
- function _startMonitoringFormattingToolbar(
494
- gmailComposeView,
495
- groupToggleButtonViewController
496
- ) {
497
- waitFor(function () {
275
+ function _startMonitoringFormattingToolbar(gmailComposeView, groupToggleButtonViewController) {
276
+ (0, _waitFor.default)(function () {
498
277
  if (gmailComposeView.isDestroyed()) throw 'skip';
499
-
500
278
  return gmailComposeView.getFormattingToolbar();
501
- })
502
- .then((formattingToolbar) => {
503
- const mutationObserver = new MutationObserver(function (mutations) {
504
- const target = mutations[0].target;
505
- if (
506
- target instanceof HTMLElement &&
507
- target.style.display === '' &&
508
- localStorage['inboxsdk__compose_groupedActionButton_state'] ===
509
- 'expanded'
510
- ) {
511
- groupToggleButtonViewController.activate();
512
- }
513
- });
514
-
515
- mutationObserver.observe(formattingToolbar, {
516
- attributes: true,
517
- attributeFilter: ['style'],
518
- });
519
-
520
- get(memberMap, gmailComposeView).formattingToolbarMutationObserver =
521
- mutationObserver;
522
-
523
- gmailComposeView
524
- .getStopper()
525
- .onValue(() => mutationObserver.disconnect());
526
- })
527
- .catch((err) => {
528
- if (err !== 'skip') {
529
- Logger.error(err);
530
- throw err;
279
+ }).then(formattingToolbar => {
280
+ const mutationObserver = new MutationObserver(function (mutations) {
281
+ const target = mutations[0].target;
282
+ if (target instanceof HTMLElement && target.style.display === '' && localStorage['inboxsdk__compose_groupedActionButton_state'] === 'expanded') {
283
+ groupToggleButtonViewController.activate();
531
284
  }
532
285
  });
533
- }
286
+ mutationObserver.observe(formattingToolbar, {
287
+ attributes: true,
288
+ attributeFilter: ['style']
289
+ });
290
+ (0, _getOrFail.default)(memberMap, gmailComposeView).formattingToolbarMutationObserver = mutationObserver;
291
+ gmailComposeView.getStopper().onValue(() => mutationObserver.disconnect());
292
+ }).catch(err => {
293
+ if (err !== 'skip') {
294
+ _logger.default.error(err);
295
+ throw err;
296
+ }
297
+ });
298
+ }