@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,109 +1,76 @@
1
- /* @flow */
2
-
3
- import Kefir from 'kefir';
4
- import kefirBus from 'kefir-bus';
5
- import type { Bus } from 'kefir-bus';
6
- import fakeWindowResize from '../../../lib/fake-window-resize';
7
-
8
- export default class GmailTopMessageBarDriver {
9
- _element: ?HTMLElement;
10
- _eventStream: Bus<any>;
11
- _resizeObserver: ?ResizeObserver;
12
-
13
- constructor(optionStream: Kefir.Observable<?Object>) {
14
- this._eventStream = kefirBus();
15
-
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 _kefir = _interopRequireDefault(require("kefir"));
9
+ var _kefirBus = _interopRequireDefault(require("kefir-bus"));
10
+ var _fakeWindowResize = _interopRequireDefault(require("../../../lib/fake-window-resize"));
11
+ class GmailTopMessageBarDriver {
12
+ constructor(optionStream) {
13
+ this._eventStream = (0, _kefirBus.default)();
16
14
  const ResizeObserver = global.ResizeObserver;
17
15
  if (ResizeObserver) {
18
16
  this._resizeObserver = new ResizeObserver(() => {
19
17
  this.setTopMessageBarHeight();
20
18
  });
21
19
  }
22
-
23
- optionStream
24
- .takeUntilBy(this._eventStream.filter(() => false).beforeEnd(() => null))
25
- .onValue((option) => {
26
- if (!option) {
27
- if (this._element) {
28
- (this._element: any).remove();
29
- this._element = null;
30
- }
31
- } else if (option) {
32
- var element = this._element;
33
- if (!element) {
34
- element = this._element = document.createElement('div');
35
- element.classList.add('inboxsdk__topMessageBar');
36
-
37
- ((document.body: any): HTMLElement).insertBefore(
38
- element,
39
- ((document.body: any): HTMLElement).firstChild
40
- );
41
- ((document.body: any): HTMLElement).classList.add(
42
- 'inboxsdk__hasTopMessageBar'
43
- );
44
-
45
- fakeWindowResize();
46
- }
47
-
48
- if (option.el !== element.children[0]) {
49
- element.innerHTML = '';
50
-
51
- if (option.el) {
52
- element.appendChild(option.el);
53
-
54
- if (this._resizeObserver) {
55
- this._resizeObserver.observe(element);
56
- }
57
-
58
- this.setTopMessageBarHeight();
20
+ optionStream.takeUntilBy(this._eventStream.filter(() => false).beforeEnd(() => null)).onValue(option => {
21
+ if (!option) {
22
+ if (this._element) {
23
+ this._element.remove();
24
+ this._element = null;
25
+ }
26
+ } else if (option) {
27
+ var element = this._element;
28
+ if (!element) {
29
+ element = this._element = document.createElement('div');
30
+ element.classList.add('inboxsdk__topMessageBar');
31
+ document.body.insertBefore(element, document.body.firstChild);
32
+ document.body.classList.add('inboxsdk__hasTopMessageBar');
33
+ (0, _fakeWindowResize.default)();
34
+ }
35
+ if (option.el !== element.children[0]) {
36
+ element.innerHTML = '';
37
+ if (option.el) {
38
+ element.appendChild(option.el);
39
+ if (this._resizeObserver) {
40
+ this._resizeObserver.observe(element);
59
41
  }
42
+ this.setTopMessageBarHeight();
60
43
  }
61
44
  }
62
- });
45
+ }
46
+ });
63
47
  }
64
-
65
48
  destroy() {
66
49
  if (this._element) {
67
- (this._element: any).remove();
50
+ this._element.remove();
68
51
  this._element = null;
69
52
  }
70
53
  this._eventStream.end();
71
-
72
54
  if (this._resizeObserver) {
73
55
  this._resizeObserver.disconnect();
74
56
  }
75
-
76
57
  if (document.querySelectorAll('.inboxsdk__topMessageBar').length === 0) {
77
- ((document.body: any): HTMLElement).classList.remove(
78
- 'inboxsdk__hasTopMessageBar'
79
- );
58
+ document.body.classList.remove('inboxsdk__hasTopMessageBar');
80
59
  } else {
81
60
  this.setTopMessageBarHeight();
82
61
  }
83
-
84
- fakeWindowResize();
62
+ (0, _fakeWindowResize.default)();
85
63
  }
86
-
87
- getEventStream(): Kefir.Observable<Object> {
64
+ getEventStream() {
88
65
  return this._eventStream;
89
66
  }
90
-
91
67
  remove() {
92
68
  this.destroy();
93
69
  }
94
-
95
70
  setTopMessageBarHeight() {
96
- const topMessageBars = [
97
- ...document.querySelectorAll('.inboxsdk__topMessageBar'),
98
- ];
99
- const height = topMessageBars.reduce(
100
- (acc, currValue) => acc + currValue.offsetHeight,
101
- 0
102
- );
103
-
104
- ((document.body: any): HTMLElement).style.setProperty(
105
- '--inboxsdk__topMessageBar-height',
106
- `${height}px`
107
- );
71
+ const topMessageBars = [...document.querySelectorAll('.inboxsdk__topMessageBar')];
72
+ const height = topMessageBars.reduce((acc, currValue) => acc + currValue.offsetHeight, 0);
73
+ document.body.style.setProperty('--inboxsdk__topMessageBar-height', `${height}px`);
108
74
  }
109
75
  }
76
+ exports.default = GmailTopMessageBarDriver;
@@ -1,9 +1,13 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- export default function getSidebarClassnames() {
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = getSidebarClassnames;
7
+ function getSidebarClassnames() {
4
8
  return {
5
9
  chat: 'm',
6
10
  nav: 'M',
7
- centerList: 'bz',
11
+ centerList: 'bz'
8
12
  };
9
- }
13
+ }
@@ -1,56 +1,38 @@
1
- /* @flow */
2
-
3
- import Kefir from 'kefir';
4
- import InboxNavItemView from './views/inboxNavItemView';
5
- import insertElementInOrder from '../../lib/dom/insert-element-in-order';
6
- import querySelector from '../../lib/dom/querySelectorOrFail';
7
- import toItemWithLifetimeStream from '../../lib/toItemWithLifetimeStream';
8
-
9
- import type LiveSet from 'live-set';
10
- import type { TagTreeNode } from 'tag-tree';
11
-
12
- export default function addNavItem(
13
- navItemDescriptor: Kefir.Observable<Object>,
14
- leftNavLiveSet: LiveSet<TagTreeNode<HTMLElement>>,
15
- containerEl: HTMLElement
16
- ): InboxNavItemView {
17
- const inboxNavItemView = new InboxNavItemView(navItemDescriptor, 0);
18
-
19
- toItemWithLifetimeStream(leftNavLiveSet)
20
- .take(1)
21
- .map(({ el: node }) => node.getValue())
22
- .onValue((el) => {
23
- inboxNavItemView
24
- .getEventStream()
25
- .filter((event) => event.eventName === 'orderChanged')
26
- .onValue(() =>
27
- insertElementInOrder(containerEl, inboxNavItemView.getElement())
28
- );
29
-
30
- if (!el.contains(containerEl)) {
31
- const existingCustomSections = el.querySelectorAll(
32
- '.inboxsdk__navItem_appContainer'
33
- );
34
- if (existingCustomSections.length > 0) {
35
- const lastCustomSection =
36
- existingCustomSections[existingCustomSections.length - 1];
37
- lastCustomSection.insertAdjacentElement('afterend', containerEl);
38
- } else {
39
- // Locate <ul> with native folders by finding draft icon image
40
- const draftsImg = querySelector(el, 'ul > li > img[src*="ic_draft"]');
41
-
42
- const nativeFolderSection =
43
- draftsImg.parentElement && draftsImg.parentElement.parentElement;
44
-
45
- if (!nativeFolderSection)
46
- throw new Error('could not locate insertion point');
47
-
48
- nativeFolderSection.insertAdjacentElement('afterend', containerEl);
49
- }
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = addNavItem;
8
+ var _kefir = _interopRequireDefault(require("kefir"));
9
+ var _inboxNavItemView = _interopRequireDefault(require("./views/inboxNavItemView"));
10
+ var _insertElementInOrder = _interopRequireDefault(require("../../lib/dom/insert-element-in-order"));
11
+ var _querySelectorOrFail = _interopRequireDefault(require("../../lib/dom/querySelectorOrFail"));
12
+ var _toItemWithLifetimeStream = _interopRequireDefault(require("../../lib/toItemWithLifetimeStream"));
13
+ function addNavItem(navItemDescriptor, leftNavLiveSet, containerEl) {
14
+ const inboxNavItemView = new _inboxNavItemView.default(navItemDescriptor, 0);
15
+ (0, _toItemWithLifetimeStream.default)(leftNavLiveSet).take(1).map(_ref => {
16
+ let {
17
+ el: node
18
+ } = _ref;
19
+ return node.getValue();
20
+ }).onValue(el => {
21
+ inboxNavItemView.getEventStream().filter(event => event.eventName === 'orderChanged').onValue(() => (0, _insertElementInOrder.default)(containerEl, inboxNavItemView.getElement()));
22
+ if (!el.contains(containerEl)) {
23
+ const existingCustomSections = el.querySelectorAll('.inboxsdk__navItem_appContainer');
24
+ if (existingCustomSections.length > 0) {
25
+ const lastCustomSection = existingCustomSections[existingCustomSections.length - 1];
26
+ lastCustomSection.insertAdjacentElement('afterend', containerEl);
27
+ } else {
28
+ // Locate <ul> with native folders by finding draft icon image
29
+ const draftsImg = (0, _querySelectorOrFail.default)(el, 'ul > li > img[src*="ic_draft"]');
30
+ const nativeFolderSection = draftsImg.parentElement && draftsImg.parentElement.parentElement;
31
+ if (!nativeFolderSection) throw new Error('could not locate insertion point');
32
+ nativeFolderSection.insertAdjacentElement('afterend', containerEl);
50
33
  }
51
-
52
- insertElementInOrder(containerEl, inboxNavItemView.getElement());
53
- });
54
-
34
+ }
35
+ (0, _insertElementInOrder.default)(containerEl, inboxNavItemView.getElement());
36
+ });
55
37
  return inboxNavItemView;
56
- }
38
+ }
@@ -1,73 +1,55 @@
1
- /* @flow */
2
-
3
- import closest from 'closest-ng';
4
- import Kefir from 'kefir';
5
- import kefirStopper from 'kefir-stopper';
6
-
7
- import type InboxComposeView from './views/inbox-compose-view';
8
-
9
- type Options = {
10
- labelText?: ?string,
11
- el?: ?HTMLElement,
12
- };
13
-
14
- const createRowElement = ({ labelText, el }: Options): HTMLElement => {
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = addRecipientRow;
8
+ var _closestNg = _interopRequireDefault(require("closest-ng"));
9
+ var _kefir = _interopRequireDefault(require("kefir"));
10
+ var _kefirStopper = _interopRequireDefault(require("kefir-stopper"));
11
+ const createRowElement = _ref => {
12
+ let {
13
+ labelText,
14
+ el
15
+ } = _ref;
15
16
  const row = document.createElement('div');
16
17
  const label = document.createElement('span');
17
18
  const content = document.createElement('div');
18
-
19
19
  row.classList.add('inboxsdk__recipient_row');
20
20
  label.classList.add('inboxsdk__recipient_label');
21
21
  content.classList.add('inboxsdk__recipient_content');
22
-
23
22
  if (labelText) {
24
23
  label.textContent = labelText;
25
24
  row.appendChild(label);
26
25
  }
27
-
28
26
  if (el) {
29
27
  content.appendChild(el);
30
28
  row.appendChild(content);
31
29
  }
32
-
33
30
  return row;
34
31
  };
35
-
36
- export default function addRecipientRow(
37
- inboxComposeView: InboxComposeView,
38
- recipientRowOptionStream: Kefir.Observable<?Options>
39
- ): () => void {
40
- let row: ?HTMLElement = null;
41
-
32
+ function addRecipientRow(inboxComposeView, recipientRowOptionStream) {
33
+ let row = null;
42
34
  const insertionPoint = inboxComposeView.getBCCRow();
43
- const destroyStopper = kefirStopper();
44
-
45
- recipientRowOptionStream
46
- .takeUntilBy(inboxComposeView.getStopper())
47
- .takeUntilBy(destroyStopper)
48
- .onValue((options) => {
49
- if (row) {
50
- row.remove();
51
- row = null;
52
- }
53
-
54
- if (options) {
55
- row = createRowElement(options);
56
- insertionPoint.insertAdjacentElement('afterend', row);
57
- }
58
- });
59
-
60
- destroyStopper
61
- .merge(inboxComposeView.getStopper())
62
- .take(1)
63
- .onValue(() => {
64
- if (row) {
65
- row.remove();
66
- row = null;
67
- }
68
- });
69
-
35
+ const destroyStopper = (0, _kefirStopper.default)();
36
+ recipientRowOptionStream.takeUntilBy(inboxComposeView.getStopper()).takeUntilBy(destroyStopper).onValue(options => {
37
+ if (row) {
38
+ row.remove();
39
+ row = null;
40
+ }
41
+ if (options) {
42
+ row = createRowElement(options);
43
+ insertionPoint.insertAdjacentElement('afterend', row);
44
+ }
45
+ });
46
+ destroyStopper.merge(inboxComposeView.getStopper()).take(1).onValue(() => {
47
+ if (row) {
48
+ row.remove();
49
+ row = null;
50
+ }
51
+ });
70
52
  return () => {
71
53
  destroyStopper.destroy();
72
54
  };
73
- }
55
+ }
@@ -1,21 +1,19 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import includes from 'lodash/includes';
4
- import type InboxDriver from './inbox-driver';
5
- import populateRouteID from '../../lib/populateRouteID';
6
- import type { RouteParams } from '../../namespaces/router';
7
- import { NATIVE_ROUTE_IDS } from '../../constants/router';
8
-
9
- export default function createLink(
10
- driver: InboxDriver,
11
- routeID: string,
12
- params: ?RouteParams
13
- ): string {
14
- if (includes(Object.values(NATIVE_ROUTE_IDS), routeID)) {
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = createLink;
8
+ var _includes = _interopRequireDefault(require("lodash/includes"));
9
+ var _populateRouteID = _interopRequireDefault(require("../../lib/populateRouteID"));
10
+ var _router = require("../../constants/router");
11
+ function createLink(driver, routeID, params) {
12
+ if ((0, _includes.default)(Object.values(_router.NATIVE_ROUTE_IDS), routeID)) {
15
13
  throw new Error('NativeRouteIDs are not currently supported in Inbox');
16
14
  }
17
15
  if (!driver.getCustomRouteIDs().has(routeID)) {
18
16
  throw new Error(`Invalid routeID: ${routeID}`);
19
17
  }
20
- return '#' + populateRouteID(routeID, params);
21
- }
18
+ return '#' + (0, _populateRouteID.default)(routeID, params);
19
+ }
@@ -1,30 +1,27 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import createLink from './createLink';
4
-
5
- function makeDriver(): any {
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _createLink = _interopRequireDefault(require("./createLink"));
5
+ function makeDriver() {
6
6
  const customRouteIDs = new Set();
7
7
  return {
8
- getCustomRouteIDs: () => customRouteIDs,
8
+ getCustomRouteIDs: () => customRouteIDs
9
9
  };
10
10
  }
11
-
12
11
  test('works for custom view', () => {
13
12
  const driver = makeDriver();
14
13
  driver.getCustomRouteIDs().add('example/:bar');
15
- expect(createLink(driver, 'example/:bar', { bar: 'foo' })).toBe(
16
- '#example/foo'
17
- );
14
+ expect((0, _createLink.default)(driver, 'example/:bar', {
15
+ bar: 'foo'
16
+ })).toBe('#example/foo');
18
17
  });
19
-
20
18
  test('fails for unknown route id', () => {
21
- expect(() =>
22
- createLink(makeDriver(), 'example/:bar', { bar: 'foo' })
23
- ).toThrowError('Invalid routeID: example/:bar');
19
+ expect(() => (0, _createLink.default)(makeDriver(), 'example/:bar', {
20
+ bar: 'foo'
21
+ })).toThrowError('Invalid routeID: example/:bar');
24
22
  });
25
-
26
23
  test('fails for native route ids', () => {
27
- expect(() =>
28
- createLink(makeDriver(), 'inbox/:threadID', { threadID: 'abc' })
29
- ).toThrowError('NativeRouteIDs are not currently supported in Inbox');
30
- });
24
+ expect(() => (0, _createLink.default)(makeDriver(), 'inbox/:threadID', {
25
+ threadID: 'abc'
26
+ })).toThrowError('NativeRouteIDs are not currently supported in Inbox');
27
+ });
@@ -1,22 +1,23 @@
1
- /* @flow */
1
+ "use strict";
2
2
 
3
- import type Kefir from 'kefir';
4
- import udKefir from 'ud-kefir';
5
- import rewriteCssWithIdMap from '../../lib/rewriteCssWithIdMap';
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = customStyle;
8
+ var _udKefir = _interopRequireDefault(require("ud-kefir"));
9
+ var _rewriteCssWithIdMap = _interopRequireDefault(require("../../lib/rewriteCssWithIdMap"));
6
10
  var fs = require('fs');
7
- var cssContent: Kefir.Observable<string> = udKefir(
8
- module,
9
- fs.readFileSync(__dirname + '/../../style/inbox.css', 'utf8')
10
- );
11
-
12
- export default function customStyle(root: Document = document) {
11
+ var cssContent = (0, _udKefir.default)(module, fs.readFileSync(__dirname + '/../../style/inbox.css', 'utf8'));
12
+ function customStyle() {
13
+ let root = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : document;
13
14
  if (!root.getElementById('inboxsdk__style')) {
14
15
  const style = root.createElement('style');
15
16
  style.id = 'inboxsdk__style';
16
- cssContent.onValue((css) => {
17
- style.textContent = rewriteCssWithIdMap(css);
17
+ cssContent.onValue(css => {
18
+ style.textContent = (0, _rewriteCssWithIdMap.default)(css);
18
19
  });
19
20
  if (!root.head) throw new Error('missing head');
20
21
  root.head.appendChild(style);
21
22
  }
22
- }
23
+ }
@@ -1,17 +1,19 @@
1
- /* @flow */
2
-
3
- import ErrorCollector from '../../../../lib/ErrorCollector';
4
- import querySelectorOne from '../../../../lib/dom/querySelectorOne';
5
-
6
- export default function parser(el: HTMLElement) {
7
- const ec = new ErrorCollector('appToolbarLocation');
1
+ "use strict";
8
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = parser;
8
+ var _ErrorCollector = _interopRequireDefault(require("../../../../lib/ErrorCollector"));
9
+ var _querySelectorOne = _interopRequireDefault(require("../../../../lib/dom/querySelectorOne"));
10
+ function parser(el) {
11
+ const ec = new _ErrorCollector.default('appToolbarLocation');
9
12
  ec.run('children check', () => {
10
13
  if (el.childElementCount < 2) {
11
14
  throw new Error('expected more children');
12
15
  }
13
16
  });
14
-
15
17
  ec.run('position check', () => {
16
18
  const rect = el.getBoundingClientRect();
17
19
  if (rect.top > 100) {
@@ -27,23 +29,15 @@ export default function parser(el: HTMLElement) {
27
29
  throw new Error('expected element to span only the right of the screen');
28
30
  }
29
31
  });
30
-
31
- const chatSidebarButton = ec.run('chatSidebarButton', () =>
32
- querySelectorOne(
33
- el,
34
- 'div[role=button][jsaction*="global.toggle_chat_roster"]'
35
- )
36
- );
37
-
32
+ const chatSidebarButton = ec.run('chatSidebarButton', () => (0, _querySelectorOne.default)(el, 'div[role=button][jsaction*="global.toggle_chat_roster"]'));
38
33
  const score = 1 - ec.errorCount() / ec.runCount();
39
34
  return {
40
35
  elements: {
41
- chatSidebarButton,
36
+ chatSidebarButton
42
37
  },
43
38
  score,
44
- errors: ec.getErrorLogs(),
39
+ errors: ec.getErrorLogs()
45
40
  };
46
41
  }
47
42
 
48
- /*:: const x = parser(({}:any)); */
49
- export type Parsed = typeof x;
43
+ /*:: const x = parser(({}:any)); */
@@ -1,12 +1,15 @@
1
- /* @flow */
2
-
3
- import ErrorCollector from '../../../../lib/ErrorCollector';
4
- import querySelectorOne from '../../../../lib/dom/querySelectorOne';
5
- import BigNumber from 'bignumber.js';
6
-
7
- export default function parser(el: HTMLElement) {
8
- const ec = new ErrorCollector('attachmentCard');
1
+ "use strict";
9
2
 
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = parser;
8
+ var _ErrorCollector = _interopRequireDefault(require("../../../../lib/ErrorCollector"));
9
+ var _querySelectorOne = _interopRequireDefault(require("../../../../lib/dom/querySelectorOne"));
10
+ var _bignumber = _interopRequireDefault(require("bignumber.js"));
11
+ function parser(el) {
12
+ const ec = new _ErrorCollector.default('attachmentCard');
10
13
  ec.run('tabindex', () => {
11
14
  if (!el.hasAttribute('tabindex')) throw new Error('expected tabindex');
12
15
  });
@@ -16,18 +19,16 @@ export default function parser(el: HTMLElement) {
16
19
  // cards in the html, so we just expose them as FILE cards. The only issue
17
20
  // for applications is that cardView.addButton() is a no-op on drive cards.
18
21
  const type = 'FILE';
19
-
20
22
  const elements = {};
21
23
  const score = 1 - ec.errorCount() / ec.runCount();
22
24
  return {
23
25
  elements,
24
26
  attributes: {
25
- type,
27
+ type
26
28
  },
27
29
  score,
28
- errors: ec.getErrorLogs(),
30
+ errors: ec.getErrorLogs()
29
31
  };
30
32
  }
31
33
 
32
- /*:: const x = parser(({}:any)); */
33
- export type Parsed = typeof x;
34
+ /*:: const x = parser(({}:any)); */