@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,137 +1,88 @@
1
- /* @flow */
2
-
3
- import sortBy from 'lodash/sortBy';
4
- import escape from 'lodash/escape';
5
- import asap from 'asap';
6
- import Kefir from 'kefir';
7
- import kefirBus from 'kefir-bus';
8
- import type { Bus } from 'kefir-bus';
9
- import kefirStopper from 'kefir-stopper';
10
- import querySelector from '../../../lib/dom/querySelectorOrFail';
11
- import ButtonView from './buttons/button-view';
12
- import BasicButtonViewController from '../../../widgets/buttons/basic-button-view-controller';
13
-
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = void 0;
8
+ var _defineProperty2 = _interopRequireDefault(require("@babel/runtime/helpers/defineProperty"));
9
+ var _sortBy = _interopRequireDefault(require("lodash/sortBy"));
10
+ var _escape = _interopRequireDefault(require("lodash/escape"));
11
+ var _asap = _interopRequireDefault(require("asap"));
12
+ var _kefir = _interopRequireDefault(require("kefir"));
13
+ var _kefirBus = _interopRequireDefault(require("kefir-bus"));
14
+ var _kefirStopper = _interopRequireDefault(require("kefir-stopper"));
15
+ var _querySelectorOrFail = _interopRequireDefault(require("../../../lib/dom/querySelectorOrFail"));
16
+ var _buttonView = _interopRequireDefault(require("./buttons/button-view"));
17
+ var _basicButtonViewController = _interopRequireDefault(require("../../../widgets/buttons/basic-button-view-controller"));
14
18
  const ARROW_HORIZONTAL_HEIGHT = 9;
15
19
  const ARROW_HORIZONTAL_WIDTH = 18;
16
20
  const ARROW_VERTICAL_HEIGHT = 18;
17
21
  const ARROW_VERTICAL_WIDTH = 9;
