@inboxsdk/core 0.2.28-alpha.4 → 0.2.28-alpha.5

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 (263) 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/injected-js/gmail/modify-suggestions.test.js +8 -9
  12. package/src/injected-js/gmail/setup-gmail-interceptor.js +340 -579
  13. package/src/injected-js/gmail/sync-compose-request-processor.test.js +39 -49
  14. package/src/injected-js/gmail/thread-identifier/click-and-get-popup-url.js +20 -33
  15. package/src/injected-js/gmail/thread-identifier/index.js +57 -93
  16. package/src/injected-js/gmail/thread-identifier/thread-row-parser.js +22 -31
  17. package/src/injected-js/gmail/thread-identifier/thread-row-parser.test.js +12 -28
  18. package/src/injected-js/inbox/setupAjaxInterceptor.js +64 -121
  19. package/src/injected-js/inbox/setupClickAndGetNewIframeSrc.js +53 -66
  20. package/src/injected-js/inbox/setupComposeViewDraftIDFinder.js +20 -36
  21. package/src/injected-js/inbox/setupInboxFakeWindowResizeListener.js +13 -13
  22. package/src/injected-js/main.js +11 -24
  23. package/src/injected-js/message-metadata-holder.js +52 -82
  24. package/src/injected-js/setup-data-exposer.js +89 -148
  25. package/src/injected-js/setup-error-silencer.js +21 -21
  26. package/src/injected-js/setup-event-reemitter.js +30 -22
  27. package/src/injected-js/setupInboxCustomViewLinkFixer.js +24 -29
  28. package/src/injected-js/setupPushStateListener.js +18 -11
  29. package/src/injected-js/xhr-helper.js +62 -65
  30. package/src/injected-js/xhr-proxy-factory.js +195 -445
  31. package/src/injected-js/xhr-proxy-factory.test.js +824 -991
  32. package/src/platform-implementation-js/constants/router.js +14 -9
  33. package/src/platform-implementation-js/constants/toolbars.js +8 -3
  34. package/src/platform-implementation-js/dom-driver/gmail/custom-style.js +13 -13
  35. package/src/platform-implementation-js/dom-driver/gmail/gmail-butter-bar-driver.js +115 -136
  36. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/add-toolbar-button-for-app.js +13 -14
  37. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/create-link.js +27 -48
  38. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-draft-id-for-message-id.js +31 -42
  39. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-native-nav-item.js +30 -40
  40. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/get-url-object.js +10 -18
  41. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadForOldGmailThreadId.js +21 -28
  42. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/getSyncThreadFromSyncThreadId.js +33 -45
  43. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/gmail-load-event.js +31 -49
  44. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/goto-view.js +58 -65
  45. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/keyboard-shortcut-help-modifier.js +40 -124
  46. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-compose-window.js +17 -22
  47. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/open-draft-by-message-id.test.js +10 -11
  48. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/override-gmail-back-button.js +44 -80
  49. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-query-rewriter.js +19 -26
  50. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/register-search-suggestions-provider.js +71 -147
  51. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-compose-view-driver-stream.js +91 -148
  52. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.js +150 -166
  53. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/setup-route-view-driver-stream.test.js +70 -120
  54. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-app-id-warning.js +15 -15
  55. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-route-view.js +44 -67
  56. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.js +230 -379
  57. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-custom-thread-list.test.js +121 -307
  58. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/show-native-route-view.js +17 -24
  59. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/suppressAddon.js +41 -49
  60. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/temporary-track-download-url-validity.js +30 -40
  61. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/thread-row-identifier.js +28 -60
  62. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/track-events.js +61 -133
  63. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.js +30 -42
  64. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver/user-info.test.js +52 -46
  65. package/src/platform-implementation-js/dom-driver/gmail/gmail-driver.js +354 -694
  66. package/src/platform-implementation-js/dom-driver/gmail/make-xhr-interceptor.js +77 -93
  67. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.js +35 -82
  68. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/index.test.js +44 -94
  69. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-global-icon-area.js +12 -19
  70. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-companion-thread-icon-area.js +17 -29
  71. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/add-to-icon-area.js +26 -26
  72. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-sidebar-view/primary/index.js +391 -797
  73. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view/monitor-top-banner-size-and-react.js +7 -9
  74. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-app-toolbar-button-view.js +60 -109
  75. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-area-view.js +95 -135
  76. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.js +103 -211
  77. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-attachment-card-view.test.js +61 -61
  78. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-backdrop.js +17 -17
  79. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-collapsible-section-view.js +188 -541
  80. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-button.js +67 -135
  81. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-compose-notice.js +27 -49
  82. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-inner-sidebar.js +7 -13
  83. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-outer-sidebar.js +9 -22
  84. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-recipient-row.js +36 -63
  85. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/add-tooltip-to-button.js +38 -113
  86. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-app-button-toolbars-are-closed.js +11 -16
  87. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/ensure-grouping-is-open.js +11 -17
  88. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/focus.js +8 -11
  89. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/from-manager.js +27 -47
  90. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-additional-action-toolbar.js +11 -24
  91. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-address-changes-stream.js +59 -111
  92. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-body-changes-stream.js +15 -14
  93. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-formatting-area-offset-left.js +11 -17
  94. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-minimized-stream.js +18 -24
  95. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/get-response-type-changes-stream.js +19 -23
  96. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/insert-link-into-body.js +11 -19
  97. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/manage-button-grouping.js +141 -376
  98. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/monitor-selection-range.js +17 -28
  99. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/override-edit-subject.js +34 -70
  100. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/position-formatting-toolbar.js +10 -17
  101. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/size-fixer.js +83 -137
  102. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view/update-insert-more-area-left.js +10 -19
  103. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-compose-view.js +632 -1190
  104. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view/get-updated-contact.js +29 -38
  105. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-message-view.js +327 -617
  106. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-processor.js +26 -49
  107. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-route-view/gmail-route-view.js +188 -380
  108. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-row-list-view.js +104 -194
  109. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-row-view.js +382 -811
  110. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view/add-icon-area.js +34 -58
  111. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.js +330 -581
  112. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-sidebar-view.test.js +123 -277
  113. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view/width-manager.js +15 -35
  114. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-thread-view.js +216 -571
  115. package/src/platform-implementation-js/dom-driver/gmail/views/gmail-toolbar-view.js +152 -336
  116. package/src/platform-implementation-js/dom-driver/gmail/views/native-gmail-nav-item-view.js +87 -211
  117. package/src/platform-implementation-js/dom-driver/gmail/widgets/buttons/inbox-dropdown-button-view.js +10 -11
  118. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-action-button-view.js +20 -29
  119. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-label-view.js +41 -76
  120. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-modal-view-driver.js +45 -99
  121. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-mole-view-driver.js +76 -128
  122. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-tooltip-view.js +128 -319
  123. package/src/platform-implementation-js/dom-driver/gmail/widgets/gmail-top-message-bar-driver.js +45 -78
  124. package/src/platform-implementation-js/dom-driver/inbox/__mocks__/getSidebarClassnames.js +8 -4
  125. package/src/platform-implementation-js/dom-driver/inbox/addNavItem.js +36 -54
  126. package/src/platform-implementation-js/dom-driver/inbox/addRecipientRow.js +35 -53
  127. package/src/platform-implementation-js/dom-driver/inbox/createLink.js +13 -15
  128. package/src/platform-implementation-js/dom-driver/inbox/createLink.test.js +15 -18
  129. package/src/platform-implementation-js/dom-driver/inbox/custom-style.js +14 -13
  130. package/src/platform-implementation-js/dom-driver/inbox/detection/appToolbarLocation/parser.js +14 -20
  131. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentCard/parser.js +14 -13
  132. package/src/platform-implementation-js/dom-driver/inbox/detection/attachmentOverlay/parser.js +35 -67
  133. package/src/platform-implementation-js/dom-driver/inbox/detection/chatSidebar/parser.js +16 -18
  134. package/src/platform-implementation-js/dom-driver/inbox/detection/compose/parser.js +68 -185
  135. package/src/platform-implementation-js/dom-driver/inbox/detection/message/parser.js +28 -56
  136. package/src/platform-implementation-js/dom-driver/inbox/detection/nativeDrawer/parser.js +12 -10
  137. package/src/platform-implementation-js/dom-driver/inbox/detection/searchBar/parser.js +16 -16
  138. package/src/platform-implementation-js/dom-driver/inbox/detection/thread/parser.js +24 -35
  139. package/src/platform-implementation-js/dom-driver/inbox/detection/thread-row/parser.js +37 -89
  140. package/src/platform-implementation-js/dom-driver/inbox/getComposeViewDriverLiveSet.js +56 -78
  141. package/src/platform-implementation-js/dom-driver/inbox/getInboxMessageIdForInboxThreadId.js +26 -32
  142. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.js +52 -109
  143. package/src/platform-implementation-js/dom-driver/inbox/getSidebarClassnames.test.js +7 -8
  144. package/src/platform-implementation-js/dom-driver/inbox/gotoView.js +16 -20
  145. package/src/platform-implementation-js/dom-driver/inbox/gotoView.test.js +15 -16
  146. package/src/platform-implementation-js/dom-driver/inbox/inbox-butter-bar-driver.js +75 -83
  147. package/src/platform-implementation-js/dom-driver/inbox/inbox-driver.js +530 -822
  148. package/src/platform-implementation-js/dom-driver/inbox/inbox-page-communicator.js +48 -61
  149. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.js +9 -12
  150. package/src/platform-implementation-js/dom-driver/inbox/inboxResponseProcessor.test.js +12 -19
  151. package/src/platform-implementation-js/dom-driver/inbox/makePageParserTree.js +24 -33
  152. package/src/platform-implementation-js/dom-driver/inbox/pageParserOptions.js +201 -388
  153. package/src/platform-implementation-js/dom-driver/inbox/registerSearchSuggestionsProvider.js +249 -265
  154. package/src/platform-implementation-js/dom-driver/inbox/setupCustomAutocompleteSelectionHandling.js +84 -152
  155. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.js +55 -67
  156. package/src/platform-implementation-js/dom-driver/inbox/setupRouteViewDriverStream.test.js +43 -65
  157. package/src/platform-implementation-js/dom-driver/inbox/views/InboxLabelView.js +31 -56
  158. package/src/platform-implementation-js/dom-driver/inbox/views/InboxMoleViewDriver.js +191 -294
  159. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarButtonView.js +32 -45
  160. package/src/platform-implementation-js/dom-driver/inbox/views/InboxToolbarView.js +21 -39
  161. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-sidebar-view.js +153 -240
  162. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-button-view.js +75 -150
  163. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-app-toolbar-tooltip-view.js +20 -37
  164. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-card-view.js +60 -114
  165. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-attachment-overlay-view.js +47 -65
  166. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-backdrop.js +41 -52
  167. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-chat-sidebar-view.js +27 -36
  168. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-button-view.js +52 -80
  169. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-compose-view.js +465 -649
  170. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.js +37 -58
  171. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-custom-route-view.test.js +14 -26
  172. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-drawer-view.js +118 -235
  173. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dropdown-view.js +10 -11
  174. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-dummy-route-view.js +28 -46
  175. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-message-view.js +131 -202
  176. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-modal-view.js +40 -80
  177. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-route-view.js +35 -61
  178. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-row-view.js +124 -221
  179. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.js +125 -213
  180. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-thread-view.test.js +104 -126
  181. package/src/platform-implementation-js/dom-driver/inbox/views/inbox-tooltip-view.js +36 -51
  182. package/src/platform-implementation-js/dom-driver/inbox/views/inboxNavItemView.js +158 -297
  183. package/src/platform-implementation-js/dom-driver/inbox/waitForAnimationClickBlockerGone.js +21 -35
  184. package/src/platform-implementation-js/driver-common/compose/getDiscardStream.js +24 -43
  185. package/src/platform-implementation-js/driver-common/compose/getPresendingStream.js +39 -68
  186. package/src/platform-implementation-js/driver-common/getGmailMessageIdForSyncMessageId.js +14 -19
  187. package/src/platform-implementation-js/driver-common/getGmailThreadIdForRfcMessageId.js +27 -35
  188. package/src/platform-implementation-js/driver-common/getRfcMessageIdForSyncMessageId.js +16 -22
  189. package/src/platform-implementation-js/driver-common/getThreadIdFromMessageId.js +14 -14
  190. package/src/platform-implementation-js/driver-common/inboxAjax.js +12 -7
  191. package/src/platform-implementation-js/driver-common/requestGmailThread.js +19 -20
  192. package/src/platform-implementation-js/driver-common/sidebar/AppSidebar.js +197 -306
  193. package/src/platform-implementation-js/driver-common/sidebar/ContentPanelViewDriver.js +113 -161
  194. package/src/platform-implementation-js/driver-interfaces/compose-view-driver.js +1 -114
  195. package/src/platform-implementation-js/driver-interfaces/driver.js +1 -131
  196. package/src/platform-implementation-js/driver-interfaces/message-view-driver.js +4 -48
  197. package/src/platform-implementation-js/driver-interfaces/mole-view-driver.js +1 -29
  198. package/src/platform-implementation-js/driver-interfaces/route-view-driver.js +1 -32
  199. package/src/platform-implementation-js/driver-interfaces/thread-row-view-driver.js +1 -11
  200. package/src/platform-implementation-js/lib/array-to-lifetimes.js +43 -41
  201. package/src/platform-implementation-js/lib/array-to-lifetimes.test.js +139 -155
  202. package/src/platform-implementation-js/lib/copyAndValidateAutocompleteResults.js +19 -38
  203. package/src/platform-implementation-js/lib/css-selector-escape.js +7 -3
  204. package/src/platform-implementation-js/lib/dom/element-view-mapper.js +8 -11
  205. package/src/platform-implementation-js/lib/dom/get-selection.js +23 -52
  206. package/src/platform-implementation-js/lib/dom/insert-html-at-cursor.js +69 -101
  207. package/src/platform-implementation-js/lib/dom/is-node-in-range.js +8 -10
  208. package/src/platform-implementation-js/lib/dom/on-mouse-down-and-up.js +15 -17
  209. package/src/platform-implementation-js/lib/dom/querySelectorOne.js +8 -11
  210. package/src/platform-implementation-js/lib/dom/set-css.js +7 -3
  211. package/src/platform-implementation-js/lib/dom/set-value-and-dispatch-event.js +9 -11
  212. package/src/platform-implementation-js/lib/dom/simulate-drag-and-drop.js +32 -33
  213. package/src/platform-implementation-js/lib/extract-contact-from-email-contact-string.test.js +23 -26
  214. package/src/platform-implementation-js/lib/handle-compose-link-chips.js +86 -149
  215. package/src/platform-implementation-js/lib/insert-link-chip-into-body.js +42 -57
  216. package/src/platform-implementation-js/lib/make-revocable-function.js +19 -21
  217. package/src/platform-implementation-js/lib/make-revocable-function.test.js +20 -22
  218. package/src/platform-implementation-js/lib/parseParamsFromRouteID.js +15 -17
  219. package/src/platform-implementation-js/lib/parseParamsFromRouteID.test.js +9 -18
  220. package/src/platform-implementation-js/lib/populateRouteID.js +8 -9
  221. package/src/platform-implementation-js/lib/populateRouteID.test.js +20 -19
  222. package/src/platform-implementation-js/lib/react/ElementContainer.js +23 -20
  223. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.js +10 -9
  224. package/src/platform-implementation-js/lib/rewriteCssWithIdMap.test.js +13 -20
  225. package/src/platform-implementation-js/lib/routeIDmatchesHash.js +13 -18
  226. package/src/platform-implementation-js/lib/routeIDmatchesHash.test.js +11 -17
  227. package/src/platform-implementation-js/lib/shared-style.js +14 -13
  228. package/src/platform-implementation-js/lib/toItemWithLifetimeStream.js +18 -17
  229. package/src/platform-implementation-js/lib/toLiveSet.js +17 -15
  230. package/src/platform-implementation-js/main-INTEGRATED-PAGEWORLD.js +6 -5
  231. package/src/platform-implementation-js/main.js +9 -24
  232. package/src/platform-implementation-js/namespaces/compose.js +37 -60
  233. package/src/platform-implementation-js/namespaces/conversations.js +52 -124
  234. package/src/platform-implementation-js/namespaces/global.js +27 -39
  235. package/src/platform-implementation-js/namespaces/keyboard.js +29 -33
  236. package/src/platform-implementation-js/namespaces/lists.js +25 -31
  237. package/src/platform-implementation-js/namespaces/modal.js +34 -28
  238. package/src/platform-implementation-js/namespaces/nav-menu.js +30 -45
  239. package/src/platform-implementation-js/namespaces/router.js +70 -137
  240. package/src/platform-implementation-js/namespaces/search.js +19 -17
  241. package/src/platform-implementation-js/namespaces/toolbars.js +71 -117
  242. package/src/platform-implementation-js/namespaces/user.js +36 -37
  243. package/src/platform-implementation-js/namespaces/widgets.js +54 -61
  244. package/src/platform-implementation-js/platform-implementation.js +98 -229
  245. package/src/platform-implementation-js/views/app-toolbar-button-view.js +26 -47
  246. package/src/platform-implementation-js/views/collapsible-section-view.js +66 -63
  247. package/src/platform-implementation-js/views/content-panel-view.js +28 -30
  248. package/src/platform-implementation-js/views/conversations/attachment-card-view.js +21 -44
  249. package/src/platform-implementation-js/views/conversations/custom-message-view.js +44 -104
  250. package/src/platform-implementation-js/views/conversations/message-view.js +131 -202
  251. package/src/platform-implementation-js/views/conversations/thread-view.js +75 -127
  252. package/src/platform-implementation-js/views/native-nav-item-view.js +32 -65
  253. package/src/platform-implementation-js/views/nav-item-view.js +51 -115
  254. package/src/platform-implementation-js/views/route-view/custom-route-view.js +25 -20
  255. package/src/platform-implementation-js/views/route-view/dummy-route-view-driver.js +18 -18
  256. package/src/platform-implementation-js/views/route-view/list-route-view.js +30 -52
  257. package/src/platform-implementation-js/views/route-view/route-view.js +24 -35
  258. package/src/platform-implementation-js/views/section-view.js +60 -52
  259. package/src/platform-implementation-js/views/thread-row-view.js +49 -74
  260. package/src/platform-implementation-js/widgets/drawer-view.js +29 -36
  261. package/src/platform-implementation-js/widgets/modal-view.js +39 -68
  262. package/src/platform-implementation-js/widgets/mole-view.js +22 -22
  263. 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
+ });