@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,45 +1,32 @@
1
- /* @flow */
2
-
3
- import Kefir from 'kefir';
4
- import kefirBus from 'kefir-bus';
5
- import type { Bus } from 'kefir-bus';
6
-
7
- import getInsertBeforeElement from '../../../lib/dom/get-insert-before-element';
8
- import makeMutationObserverChunkedStream from '../../../lib/dom/make-mutation-observer-chunked-stream';
9
- import makeMutationObserverStream from '../../../lib/dom/make-mutation-observer-stream';
10
- import querySelector from '../../../lib/dom/querySelectorOrFail';
11
- import findParent from '../../../../common/find-parent';
12
-
13
- import GmailElementGetter from '../gmail-element-getter';
14
-
15
- import GmailNavItemView, {
16
- getLeftIndentationPaddingValue,
17
- } from './gmail-nav-item-view';
18
-
19
- import type GmailDriver from '../gmail-driver';
20
-
21
- export default class NativeGmailNavItemView {
22
- _driver: GmailDriver;
23
- _element: HTMLElement;
24
- _navItemName: string;
25
- _activeMarkerElement: ?HTMLElement = null;
26
- _eventStream: Bus<any>;
27
- _elementBus: Bus<HTMLElement>;
28
- _elementStream: Kefir.Observable<HTMLElement>;
29
- _isActive: boolean = false;
30
- _itemContainerElement: ?HTMLElement = null;
31
-
32
- constructor(
33
- driver: GmailDriver,
34
- nativeElement: HTMLElement,
35
- navItemName: string
36
- ) {
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 _kefir = _interopRequireDefault(require("kefir"));
10
+ var _kefirBus = _interopRequireDefault(require("kefir-bus"));
11
+ var _getInsertBeforeElement = _interopRequireDefault(require("../../../lib/dom/get-insert-before-element"));
12
+ var _makeMutationObserverChunkedStream = _interopRequireDefault(require("../../../lib/dom/make-mutation-observer-chunked-stream"));
13
+ var _makeMutationObserverStream = _interopRequireDefault(require("../../../lib/dom/make-mutation-observer-stream"));
14
+ var _querySelectorOrFail = _interopRequireDefault(require("../../../lib/dom/querySelectorOrFail"));
15
+ var _findParent = _interopRequireDefault(require("../../../../common/find-parent"));
16
+ var _gmailElementGetter = _interopRequireDefault(require("../gmail-element-getter"));
17
+ var _gmailNavItemView = _interopRequireWildcard(require("./gmail-nav-item-view"));
18
+ function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function (nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
19
+ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || typeof obj !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
20
+ class NativeGmailNavItemView {
21
+ constructor(driver, nativeElement, navItemName) {
22
+ (0, _defineProperty2.default)(this, "_activeMarkerElement", null);
23
+ (0, _defineProperty2.default)(this, "_isActive", false);
24
+ (0, _defineProperty2.default)(this, "_itemContainerElement", null);
37
25
  this._driver = driver;
38
26
  this._element = nativeElement;
39
- this._eventStream = kefirBus();
40
- this._elementBus = kefirBus();
27
+ this._eventStream = (0, _kefirBus.default)();
28
+ this._elementBus = (0, _kefirBus.default)();
41
29
  this._elementStream = this._elementBus.toProperty(() => this._element);
42
-
43
30
  this._navItemName = navItemName;
44
31
 
45
32
  // gmail v2 continually replaces the native nav elements
@@ -47,37 +34,27 @@ export default class NativeGmailNavItemView {
47
34
  // readd any sub nav items
48
35
  const parentElement = this._element.parentElement;
49
36
  if (parentElement) {
50
- makeMutationObserverChunkedStream((parentElement: any), {
51
- childList: true,
52
- })
53
- .map(() =>
54
- parentElement.querySelector(`.aim a[href*="#${this._navItemName}"]`)
55
- )
56
- .filter(Boolean)
57
- .map((link) => findParent(link, (el) => el.classList.contains('aim')))
58
- .filter(Boolean)
59
- .filter((newElement) => newElement !== this._element)
60
- .onValue((newElement) => {
61
- if (newElement) {
62
- const currentContainerElement = this._itemContainerElement;
63
- if (currentContainerElement) {
64
- //if we have an existing container then remove it
65
- //so a new one can be created and get things back into a good state
66
- currentContainerElement.remove();
67
- this._itemContainerElement = null;
68
- }
69
- this._elementBus.emit(newElement);
37
+ (0, _makeMutationObserverChunkedStream.default)(parentElement, {
38
+ childList: true
39
+ }).map(() => parentElement.querySelector(`.aim a[href*="#${this._navItemName}"]`)).filter(Boolean).map(link => (0, _findParent.default)(link, el => el.classList.contains('aim'))).filter(Boolean).filter(newElement => newElement !== this._element).onValue(newElement => {
40
+ if (newElement) {
41
+ const currentContainerElement = this._itemContainerElement;
42
+ if (currentContainerElement) {
43
+ //if we have an existing container then remove it
44
+ //so a new one can be created and get things back into a good state
45
+ currentContainerElement.remove();
46
+ this._itemContainerElement = null;
70
47
  }
71
- });
48
+ this._elementBus.emit(newElement);
49
+ }
50
+ });
72
51
  }
73
-
74
- this._elementStream.onValue((element) => {
52
+ this._elementStream.onValue(element => {
75
53
  this._element = element;
76
54
  this._monitorElementForActiveChanges();
77
55
  this.setActive(this._isActive);
78
56
  });
79
57
  }
80
-
81
58
  destroy() {
82
59
  this._element.classList.remove('inboxsdk__navItem_claimed');
83
60
  this._eventStream.end();
@@ -85,34 +62,21 @@ export default class NativeGmailNavItemView {
85
62
  if (this._activeMarkerElement) this._activeMarkerElement.remove();
86
63
  if (this._itemContainerElement) this._itemContainerElement.remove();
87
64
  }
88
-
89
- getElement(): HTMLElement {
65
+ getElement() {
90
66
  return this._element;
91
67
  }
92
-
93
- getEventStream(): Kefir.Observable<Object> {
68
+ getEventStream() {
94
69
  return this._eventStream;
95
70
  }
96
-
97
- addNavItem(orderGroup: number, navItemDescriptor: Object): GmailNavItemView {
98
- const gmailNavItemView = new GmailNavItemView(this._driver, orderGroup, 2);
99
-
100
- Kefir.merge([
101
- gmailNavItemView
102
- .getEventStream()
103
- .filter((event) => event.eventName === 'orderChanged'),
104
-
105
- this._elementStream,
106
- ]).onValue(() => this._addNavItemElement(gmailNavItemView));
107
-
71
+ addNavItem(orderGroup, navItemDescriptor) {
72
+ const gmailNavItemView = new _gmailNavItemView.default(this._driver, orderGroup, 2);
73
+ _kefir.default.merge([gmailNavItemView.getEventStream().filter(event => event.eventName === 'orderChanged'), this._elementStream]).onValue(() => this._addNavItemElement(gmailNavItemView));
108
74
  gmailNavItemView.setNavItemDescriptor(navItemDescriptor);
109
-
110
75
  return gmailNavItemView;
111
76
  }
112
-
113
- setActive(value: boolean) {
77
+ setActive(value) {
114
78
  this._isActive = value;
115
- const toElement = querySelector(this._element, '.TO');
79
+ const toElement = (0, _querySelectorOrFail.default)(this._element, '.TO');
116
80
  if (value) {
117
81
  this._element.classList.add('ain');
118
82
  toElement.classList.add('nZ');
@@ -122,209 +86,128 @@ export default class NativeGmailNavItemView {
122
86
  toElement.classList.remove('nZ');
123
87
  toElement.classList.remove('aiq');
124
88
  }
125
-
126
89
  this._setHeights();
127
90
  }
128
-
129
91
  toggleCollapse() {
130
92
  this._toggleCollapse();
131
93
  }
132
-
133
- setCollapsed(value: string) {
94
+ setCollapsed(value) {
134
95
  localStorage['inboxsdk__nativeNavItem__state_' + this._navItemName] = value;
135
-
136
96
  if (!this._element.querySelector('.inboxsdk__expando')) {
137
97
  return;
138
98
  }
139
-
140
99
  if (value) {
141
100
  this._collapse();
142
101
  } else {
143
102
  this._expand();
144
103
  }
145
104
  }
146
-
147
105
  remove() {
148
106
  /* do nothing */
149
107
  }
150
-
151
108
  _monitorElementForActiveChanges() {
152
109
  this._element.classList.add('inboxsdk__navItem_claimed');
153
110
  const element = this._element;
154
- const classChangeStream = makeMutationObserverChunkedStream(element, {
111
+ const classChangeStream = (0, _makeMutationObserverChunkedStream.default)(element, {
155
112
  attributes: true,
156
- attributeFilter: ['class'],
157
- })
158
- .takeUntilBy(this._eventStream.filter(() => false).beforeEnd(() => null))
159
- .toProperty(() => [])
160
- .map(() => element);
161
-
162
- classChangeStream
163
- .filter((el) => el.classList.contains('ain'))
164
- .onValue(() => this._createActiveMarkerElement());
165
-
166
- classChangeStream
167
- .filter((el) => !el.classList.contains('ain'))
168
- .onValue(() => this._removeActiveMarkerElement());
113
+ attributeFilter: ['class']
114
+ }).takeUntilBy(this._eventStream.filter(() => false).beforeEnd(() => null)).toProperty(() => []).map(() => element);
115
+ classChangeStream.filter(el => el.classList.contains('ain')).onValue(() => this._createActiveMarkerElement());
116
+ classChangeStream.filter(el => !el.classList.contains('ain')).onValue(() => this._removeActiveMarkerElement());
169
117
  }
170
-
171
- _addNavItemElement(gmailNavItemView: GmailNavItemView) {
118
+ _addNavItemElement(gmailNavItemView) {
172
119
  const itemContainerElement = this._getItemContainerElement();
173
-
174
- const insertBeforeElement = getInsertBeforeElement(
175
- gmailNavItemView.getElement(),
176
- itemContainerElement.children,
177
- ['data-group-order-hint', 'data-order-hint', 'data-insertion-order-hint']
178
- );
179
- itemContainerElement.insertBefore(
180
- gmailNavItemView.getElement(),
181
- insertBeforeElement
182
- );
183
-
120
+ const insertBeforeElement = (0, _getInsertBeforeElement.default)(gmailNavItemView.getElement(), itemContainerElement.children, ['data-group-order-hint', 'data-order-hint', 'data-insertion-order-hint']);
121
+ itemContainerElement.insertBefore(gmailNavItemView.getElement(), insertBeforeElement);
184
122
  const element = gmailNavItemView.getElement();
185
- querySelector(element, '.TN').style.marginLeft =
186
- getLeftIndentationPaddingValue() + 'px';
187
-
123
+ (0, _querySelectorOrFail.default)(element, '.TN').style.marginLeft = (0, _gmailNavItemView.getLeftIndentationPaddingValue)() + 'px';
188
124
  this._setHeights();
189
125
  }
190
-
191
- _getItemContainerElement(): HTMLElement {
126
+ _getItemContainerElement() {
192
127
  let itemContainerElement = this._itemContainerElement;
193
128
  if (!itemContainerElement) {
194
- itemContainerElement = this._itemContainerElement =
195
- this._element.querySelector('.inboxsdk__navItem_container');
129
+ itemContainerElement = this._itemContainerElement = this._element.querySelector('.inboxsdk__navItem_container');
196
130
  if (!itemContainerElement) {
197
131
  itemContainerElement = this._createItemContainerElement();
198
132
  this._createExpando();
199
133
  }
200
134
  }
201
-
202
135
  return itemContainerElement;
203
136
  }
204
-
205
- _createItemContainerElement(): HTMLElement {
206
- const itemContainerElement = (this._itemContainerElement =
207
- document.createElement('div'));
137
+ _createItemContainerElement() {
138
+ const itemContainerElement = this._itemContainerElement = document.createElement('div');
208
139
  itemContainerElement.classList.add('inboxsdk__navItem_container');
209
-
210
140
  this._element.appendChild(itemContainerElement);
211
141
  return itemContainerElement;
212
142
  }
213
-
214
143
  _createExpando() {
215
144
  const link = this._element.querySelector('a');
216
-
217
145
  const expandoElement = document.createElement('div');
218
146
  expandoElement.setAttribute('class', 'TH aih J-J5-Ji inboxsdk__expando');
219
147
  expandoElement.setAttribute('role', 'link');
220
- expandoElement.title = `Expand ${
221
- link ? link.title || link.textContent : ''
222
- }`;
223
-
224
- expandoElement.addEventListener(
225
- 'click',
226
- (e: MouseEvent) => {
227
- this._toggleCollapse();
228
- e.stopPropagation();
229
- e.preventDefault();
230
- e.stopImmediatePropagation();
231
- },
232
- true
233
- );
234
-
148
+ expandoElement.title = `Expand ${link ? link.title || link.textContent : ''}`;
149
+ expandoElement.addEventListener('click', e => {
150
+ this._toggleCollapse();
151
+ e.stopPropagation();
152
+ e.preventDefault();
153
+ e.stopImmediatePropagation();
154
+ }, true);
235
155
  const insertionPoint = this._element.querySelector('.TN');
236
156
  if (insertionPoint) {
237
- (insertionPoint: any).insertAdjacentElement('afterbegin', expandoElement);
157
+ insertionPoint.insertAdjacentElement('afterbegin', expandoElement);
238
158
  }
239
-
240
- if (
241
- localStorage['inboxsdk__nativeNavItem__state_' + this._navItemName] ===
242
- 'collapsed'
243
- ) {
159
+ if (localStorage['inboxsdk__nativeNavItem__state_' + this._navItemName] === 'collapsed') {
244
160
  this._collapse();
245
161
  } else {
246
162
  this._expand();
247
163
  }
248
164
  }
249
-
250
165
  _toggleCollapse() {
251
166
  if (!this._element.querySelector('.inboxsdk__expando')) {
252
- if (
253
- localStorage['inboxsdk__nativeNavItem__state_' + this._navItemName] ===
254
- 'collapsed'
255
- ) {
256
- localStorage['inboxsdk__nativeNavItem__state_' + this._navItemName] =
257
- 'expanded';
167
+ if (localStorage['inboxsdk__nativeNavItem__state_' + this._navItemName] === 'collapsed') {
168
+ localStorage['inboxsdk__nativeNavItem__state_' + this._navItemName] = 'expanded';
258
169
  } else {
259
- localStorage['inboxsdk__nativeNavItem__state_' + this._navItemName] =
260
- 'collapsed';
170
+ localStorage['inboxsdk__nativeNavItem__state_' + this._navItemName] = 'collapsed';
261
171
  }
262
172
  return;
263
173
  }
264
-
265
- if (
266
- localStorage['inboxsdk__nativeNavItem__state_' + this._navItemName] ===
267
- 'collapsed'
268
- ) {
174
+ if (localStorage['inboxsdk__nativeNavItem__state_' + this._navItemName] === 'collapsed') {
269
175
  this._expand();
270
176
  } else {
271
177
  this._collapse();
272
178
  }
273
179
  }
274
-
275
180
  _collapse() {
276
- const expandoElement = querySelector(this._element, '.inboxsdk__expando');
181
+ const expandoElement = (0, _querySelectorOrFail.default)(this._element, '.inboxsdk__expando');
277
182
  expandoElement.classList.remove('aih');
278
183
  expandoElement.classList.add('aii');
279
-
280
- if (this._itemContainerElement)
281
- this._itemContainerElement.style.display = 'none';
282
-
283
- localStorage.setItem(
284
- 'inboxsdk__nativeNavItem__state_' + this._navItemName,
285
- 'collapsed'
286
- );
287
-
184
+ if (this._itemContainerElement) this._itemContainerElement.style.display = 'none';
185
+ localStorage.setItem('inboxsdk__nativeNavItem__state_' + this._navItemName, 'collapsed');
288
186
  this._eventStream.emit({
289
- eventName: 'collapsed',
187
+ eventName: 'collapsed'
290
188
  });
291
-
292
189
  this._setHeights();
293
190
  }
294
-
295
191
  _expand() {
296
- const expandoElement = querySelector(this._element, '.inboxsdk__expando');
192
+ const expandoElement = (0, _querySelectorOrFail.default)(this._element, '.inboxsdk__expando');
297
193
  expandoElement.classList.add('aih');
298
194
  expandoElement.classList.remove('aii');
299
-
300
- if (this._itemContainerElement)
301
- this._itemContainerElement.style.display = '';
302
-
303
- localStorage.setItem(
304
- 'inboxsdk__nativeNavItem__state_' + this._navItemName,
305
- 'expanded'
306
- );
307
-
195
+ if (this._itemContainerElement) this._itemContainerElement.style.display = '';
196
+ localStorage.setItem('inboxsdk__nativeNavItem__state_' + this._navItemName, 'expanded');
308
197
  this._eventStream.emit({
309
- eventName: 'expanded',
198
+ eventName: 'expanded'
310
199
  });
311
-
312
200
  this._setHeights();
313
201
  }
314
-
315
- _isExpanded(): boolean {
202
+ _isExpanded() {
316
203
  return !!this._element.querySelector('.inboxsdk__expando.aih');
317
204
  }
318
-
319
205
  _setHeights() {
320
- const toElement = querySelector(this._element, '.TO');
321
-
206
+ const toElement = (0, _querySelectorOrFail.default)(this._element, '.TO');
322
207
  if (this._element.classList.contains('ain') && this._itemContainerElement) {
323
208
  this._element.style.height = '';
324
-
325
209
  const totalHeight = this._element.clientHeight;
326
210
  const itemHeight = toElement.clientHeight;
327
-
328
211
  this._element.style.height = itemHeight + 'px';
329
212
  this._element.style.overflow = 'visible';
330
213
  this._element.style.marginBottom = totalHeight - itemHeight + 'px';
@@ -334,22 +217,14 @@ export default class NativeGmailNavItemView {
334
217
  this._element.style.marginBottom = '';
335
218
  }
336
219
  }
337
-
338
220
  _createActiveMarkerElement() {
339
221
  this._removeActiveMarkerElement();
340
-
341
- const activeMarkerElement = (this._activeMarkerElement =
342
- document.createElement('div'));
222
+ const activeMarkerElement = this._activeMarkerElement = document.createElement('div');
343
223
  activeMarkerElement.classList.add('inboxsdk__navItem_marker');
344
224
  activeMarkerElement.classList.add('ain');
345
225
  activeMarkerElement.innerHTML = '&nbsp;';
346
-
347
- this._element.insertBefore(
348
- activeMarkerElement,
349
- this._element.firstElementChild
350
- );
226
+ this._element.insertBefore(activeMarkerElement, this._element.firstElementChild);
351
227
  }
352
-
353
228
  _removeActiveMarkerElement() {
354
229
  const activeMarkerElement = this._activeMarkerElement;
355
230
  if (activeMarkerElement) {
@@ -358,3 +233,4 @@ export default class NativeGmailNavItemView {
358
233
  }
359
234
  }
360
235
  }
236
+ exports.default = NativeGmailNavItemView;
@@ -1,32 +1,31 @@
1
- /* @flow */
2
-
3
- import GenericButtonView from '../../../../lib/dom/generic-button-view';
4
-
5
- export default class InboxDropdownButtonView extends GenericButtonView {
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 _genericButtonView = _interopRequireDefault(require("../../../../lib/dom/generic-button-view"));
9
+ class InboxDropdownButtonView extends _genericButtonView.default {
6
10
  constructor() {
7
11
  const element = document.createElement('div');
8
12
  element.setAttribute('class', 'aAE qi J-J5-Ji J-JN-M-I');
9
-
10
13
  element.innerHTML = '<div class="J-J5-Ji J-JN-M-I-JG">&nbsp;</div>';
11
-
12
14
  element.addEventListener('mouseenter', function () {
13
15
  element.classList.add('J-JN-M-I-JW');
14
16
  });
15
-
16
17
  element.addEventListener('mouseleave', function () {
17
18
  element.classList.remove('J-JN-M-I-JW');
18
19
  });
19
-
20
20
  super(element);
21
21
  }
22
-
23
22
  activate() {
24
23
  this.getElement().classList.add('J-JN-M-I-JO');
25
24
  this.getElement().classList.add('J-JN-M-I-Kq');
26
25
  }
27
-
28
26
  deactivate() {
29
27
  this.getElement().classList.remove('J-JN-M-I-JO');
30
28
  this.getElement().classList.remove('J-JN-M-I-Kq');
31
29
  }
32
30
  }
31
+ exports.default = InboxDropdownButtonView;
@@ -1,13 +1,14 @@
1
- /* @flow */
2
-
3
- import { defn } from 'ud';
4
- import isEqual from 'lodash/isEqual';
5
- import querySelector from '../../../lib/dom/querySelectorOrFail';
6
-
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 _ud = require("ud");
9
+ var _isEqual = _interopRequireDefault(require("lodash/isEqual"));
10
+ var _querySelectorOrFail = _interopRequireDefault(require("../../../lib/dom/querySelectorOrFail"));
7
11
  class GmailActionButtonView {
8
- _element: HTMLElement;
9
- _actionDescriptor: ?Object;
10
-
11
12
  constructor() {
12
13
  this._element = document.createElement('div');
13
14
  this._element.tabIndex = 0;
@@ -16,42 +17,32 @@ class GmailActionButtonView {
16
17
  this._element.innerHTML = `
17
18
  <div>
18
19
  </div>`;
19
-
20
20
  this._actionDescriptor = null;
21
21
  }
22
-
23
- getElement(): HTMLElement {
22
+ getElement() {
24
23
  return this._element;
25
24
  }
26
-
27
- updateDescriptor(actionButtonDescriptor: ?Object) {
25
+ updateDescriptor(actionButtonDescriptor) {
28
26
  if (!actionButtonDescriptor) {
29
27
  this._actionDescriptor = actionButtonDescriptor;
30
28
  return;
31
29
  }
32
-
33
- if (isEqual(this._actionDescriptor, actionButtonDescriptor)) {
30
+ if ((0, _isEqual.default)(this._actionDescriptor, actionButtonDescriptor)) {
34
31
  return;
35
32
  }
36
-
37
33
  this._updateTitle(actionButtonDescriptor.title);
38
-
39
- this._element.className =
40
- 'inboxsdk__gmail_action ' + (actionButtonDescriptor.className || '');
41
-
34
+ this._element.className = 'inboxsdk__gmail_action ' + (actionButtonDescriptor.className || '');
42
35
  this._actionDescriptor = actionButtonDescriptor;
43
36
  }
44
-
45
- setOnClick(callback: ?(event: MouseEvent) => void) {
46
- (this._element: any).onclick = callback;
37
+ setOnClick(callback) {
38
+ this._element.onclick = callback;
47
39
  }
48
-
49
- _updateTitle(title: string) {
40
+ _updateTitle(title) {
50
41
  if (this._actionDescriptor && this._actionDescriptor.title === title) {
51
42
  return;
52
43
  }
53
-
54
- querySelector(this._element, 'div').textContent = title;
44
+ (0, _querySelectorOrFail.default)(this._element, 'div').textContent = title;
55
45
  }
56
46
  }
57
- export default defn(module, GmailActionButtonView);
47
+ var _default = (0, _ud.defn)(module, GmailActionButtonView);
48
+ exports.default = _default;