@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,20 +1,19 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = monitorTopBannerSizeAndReact;
3
7
  const BANNER_WIDTH_LIMIT = 900;
4
-
5
- export default function monitorTopBannerSizeAndReact() {
8
+ function monitorTopBannerSizeAndReact() {
6
9
  const ResizeObserver = global.ResizeObserver;
7
10
  if (!ResizeObserver) return;
8
-
9
11
  const body = document.body;
10
12
  if (!body) return;
11
-
12
13
  const banner = body.querySelector('[role=banner]');
13
14
  if (!banner) return;
14
-
15
15
  if (banner.hasAttribute('inboxsdk__resize_claimed')) return;
16
16
  banner.setAttribute('inboxsdk__resize_claimed', 'true');
17
-
18
17
  const resizeObserver = new ResizeObserver(() => {
19
18
  if (banner.clientWidth < BANNER_WIDTH_LIMIT) {
20
19
  body.classList.add('inboxsdk__searchIsNarrow');
@@ -22,6 +21,5 @@ export default function monitorTopBannerSizeAndReact() {
22
21
  body.classList.remove('inboxsdk__searchIsNarrow');
23
22
  }
24
23
  });
25
-
26
24
  resizeObserver.observe(banner);
27
- }
25
+ }
@@ -1,44 +1,35 @@
1
- /* @flow */
2
-
3
- import querySelector from '../../../lib/dom/querySelectorOrFail';
4
- import censorHTMLtree from '../../../../common/censorHTMLtree';
5
- import Kefir from 'kefir';
6
- import kefirStopper from 'kefir-stopper';
7
- import type { Stopper } from 'kefir-stopper';
8
- import updateIcon from '../../../driver-common/update-icon';
9
- import GmailElementGetter from '../gmail-element-getter';
10
- import GmailTooltipView from '../widgets/gmail-tooltip-view';
11
- import DropdownView from '../../../widgets/buttons/dropdown-view';
12
-
13
- import monitorTopBannerSizeAndReact from './gmail-app-toolbar-button-view/monitor-top-banner-size-and-react';
14
-
15
- import type Driver from '../gmail-driver';
16
-
17
- export default class GmailAppToolbarButtonView {
18
- _stopper: Stopper;
19
- _iconSettings: Object;
20
- _element: ?HTMLElement = null;
21
- _activeDropdown: ?DropdownView;
22
- _buttonDescriptor: ?Object;
23
- _driver: Driver;
24
-
25
- constructor(driver: Driver, inButtonDescriptor: Kefir.Observable<Object>) {
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 _querySelectorOrFail = _interopRequireDefault(require("../../../lib/dom/querySelectorOrFail"));
10
+ var _censorHTMLtree = _interopRequireDefault(require("../../../../common/censorHTMLtree"));
11
+ var _kefir = _interopRequireDefault(require("kefir"));
12
+ var _kefirStopper = _interopRequireDefault(require("kefir-stopper"));
13
+ var _updateIcon = _interopRequireDefault(require("../../../driver-common/update-icon"));
14
+ var _gmailElementGetter = _interopRequireDefault(require("../gmail-element-getter"));
15
+ var _gmailTooltipView = _interopRequireDefault(require("../widgets/gmail-tooltip-view"));
16
+ var _dropdownView = _interopRequireDefault(require("../../../widgets/buttons/dropdown-view"));
17
+ var _monitorTopBannerSizeAndReact = _interopRequireDefault(require("./gmail-app-toolbar-button-view/monitor-top-banner-size-and-react"));
18
+ class GmailAppToolbarButtonView {
19
+ constructor(driver, inButtonDescriptor) {
20
+ (0, _defineProperty2.default)(this, "_element", null);
26
21
  this._driver = driver;
27
- this._stopper = kefirStopper();
22
+ this._stopper = (0, _kefirStopper.default)();
28
23
  this._iconSettings = {};
29
- inButtonDescriptor
30
- .takeUntilBy(this._stopper)
31
- .onValue((buttonDescriptor) => {
32
- try {
33
- this._handleButtonDescriptor(buttonDescriptor);
34
- } catch (err) {
35
- this._driver.getLogger().error(err);
36
- }
37
- });
38
-
39
- monitorTopBannerSizeAndReact();
24
+ inButtonDescriptor.takeUntilBy(this._stopper).onValue(buttonDescriptor => {
25
+ try {
26
+ this._handleButtonDescriptor(buttonDescriptor);
27
+ } catch (err) {
28
+ this._driver.getLogger().error(err);
29
+ }
30
+ });
31
+ (0, _monitorTopBannerSizeAndReact.default)();
40
32
  }
41
-
42
33
  destroy() {
43
34
  this._stopper.destroy();
44
35
  if (this._element) {
@@ -48,14 +39,12 @@ export default class GmailAppToolbarButtonView {
48
39
  this._activeDropdown.close();
49
40
  }
50
41
  }
51
-
52
- getStopper(): Kefir.Observable<null> {
42
+ getStopper() {
53
43
  return this._stopper;
54
44
  }
55
- getElement(): ?HTMLElement {
45
+ getElement() {
56
46
  return this._element;
57
47
  }
58
-
59
48
  open() {
60
49
  try {
61
50
  if (!this._activeDropdown) {
@@ -65,7 +54,6 @@ export default class GmailAppToolbarButtonView {
65
54
  this._driver.getLogger().error(err);
66
55
  }
67
56
  }
68
-
69
57
  close() {
70
58
  try {
71
59
  if (this._activeDropdown) {
@@ -75,29 +63,17 @@ export default class GmailAppToolbarButtonView {
75
63
  this._driver.getLogger().error(err);
76
64
  }
77
65
  }
78
-
79
- _handleButtonDescriptor(buttonDescriptor: Object) {
66
+ _handleButtonDescriptor(buttonDescriptor) {
80
67
  if (!buttonDescriptor) {
81
- throw new Error(
82
- 'The application passed an invalid value for buttonDescriptor'
83
- );
68
+ throw new Error('The application passed an invalid value for buttonDescriptor');
84
69
  }
85
- const element = (this._element =
86
- this._element ||
87
- _createAppButtonElement(this._driver, () => {
88
- this._handleClick();
89
- }));
70
+ const element = this._element = this._element || _createAppButtonElement(this._driver, () => {
71
+ this._handleClick();
72
+ });
90
73
  this._buttonDescriptor = buttonDescriptor;
91
- updateIcon(
92
- this._iconSettings,
93
- querySelector(element, 'a'),
94
- false,
95
- buttonDescriptor.iconClass,
96
- buttonDescriptor.iconUrl
97
- );
98
- _updateTitle(querySelector(element, 'span'), buttonDescriptor);
74
+ (0, _updateIcon.default)(this._iconSettings, (0, _querySelectorOrFail.default)(element, 'a'), false, buttonDescriptor.iconClass, buttonDescriptor.iconUrl);
75
+ _updateTitle((0, _querySelectorOrFail.default)(element, 'span'), buttonDescriptor);
99
76
  }
100
-
101
77
  _handleClick() {
102
78
  const element = this._element;
103
79
  if (!element) {
@@ -107,109 +83,84 @@ export default class GmailAppToolbarButtonView {
107
83
  }
108
84
  const buttonDescriptor = this._buttonDescriptor;
109
85
  if (!buttonDescriptor) {
110
- throw new Error(
111
- 'app toolbar button clicked before receiving button descriptor'
112
- );
86
+ throw new Error('app toolbar button clicked before receiving button descriptor');
113
87
  }
114
-
115
88
  if (this._activeDropdown) {
116
89
  this._activeDropdown.close();
117
90
  } else {
118
91
  var appEvent = {};
119
- var tooltipView = new GmailTooltipView();
120
- tooltipView
121
- .getContainerElement()
122
- .classList.add('inboxsdk__appButton_tooltip');
92
+ var tooltipView = new _gmailTooltipView.default();
93
+ tooltipView.getContainerElement().classList.add('inboxsdk__appButton_tooltip');
123
94
  tooltipView.getContentElement().innerHTML = '';
124
-
125
95
  if (buttonDescriptor.arrowColor) {
126
- querySelector(
127
- tooltipView.getContainerElement(),
128
- '.T-P-atC'
129
- ).style.borderTopColor = buttonDescriptor.arrowColor;
96
+ (0, _querySelectorOrFail.default)(tooltipView.getContainerElement(), '.T-P-atC').style.borderTopColor = buttonDescriptor.arrowColor;
130
97
  }
131
-
132
- appEvent.dropdown = this._activeDropdown = new DropdownView(
133
- tooltipView,
134
- element,
135
- { manualPosition: true }
136
- );
98
+ appEvent.dropdown = this._activeDropdown = new _dropdownView.default(tooltipView, element, {
99
+ manualPosition: true
100
+ });
137
101
  appEvent.dropdown.on('destroy', () => {
138
102
  this._activeDropdown = null;
139
103
  });
140
-
141
104
  if (buttonDescriptor.onClick) {
142
105
  buttonDescriptor.onClick.call(null, appEvent);
143
106
  }
144
-
145
107
  if (this._element) {
146
108
  tooltipView.anchor(this._element, {
147
109
  position: 'bottom',
148
- offset: { top: 8 },
110
+ offset: {
111
+ top: 8
112
+ }
149
113
  });
150
114
  }
151
115
  }
152
116
  }
153
117
  }
154
-
155
- function _createAppButtonElement(
156
- driver: Driver,
157
- onclick: (event: Object) => void
158
- ): HTMLElement {
118
+ exports.default = GmailAppToolbarButtonView;
119
+ function _createAppButtonElement(driver, onclick) {
159
120
  const element = document.createElement('div');
160
121
  element.setAttribute('class', 'inboxsdk__appButton');
161
-
162
122
  element.innerHTML = `<a href="#">
163
123
  <span class="inboxsdk__appButton_title"></span>
164
124
  </a>`;
165
-
166
- element.addEventListener('click', (event: MouseEvent) => {
125
+ element.addEventListener('click', event => {
167
126
  event.preventDefault();
168
127
  onclick(event);
169
128
  });
170
-
171
- const topAccountContainer = GmailElementGetter.getTopAccountContainer();
129
+ const topAccountContainer = _gmailElementGetter.default.getTopAccountContainer();
172
130
  if (!topAccountContainer) {
173
131
  const err = new Error('Could not make button');
174
132
  const banner = document.querySelector('[role=banner]');
175
133
  driver.getLogger().error(err, {
176
134
  type: 'failed to make appToolbarButton',
177
135
  gbsfwPresent: !!document.getElementById('gbsfw'),
178
- bannerHtml: banner && censorHTMLtree(banner),
136
+ bannerHtml: banner && (0, _censorHTMLtree.default)(banner)
179
137
  });
180
138
  throw err;
181
139
  }
182
-
183
- const insertionElement: ?HTMLElement = topAccountContainer;
184
-
140
+ const insertionElement = topAccountContainer;
185
141
  if (!insertionElement) {
186
142
  const err = new Error('Could not make button');
187
143
  driver.getLogger().error(err, {
188
144
  type: 'failed to make appToolbarButton',
189
- topAccountContainerHTML: censorHTMLtree(topAccountContainer),
145
+ topAccountContainerHTML: (0, _censorHTMLtree.default)(topAccountContainer)
190
146
  });
191
147
  throw err;
192
148
  }
193
-
194
149
  try {
195
- if (!GmailElementGetter.isGplusEnabled()) {
150
+ if (!_gmailElementGetter.default.isGplusEnabled()) {
196
151
  element.classList.add('inboxsdk__appButton_noGPlus');
197
152
  }
198
-
199
153
  insertionElement.insertBefore(element, insertionElement.lastElementChild);
200
154
  return element;
201
155
  } catch (err) {
202
156
  driver.getLogger().error(err, {
203
157
  type: 'failed to make appToolbarButton',
204
- insertionElementHTML: censorHTMLtree(insertionElement),
158
+ insertionElementHTML: (0, _censorHTMLtree.default)(insertionElement)
205
159
  });
206
160
  throw err;
207
161
  }
208
162
  }
209
-
210
- function _updateTitle(element: HTMLElement, descriptor: Object) {
163
+ function _updateTitle(element, descriptor) {
211
164
  element.textContent = descriptor.title;
212
- element.className = `inboxsdk__appButton_title ${
213
- descriptor.titleClass || ''
214
- }`;
215
- }
165
+ element.className = `inboxsdk__appButton_title ${descriptor.titleClass || ''}`;
166
+ }
@@ -1,141 +1,101 @@
1
- /* @flow */
2
-
3
- import { defn } from 'ud';
4
- import type GmailDriver from '../gmail-driver';
5
- import type GmailMessageView from './gmail-message-view';
6
- import GmailAttachmentCardView from './gmail-attachment-card-view';
7
- import ButtonView from '../widgets/buttons/button-view';
8
- import querySelector from '../../../lib/dom/querySelectorOrFail';
9
- import BasicButtonViewController from '../../../widgets/buttons/basic-button-view-controller';
10
-
11
- const GmailAttachmentAreaView = defn(
12
- module,
13
- class GmailAttachmentAreaView {
14
- _element: HTMLElement;
15
- _messageViewDriver: GmailMessageView;
16
- _driver: GmailDriver;
17
- _elsToCardViews: WeakMap<HTMLElement, GmailAttachmentCardView>;
18
-
19
- constructor(
20
- element: ?HTMLElement,
21
- driver: GmailDriver,
22
- messageViewDriver: GmailMessageView
23
- ) {
24
- this._driver = driver;
25
- this._messageViewDriver = messageViewDriver;
26
- this._elsToCardViews = new WeakMap();
27
- if (element) {
28
- this._element = element;
29
- } else {
30
- this._setupElement();
31
- }
32
- }
33
-
34
- destroy() {
35
- this.getAttachmentCardViews().forEach((view) => {
36
- view.destroy();
37
- });
38
- }
39
-
40
- getElement(): HTMLElement {
41
- return this._element;
42
- }
43
-
44
- getAttachmentCardViews() {
45
- const attachments = this._element.querySelectorAll('.aQH > span');
46
- return Array.from(attachments).map((attachment) => {
47
- let cardView = this._elsToCardViews.get(attachment);
48
- if (!cardView) {
49
- cardView = new GmailAttachmentCardView(
50
- { element: attachment },
51
- this._driver,
52
- this._messageViewDriver
53
- );
54
- this._elsToCardViews.set(attachment, cardView);
55
- }
56
- return cardView;
57
- });
58
- }
59
-
60
- _setupElement() {
61
- this._element = document.createElement('div');
62
- this._element.setAttribute('class', 'hq gt a10');
63
-
64
- this._element.innerHTML = [
65
- '<div class="hp"></div>',
66
- '<div class="a3I">Attachments area</div>',
67
- '<div></div>',
68
- '<div class="aQH">',
69
- '<div class="aZK"></div>',
70
- '</div>',
71
- ].join('');
72
- }
73
-
74
- _createAreaToolbarIfNeeded(): HTMLElement {
75
- const preexistingToolbar = this._element.querySelector('.ho');
76
- if (preexistingToolbar) {
77
- return preexistingToolbar;
78
- }
79
- const toolbar = document.createElement('div');
80
- toolbar.className = 'ho';
81
- toolbar.innerHTML = `<span class="aVW"><span>${
82
- this.getAttachmentCardViews().length
83
- }</span> Attachments</span><div class="aZi J-J5-Ji"></div>`;
84
- this._element.insertBefore(toolbar, this._element.lastElementChild);
85
- this._element.classList.remove('a10');
86
- return toolbar;
87
- }
88
-
89
- _updateToolbarCardCount() {
90
- const cardCount = this.getAttachmentCardViews().length;
91
- if (cardCount > 1) {
92
- const toolbar = this._createAreaToolbarIfNeeded();
93
- const counter = querySelector(toolbar, '.aVW > span');
94
- counter.textContent = String(cardCount);
95
- }
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 _gmailAttachmentCardView = _interopRequireDefault(require("./gmail-attachment-card-view"));
10
+ var _buttonView = _interopRequireDefault(require("../widgets/buttons/button-view"));
11
+ var _querySelectorOrFail = _interopRequireDefault(require("../../../lib/dom/querySelectorOrFail"));
12
+ var _basicButtonViewController = _interopRequireDefault(require("../../../widgets/buttons/basic-button-view-controller"));
13
+ const GmailAttachmentAreaView = (0, _ud.defn)(module, class GmailAttachmentAreaView {
14
+ constructor(element, driver, messageViewDriver) {
15
+ this._driver = driver;
16
+ this._messageViewDriver = messageViewDriver;
17
+ this._elsToCardViews = new WeakMap();
18
+ if (element) {
19
+ this._element = element;
20
+ } else {
21
+ this._setupElement();
96
22
  }
97
-
98
- addGmailAttachmentCardView(
99
- gmailAttachmentCardView: GmailAttachmentCardView
100
- ) {
101
- const zone = this._element.querySelector('.aXK, .aQH');
102
- if (!zone) {
103
- this._driver
104
- .getLogger()
105
- .error(new Error('Could not find attachment zone'));
106
- return;
23
+ }
24
+ destroy() {
25
+ this.getAttachmentCardViews().forEach(view => {
26
+ view.destroy();
27
+ });
28
+ }
29
+ getElement() {
30
+ return this._element;
31
+ }
32
+ getAttachmentCardViews() {
33
+ const attachments = this._element.querySelectorAll('.aQH > span');
34
+ return Array.from(attachments).map(attachment => {
35
+ let cardView = this._elsToCardViews.get(attachment);
36
+ if (!cardView) {
37
+ cardView = new _gmailAttachmentCardView.default({
38
+ element: attachment
39
+ }, this._driver, this._messageViewDriver);
40
+ this._elsToCardViews.set(attachment, cardView);
107
41
  }
108
- zone.insertBefore(
109
- gmailAttachmentCardView.getElement(),
110
- zone.lastElementChild
111
- );
112
- this._updateToolbarCardCount();
42
+ return cardView;
43
+ });
44
+ }
45
+ _setupElement() {
46
+ this._element = document.createElement('div');
47
+ this._element.setAttribute('class', 'hq gt a10');
48
+ this._element.innerHTML = ['<div class="hp"></div>', '<div class="a3I">Attachments area</div>', '<div></div>', '<div class="aQH">', '<div class="aZK"></div>', '</div>'].join('');
49
+ }
50
+ _createAreaToolbarIfNeeded() {
51
+ const preexistingToolbar = this._element.querySelector('.ho');
52
+ if (preexistingToolbar) {
53
+ return preexistingToolbar;
113
54
  }
114
-
115
- addButtonToDownloadAllArea(options: Object) {
116
- var buttonView = new ButtonView({
117
- iconClass: 'T-I-J3',
118
- iconUrl: options.iconUrl,
119
- tooltip: options.tooltip,
120
- hasButtonToLeft: true,
121
- });
122
-
123
- buttonView.addClass('aZj');
124
- buttonView.getElement().children[0].className = 'asa';
125
-
126
- var basicButtonViewController = new BasicButtonViewController({
127
- activateFunction: () => {
128
- if (options.onClick) {
129
- options.onClick();
130
- }
131
- },
132
- buttonView: buttonView,
133
- });
134
-
55
+ const toolbar = document.createElement('div');
56
+ toolbar.className = 'ho';
57
+ toolbar.innerHTML = `<span class="aVW"><span>${this.getAttachmentCardViews().length}</span> Attachments</span><div class="aZi J-J5-Ji"></div>`;
58
+ this._element.insertBefore(toolbar, this._element.lastElementChild);
59
+ this._element.classList.remove('a10');
60
+ return toolbar;
61
+ }
62
+ _updateToolbarCardCount() {
63
+ const cardCount = this.getAttachmentCardViews().length;
64
+ if (cardCount > 1) {
135
65
  const toolbar = this._createAreaToolbarIfNeeded();
136
- querySelector(toolbar, '.aZi').appendChild(buttonView.getElement());
66
+ const counter = (0, _querySelectorOrFail.default)(toolbar, '.aVW > span');
67
+ counter.textContent = String(cardCount);
137
68
  }
138
69
  }
139
- );
140
-
141
- export default GmailAttachmentAreaView;
70
+ addGmailAttachmentCardView(gmailAttachmentCardView) {
71
+ const zone = this._element.querySelector('.aXK, .aQH');
72
+ if (!zone) {
73
+ this._driver.getLogger().error(new Error('Could not find attachment zone'));
74
+ return;
75
+ }
76
+ zone.insertBefore(gmailAttachmentCardView.getElement(), zone.lastElementChild);
77
+ this._updateToolbarCardCount();
78
+ }
79
+ addButtonToDownloadAllArea(options) {
80
+ var buttonView = new _buttonView.default({
81
+ iconClass: 'T-I-J3',
82
+ iconUrl: options.iconUrl,
83
+ tooltip: options.tooltip,
84
+ hasButtonToLeft: true
85
+ });
86
+ buttonView.addClass('aZj');
87
+ buttonView.getElement().children[0].className = 'asa';
88
+ var basicButtonViewController = new _basicButtonViewController.default({
89
+ activateFunction: () => {
90
+ if (options.onClick) {
91
+ options.onClick();
92
+ }
93
+ },
94
+ buttonView: buttonView
95
+ });
96
+ const toolbar = this._createAreaToolbarIfNeeded();
97
+ (0, _querySelectorOrFail.default)(toolbar, '.aZi').appendChild(buttonView.getElement());
98
+ }
99
+ });
100
+ var _default = GmailAttachmentAreaView;
101
+ exports.default = _default;