18
-
19
- type BoundingBox = [
20
- {
21
- x: number,
22
- y: number,
23
- },
24
- {
25
- x: number,
26
- y: number,
27
- }
28
- ];
29
-
30
- type PositionType = 'left' | 'right' | 'top' | 'bottom';
31
-
32
- type BoundingBoxWrapper = {
33
- type: PositionType,
34
- value: BoundingBox,
35
- smallestDistance?: number,
36
- };
37
-
38
- export default class GmailTooltipView {
39
- _element: HTMLElement;
40
- _eventStream: Bus<any> = kefirBus();
41
- _stopper = kefirStopper();
42
-
43
- constructor(options?: Object = {}) {
22
+ class GmailTooltipView {
23
+ constructor() {
24
+ let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};
25
+ (0, _defineProperty2.default)(this, "_eventStream", (0, _kefirBus.default)());
26
+ (0, _defineProperty2.default)(this, "_stopper", (0, _kefirStopper.default)());
44
27
  this._setupElement(options);
45
28
  }
46
-
47
29
  destroy() {
48
30
  this._eventStream.end();
49
31
  this._stopper.destroy();
50
32
  this._element.remove();
51
33
  }
52
-
53
- getElement(): HTMLElement {
34
+ getElement() {
54
35
  return this._element;
55
36
  }
56
-
57
- getStopper(): Kefir.Observable<null> {
37
+ getStopper() {
58
38
  return this._stopper;
59
39
  }
60
-
61
- getEventStream(): Kefir.Observable<Object> {
40
+ getEventStream() {
62
41
  return this._eventStream;
63
42
  }
64
-
65
- anchor(anchorElement: HTMLElement, placementOptions: Object) {
43
+ anchor(anchorElement, placementOptions) {
66
44
  if (!anchorElement) {
67
45
  return;
68
46
  }
69
-
70
47
  if (!this._element) {
71
48
  return;
72
49
  }
73
-
74
50
  var targetBoundingBox = anchorElement.getBoundingClientRect();
75
51
  var tipBoundingBox = this._element.getBoundingClientRect();
76
-
77
52
  var theBoundingBoxWrapperToUse;
78
53
  if (placementOptions && placementOptions.position) {
79
54
  switch (placementOptions.position) {
80
55
  case 'top':
81
56
  theBoundingBoxWrapperToUse = {
82
57
  type: 'top',
83
- value: this._getTopPositionBoundingBox(
84
- targetBoundingBox,
85
- tipBoundingBox
86
- ),
58
+ value: this._getTopPositionBoundingBox(targetBoundingBox, tipBoundingBox)
87
59
  };
88
60
  break;
89
61
  case 'bottom':
90
62
  theBoundingBoxWrapperToUse = {
91
63
  type: 'bottom',
92
- value: this._getBottomPositionBoundingBox(
93
- targetBoundingBox,
94
- tipBoundingBox
95
- ),
64
+ value: this._getBottomPositionBoundingBox(targetBoundingBox, tipBoundingBox)
96
65
  };
97
66
  break;
98
67
  }
99
68
  }
100
-
101
- if (!theBoundingBoxWrapperToUse)
102
- theBoundingBoxWrapperToUse = this._getAutomaticPlacementBoundingBox(
103
- targetBoundingBox,
104
- tipBoundingBox
105
- );
106
-
107
- var containedBoundingBox = this._containBoundingBox(
108
- theBoundingBoxWrapperToUse.value,
109
- placementOptions && placementOptions.offset
110
- );
69
+ if (!theBoundingBoxWrapperToUse) theBoundingBoxWrapperToUse = this._getAutomaticPlacementBoundingBox(targetBoundingBox, tipBoundingBox);
70
+ var containedBoundingBox = this._containBoundingBox(theBoundingBoxWrapperToUse.value, placementOptions && placementOptions.offset);
111
71
  this._setPositionAtBoundingBox(containedBoundingBox);
112
- this._setArrowPosition(
113
- theBoundingBoxWrapperToUse.type,
114
- containedBoundingBox,
115
- targetBoundingBox
116
- );
72
+ this._setArrowPosition(theBoundingBoxWrapperToUse.type, containedBoundingBox, targetBoundingBox);
117
73
  }
118
-
119
- getContainerElement(): HTMLElement {
74
+ getContainerElement() {
120
75
  return this._element;
121
76
  }
122
-
123
- getContentElement(): HTMLElement {
124
- return querySelector(this._element, '.aRM');
77
+ getContentElement() {
78
+ return (0, _querySelectorOrFail.default)(this._element, '.aRM');
125
79
  }
126
-
127
80
  close() {
128
81
  this.destroy();
129
82
  }
130
-
131
- _setupElement(options: Object) {
83
+ _setupElement(options) {
132
84
  this._element = document.createElement('div');
133
85
  this._element.setAttribute('class', 'inboxsdk__tooltip');
134
-
135
86
  if (options.el) {
136
87
  let html = `<div class="T-P aRL">
137
88
  <div class="T-P-Jz-UR">
@@ -144,70 +95,37 @@ export default class GmailTooltipView {
144
95
  <div class="T-P-atC"></div>
145
96
  </div>
146
97
  </div>`;
147
-
148
98
  this._element.innerHTML = html;
149
-
150
99
  this._element.classList.add('inboxdk__tooltip_content');
151
- querySelector(this._element, '.aRM').appendChild(options.el);
100
+ (0, _querySelectorOrFail.default)(this._element, '.aRM').appendChild(options.el);
152
101
  } else {
153
- let html = [
154
- '<div class="T-P aRL">',
155
- '<div class="T-P-Jz-UR">',
156
- '<div class="aRM" tabindex="0">',
157
- '<div class="aVn inboxsdk__tooltip_image">',
158
- //image goes here
159
- '</div>',
160
- '<div class="aRR">',
161
- escape(options.title || ''),
162
- '</div>',
163
- '<div class="aRQ">',
164
- escape(options.subtitle || ''),
165
- '</div>',
166
- '<div class="inboxsdk__tooltip_button">',
167
- //button goes here
168
- '</div>',
169
- '</div>',
170
- '</div>',
171
- '<div class="T-P-aut-UR T-P-aut inboxsdk__tooltip_close" aria-label="Close" role="button"></div>',
172
- '<div class="T-P-hFsbo-UR T-P-hFsbo T-P-atB inboxsdk__tooltip_arrow">',
173
- '<div class="T-P-atD"></div>',
174
- '<div class="T-P-atC"></div>',
175
- '</div>',
176
- '</div>',
177
- ].join('');
178
-
102
+ let html = ['<div class="T-P aRL">', '<div class="T-P-Jz-UR">', '<div class="aRM" tabindex="0">', '<div class="aVn inboxsdk__tooltip_image">',
103
+ //image goes here
104
+ '</div>', '<div class="aRR">', (0, _escape.default)(options.title || ''), '</div>', '<div class="aRQ">', (0, _escape.default)(options.subtitle || ''), '</div>', '<div class="inboxsdk__tooltip_button">',
105
+ //button goes here
106
+ '</div>', '</div>', '</div>', '<div class="T-P-aut-UR T-P-aut inboxsdk__tooltip_close" aria-label="Close" role="button"></div>', '<div class="T-P-hFsbo-UR T-P-hFsbo T-P-atB inboxsdk__tooltip_arrow">', '<div class="T-P-atD"></div>', '<div class="T-P-atC"></div>', '</div>', '</div>'].join('');
179
107
  this._element.innerHTML = html;
180
-
181
- let closeElement = this._element.querySelector(
182
- '.inboxsdk__tooltip_close'
183
- );
108
+ let closeElement = this._element.querySelector('.inboxsdk__tooltip_close');
184
109
  if (closeElement) {
185
- closeElement.addEventListener('click', (e: MouseEvent) => {
110
+ closeElement.addEventListener('click', e => {
186
111
  this.destroy();
187
112
  });
188
113
  }
189
-
190
114
  if (options.imageUrl) {
191
115
  const image = document.createElement('img');
192
116
  image.src = options.imageUrl;
193
- querySelector(this._element, '.inboxsdk__tooltip_image').appendChild(
194
- image
195
- );
196
-
197
- image.addEventListener('load', (domEvent: any) => {
198
- asap(() => {
117
+ (0, _querySelectorOrFail.default)(this._element, '.inboxsdk__tooltip_image').appendChild(image);
118
+ image.addEventListener('load', domEvent => {
119
+ (0, _asap.default)(() => {
199
120
  this._eventStream.emit({
200
- eventName: 'imageLoaded',
121
+ eventName: 'imageLoaded'
201
122
  });
202
123
  });
203
124
  });
204
125
  }
205
-
206
126
  if (options.button) {
207
127
  const buttonOptions = Object.assign({}, options.button);
208
-
209
128
  buttonOptions.buttonColor = 'blue';
210
-
211
129
  const oldOnClick = buttonOptions.onClick;
212
130
  buttonOptions.onClick = () => {
213
131
  this.destroy();
@@ -215,259 +133,149 @@ export default class GmailTooltipView {
215
133
  oldOnClick();
216
134
  }
217
135
  };
218
-
219
- buttonOptions.buttonView = new ButtonView(buttonOptions);
220
- const buttonViewController = new BasicButtonViewController(
221
- buttonOptions
222
- );
223
- querySelector(this._element, '.inboxsdk__tooltip_button').appendChild(
224
- buttonOptions.buttonView.getElement()
225
- );
136
+ buttonOptions.buttonView = new _buttonView.default(buttonOptions);
137
+ const buttonViewController = new _basicButtonViewController.default(buttonOptions);
138
+ (0, _querySelectorOrFail.default)(this._element, '.inboxsdk__tooltip_button').appendChild(buttonOptions.buttonView.getElement());
226
139
  }
227
140
  }
228
141
  }
229
-
230
- _getAutomaticPlacementBoundingBox(
231
- targetBoundingBox: ClientRect,
232
- tipBoundingBox: ClientRect
233
- ): BoundingBoxWrapper {
234
- var boundingBoxWrappers = [
235
- {
236
- type: 'top',
237
- value: this._getTopPositionBoundingBox(
238
- targetBoundingBox,
239
- tipBoundingBox
240
- ),
241
- },
242
- {
243
- type: 'left',
244
- value: this._getLeftPositionBoundingBox(
245
- targetBoundingBox,
246
- tipBoundingBox
247
- ),
248
- },
249
- {
250
- type: 'right',
251
- value: this._getRightPositionBoundingBox(
252
- targetBoundingBox,
253
- tipBoundingBox
254
- ),
255
- },
256
- {
257
- type: 'bottom',
258
- value: this._getBottomPositionBoundingBox(
259
- targetBoundingBox,
260
- tipBoundingBox
261
- ),
262
- },
263
- ];
264
-
265
- var bestBoundingBoxWrapper =
266
- this._figureOutBestBoundingBox(boundingBoxWrappers);
142
+ _getAutomaticPlacementBoundingBox(targetBoundingBox, tipBoundingBox) {
143
+ var boundingBoxWrappers = [{
144
+ type: 'top',
145
+ value: this._getTopPositionBoundingBox(targetBoundingBox, tipBoundingBox)
146
+ }, {
147
+ type: 'left',
148
+ value: this._getLeftPositionBoundingBox(targetBoundingBox, tipBoundingBox)
149
+ }, {
150
+ type: 'right',
151
+ value: this._getRightPositionBoundingBox(targetBoundingBox, tipBoundingBox)
152
+ }, {
153
+ type: 'bottom',
154
+ value: this._getBottomPositionBoundingBox(targetBoundingBox, tipBoundingBox)
155
+ }];
156
+ var bestBoundingBoxWrapper = this._figureOutBestBoundingBox(boundingBoxWrappers);
267
157
  return bestBoundingBoxWrapper;
268
158
  }
269
-
270
- _getTopPositionBoundingBox(
271
- targetBoundingBox: ClientRect,
272
- tipBoundingBox: ClientRect
273
- ): BoundingBox {
274
- var top =
275
- targetBoundingBox.top - tipBoundingBox.height - ARROW_HORIZONTAL_HEIGHT;
276
- var left =
277
- targetBoundingBox.left +
278
- targetBoundingBox.width / 2 -
279
- tipBoundingBox.width / 2;
280
-
281
- return [
282
- {
283
- x: left,
284
- y: top,
285
- },
286
- {
287
- x: left + tipBoundingBox.width,
288
- y: top + tipBoundingBox.height,
289
- },
290
- ];
159
+ _getTopPositionBoundingBox(targetBoundingBox, tipBoundingBox) {
160
+ var top = targetBoundingBox.top - tipBoundingBox.height - ARROW_HORIZONTAL_HEIGHT;
161
+ var left = targetBoundingBox.left + targetBoundingBox.width / 2 - tipBoundingBox.width / 2;
162
+ return [{
163
+ x: left,
164
+ y: top
165
+ }, {
166
+ x: left + tipBoundingBox.width,
167
+ y: top + tipBoundingBox.height
168
+ }];
291
169
  }
292
-
293
- _getRightPositionBoundingBox(
294
- targetBoundingBox: ClientRect,
295
- tipBoundingBox: ClientRect
296
- ): BoundingBox {
170
+ _getRightPositionBoundingBox(targetBoundingBox, tipBoundingBox) {
297
171
  var left = targetBoundingBox.right + ARROW_VERTICAL_WIDTH;
298
- var top =
299
- targetBoundingBox.top +
300
- targetBoundingBox.height / 2 -
301
- tipBoundingBox.height / 2;
302
-
303
- return [
304
- {
305
- x: left,
306
- y: top,
307
- },
308
- {
309
- x: left + tipBoundingBox.width,
310
- y: top + tipBoundingBox.height,
311
- },
312
- ];
172
+ var top = targetBoundingBox.top + targetBoundingBox.height / 2 - tipBoundingBox.height / 2;
173
+ return [{
174
+ x: left,
175
+ y: top
176
+ }, {
177
+ x: left + tipBoundingBox.width,
178
+ y: top + tipBoundingBox.height
179
+ }];
313
180
  }
314
-
315
- _getBottomPositionBoundingBox(
316
- targetBoundingBox: ClientRect,
317
- tipBoundingBox: ClientRect
318
- ): BoundingBox {
181
+ _getBottomPositionBoundingBox(targetBoundingBox, tipBoundingBox) {
319
182
  var top = targetBoundingBox.bottom + ARROW_HORIZONTAL_HEIGHT;
320
- var left =
321
- targetBoundingBox.left +
322
- targetBoundingBox.width / 2 -
323
- tipBoundingBox.width / 2;
324
-
325
- return [
326
- {
327
- x: left,
328
- y: top,
329
- },
330
- {
331
- x: left + tipBoundingBox.width,
332
- y: top + tipBoundingBox.height,
333
- },
334
- ];
183
+ var left = targetBoundingBox.left + targetBoundingBox.width / 2 - tipBoundingBox.width / 2;
184
+ return [{
185
+ x: left,
186
+ y: top
187
+ }, {
188
+ x: left + tipBoundingBox.width,
189
+ y: top + tipBoundingBox.height
190
+ }];
335
191
  }
336
-
337
- _getLeftPositionBoundingBox(
338
- targetBoundingBox: ClientRect,
339
- tipBoundingBox: ClientRect
340
- ): BoundingBox {
341
- var left =
342
- targetBoundingBox.left - ARROW_VERTICAL_WIDTH - tipBoundingBox.width;
343
- var top =
344
- targetBoundingBox.top +
345
- targetBoundingBox.height / 2 -
346
- tipBoundingBox.height / 2;
347
-
348
- return [
349
- {
350
- x: left,
351
- y: top,
352
- },
353
- {
354
- x: left + tipBoundingBox.width,
355
- y: top + tipBoundingBox.height,
356
- },
357
- ];
192
+ _getLeftPositionBoundingBox(targetBoundingBox, tipBoundingBox) {
193
+ var left = targetBoundingBox.left - ARROW_VERTICAL_WIDTH - tipBoundingBox.width;
194
+ var top = targetBoundingBox.top + targetBoundingBox.height / 2 - tipBoundingBox.height / 2;
195
+ return [{
196
+ x: left,
197
+ y: top
198
+ }, {
199
+ x: left + tipBoundingBox.width,
200
+ y: top + tipBoundingBox.height
201
+ }];
358
202
  }
359
-
360
- _figureOutBestBoundingBox(
361
- boundingBoxWrappers: Array<BoundingBoxWrapper>
362
- ): BoundingBoxWrapper {
203
+ _figureOutBestBoundingBox(boundingBoxWrappers) {
363
204
  for (var ii = 0; ii < boundingBoxWrappers.length; ii++) {
364
- boundingBoxWrappers[ii].smallestDistance = this._getSmallestDistance(
365
- boundingBoxWrappers[ii]
366
- );
205
+ boundingBoxWrappers[ii].smallestDistance = this._getSmallestDistance(boundingBoxWrappers[ii]);
367
206
  }
368
-
369
- return sortBy(boundingBoxWrappers, function (boundingBoxWrapper) {
207
+ return (0, _sortBy.default)(boundingBoxWrappers, function (boundingBoxWrapper) {
370
208
  return boundingBoxWrapper.smallestDistance;
371
209
  }).reverse()[0];
372
210
  }
373
-
374
- _getSmallestDistance(boundingBoxWrapper: BoundingBoxWrapper): number {
375
- var distances = [
376
- boundingBoxWrapper.value[0].y, //top
377
- boundingBoxWrapper.value[0].x, //left
378
- ((document.body: any): HTMLElement).clientWidth -
379
- boundingBoxWrapper.value[1].x, //right
380
- ((document.body: any): HTMLElement).clientHeight -
381
- boundingBoxWrapper.value[1].y, //bottom
211
+ _getSmallestDistance(boundingBoxWrapper) {
212
+ var distances = [boundingBoxWrapper.value[0].y,
213
+ //top
214
+ boundingBoxWrapper.value[0].x,
215
+ //left
216
+ document.body.clientWidth - boundingBoxWrapper.value[1].x,
217
+ //right
218
+ document.body.clientHeight - boundingBoxWrapper.value[1].y //bottom
382
219
  ];
383
220
 
384
- return sortBy(distances, function (distance) {
221
+ return (0, _sortBy.default)(distances, function (distance) {
385
222
  return distance;
386
223
  })[0];
387
224
  }
388
-
389
- _containBoundingBox(
390
- boundingBox: BoundingBox,
391
- offset?: { left?: number, top?: number }
392
- ): BoundingBox {
225
+ _containBoundingBox(boundingBox, offset) {
393
226
  var boundingBoxHeight = boundingBox[1].y - boundingBox[0].y;
394
227
  var boundingBoxWidth = boundingBox[1].x - boundingBox[0].x;
395
-
396
228
  if (boundingBox[0].y < -1) {
397
229
  boundingBox[0].y = 0;
398
230
  boundingBox[1].y = boundingBox[0].y + boundingBoxHeight;
399
- } else if (
400
- boundingBox[1].y > ((document.body: any): HTMLElement).clientHeight
401
- ) {
402
- boundingBox[0].y =
403
- ((document.body: any): HTMLElement).clientHeight - boundingBoxHeight;
231
+ } else if (boundingBox[1].y > document.body.clientHeight) {
232
+ boundingBox[0].y = document.body.clientHeight - boundingBoxHeight;
404
233
  boundingBox[1].y = boundingBox[0].y + boundingBoxHeight;
405
234
  }
406
-
407
235
  if (boundingBox[0].x < -1) {
408
236
  boundingBox[0].x = 0;
409
237
  boundingBox[1].x = boundingBox[0].x + boundingBoxWidth;
410
- } else if (
411
- boundingBox[1].x > ((document.body: any): HTMLElement).clientWidth
412
- ) {
413
- boundingBox[0].x =
414
- ((document.body: any): HTMLElement).clientWidth - boundingBoxWidth - 20;
238
+ } else if (boundingBox[1].x > document.body.clientWidth) {
239
+ boundingBox[0].x = document.body.clientWidth - boundingBoxWidth - 20;
415
240
  boundingBox[1].x = boundingBox[0].x + boundingBoxWidth;
416
241
  }
417
-
418
242
  if (offset) {
419
243
  if (offset.left) {
420
244
  boundingBox[0].x += offset.left;
421
245
  boundingBox[1].x += offset.left;
422
246
  }
423
-
424
247
  if (offset.top) {
425
248
  boundingBox[0].y += offset.top;
426
249
  boundingBox[1].y += offset.top;
427
250
  }
428
251
  }
429
-
430
252
  return boundingBox;
431
253
  }
432
-
433
- _setPositionAtBoundingBox(boundingBox: BoundingBox) {
254
+ _setPositionAtBoundingBox(boundingBox) {
434
255
  this._element.style.left = boundingBox[0].x + 'px';
435
256
  this._element.style.top = boundingBox[0].y + 'px';
436
257
  }
437
-
438
- _setArrowPosition(
439
- type: PositionType,
440
- containedBoundingBox: BoundingBox,
441
- targetBoundingBox: ClientRect
442
- ) {
258
+ _setArrowPosition(type, containedBoundingBox, targetBoundingBox) {
443
259
  var position = {};
444
-
445
260
  switch (type) {
446
261
  case 'top':
447
262
  position.top = containedBoundingBox[1].y;
448
263
  position.left = targetBoundingBox.left + targetBoundingBox.width / 2;
449
264
  break;
450
265
  case 'left':
451
- position.top =
452
- (containedBoundingBox[0].y + containedBoundingBox[1].y) / 2 -
453
- ARROW_VERTICAL_HEIGHT / 2;
266
+ position.top = (containedBoundingBox[0].y + containedBoundingBox[1].y) / 2 - ARROW_VERTICAL_HEIGHT / 2;
454
267
  position.left = containedBoundingBox[1].x;
455
268
  break;
456
269
  case 'right':
457
- position.top =
458
- (containedBoundingBox[0].y + containedBoundingBox[1].y) / 2 -
459
- ARROW_VERTICAL_HEIGHT / 2;
460
- position.left =
461
- containedBoundingBox[0].x - ARROW_HORIZONTAL_WIDTH / 2 + 1;
270
+ position.top = (containedBoundingBox[0].y + containedBoundingBox[1].y) / 2 - ARROW_VERTICAL_HEIGHT / 2;
271
+ position.left = containedBoundingBox[0].x - ARROW_HORIZONTAL_WIDTH / 2 + 1;
462
272
  break;
463
273
  case 'bottom':
464
274
  position.top = containedBoundingBox[0].y - ARROW_HORIZONTAL_HEIGHT + 1;
465
- position.left =
466
- (containedBoundingBox[0].x + containedBoundingBox[1].x) / 2;
275
+ position.left = (containedBoundingBox[0].x + containedBoundingBox[1].x) / 2;
467
276
  break;
468
277
  }
469
-
470
- const arrow = querySelector(this._element, '.inboxsdk__tooltip_arrow');
278
+ const arrow = (0, _querySelectorOrFail.default)(this._element, '.inboxsdk__tooltip_arrow');
471
279
  arrow.style.left = position.left + 'px';
472
280
  arrow.style.top = position.top + 'px';
473
281
  }
@@ -502,3 +310,4 @@ export default class GmailTooltipView {
502
310
 
503
311
 
504
312
  */
313
+ exports.default = GmailTooltipView;