@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,113 +1,81 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import * as ud from 'ud';
4
- import Kefir from 'kefir';
5
-
6
- var insertHTMLatCursor = ud.defn(
7
- module,
8
- function insertHTMLatCursor(
9
- element: HTMLElement,
10
- html: string,
11
- oldRange: ?Object
12
- ): ?HTMLElement {
13
- element.focus();
14
-
15
- if (element instanceof HTMLTextAreaElement) {
16
- var oldStart = (element: any).selectionStart;
17
- // first delete selected range
18
- if ((element: any).selectionStart < (element: any).selectionEnd) {
19
- element.value =
20
- element.value.substring(0, (element: any).selectionStart) +
21
- element.value.substring((element: any).selectionEnd);
22
- }
23
- // insert into position
24
- element.value =
25
- element.value.substring(0, oldStart) +
26
- html +
27
- element.value.substring(oldStart);
28
- // set caret
29
- (element: any).selectionStart = oldStart + html.length;
30
- (element: any).selectionEnd = oldStart + html.length;
31
- } else {
32
- var editable = null;
33
- if ((element: any).getSelection) {
34
- editable = element;
35
- } else if (element.ownerDocument && element.ownerDocument.getSelection) {
36
- editable = element.ownerDocument;
37
- }
38
-
39
- if (editable) {
40
- var sel = (editable: any).getSelection();
41
- if (sel.getRangeAt && sel.rangeCount) {
42
- var range = oldRange || sel.getRangeAt(0);
43
- range.deleteContents();
44
-
45
- var frag;
46
- if (html instanceof DocumentFragment) {
47
- frag = html;
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 = _interopRequireWildcard(require("ud"));
9
+ var _kefir = _interopRequireDefault(require("kefir"));
10
+ 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); }
11
+ 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; }
12
+ var insertHTMLatCursor = ud.defn(module, function insertHTMLatCursor(element, html, oldRange) {
13
+ element.focus();
14
+ if (element instanceof HTMLTextAreaElement) {
15
+ var oldStart = element.selectionStart;
16
+ // first delete selected range
17
+ if (element.selectionStart < element.selectionEnd) {
18
+ element.value = element.value.substring(0, element.selectionStart) + element.value.substring(element.selectionEnd);
19
+ }
20
+ // insert into position
21
+ element.value = element.value.substring(0, oldStart) + html + element.value.substring(oldStart);
22
+ // set caret
23
+ element.selectionStart = oldStart + html.length;
24
+ element.selectionEnd = oldStart + html.length;
25
+ } else {
26
+ var editable = null;
27
+ if (element.getSelection) {
28
+ editable = element;
29
+ } else if (element.ownerDocument && element.ownerDocument.getSelection) {
30
+ editable = element.ownerDocument;
31
+ }
32
+ if (editable) {
33
+ var sel = editable.getSelection();
34
+ if (sel.getRangeAt && sel.rangeCount) {
35
+ var range = oldRange || sel.getRangeAt(0);
36
+ range.deleteContents();
37
+ var frag;
38
+ if (html instanceof DocumentFragment) {
39
+ frag = html;
40
+ } else {
41
+ frag = document.createDocumentFragment();
42
+ if (html instanceof HTMLElement) {
43
+ frag.appendChild(html);
48
44
  } else {
49
- frag = document.createDocumentFragment();
50
- if (html instanceof HTMLElement) {
51
- frag.appendChild(html);
52
- } else {
53
- var el = document.createElement('div');
54
- el.innerHTML = html;
55
- var node;
56
- while ((node = el.firstChild)) {
57
- frag.appendChild(node);
58
- }
45
+ var el = document.createElement('div');
46
+ el.innerHTML = html;
47
+ var node;
48
+ while (node = el.firstChild) {
49
+ frag.appendChild(node);
59
50
  }
60
51
  }
52
+ }
53
+ var firstChild = frag.firstElementChild;
54
+ range.insertNode(frag);
61
55
 
62
- var firstChild: HTMLElement = (frag: any).firstElementChild;
63
- range.insertNode(frag);
56
+ // Simulate a mousedown event to kill any existing focus-fixers.
57
+ var event = document.createEvent('MouseEvents');
58
+ event.initMouseEvent('mousedown', false, true, window, 1, 0, 0, 0, 0, false, false, false, false, 0, null);
59
+ event.preventDefault();
60
+ element.dispatchEvent(event);
64
61
 
65
- // Simulate a mousedown event to kill any existing focus-fixers.
66
- var event = document.createEvent('MouseEvents');
67
- (event: any).initMouseEvent(
68
- 'mousedown',
69
- false,
70
- true,
71
- window,
72
- 1,
73
- 0,
74
- 0,
75
- 0,
76
- 0,
77
- false,
78
- false,
79
- false,
80
- false,
81
- 0,
82
- null
83
- );
84
- event.preventDefault();
85
- element.dispatchEvent(event);
62
+ // Preserve the cursor position
63
+ range.collapse(false);
64
+ sel.removeAllRanges();
65
+ sel.addRange(range);
66
+ var nextUserCursorMove = _kefir.default.merge([_kefir.default.fromEvents(element, 'mousedown'), _kefir.default.fromEvents(element, 'keypress')]);
86
67
 
87
- // Preserve the cursor position
88
- range.collapse(false);
68
+ // Whenever the body element gets focus, manually make sure the cursor
69
+ // is in the right position, because Chrome likes to put it in the
70
+ // previous location instead because it hates us.
71
+ var focus = _kefir.default.fromEvents(element, 'focus').takeUntilBy(nextUserCursorMove).onValue(function () {
89
72
  sel.removeAllRanges();
90
73
  sel.addRange(range);
91
-
92
- var nextUserCursorMove = Kefir.merge([
93
- Kefir.fromEvents(element, 'mousedown'),
94
- Kefir.fromEvents(element, 'keypress'),
95
- ]);
96
-
97
- // Whenever the body element gets focus, manually make sure the cursor
98
- // is in the right position, because Chrome likes to put it in the
99
- // previous location instead because it hates us.
100
- var focus = Kefir.fromEvents(element, 'focus')
101
- .takeUntilBy(nextUserCursorMove)
102
- .onValue(function () {
103
- sel.removeAllRanges();
104
- sel.addRange(range);
105
- });
106
-
107
- return firstChild;
108
- }
74
+ });
75
+ return firstChild;
109
76
  }
110
77
  }
111
78
  }
112
- );
113
- export default insertHTMLatCursor;
79
+ });
80
+ var _default = insertHTMLatCursor;
81
+ exports.default = _default;
@@ -1,19 +1,17 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- export default function isNodeInRange(node: ?Node, range: ?Range): boolean {
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = isNodeInRange;
7
+ function isNodeInRange(node, range) {
4
8
  if (!range) {
5
9
  return false;
6
10
  }
7
-
8
11
  if (!node) {
9
12
  return false;
10
13
  }
11
-
12
14
  const newRange = document.createRange();
13
15
  newRange.selectNode(node);
14
-
15
- return (
16
- newRange.compareBoundaryPoints(Range.START_TO_END, range) < 1 &&
17
- range.compareBoundaryPoints(Range.START_TO_END, newRange) < 1
18
- );
19
- }
16
+ return newRange.compareBoundaryPoints(Range.START_TO_END, range) < 1 && range.compareBoundaryPoints(Range.START_TO_END, newRange) < 1;
17
+ }
@@ -1,19 +1,17 @@
1
- /* @flow */
1
+ "use strict";
2
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 _fromEventTargetCapture = _interopRequireDefault(require("../from-event-target-capture"));
9
+ var _ud = require("ud");
3
10
  const Kefir = require('kefir');
4
- import fromEventTargetCapture from '../from-event-target-capture';
5
- import { defn } from 'ud';
6
-
7
- const pageMouseUps = fromEventTargetCapture((document.body: any), 'mouseup');
8
-
9
- const onMouseDownAndUp = defn(
10
- module,
11
- function onMouseDownAndUp(el: HTMLElement): Kefir.Observable<Event> {
12
- const elMouseDowns = fromEventTargetCapture(el, 'mousedown');
13
- return elMouseDowns.flatMapLatest(() =>
14
- pageMouseUps.take(1).filter((event) => el.contains(event.target))
15
- );
16
- }
17
- );
18
-
19
- export default onMouseDownAndUp;
11
+ const pageMouseUps = (0, _fromEventTargetCapture.default)(document.body, 'mouseup');
12
+ const onMouseDownAndUp = (0, _ud.defn)(module, function onMouseDownAndUp(el) {
13
+ const elMouseDowns = (0, _fromEventTargetCapture.default)(el, 'mousedown');
14
+ return elMouseDowns.flatMapLatest(() => pageMouseUps.take(1).filter(event => el.contains(event.target)));
15
+ });
16
+ var _default = onMouseDownAndUp;
17
+ exports.default = _default;
@@ -1,16 +1,13 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- export default function querySelectorOne(
4
- root: Element,
5
- selector: string
6
- ): HTMLElement {
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = querySelectorOne;
7
+ function querySelectorOne(root, selector) {
7
8
  const els = root.querySelectorAll(selector);
8
9
  if (els.length !== 1) {
9
- throw new Error(
10
- `Found ${
11
- els.length
12
- } elements when expecting 1 using selector ${JSON.stringify(selector)}`
13
- );
10
+ throw new Error(`Found ${els.length} elements when expecting 1 using selector ${JSON.stringify(selector)}`);
14
11
  }
15
12
  return els[0];
16
- }
13
+ }
@@ -1,7 +1,11 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = setCss;
3
7
  // For quick temporary CSS changes
4
- export default function setCss(key: string, css: ?string) {
8
+ function setCss(key, css) {
5
9
  const id = `inboxsdk__${key}`;
6
10
  let style = document.getElementById(id);
7
11
  if (!css) {
@@ -18,4 +22,4 @@ export default function setCss(key: string, css: ?string) {
18
22
  document.head.appendChild(style);
19
23
  }
20
24
  style.textContent = css;
21
- }
25
+ }
@@ -1,14 +1,12 @@
1
- /* @flow */
2
-
3
- export default function setValueAndDispatchInputEvent(
4
- element: HTMLElement,
5
- value: string,
6
- eventName: string
7
- ) {
8
- (element: any).value = value;
1
+ "use strict";
9
2
 
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = setValueAndDispatchInputEvent;
7
+ function setValueAndDispatchInputEvent(element, value, eventName) {
8
+ element.value = value;
10
9
  const event = document.createEvent('Event');
11
- (event: any).initEvent(eventName);
12
-
10
+ event.initEvent(eventName);
13
11
  element.dispatchEvent(event);
14
- }
12
+ }
@@ -1,15 +1,21 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import triggerRelayEvent from './trigger-relay-event';
4
-
5
- function makeDataTransferObj(files: Array<Blob | File>) {
6
- const fileNames: Array<?string> = Array.from(files).map((file) =>
7
- typeof file.name === 'string' ? file.name : undefined
8
- );
9
- return { files, fileNames };
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.simulateDragEnd = simulateDragEnd;
8
+ exports.simulateDragOver = simulateDragOver;
9
+ exports.simulateDrop = simulateDrop;
10
+ var _triggerRelayEvent = _interopRequireDefault(require("./trigger-relay-event"));
11
+ function makeDataTransferObj(files) {
12
+ const fileNames = Array.from(files).map(file => typeof file.name === 'string' ? file.name : undefined);
13
+ return {
14
+ files,
15
+ fileNames
16
+ };
10
17
  }
11
-
12
- export function simulateDragOver(element: HTMLElement, files: Blob[]) {
18
+ function simulateDragOver(element, files) {
13
19
  const dataTransfer = makeDataTransferObj(files);
14
20
  const props = {
15
21
  screenX: 0,
@@ -21,27 +27,24 @@ export function simulateDragOver(element: HTMLElement, files: Blob[]) {
21
27
  shiftKey: false,
22
28
  altKey: false,
23
29
  metaKey: false,
24
- detail: 0,
30
+ detail: 0
25
31
  };
26
-
27
- triggerRelayEvent(element, {
32
+ (0, _triggerRelayEvent.default)(element, {
28
33
  type: 'dragenter',
29
34
  bubbles: true,
30
35
  cancelable: false,
31
36
  props,
32
- dataTransfer,
37
+ dataTransfer
33
38
  });
34
-
35
- triggerRelayEvent(element, {
39
+ (0, _triggerRelayEvent.default)(element, {
36
40
  type: 'dragover',
37
41
  bubbles: true,
38
42
  cancelable: false,
39
43
  props,
40
- dataTransfer,
44
+ dataTransfer
41
45
  });
42
46
  }
43
-
44
- export function simulateDrop(element: HTMLElement, files: Blob[]) {
47
+ function simulateDrop(element, files) {
45
48
  const dataTransfer = makeDataTransferObj(files);
46
49
  const props = {
47
50
  screenX: 0,
@@ -53,19 +56,17 @@ export function simulateDrop(element: HTMLElement, files: Blob[]) {
53
56
  shiftKey: false,
54
57
  altKey: false,
55
58
  metaKey: false,
56
- detail: 0,
59
+ detail: 0
57
60
  };
58
-
59
- triggerRelayEvent(element, {
61
+ (0, _triggerRelayEvent.default)(element, {
60
62
  type: 'drop',
61
63
  bubbles: true,
62
64
  cancelable: false,
63
65
  props,
64
- dataTransfer,
66
+ dataTransfer
65
67
  });
66
68
  }
67
-
68
- export function simulateDragEnd(element: HTMLElement, files: Blob[]) {
69
+ function simulateDragEnd(element, files) {
69
70
  const dataTransfer = makeDataTransferObj(files);
70
71
  const props = {
71
72
  screenX: 0,
@@ -77,22 +78,20 @@ export function simulateDragEnd(element: HTMLElement, files: Blob[]) {
77
78
  shiftKey: false,
78
79
  altKey: false,
79
80
  metaKey: false,
80
- detail: 0,
81
+ detail: 0
81
82
  };
82
-
83
- triggerRelayEvent(element, {
83
+ (0, _triggerRelayEvent.default)(element, {
84
84
  type: 'dragleave',
85
85
  bubbles: true,
86
86
  cancelable: false,
87
87
  props,
88
- dataTransfer,
88
+ dataTransfer
89
89
  });
90
-
91
- triggerRelayEvent(element, {
90
+ (0, _triggerRelayEvent.default)(element, {
92
91
  type: 'dragend',
93
92
  bubbles: true,
94
93
  cancelable: false,
95
94
  props,
96
- dataTransfer,
95
+ dataTransfer
97
96
  });
98
- }
97
+ }
@@ -1,42 +1,39 @@
1
- /* @flow */
2
-
3
- import extractContactFromEmailContactString from './extract-contact-from-email-contact-string';
1
+ "use strict";
4
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _extractContactFromEmailContactString = _interopRequireDefault(require("./extract-contact-from-email-contact-string"));
5
5
  it('should work with just an email address', () => {
6
- expect(extractContactFromEmailContactString('monkeys@monkeys.com')).toEqual({
6
+ expect((0, _extractContactFromEmailContactString.default)('monkeys@monkeys.com')).toEqual({
7
7
  name: null,
8
- emailAddress: 'monkeys@monkeys.com',
8
+ emailAddress: 'monkeys@monkeys.com'
9
9
  });
10
10
  });
11
-
12
11
  it('should work with a name', () => {
13
- expect(
14
- extractContactFromEmailContactString('George Monkey <monkeys@monkeys.com>')
15
- ).toEqual({ name: 'George Monkey', emailAddress: 'monkeys@monkeys.com' });
12
+ expect((0, _extractContactFromEmailContactString.default)('George Monkey <monkeys@monkeys.com>')).toEqual({
13
+ name: 'George Monkey',
14
+ emailAddress: 'monkeys@monkeys.com'
15
+ });
16
16
  });
17
-
18
17
  it('should work spaces around an email address', () => {
19
- expect(
20
- extractContactFromEmailContactString(' monkeys@monkeys.com ')
21
- ).toEqual({ name: null, emailAddress: 'monkeys@monkeys.com' });
18
+ expect((0, _extractContactFromEmailContactString.default)(' monkeys@monkeys.com ')).toEqual({
19
+ name: null,
20
+ emailAddress: 'monkeys@monkeys.com'
21
+ });
22
22
  });
23
-
24
23
  it('should work with spaces around a name', () => {
25
- expect(
26
- extractContactFromEmailContactString(
27
- ' George Monkey <monkeys@monkeys.com>'
28
- )
29
- ).toEqual({ name: 'George Monkey', emailAddress: 'monkeys@monkeys.com' });
24
+ expect((0, _extractContactFromEmailContactString.default)(' George Monkey <monkeys@monkeys.com>')).toEqual({
25
+ name: 'George Monkey',
26
+ emailAddress: 'monkeys@monkeys.com'
27
+ });
30
28
  });
31
-
32
29
  it('throws on missing email address', () => {
33
30
  expect(() => {
34
- extractContactFromEmailContactString('foo bar');
31
+ (0, _extractContactFromEmailContactString.default)('foo bar');
35
32
  }).toThrowError();
36
33
  });
37
-
38
34
  it('filters out U+202C', () => {
39
- expect(
40
- extractContactFromEmailContactString('Foo Bar <s@gmail.com\u202c>')
41
- ).toEqual({ name: 'Foo Bar', emailAddress: 's@gmail.com' });
42
- });
35
+ expect((0, _extractContactFromEmailContactString.default)('Foo Bar <s@gmail.com\u202c>')).toEqual({
36
+ name: 'Foo Bar',
37
+ emailAddress: 's@gmail.com'
38
+ });
39
+ });