@openneuro/app 4.1.2 → 4.2.3

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 (568) hide show
  1. package/package.json +9 -18
  2. package/src/scripts/common/forms/warn-button.jsx +1 -1
  3. package/src/scripts/{redesign.tsx → index.tsx} +4 -4
  4. package/src/scripts/pages/citation-page.tsx +41 -0
  5. package/src/scripts/refactor_2021/admin/admin.jsx +1 -1
  6. package/src/scripts/refactor_2021/admin/flagged-files.jsx +2 -1
  7. package/src/scripts/refactor_2021/admin/user-tools.tsx +3 -5
  8. package/src/scripts/refactor_2021/admin/users.jsx +7 -10
  9. package/src/scripts/{authentication → refactor_2021/authentication}/__tests__/profile.spec.js +1 -1
  10. package/src/scripts/refactor_2021/containers/footer.tsx +1 -3
  11. package/src/scripts/{datalad/dataset → refactor_2021/dataset/comments}/__tests__/__snapshots__/comment.spec.jsx.snap +0 -8
  12. package/src/scripts/refactor_2021/dataset/comments/__tests__/__snapshots__/comments.spec.jsx.snap +129 -0
  13. package/src/scripts/{datalad/dataset → refactor_2021/dataset/comments}/__tests__/comment.spec.jsx +0 -0
  14. package/src/scripts/{datalad/dataset → refactor_2021/dataset/comments}/__tests__/comments.spec.jsx +0 -0
  15. package/src/scripts/refactor_2021/dataset/dataset-routes.jsx +14 -4
  16. package/src/scripts/{datalad → refactor_2021/dataset}/download/__tests__/__snapshots__/download-command-line.spec.jsx.snap +0 -0
  17. package/src/scripts/{datalad → refactor_2021/dataset}/download/__tests__/__snapshots__/download-link.spec.jsx.snap +645 -105
  18. package/src/scripts/{datalad → refactor_2021/dataset}/download/__tests__/__snapshots__/shell-example.spec.jsx.snap +6 -3
  19. package/src/scripts/{datalad → refactor_2021/dataset}/download/__tests__/download-command-line.spec.jsx +0 -0
  20. package/src/scripts/{datalad → refactor_2021/dataset}/download/__tests__/download-link.spec.jsx +0 -0
  21. package/src/scripts/{datalad → refactor_2021/dataset}/download/__tests__/download-native.spec.js +0 -0
  22. package/src/scripts/{datalad → refactor_2021/dataset}/download/__tests__/shell-example.spec.jsx +0 -0
  23. package/src/scripts/refactor_2021/dataset/download/download-datalad.jsx +45 -10
  24. package/src/scripts/refactor_2021/dataset/draft-container.tsx +13 -22
  25. package/src/scripts/refactor_2021/dataset/files/file-tree.jsx +3 -2
  26. package/src/scripts/refactor_2021/dataset/fragments/__tests__/__snapshots__/cancel-button.spec.tsx.snap +10 -0
  27. package/src/scripts/refactor_2021/dataset/fragments/__tests__/__snapshots__/edit-button.spec.tsx.snap +10 -0
  28. package/src/scripts/refactor_2021/dataset/fragments/__tests__/__snapshots__/edit-list.spec.jsx.snap +24 -0
  29. package/src/scripts/refactor_2021/dataset/fragments/__tests__/__snapshots__/save-button.spec.tsx.snap +10 -0
  30. package/src/scripts/{datalad/fragments/__tests__/__snapshots__/select-input.spec.jsx.snap → refactor_2021/dataset/fragments/__tests__/__snapshots__/select-input.spec.tsx.snap} +0 -0
  31. package/src/scripts/{datalad/fragments/__tests__/cancel-button.spec.jsx → refactor_2021/dataset/fragments/__tests__/cancel-button.spec.tsx} +2 -2
  32. package/src/scripts/{datalad → refactor_2021/dataset}/fragments/__tests__/dataset-citation.spec.jsx +0 -0
  33. package/src/scripts/{datalad/fragments/__tests__/edit-button.spec.jsx → refactor_2021/dataset/fragments/__tests__/edit-button.spec.tsx} +2 -2
  34. package/src/scripts/refactor_2021/dataset/fragments/__tests__/edit-list.spec.jsx +27 -0
  35. package/src/scripts/{datalad/fragments/__tests__/save-button.spec.jsx → refactor_2021/dataset/fragments/__tests__/save-button.spec.tsx} +2 -2
  36. package/src/scripts/{datalad/fragments/__tests__/select-input.spec.jsx → refactor_2021/dataset/fragments/__tests__/select-input.spec.tsx} +0 -0
  37. package/src/scripts/refactor_2021/dataset/mutations/__tests__/__snapshots__/delete.spec.jsx.snap +50 -0
  38. package/src/scripts/{datalad → refactor_2021/dataset}/mutations/__tests__/__snapshots__/description.spec.jsx.snap +0 -0
  39. package/src/scripts/refactor_2021/dataset/mutations/__tests__/__snapshots__/update-permissions.spec.jsx.snap +27 -0
  40. package/src/scripts/{datalad → refactor_2021/dataset}/mutations/__tests__/cache-id.spec.js +0 -0
  41. package/src/scripts/{datalad → refactor_2021/dataset}/mutations/__tests__/delete.spec.jsx +8 -8
  42. package/src/scripts/{datalad → refactor_2021/dataset}/mutations/__tests__/description.spec.jsx +0 -0
  43. package/src/scripts/{datalad/mutations/__tests__/remove-permissions.spec.jsx → refactor_2021/dataset/mutations/__tests__/remove-permissions.spec.tsx} +1 -1
  44. package/src/scripts/refactor_2021/dataset/mutations/__tests__/update-permissions.spec.jsx +28 -0
  45. package/src/scripts/refactor_2021/dataset/mutations/update-file.jsx +2 -2
  46. package/src/scripts/refactor_2021/dataset/routes/download-dataset.tsx +76 -0
  47. package/src/scripts/refactor_2021/dataset/snapshot-container.tsx +4 -2
  48. package/src/scripts/refactor_2021/routes.tsx +1 -1
  49. package/src/scripts/refactor_2021/search/__tests__/search-params-ctx.spec.tsx +20 -0
  50. package/src/scripts/refactor_2021/search/initial-search-params.tsx +7 -7
  51. package/src/scripts/refactor_2021/search/inputs/__tests__/sort-by-select.spec.tsx +83 -0
  52. package/src/scripts/refactor_2021/search/inputs/index.ts +2 -2
  53. package/src/scripts/refactor_2021/search/inputs/{gender-radios.tsx → sex-radios.tsx} +10 -10
  54. package/src/scripts/refactor_2021/search/inputs/sort-by-select.tsx +38 -8
  55. package/src/scripts/refactor_2021/search/search-container.tsx +3 -3
  56. package/src/scripts/refactor_2021/search/search-params-ctx.tsx +3 -3
  57. package/src/scripts/refactor_2021/search/use-search-results.tsx +4 -3
  58. package/src/scripts/refactor_2021/user/api.jsx +11 -6
  59. package/src/server.jsx +1 -5
  60. package/src/ssr.ts +0 -1
  61. package/src/sass/_bootstrap-compass.scss +0 -9
  62. package/src/sass/_bootstrap-mincer.scss +0 -19
  63. package/src/sass/_bootstrap-sprockets.scss +0 -9
  64. package/src/sass/_bootstrap.scss +0 -50
  65. package/src/sass/animate/_attention-seekers/_bounce.scss +0 -15
  66. package/src/sass/animate/_attention-seekers/_flash.scss +0 -14
  67. package/src/sass/animate/_attention-seekers/_pulse.scss +0 -17
  68. package/src/sass/animate/_attention-seekers/_rubberBand.scss +0 -19
  69. package/src/sass/animate/_attention-seekers/_shake.scss +0 -15
  70. package/src/sass/animate/_attention-seekers/_swing.scss +0 -19
  71. package/src/sass/animate/_attention-seekers/_tada.scss +0 -17
  72. package/src/sass/animate/_attention-seekers/_wobble.scss +0 -21
  73. package/src/sass/animate/_attention-seekers/attention-seekers.scss +0 -12
  74. package/src/sass/animate/_bouncing-entrances/_bounceIn.scss +0 -26
  75. package/src/sass/animate/_bouncing-entrances/_bounceInDown.scss +0 -26
  76. package/src/sass/animate/_bouncing-entrances/_bounceInLeft.scss +0 -26
  77. package/src/sass/animate/_bouncing-entrances/_bounceInRight.scss +0 -26
  78. package/src/sass/animate/_bouncing-entrances/_bounceInUp.scss +0 -26
  79. package/src/sass/animate/_bouncing-entrances/bouncing-entrances.scss +0 -9
  80. package/src/sass/animate/_bouncing-exits/_bounceOut.scss +0 -26
  81. package/src/sass/animate/_bouncing-exits/_bounceOutDown.scss +0 -23
  82. package/src/sass/animate/_bouncing-exits/_bounceOutLeft.scss +0 -23
  83. package/src/sass/animate/_bouncing-exits/_bounceOutRight.scss +0 -23
  84. package/src/sass/animate/_bouncing-exits/_bounceOutUp.scss +0 -23
  85. package/src/sass/animate/_bouncing-exits/bouncing-exits.scss +0 -4
  86. package/src/sass/animate/_fading-entrances/_fadeIn.scss +0 -14
  87. package/src/sass/animate/_fading-entrances/_fadeInDown.scss +0 -20
  88. package/src/sass/animate/_fading-entrances/_fadeInDownBig.scss +0 -20
  89. package/src/sass/animate/_fading-entrances/_fadeInLeft.scss +0 -20
  90. package/src/sass/animate/_fading-entrances/_fadeInLeftBig.scss +0 -20
  91. package/src/sass/animate/_fading-entrances/_fadeInRight.scss +0 -20
  92. package/src/sass/animate/_fading-entrances/_fadeInRightBig.scss +0 -20
  93. package/src/sass/animate/_fading-entrances/_fadeInUp.scss +0 -19
  94. package/src/sass/animate/_fading-entrances/_fadeInUpBig.scss +0 -20
  95. package/src/sass/animate/_fading-entrances/fading-entrances.scss +0 -5
  96. package/src/sass/animate/_fading-exits/_fadeOut.scss +0 -14
  97. package/src/sass/animate/_fading-exits/_fadeOutDown.scss +0 -20
  98. package/src/sass/animate/_fading-exits/_fadeOutDownBig.scss +0 -20
  99. package/src/sass/animate/_fading-exits/_fadeOutLeft.scss +0 -20
  100. package/src/sass/animate/_fading-exits/_fadeOutLeftBig.scss +0 -20
  101. package/src/sass/animate/_fading-exits/_fadeOutRight.scss +0 -20
  102. package/src/sass/animate/_fading-exits/_fadeOutRightBig.scss +0 -20
  103. package/src/sass/animate/_fading-exits/_fadeOutUp.scss +0 -20
  104. package/src/sass/animate/_fading-exits/_fadeOutUpBig.scss +0 -20
  105. package/src/sass/animate/_fading-exits/fading-exits.scss +0 -5
  106. package/src/sass/animate/_flippers/_flip.scss +0 -33
  107. package/src/sass/animate/_flippers/_flipInX.scss +0 -26
  108. package/src/sass/animate/_flippers/_flipInY.scss +0 -26
  109. package/src/sass/animate/_flippers/_flipOutX.scss +0 -20
  110. package/src/sass/animate/_flippers/_flipOutY.scss +0 -20
  111. package/src/sass/animate/_flippers/flippers.scss +0 -8
  112. package/src/sass/animate/_lightspeed/_lightSpeedIn.scss +0 -29
  113. package/src/sass/animate/_lightspeed/_lightSpeedOut.scss +0 -21
  114. package/src/sass/animate/_lightspeed/lightspeed.scss +0 -3
  115. package/src/sass/animate/_properties.scss +0 -119
  116. package/src/sass/animate/_rotating-entrances/_rotateIn.scss +0 -22
  117. package/src/sass/animate/_rotating-entrances/_rotateInDownLeft.scss +0 -22
  118. package/src/sass/animate/_rotating-entrances/_rotateInDownRight.scss +0 -22
  119. package/src/sass/animate/_rotating-entrances/_rotateInUpLeft.scss +0 -22
  120. package/src/sass/animate/_rotating-entrances/_rotateInUpRight.scss +0 -22
  121. package/src/sass/animate/_rotating-entrances/rotating-entrances.scss +0 -8
  122. package/src/sass/animate/_rotating-exits/_rotateOut.scss +0 -22
  123. package/src/sass/animate/_rotating-exits/_rotateOutDownLeft.scss +0 -22
  124. package/src/sass/animate/_rotating-exits/_rotateOutDownRight.scss +0 -22
  125. package/src/sass/animate/_rotating-exits/_rotateOutUpLeft.scss +0 -22
  126. package/src/sass/animate/_rotating-exits/_rotateOutUpRight.scss +0 -22
  127. package/src/sass/animate/_rotating-exits/rotating-exits.scss +0 -8
  128. package/src/sass/animate/_sliding-entrances/_slideInDown.scss +0 -19
  129. package/src/sass/animate/_sliding-entrances/_slideInLeft.scss +0 -19
  130. package/src/sass/animate/_sliding-entrances/_slideInRight.scss +0 -42
  131. package/src/sass/animate/_sliding-entrances/_slideInUp.scss +0 -19
  132. package/src/sass/animate/_sliding-entrances/sliding-entrances.scss +0 -7
  133. package/src/sass/animate/_sliding-exits/_slideOutDown.scss +0 -19
  134. package/src/sass/animate/_sliding-exits/_slideOutLeft.scss +0 -19
  135. package/src/sass/animate/_sliding-exits/_slideOutRight.scss +0 -19
  136. package/src/sass/animate/_sliding-exits/_slideOutUp.scss +0 -19
  137. package/src/sass/animate/_sliding-exits/sliding-exits.scss +0 -7
  138. package/src/sass/animate/_specials/_hinge.scss +0 -37
  139. package/src/sass/animate/_specials/_rollIn.scss +0 -20
  140. package/src/sass/animate/_specials/_rollOut.scss +0 -22
  141. package/src/sass/animate/_specials/specials.scss +0 -6
  142. package/src/sass/animate/_zooming-entrances/_zoomIn.scss +0 -19
  143. package/src/sass/animate/_zooming-entrances/_zoomInDown.scss +0 -22
  144. package/src/sass/animate/_zooming-entrances/_zoomInLeft.scss +0 -22
  145. package/src/sass/animate/_zooming-entrances/_zoomInRight.scss +0 -22
  146. package/src/sass/animate/_zooming-entrances/_zoomInUp.scss +0 -22
  147. package/src/sass/animate/_zooming-entrances/zooming-entrances.scss +0 -4
  148. package/src/sass/animate/_zooming-exits/_zoomOut.scss +0 -22
  149. package/src/sass/animate/_zooming-exits/_zoomOutDown.scss +0 -23
  150. package/src/sass/animate/_zooming-exits/_zoomOutLeft.scss +0 -21
  151. package/src/sass/animate/_zooming-exits/_zoomOutRight.scss +0 -21
  152. package/src/sass/animate/_zooming-exits/_zoomOutUp.scss +0 -23
  153. package/src/sass/animate/_zooming-exits/zooming-exits.scss +0 -4
  154. package/src/sass/animate/animate.css +0 -7497
  155. package/src/sass/animate/animate.css.map +0 -7
  156. package/src/sass/animate/animate.min.css +0 -2
  157. package/src/sass/animate/animate.min.css.map +0 -7
  158. package/src/sass/animate/animate.scss +0 -30
  159. package/src/sass/animate/bower.json +0 -22
  160. package/src/sass/bootstrap/_alerts.scss +0 -70
  161. package/src/sass/bootstrap/_badges.scss +0 -68
  162. package/src/sass/bootstrap/_breadcrumbs.scss +0 -26
  163. package/src/sass/bootstrap/_button-groups.scss +0 -243
  164. package/src/sass/bootstrap/_buttons.scss +0 -160
  165. package/src/sass/bootstrap/_carousel.scss +0 -269
  166. package/src/sass/bootstrap/_close.scss +0 -36
  167. package/src/sass/bootstrap/_code.scss +0 -69
  168. package/src/sass/bootstrap/_component-animations.scss +0 -37
  169. package/src/sass/bootstrap/_dropdowns.scss +0 -223
  170. package/src/sass/bootstrap/_forms.scss +0 -613
  171. package/src/sass/bootstrap/_grid.scss +0 -84
  172. package/src/sass/bootstrap/_input-groups.scss +0 -166
  173. package/src/sass/bootstrap/_jumbotron.scss +0 -50
  174. package/src/sass/bootstrap/_labels.scss +0 -66
  175. package/src/sass/bootstrap/_list-group.scss +0 -124
  176. package/src/sass/bootstrap/_media.scss +0 -61
  177. package/src/sass/bootstrap/_mixins.scss +0 -39
  178. package/src/sass/bootstrap/_modals.scss +0 -150
  179. package/src/sass/bootstrap/_navbar.scss +0 -647
  180. package/src/sass/bootstrap/_navs.scss +0 -243
  181. package/src/sass/bootstrap/_normalize.scss +0 -427
  182. package/src/sass/bootstrap/_pager.scss +0 -54
  183. package/src/sass/bootstrap/_pagination.scss +0 -88
  184. package/src/sass/bootstrap/_panels.scss +0 -265
  185. package/src/sass/bootstrap/_popovers.scss +0 -135
  186. package/src/sass/bootstrap/_print.scss +0 -107
  187. package/src/sass/bootstrap/_progress-bars.scss +0 -87
  188. package/src/sass/bootstrap/_responsive-embed.scss +0 -35
  189. package/src/sass/bootstrap/_responsive-utilities.scss +0 -177
  190. package/src/sass/bootstrap/_scaffolding.scss +0 -162
  191. package/src/sass/bootstrap/_tables.scss +0 -234
  192. package/src/sass/bootstrap/_theme.scss +0 -273
  193. package/src/sass/bootstrap/_thumbnails.scss +0 -38
  194. package/src/sass/bootstrap/_tooltip.scss +0 -102
  195. package/src/sass/bootstrap/_type.scss +0 -298
  196. package/src/sass/bootstrap/_utilities.scss +0 -55
  197. package/src/sass/bootstrap/_variables.scss +0 -866
  198. package/src/sass/bootstrap/_wells.scss +0 -29
  199. package/src/sass/bootstrap/float-label.scss +0 -70
  200. package/src/sass/bootstrap/mixins/_alerts.scss +0 -14
  201. package/src/sass/bootstrap/mixins/_background-variant.scss +0 -11
  202. package/src/sass/bootstrap/mixins/_border-radius.scss +0 -18
  203. package/src/sass/bootstrap/mixins/_buttons.scss +0 -52
  204. package/src/sass/bootstrap/mixins/_center-block.scss +0 -7
  205. package/src/sass/bootstrap/mixins/_clearfix.scss +0 -22
  206. package/src/sass/bootstrap/mixins/_forms.scss +0 -88
  207. package/src/sass/bootstrap/mixins/_gradients.scss +0 -58
  208. package/src/sass/bootstrap/mixins/_grid-framework.scss +0 -81
  209. package/src/sass/bootstrap/mixins/_grid.scss +0 -122
  210. package/src/sass/bootstrap/mixins/_hide-text.scss +0 -21
  211. package/src/sass/bootstrap/mixins/_image.scss +0 -33
  212. package/src/sass/bootstrap/mixins/_labels.scss +0 -12
  213. package/src/sass/bootstrap/mixins/_list-group.scss +0 -31
  214. package/src/sass/bootstrap/mixins/_nav-divider.scss +0 -10
  215. package/src/sass/bootstrap/mixins/_nav-vertical-align.scss +0 -9
  216. package/src/sass/bootstrap/mixins/_opacity.scss +0 -8
  217. package/src/sass/bootstrap/mixins/_pagination.scss +0 -23
  218. package/src/sass/bootstrap/mixins/_panels.scss +0 -24
  219. package/src/sass/bootstrap/mixins/_progress-bar.scss +0 -10
  220. package/src/sass/bootstrap/mixins/_reset-filter.scss +0 -8
  221. package/src/sass/bootstrap/mixins/_resize.scss +0 -6
  222. package/src/sass/bootstrap/mixins/_responsive-visibility.scss +0 -21
  223. package/src/sass/bootstrap/mixins/_size.scss +0 -10
  224. package/src/sass/bootstrap/mixins/_tab-focus.scss +0 -9
  225. package/src/sass/bootstrap/mixins/_table-row.scss +0 -28
  226. package/src/sass/bootstrap/mixins/_text-emphasis.scss +0 -11
  227. package/src/sass/bootstrap/mixins/_text-overflow.scss +0 -8
  228. package/src/sass/bootstrap/mixins/_vendor-prefixes.scss +0 -222
  229. package/src/sass/crn_app/_admin.admin.scss +0 -205
  230. package/src/sass/crn_app/_admin.graphs.scss +0 -51
  231. package/src/sass/crn_app/_admin.tools.scss +0 -24
  232. package/src/sass/crn_app/_api.scss +0 -65
  233. package/src/sass/crn_app/_bootstrap.overrides.scss +0 -54
  234. package/src/sass/crn_app/_colors.scss +0 -88
  235. package/src/sass/crn_app/_common.click-to-edit.scss +0 -187
  236. package/src/sass/crn_app/_common.modals.scss +0 -686
  237. package/src/sass/crn_app/_common.pagination.scss +0 -41
  238. package/src/sass/crn_app/_common.papaya.scss +0 -348
  239. package/src/sass/crn_app/_common.progress-bar.scss +0 -26
  240. package/src/sass/crn_app/_common.spinner.scss +0 -63
  241. package/src/sass/crn_app/_common.status.scss +0 -103
  242. package/src/sass/crn_app/_common.tooltip.scss +0 -22
  243. package/src/sass/crn_app/_common.typeahead.scss +0 -31
  244. package/src/sass/crn_app/_common.variables.scss +0 -16
  245. package/src/sass/crn_app/_dashboard.datasets.scss +0 -588
  246. package/src/sass/crn_app/_dataset.comments.scss +0 -201
  247. package/src/sass/crn_app/_dataset.dataset.scss +0 -161
  248. package/src/sass/crn_app/_dataset.file-tree.scss +0 -277
  249. package/src/sass/crn_app/_dataset.jobs.scss +0 -701
  250. package/src/sass/crn_app/_dataset.sidebar.scss +0 -265
  251. package/src/sass/crn_app/_dataset.tools.scss +0 -118
  252. package/src/sass/crn_app/_elements-wrappers.scss +0 -870
  253. package/src/sass/crn_app/_faq.scss +0 -37
  254. package/src/sass/crn_app/_frontPage.scss +0 -569
  255. package/src/sass/crn_app/_nav.navbar.scss +0 -387
  256. package/src/sass/crn_app/_theme.scss +0 -87
  257. package/src/sass/crn_app/_upload.upload.scss +0 -393
  258. package/src/sass/crn_app/_upload.validation.scss +0 -210
  259. package/src/sass/draft/draft.scss +0 -11
  260. package/src/sass/draft/rich-editor.scss +0 -73
  261. package/src/sass/font-awesome/_animated.scss +0 -34
  262. package/src/sass/font-awesome/_bordered-pulled.scss +0 -25
  263. package/src/sass/font-awesome/_core.scss +0 -12
  264. package/src/sass/font-awesome/_fixed-width.scss +0 -6
  265. package/src/sass/font-awesome/_font-awesome.scss +0 -17
  266. package/src/sass/font-awesome/_icons.scss +0 -697
  267. package/src/sass/font-awesome/_larger.scss +0 -13
  268. package/src/sass/font-awesome/_list.scss +0 -19
  269. package/src/sass/font-awesome/_mixins.scss +0 -26
  270. package/src/sass/font-awesome/_path.scss +0 -15
  271. package/src/sass/font-awesome/_rotated-flipped.scss +0 -20
  272. package/src/sass/font-awesome/_stacked.scss +0 -20
  273. package/src/sass/font-awesome/_variables.scss +0 -713
  274. package/src/sass/main.scss +0 -317
  275. package/src/sass/pre-refactor-with-wrapper-main.scss +0 -1549
  276. package/src/scripts/admin/__tests__/__snapshots__/exports.spec.jsx.snap +0 -112
  277. package/src/scripts/admin/__tests__/exports.spec.jsx +0 -15
  278. package/src/scripts/admin/__tests__/users.spec.jsx +0 -15
  279. package/src/scripts/admin/admin.jsx +0 -53
  280. package/src/scripts/admin/flagged-files.jsx +0 -178
  281. package/src/scripts/admin/user-fragment.ts +0 -14
  282. package/src/scripts/admin/user-tools.tsx +0 -83
  283. package/src/scripts/admin/users.jsx +0 -224
  284. package/src/scripts/authentication/admin-user.jsx +0 -23
  285. package/src/scripts/authentication/buttons.jsx +0 -26
  286. package/src/scripts/authentication/globus-button.jsx +0 -39
  287. package/src/scripts/authentication/google-button.jsx +0 -32
  288. package/src/scripts/authentication/logged-in.jsx +0 -12
  289. package/src/scripts/authentication/logged-out.jsx +0 -12
  290. package/src/scripts/authentication/loginCheck.js +0 -7
  291. package/src/scripts/authentication/orcid-button.jsx +0 -32
  292. package/src/scripts/authentication/withProfile.jsx +0 -22
  293. package/src/scripts/classic.tsx +0 -18
  294. package/src/scripts/common/forms/file-select.tsx +0 -71
  295. package/src/scripts/common/partials/__tests__/__snapshots__/footer.spec.jsx.snap +0 -42
  296. package/src/scripts/common/partials/__tests__/__snapshots__/metric.spec.jsx.snap +0 -101
  297. package/src/scripts/common/partials/__tests__/footer.spec.jsx +0 -10
  298. package/src/scripts/common/partials/__tests__/metric.spec.jsx +0 -31
  299. package/src/scripts/common/partials/footer.jsx +0 -40
  300. package/src/scripts/common/partials/login.jsx +0 -99
  301. package/src/scripts/common/partials/metric.jsx +0 -73
  302. package/src/scripts/common/partials/spinner.jsx +0 -34
  303. package/src/scripts/common/partials/status.jsx +0 -96
  304. package/src/scripts/common/partials/timeout.jsx +0 -47
  305. package/src/scripts/common/partials/tooltip.jsx +0 -36
  306. package/src/scripts/components/__tests__/dropdown-button.spec.tsx +0 -49
  307. package/src/scripts/components/dropdown-button.tsx +0 -42
  308. package/src/scripts/components/feature-toggle.tsx +0 -19
  309. package/src/scripts/components/panel-group.tsx +0 -24
  310. package/src/scripts/components/panel.tsx +0 -42
  311. package/src/scripts/datalad/__tests__/snapshotVersion.spec.js +0 -21
  312. package/src/scripts/datalad/comments/__tests__/comment-editor.spec.jsx +0 -19
  313. package/src/scripts/datalad/comments/block-style-controls.jsx +0 -46
  314. package/src/scripts/datalad/comments/comment-editor.jsx +0 -79
  315. package/src/scripts/datalad/comments/inline-style-controls.jsx +0 -34
  316. package/src/scripts/datalad/comments/style-button.jsx +0 -28
  317. package/src/scripts/datalad/dashboard/__tests__/__snapshots__/dashboard.spec.jsx.snap +0 -163
  318. package/src/scripts/datalad/dashboard/__tests__/dashboard.spec.jsx +0 -21
  319. package/src/scripts/datalad/dashboard/dashboard.jsx +0 -54
  320. package/src/scripts/datalad/dashboard/datasets/__tests__/__snapshots__/dataset-filter.spec.jsx.snap +0 -20
  321. package/src/scripts/datalad/dashboard/datasets/__tests__/__snapshots__/dataset-row-skeleton.spec.jsx.snap +0 -13
  322. package/src/scripts/datalad/dashboard/datasets/__tests__/__snapshots__/dataset-row.spec.jsx.snap +0 -65
  323. package/src/scripts/datalad/dashboard/datasets/__tests__/__snapshots__/dataset-sorter.spec.jsx.snap +0 -14
  324. package/src/scripts/datalad/dashboard/datasets/__tests__/__snapshots__/dataset-virtual-scroller.spec.jsx.snap +0 -17
  325. package/src/scripts/datalad/dashboard/datasets/__tests__/__snapshots__/uploaded.spec.jsx.snap +0 -27
  326. package/src/scripts/datalad/dashboard/datasets/__tests__/dataset-filter.spec.jsx +0 -67
  327. package/src/scripts/datalad/dashboard/datasets/__tests__/dataset-query.spec.jsx +0 -72
  328. package/src/scripts/datalad/dashboard/datasets/__tests__/dataset-row-skeleton.spec.jsx +0 -9
  329. package/src/scripts/datalad/dashboard/datasets/__tests__/dataset-row.spec.jsx +0 -53
  330. package/src/scripts/datalad/dashboard/datasets/__tests__/dataset-sorter.spec.jsx +0 -69
  331. package/src/scripts/datalad/dashboard/datasets/__tests__/dataset-virtual-scroller.spec.jsx +0 -65
  332. package/src/scripts/datalad/dashboard/datasets/__tests__/uploaded.spec.jsx +0 -17
  333. package/src/scripts/datalad/dashboard/datasets/dataset-filter.jsx +0 -78
  334. package/src/scripts/datalad/dashboard/datasets/dataset-query.jsx +0 -102
  335. package/src/scripts/datalad/dashboard/datasets/dataset-row-error-boundary.jsx +0 -52
  336. package/src/scripts/datalad/dashboard/datasets/dataset-row-skeleton.jsx +0 -10
  337. package/src/scripts/datalad/dashboard/datasets/dataset-row.jsx +0 -58
  338. package/src/scripts/datalad/dashboard/datasets/dataset-sorter.jsx +0 -148
  339. package/src/scripts/datalad/dashboard/datasets/dataset-statuses.jsx +0 -44
  340. package/src/scripts/datalad/dashboard/datasets/dataset-tab.jsx +0 -192
  341. package/src/scripts/datalad/dashboard/datasets/dataset-virtual-scroller.jsx +0 -126
  342. package/src/scripts/datalad/dashboard/datasets/row-height.jsx +0 -7
  343. package/src/scripts/datalad/dashboard/datasets/uploaded.jsx +0 -33
  344. package/src/scripts/datalad/dataset/__tests__/__snapshots__/comments.spec.jsx.snap +0 -137
  345. package/src/scripts/datalad/dataset/__tests__/__snapshots__/dataset-page.spec.jsx.snap +0 -69
  346. package/src/scripts/datalad/dataset/__tests__/__snapshots__/dataset-query.spec.jsx.snap +0 -15
  347. package/src/scripts/datalad/dataset/__tests__/__snapshots__/left-siderbar.spec.jsx.snap +0 -85
  348. package/src/scripts/datalad/dataset/__tests__/dataset-page.spec.jsx +0 -33
  349. package/src/scripts/datalad/dataset/__tests__/dataset-query.spec.jsx +0 -20
  350. package/src/scripts/datalad/dataset/__tests__/left-siderbar.spec.jsx +0 -106
  351. package/src/scripts/datalad/dataset/comment.jsx +0 -90
  352. package/src/scripts/datalad/dataset/comments.jsx +0 -83
  353. package/src/scripts/datalad/dataset/dataset-description.jsx +0 -111
  354. package/src/scripts/datalad/dataset/dataset-main.jsx +0 -29
  355. package/src/scripts/datalad/dataset/dataset-page.jsx +0 -63
  356. package/src/scripts/datalad/dataset/dataset-query.jsx +0 -192
  357. package/src/scripts/datalad/dataset/dataset.jsx +0 -22
  358. package/src/scripts/datalad/dataset/delete-page.tsx +0 -92
  359. package/src/scripts/datalad/dataset/left-sidebar.jsx +0 -109
  360. package/src/scripts/datalad/download/__tests__/__snapshots__/download-dataset.spec.jsx.snap +0 -7
  361. package/src/scripts/datalad/download/__tests__/__snapshots__/download-tool.spec.jsx.snap +0 -26
  362. package/src/scripts/datalad/download/__tests__/download-dataset.spec.jsx +0 -19
  363. package/src/scripts/datalad/download/__tests__/download-tool.spec.jsx +0 -19
  364. package/src/scripts/datalad/download/download-command-line.jsx +0 -43
  365. package/src/scripts/datalad/download/download-datalad.jsx +0 -58
  366. package/src/scripts/datalad/download/download-dataset.jsx +0 -61
  367. package/src/scripts/datalad/download/download-link.jsx +0 -41
  368. package/src/scripts/datalad/download/download-native.js +0 -118
  369. package/src/scripts/datalad/download/download-query.js +0 -22
  370. package/src/scripts/datalad/download/download-s3.jsx +0 -46
  371. package/src/scripts/datalad/download/download-tool.jsx +0 -44
  372. package/src/scripts/datalad/download/native-file-toast.jsx +0 -90
  373. package/src/scripts/datalad/download/shell-example.jsx +0 -9
  374. package/src/scripts/datalad/download/track-download.js +0 -15
  375. package/src/scripts/datalad/fragments/__tests__/__snapshots__/cancel-button.spec.jsx.snap +0 -21
  376. package/src/scripts/datalad/fragments/__tests__/__snapshots__/dataset-analytics.spec.jsx.snap +0 -41
  377. package/src/scripts/datalad/fragments/__tests__/__snapshots__/dataset-authors.spec.jsx.snap +0 -13
  378. package/src/scripts/datalad/fragments/__tests__/__snapshots__/dataset-readme.spec.jsx.snap +0 -49
  379. package/src/scripts/datalad/fragments/__tests__/__snapshots__/dataset-title.spec.jsx.snap +0 -7
  380. package/src/scripts/datalad/fragments/__tests__/__snapshots__/dataset-tools.spec.jsx.snap +0 -346
  381. package/src/scripts/datalad/fragments/__tests__/__snapshots__/dataset-uploaded.spec.jsx.snap +0 -7
  382. package/src/scripts/datalad/fragments/__tests__/__snapshots__/edit-button.spec.jsx.snap +0 -21
  383. package/src/scripts/datalad/fragments/__tests__/__snapshots__/edit-list.spec.jsx.snap +0 -34
  384. package/src/scripts/datalad/fragments/__tests__/__snapshots__/edit-readme.spec.jsx.snap +0 -3
  385. package/src/scripts/datalad/fragments/__tests__/__snapshots__/save-button.spec.jsx.snap +0 -21
  386. package/src/scripts/datalad/fragments/__tests__/dataset-analytics.spec.jsx +0 -16
  387. package/src/scripts/datalad/fragments/__tests__/dataset-authors.spec.jsx +0 -22
  388. package/src/scripts/datalad/fragments/__tests__/dataset-prominent-links.spec.jsx +0 -32
  389. package/src/scripts/datalad/fragments/__tests__/dataset-readme.spec.jsx +0 -10
  390. package/src/scripts/datalad/fragments/__tests__/dataset-summary.spec.jsx +0 -55
  391. package/src/scripts/datalad/fragments/__tests__/dataset-title.spec.jsx +0 -10
  392. package/src/scripts/datalad/fragments/__tests__/dataset-tools.spec.jsx +0 -55
  393. package/src/scripts/datalad/fragments/__tests__/dataset-uploaded.spec.jsx +0 -16
  394. package/src/scripts/datalad/fragments/__tests__/edit-list.spec.jsx +0 -25
  395. package/src/scripts/datalad/fragments/__tests__/edit-readme.spec.jsx +0 -10
  396. package/src/scripts/datalad/fragments/cancel-button.jsx +0 -24
  397. package/src/scripts/datalad/fragments/copyable-tooltip.jsx +0 -82
  398. package/src/scripts/datalad/fragments/dataset-analytics.jsx +0 -27
  399. package/src/scripts/datalad/fragments/dataset-authors.jsx +0 -16
  400. package/src/scripts/datalad/fragments/dataset-citation.jsx +0 -77
  401. package/src/scripts/datalad/fragments/dataset-files.jsx +0 -50
  402. package/src/scripts/datalad/fragments/dataset-git-access.jsx +0 -56
  403. package/src/scripts/datalad/fragments/dataset-git-hash.jsx +0 -27
  404. package/src/scripts/datalad/fragments/dataset-history.jsx +0 -95
  405. package/src/scripts/datalad/fragments/dataset-modified.jsx +0 -17
  406. package/src/scripts/datalad/fragments/dataset-prominent-links.jsx +0 -129
  407. package/src/scripts/datalad/fragments/dataset-readme.jsx +0 -42
  408. package/src/scripts/datalad/fragments/dataset-summary.jsx +0 -230
  409. package/src/scripts/datalad/fragments/dataset-title.jsx +0 -10
  410. package/src/scripts/datalad/fragments/dataset-tools.jsx +0 -190
  411. package/src/scripts/datalad/fragments/dataset-uploaded.jsx +0 -25
  412. package/src/scripts/datalad/fragments/edit-button.jsx +0 -24
  413. package/src/scripts/datalad/fragments/edit-description-field.jsx +0 -54
  414. package/src/scripts/datalad/fragments/edit-description-list.jsx +0 -49
  415. package/src/scripts/datalad/fragments/edit-list.jsx +0 -82
  416. package/src/scripts/datalad/fragments/edit-readme.jsx +0 -44
  417. package/src/scripts/datalad/fragments/incomplete-dataset.jsx +0 -23
  418. package/src/scripts/datalad/fragments/metadata-tool.jsx +0 -34
  419. package/src/scripts/datalad/fragments/number-input.tsx +0 -126
  420. package/src/scripts/datalad/fragments/save-button.jsx +0 -24
  421. package/src/scripts/datalad/fragments/select-input.tsx +0 -247
  422. package/src/scripts/datalad/fragments/share-dataset-button.jsx +0 -32
  423. package/src/scripts/datalad/fragments/text-array-input.tsx +0 -119
  424. package/src/scripts/datalad/fragments/text-input.tsx +0 -206
  425. package/src/scripts/datalad/mutations/__tests__/__snapshots__/comment.spec.jsx.snap +0 -5
  426. package/src/scripts/datalad/mutations/__tests__/__snapshots__/delete.spec.jsx.snap +0 -181
  427. package/src/scripts/datalad/mutations/__tests__/__snapshots__/manage-permissions.spec.jsx.snap +0 -361
  428. package/src/scripts/datalad/mutations/__tests__/__snapshots__/subscribe-to-newsletter.spec.jsx.snap +0 -83
  429. package/src/scripts/datalad/mutations/__tests__/__snapshots__/update-file.spec.jsx.snap +0 -25
  430. package/src/scripts/datalad/mutations/__tests__/__snapshots__/update-permissions.spec.jsx.snap +0 -361
  431. package/src/scripts/datalad/mutations/__tests__/comment.spec.jsx +0 -154
  432. package/src/scripts/datalad/mutations/__tests__/manage-permissions.spec.jsx +0 -21
  433. package/src/scripts/datalad/mutations/__tests__/subscribe-to-newsletter.spec.jsx +0 -10
  434. package/src/scripts/datalad/mutations/__tests__/update-file.spec.jsx +0 -15
  435. package/src/scripts/datalad/mutations/__tests__/update-permissions.spec.jsx +0 -21
  436. package/src/scripts/datalad/mutations/add-metadata.jsx +0 -164
  437. package/src/scripts/datalad/mutations/comment.jsx +0 -164
  438. package/src/scripts/datalad/mutations/delete-dataset-form.jsx +0 -82
  439. package/src/scripts/datalad/mutations/description.jsx +0 -129
  440. package/src/scripts/datalad/mutations/flag-annex-object.jsx +0 -62
  441. package/src/scripts/datalad/mutations/metadata-form.jsx +0 -388
  442. package/src/scripts/datalad/mutations/readme.jsx +0 -53
  443. package/src/scripts/datalad/mutations/remove-annex-object.jsx +0 -71
  444. package/src/scripts/datalad/mutations/subscribe-to-newsletter.jsx +0 -26
  445. package/src/scripts/datalad/mutations/update-file.jsx +0 -51
  446. package/src/scripts/datalad/routes/__tests__/__snapshots__/manage-permissions.spec.jsx.snap +0 -159
  447. package/src/scripts/datalad/routes/__tests__/__snapshots__/snapshot.spec.jsx.snap +0 -31
  448. package/src/scripts/datalad/routes/__tests__/dataset-content.spec.jsx +0 -108
  449. package/src/scripts/datalad/routes/__tests__/file-display.spec.jsx +0 -22
  450. package/src/scripts/datalad/routes/__tests__/manage-permissions.spec.jsx +0 -101
  451. package/src/scripts/datalad/routes/__tests__/snapshot.spec.jsx +0 -49
  452. package/src/scripts/datalad/routes/admin-datalad.jsx +0 -45
  453. package/src/scripts/datalad/routes/admin-exports.jsx +0 -125
  454. package/src/scripts/datalad/routes/dataset-content.jsx +0 -198
  455. package/src/scripts/datalad/routes/dataset-routes.jsx +0 -162
  456. package/src/scripts/datalad/routes/file-display.jsx +0 -84
  457. package/src/scripts/datalad/routes/manage-permissions.jsx +0 -128
  458. package/src/scripts/datalad/routes/snapshot-content.jsx +0 -135
  459. package/src/scripts/datalad/routes/snapshot.jsx +0 -131
  460. package/src/scripts/datalad/snapshotVersion.js +0 -7
  461. package/src/scripts/datalad/validation/validation-panel.jsx +0 -48
  462. package/src/scripts/datalad/validation/validation-status.jsx +0 -120
  463. package/src/scripts/datalad/validation/validation.jsx +0 -40
  464. package/src/scripts/dataset/dataset.metrics.jsx +0 -61
  465. package/src/scripts/file-tree/__tests__/__snapshots__/file-tree-unloaded-directory.spec.jsx.snap +0 -26
  466. package/src/scripts/file-tree/__tests__/__snapshots__/file-tree.spec.jsx.snap +0 -18
  467. package/src/scripts/file-tree/__tests__/__snapshots__/file.spec.jsx.snap +0 -81
  468. package/src/scripts/file-tree/__tests__/file-tree-loading.spec.jsx +0 -18
  469. package/src/scripts/file-tree/__tests__/file-tree-unloaded-directory.spec.jsx +0 -74
  470. package/src/scripts/file-tree/__tests__/file-tree.spec.jsx +0 -94
  471. package/src/scripts/file-tree/__tests__/file-viewer-type.spec.jsx +0 -15
  472. package/src/scripts/file-tree/__tests__/file.spec.jsx +0 -44
  473. package/src/scripts/file-tree/__tests__/flat-to-tree.spec.js +0 -55
  474. package/src/scripts/file-tree/file-tree-loading.jsx +0 -64
  475. package/src/scripts/file-tree/file-tree-unloaded-directory.jsx +0 -108
  476. package/src/scripts/file-tree/file-tree.jsx +0 -133
  477. package/src/scripts/file-tree/file-view.jsx +0 -31
  478. package/src/scripts/file-tree/file-viewer-type.jsx +0 -45
  479. package/src/scripts/file-tree/file.jsx +0 -123
  480. package/src/scripts/file-tree/files.jsx +0 -126
  481. package/src/scripts/file-tree/flat-to-tree.js +0 -49
  482. package/src/scripts/file-tree/viewers/__tests__/__snapshots__/file-viewer-json.spec.jsx.snap +0 -51
  483. package/src/scripts/file-tree/viewers/__tests__/file-viewer-json.spec.jsx +0 -15
  484. package/src/scripts/file-tree/viewers/__tests__/parse-tabular.spec.js +0 -24
  485. package/src/scripts/file-tree/viewers/file-viewer-csv.jsx +0 -16
  486. package/src/scripts/file-tree/viewers/file-viewer-html.jsx +0 -20
  487. package/src/scripts/file-tree/viewers/file-viewer-json.jsx +0 -50
  488. package/src/scripts/file-tree/viewers/file-viewer-nifti.jsx +0 -11
  489. package/src/scripts/file-tree/viewers/file-viewer-table.jsx +0 -34
  490. package/src/scripts/file-tree/viewers/file-viewer-text.jsx +0 -13
  491. package/src/scripts/file-tree/viewers/file-viewer-tsv.jsx +0 -16
  492. package/src/scripts/file-tree/viewers/parse-tabular.js +0 -18
  493. package/src/scripts/front-page/__tests__/__snapshots__/email-subscription-box.spec.jsx.snap +0 -190
  494. package/src/scripts/front-page/__tests__/__snapshots__/front-page-stats.spec.jsx.snap +0 -29
  495. package/src/scripts/front-page/__tests__/__snapshots__/front-page-top-datasets.spec.jsx.snap +0 -464
  496. package/src/scripts/front-page/__tests__/dataset-count.spec.jsx +0 -33
  497. package/src/scripts/front-page/__tests__/email-subscription-box.spec.jsx +0 -57
  498. package/src/scripts/front-page/__tests__/front-page-stats.spec.jsx +0 -10
  499. package/src/scripts/front-page/__tests__/front-page-top-datasets.spec.jsx +0 -27
  500. package/src/scripts/front-page/__tests__/participant-count.spec.jsx +0 -31
  501. package/src/scripts/front-page/dataset-count.jsx +0 -29
  502. package/src/scripts/front-page/email-subscription-box.jsx +0 -131
  503. package/src/scripts/front-page/front-page-additional-info.jsx +0 -15
  504. package/src/scripts/front-page/front-page-collaborators.jsx +0 -117
  505. package/src/scripts/front-page/front-page-stats.jsx +0 -71
  506. package/src/scripts/front-page/front-page-support.jsx +0 -30
  507. package/src/scripts/front-page/front-page-tabs.jsx +0 -166
  508. package/src/scripts/front-page/front-page-top-datasets.jsx +0 -203
  509. package/src/scripts/front-page/front-page.jsx +0 -95
  510. package/src/scripts/front-page/participant-count.jsx +0 -25
  511. package/src/scripts/hooks/use-measure.js +0 -15
  512. package/src/scripts/hooks/use-previous.js +0 -7
  513. package/src/scripts/index.jsx +0 -16
  514. package/src/scripts/nav/assets/brand_mark.png +0 -0
  515. package/src/scripts/nav/assets/favicon-upload.png +0 -0
  516. package/src/scripts/nav/assets/logo_app.png +0 -0
  517. package/src/scripts/nav/navbar.jsx +0 -144
  518. package/src/scripts/nav/navbar.navmenu.jsx +0 -106
  519. package/src/scripts/nav/navbar.usermenu.jsx +0 -52
  520. package/src/scripts/pages/citation-page.jsx +0 -43
  521. package/src/scripts/pet/__tests__/__snapshots__/dummy.spec.jsx.snap +0 -70
  522. package/src/scripts/pet/__tests__/dummy.spec.jsx +0 -10
  523. package/src/scripts/pet/dummy.jsx +0 -61
  524. package/src/scripts/refactor_2021/dataset/dataset-pre-refactor-container.tsx +0 -12
  525. package/src/scripts/refactor_2021/dataset/routes/download-dataset.jsx +0 -70
  526. package/src/scripts/refactor_2021/redesign-form.jsx +0 -427
  527. package/src/scripts/routes.tsx +0 -36
  528. package/src/scripts/search/search-input.tsx +0 -42
  529. package/src/scripts/search/search-results.tsx +0 -114
  530. package/src/scripts/styles/capitalized.jsx +0 -6
  531. package/src/scripts/styles/uppercase.jsx +0 -6
  532. package/src/scripts/uploader/__tests__/add-path-to-files.spec.js +0 -29
  533. package/src/scripts/uploader/__tests__/file-upload.spec.js +0 -116
  534. package/src/scripts/uploader/__tests__/upload-disclaimer.spec.jsx +0 -67
  535. package/src/scripts/uploader/__tests__/upload-mutation.spec.js +0 -57
  536. package/src/scripts/uploader/__tests__/uploader.spec.js +0 -31
  537. package/src/scripts/uploader/add-path-to-files.js +0 -19
  538. package/src/scripts/uploader/file-upload.js +0 -88
  539. package/src/scripts/uploader/upload-button.jsx +0 -18
  540. package/src/scripts/uploader/upload-disclaimer.jsx +0 -92
  541. package/src/scripts/uploader/upload-file-status.jsx +0 -20
  542. package/src/scripts/uploader/upload-issues.jsx +0 -131
  543. package/src/scripts/uploader/upload-metadata.jsx +0 -59
  544. package/src/scripts/uploader/upload-mutation.js +0 -111
  545. package/src/scripts/uploader/upload-progress-button.jsx +0 -20
  546. package/src/scripts/uploader/upload-progress-class.js +0 -36
  547. package/src/scripts/uploader/upload-progress.jsx +0 -15
  548. package/src/scripts/uploader/upload-rename.jsx +0 -33
  549. package/src/scripts/uploader/upload-resume.jsx +0 -35
  550. package/src/scripts/uploader/upload-select.jsx +0 -29
  551. package/src/scripts/uploader/upload-status.jsx +0 -23
  552. package/src/scripts/uploader/upload-step.jsx +0 -48
  553. package/src/scripts/uploader/uploader-context.js +0 -6
  554. package/src/scripts/uploader/uploader-location.js +0 -5
  555. package/src/scripts/uploader/uploader-modal.jsx +0 -27
  556. package/src/scripts/uploader/uploader-setup-routes.jsx +0 -52
  557. package/src/scripts/uploader/uploader-status-routes.jsx +0 -30
  558. package/src/scripts/uploader/uploader-view.jsx +0 -45
  559. package/src/scripts/uploader/uploader.jsx +0 -388
  560. package/src/scripts/user/__mocks__/user.store.js +0 -1
  561. package/src/scripts/user/api.jsx +0 -132
  562. package/src/scripts/user/avatar.jsx +0 -40
  563. package/src/scripts/utils/crn.js +0 -15
  564. package/src/scripts/utils/request.js +0 -107
  565. package/src/scripts/utils/user.js +0 -18
  566. package/src/scripts/validation/validation-results.issues.issue.jsx +0 -90
  567. package/src/scripts/validation/validation-results.issues.jsx +0 -79
  568. package/src/scripts/validation/validation-results.jsx +0 -96
@@ -1,116 +0,0 @@
1
- import { getRelativePath, encodeFilePath } from '../file-upload.js'
2
-
3
- describe('file upload helpers', () => {
4
- describe('getRelativePath', () => {
5
- it('works with a few directory levels', () => {
6
- expect(
7
- getRelativePath({ webkitRelativePath: 'test/paths/like/this' }),
8
- ).toBe('paths/like/this')
9
- })
10
- it('works if the path is not actually relative', () => {
11
- expect(
12
- getRelativePath({ webkitRelativePath: 'dataset_description.json' }),
13
- ).toBe('dataset_description.json')
14
- })
15
- })
16
- describe('encodeFilePath', () => {
17
- it('supports directory upload from a webkit-derived browser (stripRelativePath: true)', () => {
18
- expect(
19
- encodeFilePath(
20
- {
21
- name: 'sub-02_T1w.nii.gz',
22
- lastModified: 1604713385516,
23
- webkitRelativePath: 'dataset/sub-02/anat/sub-02_T1w.nii.gz',
24
- size: 311112,
25
- type: 'application/gzip',
26
- },
27
- { stripRelativePath: true },
28
- ),
29
- ).toEqual('sub-02:anat:sub-02_T1w.nii.gz')
30
- })
31
- it('supports directory upload from a webkit-derived browser (stripRelativePath: false)', () => {
32
- expect(
33
- encodeFilePath(
34
- {
35
- name: 'sub-02_T1w.nii.gz',
36
- lastModified: 1604713385516,
37
- webkitRelativePath: 'sub-02/anat/sub-02_T1w.nii.gz',
38
- size: 311112,
39
- type: 'application/gzip',
40
- },
41
- { stripRelativePath: false },
42
- ),
43
- ).toEqual('sub-02:anat:sub-02_T1w.nii.gz')
44
- })
45
- it('supports file upload from a webkit-derived browser (stripRelativePath: true)', () => {
46
- expect(
47
- encodeFilePath(
48
- {
49
- name: 'README',
50
- lastModified: 1604713385516,
51
- webkitRelativePath: '',
52
- size: 809,
53
- type: 'text/plain',
54
- },
55
- { stripRelativePath: true },
56
- ),
57
- ).toEqual('README')
58
- })
59
- it('supports file upload from a webkit-derived browser (stripRelativePath: false)', () => {
60
- expect(
61
- encodeFilePath(
62
- {
63
- name: 'README',
64
- lastModified: 1604713385516,
65
- webkitRelativePath: '',
66
- size: 809,
67
- type: 'text/plain',
68
- },
69
- { stripRelativePath: false },
70
- ),
71
- ).toEqual('README')
72
- })
73
- it('supports nested file upload from a webkit-derived browser (stripRelativePath: true)', () => {
74
- expect(
75
- encodeFilePath(
76
- {
77
- name: 'sub-02_T1w.nii.gz',
78
- lastModified: 1604713385516,
79
- webkitRelativePath: '/dataset/sub-02/anat/',
80
- size: 2000,
81
- type: 'text/plain',
82
- },
83
- { stripRelativePath: true },
84
- ),
85
- ).toEqual('sub-02:anat:sub-02_T1w.nii.gz')
86
- })
87
- it('supports nested file upload from a webkit-derived browser (stripRelativePath: false)', () => {
88
- expect(
89
- encodeFilePath(
90
- {
91
- name: 'sub-02_T1w.nii.gz',
92
- lastModified: 1604713385516,
93
- webkitRelativePath: '/sub-02/anat/',
94
- size: 2000,
95
- type: 'text/plain',
96
- },
97
- { stripRelativePath: false },
98
- ),
99
- ).toEqual('sub-02:anat:sub-02_T1w.nii.gz')
100
- })
101
- it('supports nested directory upload from a webkit-derived browser (stripRelativePath: false)', () => {
102
- expect(
103
- encodeFilePath(
104
- {
105
- name: 'sub-02_T1w.nii.gz',
106
- lastModified: 1604713385516,
107
- webkitRelativePath: '/sub-02/anat/sub-02_T1w.nii.gz',
108
- size: 2000,
109
- type: 'text/plain',
110
- },
111
- { stripRelativePath: false },
112
- ),
113
- ).toEqual('sub-02:anat:sub-02_T1w.nii.gz')
114
- })
115
- })
116
- })
@@ -1,67 +0,0 @@
1
- import React from 'react'
2
- import { render, screen, fireEvent } from '@testing-library/react'
3
- import UploadDisclaimer from '../upload-disclaimer.jsx'
4
- import UploaderContext from '../uploader-context.js'
5
-
6
- describe('UploadDisclaimer component', () => {
7
- it('renders as expected', () => {
8
- expect(() =>
9
- render(
10
- <UploaderContext.Provider value={{ uploader: jest.fn() }}>
11
- <UploadDisclaimer />
12
- </UploaderContext.Provider>,
13
- ),
14
- ).not.toThrowError()
15
- })
16
- it('starts with the upload button disabled', () => {
17
- render(
18
- <UploaderContext.Provider value={{ uploader: jest.fn() }}>
19
- <UploadDisclaimer />
20
- </UploaderContext.Provider>,
21
- )
22
- expect(screen.getByText('I Agree')).toBeDisabled()
23
- })
24
- it('disable the upload button when both boxes are checked', () => {
25
- const { getByLabelText } = render(
26
- <UploaderContext.Provider value={{ uploader: jest.fn() }}>
27
- <UploadDisclaimer />
28
- </UploaderContext.Provider>,
29
- )
30
- fireEvent.click(
31
- getByLabelText(
32
- 'All structural scans have been defaced, obscuring any tissue on or near the face that could potentially be used to reconstruct the facial structure.',
33
- ),
34
- )
35
- fireEvent.click(
36
- getByLabelText(
37
- 'I have explicit participant consent and ethical authorization to publish structural scans without defacing.',
38
- ),
39
- )
40
- expect(screen.getByText('I Agree')).toBeDisabled()
41
- })
42
- it('enable the upload button when one box is checked', () => {
43
- const { getByLabelText } = render(
44
- <UploaderContext.Provider value={{ uploader: jest.fn() }}>
45
- <UploadDisclaimer />
46
- </UploaderContext.Provider>,
47
- )
48
- fireEvent.click(
49
- getByLabelText(
50
- 'All structural scans have been defaced, obscuring any tissue on or near the face that could potentially be used to reconstruct the facial structure.',
51
- ),
52
- )
53
- expect(screen.getByText('I Agree')).not.toBeDisabled()
54
- // Disable the first and enable the second to test the alternate state
55
- fireEvent.click(
56
- getByLabelText(
57
- 'All structural scans have been defaced, obscuring any tissue on or near the face that could potentially be used to reconstruct the facial structure.',
58
- ),
59
- )
60
- fireEvent.click(
61
- getByLabelText(
62
- 'I have explicit participant consent and ethical authorization to publish structural scans without defacing.',
63
- ),
64
- )
65
- expect(screen.getByText('I Agree')).not.toBeDisabled()
66
- })
67
- })
@@ -1,57 +0,0 @@
1
- import { mkLevels, treeFromList } from '../upload-mutation.js'
2
-
3
- describe('Uploader mutations', () => {
4
- describe('mkLevels', () => {
5
- it('updates the parent argument by pushing file objects', () => {
6
- const file = new Blob(['Trouble on Blobolonia'], { type: 'text/plain' })
7
- const parent = { files: [], directories: [], name: '' }
8
- mkLevels(file, parent, ['README'])
9
- expect(parent.files).toEqual([file])
10
- expect(parent.directories).toEqual([])
11
- })
12
- it('creates new directories for nested paths', () => {
13
- const file = new Blob(['1234'], { type: 'text/plain' })
14
- const parent = { files: [], directories: [], name: '' }
15
- mkLevels(file, parent, ['derivatives', 'README'])
16
- expect(parent.files).toEqual([])
17
- expect(parent.directories).toHaveLength(1)
18
- expect(parent.directories[0].files).toHaveLength(1)
19
- expect(parent.directories[0].files[0]).toEqual(file)
20
- })
21
- it('updates existing directories with newly found files', () => {
22
- const file = new Blob(['{}'], { type: 'application/json' })
23
- const parent = {
24
- files: [],
25
- directories: [{ name: '/derivatives', files: [], directories: [] }],
26
- name: '',
27
- }
28
- mkLevels(file, parent, ['derivatives', 'data.json'])
29
- expect(parent.files).toEqual([])
30
- expect(parent.directories).toHaveLength(1)
31
- expect(parent.directories[0].files).toHaveLength(1)
32
- expect(parent.directories[0].files[0]).toEqual(file)
33
- })
34
- })
35
- describe('treeFromList', () => {
36
- it('handles a tree from <input type="file" multiple />', () => {
37
- const mockFileA = new Blob(['file one'], { type: 'text/plain' })
38
- const mockFileB = new Blob(['file two'], { type: 'text/plain' })
39
- mockFileA.webkitRelativePath = '/'
40
- mockFileB.webkitRelativePath = '/'
41
- const mockFileList = [mockFileA, mockFileB]
42
- const fileTree = treeFromList(mockFileList)
43
- expect(typeof fileTree).toBe('object')
44
- expect(fileTree.directories).toEqual([])
45
- expect(fileTree.files).toHaveLength(2)
46
- expect(fileTree.name).toBe('')
47
- })
48
- it('should work for files without webkitRelativePath', () => {
49
- const mockFile = new Blob(['a boy and his blob'], { type: 'text/plain' })
50
- const mockFileList = [mockFile]
51
- const fileTree = treeFromList(mockFileList)
52
- expect(fileTree.directories).toEqual([])
53
- expect(fileTree.files).toHaveLength(1)
54
- expect(fileTree.name).toBe('')
55
- })
56
- })
57
- })
@@ -1,31 +0,0 @@
1
- import React from 'react'
2
- import { shallow } from 'enzyme'
3
- import { UploadClient } from '../uploader.jsx'
4
- import { JSDOM } from 'jsdom'
5
- const { window } = new JSDOM('', { runScripts: 'outside-only' })
6
-
7
- // Stub constructor for File-like objects with webkitRelativePath
8
- function TestFile(body, name, webkitRelativePath) {
9
- const file = new window.Blob(body)
10
- file.name = name
11
- file.webkitRelativePath = webkitRelativePath ? webkitRelativePath : name
12
- return file
13
- }
14
-
15
- describe('uploader', () => {
16
- it('select files updates state', async done => {
17
- const wrapper = shallow(<UploadClient />)
18
- try {
19
- await wrapper.instance().selectFiles({
20
- files: [
21
- new TestFile(['file body one'], 'file_one'),
22
- new TestFile(['file body two'], 'file_two'),
23
- ],
24
- })
25
- expect(wrapper.instance().state.files).toHaveLength(2)
26
- done()
27
- } catch (e) {
28
- done.fail(e)
29
- }
30
- })
31
- })
@@ -1,19 +0,0 @@
1
- /**
2
- * Prefix all files with a path
3
- * This supports uploading within another directory
4
- * @param {any[]} fileList FileList for upload
5
- * @param {string} path Prefix path for all files
6
- * @returns {Array} Updated array of files with adapted paths
7
- */
8
- export const addPathToFiles = (fileList, path) => {
9
- return path
10
- ? Array.prototype.map.call(fileList, file => {
11
- // Override webkitRelativePath with a new property
12
- Object.defineProperty(file, 'webkitRelativePath', {
13
- value: `/${path}/${file.webkitRelativePath}`,
14
- writable: false,
15
- })
16
- return file
17
- })
18
- : fileList
19
- }
@@ -1,88 +0,0 @@
1
- import { config } from '../config'
2
- import { uploads } from '@openneuro/client'
3
-
4
- /**
5
- * Trim the webkitRelativePath value to only include the dataset relative path
6
- * @param {File} file FileAPI object from a browser multiple file selector
7
- */
8
- export const getRelativePath = (
9
- file,
10
- options = { stripRelativePath: true },
11
- ) => {
12
- const path = file.webkitRelativePath
13
- const pathTokens = path.split('/')
14
- if (pathTokens.length === 1) {
15
- return path
16
- }
17
- if (pathTokens[0] === '') {
18
- pathTokens.shift()
19
- }
20
- if (pathTokens[pathTokens.length - 1] === '') {
21
- pathTokens[pathTokens.length - 1] = file.name
22
- }
23
- if (options.stripRelativePath) {
24
- return pathTokens.slice(1).join('/')
25
- } else {
26
- return pathTokens.join('/')
27
- }
28
- }
29
-
30
- /**
31
- * Handle all variants of File objects and return the encoded upload file path
32
- *
33
- * Top level files have webkitRelativePath '' in some scenarios, use just the filename in that case
34
- *
35
- * @param {File} file
36
- * @param {object} options
37
- * @param {boolean} options.stripRelativePath
38
- **/
39
- export const encodeFilePath = (file, options = { stripRelativePath: false }) =>
40
- file.webkitRelativePath
41
- ? uploads.encodeFilePath(getRelativePath(file, options))
42
- : file.name
43
-
44
- /**
45
- * This provides a similar interface to Apollo mutation for a background fetch with a promise that resolves once all promises have settled
46
- * @param {object} options
47
- * @param {string} options.uploadId Upload identifier for resume
48
- * @param {string} options.datasetId Accession number
49
- * @param {number} options.endpoint Offset for upload endpoint
50
- * @param {Array<object>} options.filesToUpload Array of file objects
51
- * @param {string} options.token Credentials
52
- * @param {import('./upload-progress-class').UploadProgress} options.uploadProgress Controller for reporting upload progress
53
- * @param {AbortController} options.abortController Fetch AbortController for halting uploads
54
- * @param {boolean} options.stripRelativePath True will remove the top-most directory name
55
- */
56
- export async function uploadFiles({
57
- uploadId,
58
- datasetId,
59
- endpoint,
60
- filesToUpload,
61
- token,
62
- uploadProgress,
63
- abortController,
64
- stripRelativePath = true,
65
- }) {
66
- // Maps FileAPI objects to Request with the correct URL and body
67
- let totalSize = 0
68
- const requests = filesToUpload.map(f => {
69
- totalSize += f.size
70
- const encodedFilePath = encodeFilePath(f, {
71
- stripRelativePath,
72
- })
73
- const fileUrl = `${config.url}/uploads/${endpoint}/${datasetId}/${uploadId}/${encodedFilePath}`
74
- return new Request(fileUrl, {
75
- method: 'POST',
76
- body: f,
77
- headers: {
78
- Authorization: `Bearer ${token}`,
79
- },
80
- credentials: 'omit',
81
- signal: abortController.signal,
82
- })
83
- })
84
-
85
- // No background fetch
86
- // Parallelism is handled by the client in this case
87
- return uploads.uploadParallel(requests, totalSize, uploadProgress, fetch)
88
- }
@@ -1,18 +0,0 @@
1
- import React from 'react'
2
- import PropTypes from 'prop-types'
3
-
4
- const UploadButton = ({ onClick }) => (
5
- <span className="upload-btn-wrap">
6
- <a className="nav-link nl-upload" onClick={onClick}>
7
- <span className="link-name">
8
- <i className="fa fa-upload" /> Upload Dataset
9
- </span>
10
- </a>
11
- </span>
12
- )
13
-
14
- UploadButton.propTypes = {
15
- onClick: PropTypes.func,
16
- }
17
-
18
- export default UploadButton
@@ -1,92 +0,0 @@
1
- import React, { useState } from 'react'
2
- import UploaderContext from './uploader-context.js'
3
-
4
- const UploadDisclaimer = () => {
5
- const [affirmedDefaced, setAffirmedDefaced] = useState(false)
6
- const [affirmedConsent, setAffirmedConsent] = useState(false)
7
- return (
8
- <UploaderContext.Consumer>
9
- {uploader => (
10
- <div className="disclaimer fade-in">
11
- <h4>
12
- By uploading this dataset to OpenNeuro I agree to the following
13
- conditions:
14
- </h4>
15
- <p>
16
- I am the owner of this dataset and have any necessary ethics
17
- permissions to share the data publicly. This dataset does not
18
- include any identifiable personal health information as defined by
19
- the{' '}
20
- <a href="https://www.hhs.gov/hipaa/for-professionals/privacy/laws-regulations/">
21
- Health Insurance Portability and Accountability Act of 1996
22
- </a>{' '}
23
- (including names, zip codes, dates of birth, acquisition dates,
24
- etc). I agree to destroy any key linking the personal identity of
25
- research participants to the subject codes used in the dataset.
26
- </p>
27
- <p>
28
- I agree that this dataset will become publicly available under a{' '}
29
- <a href="https://wiki.creativecommons.org/wiki/CC0">
30
- Creative Commons CC0
31
- </a>{' '}
32
- license after a grace period of 36 months counted from the date of
33
- the first snapshot creation for this dataset. You will be able to
34
- apply for up to two 6 month extensions to increase the grace period
35
- in case the publication of a corresponding paper takes longer than
36
- expected. See <a href="/faq">FAQ</a> for details.
37
- </p>
38
- <p>This dataset is not subject to GDPR protections.</p>
39
- <p>
40
- Generally, data should only be uploaded to a single data archive. In
41
- the rare cases where it is necessary to upload the data to two
42
- databases (such as the NIMH Data Archive), I agree to ensure that
43
- the datasets are harmonized across archives.
44
- </p>
45
- <p>Please affirm one of the following:</p>
46
- <label>
47
- <input
48
- type="checkbox"
49
- onChange={() => setAffirmedDefaced(!affirmedDefaced)}
50
- defaultChecked={affirmedDefaced}
51
- />
52
- &nbsp; All structural scans have been defaced, obscuring any tissue
53
- on or near the face that could potentially be used to reconstruct
54
- the facial structure.
55
- </label>
56
- <label>
57
- <input
58
- type="checkbox"
59
- onChange={() => setAffirmedConsent(!affirmedConsent)}
60
- defaultChecked={affirmedConsent}
61
- />
62
- &nbsp; I have explicit participant consent and ethical authorization
63
- to publish structural scans without defacing.
64
- </label>
65
- <span className="message">
66
- <button
67
- className="fileupload-btn btn-blue"
68
- onClick={() => {
69
- uploader.captureMetadata({
70
- ...uploader.metadata,
71
- affirmedDefaced,
72
- affirmedConsent,
73
- })
74
- uploader.upload({ affirmedDefaced, affirmedConsent })
75
- }}
76
- disabled={
77
- !(
78
- (affirmedDefaced && !affirmedConsent) ||
79
- (!affirmedDefaced && affirmedConsent)
80
- )
81
- }
82
- >
83
- I Agree
84
- </button>
85
- </span>
86
- </div>
87
- )}
88
- </UploaderContext.Consumer>
89
- )
90
- }
91
-
92
- export default UploadDisclaimer
@@ -1,20 +0,0 @@
1
- import React from 'react'
2
- import PropTypes from 'prop-types'
3
-
4
- const UploadFileStatus = ({ uploadingFiles, failedFiles }) => (
5
- <>
6
- <p>{[...uploadingFiles].join(', ')}</p>
7
- <p>
8
- {failedFiles.size
9
- ? `Too many failed attempts for '${[...failedFiles].join(', ')}'`
10
- : null}
11
- </p>
12
- </>
13
- )
14
-
15
- UploadFileStatus.propTypes = {
16
- uploadingFiles: PropTypes.instanceOf(Set),
17
- failedFiles: PropTypes.instanceOf(Set),
18
- }
19
-
20
- export default UploadFileStatus
@@ -1,131 +0,0 @@
1
- import React from 'react'
2
- import PropTypes from 'prop-types'
3
- import pluralize from 'pluralize'
4
- import Spinner from '../common/partials/spinner.jsx'
5
- import Results from '../validation/validation-results.jsx'
6
- import UploaderContext from './uploader-context.js'
7
- import validate from '../workers/validate'
8
-
9
- const UploadValidatorStatus = ({ issues, next, reset }) => {
10
- const errorCount = issues.errors.length
11
- const warnCount = issues.warnings.length
12
- const issuesCount = errorCount + warnCount
13
- if (issuesCount === 0) {
14
- return (
15
- <div className="message fade-in">
16
- This dataset has no issues.
17
- <button className="fileupload-btn btn-blue" onClick={next}>
18
- Continue
19
- </button>
20
- </div>
21
- )
22
- } else if (errorCount === 0 && warnCount > 0) {
23
- return (
24
- <div className="message warn fade-in">
25
- We found {warnCount} {pluralize('warning', warnCount)} in your dataset.
26
- You are not required to fix warnings, but doing so will make your
27
- dataset more BIDS compliant. Continue or fix the issues and select
28
- folder again.
29
- <button className="fileupload-btn btn-blue" onClick={next}>
30
- Continue
31
- </button>
32
- </div>
33
- )
34
- } else {
35
- return (
36
- <div className="message error fade-in">
37
- Your dataset is not a valid BIDS dataset. Fix the{' '}
38
- <strong>
39
- {errorCount} {pluralize('error', errorCount)}
40
- </strong>{' '}
41
- and{' '}
42
- <a
43
- href="#"
44
- onClick={e => {
45
- e.preventDefault()
46
- reset()
47
- }}>
48
- select your folder again.
49
- </a>{' '}
50
- </div>
51
- )
52
- }
53
- }
54
-
55
- class UploadValidator extends React.Component {
56
- constructor(props) {
57
- super(props)
58
- this.state = {
59
- validating: true,
60
- issues: {
61
- errors: [],
62
- warnings: [],
63
- },
64
- summary: {},
65
- }
66
- const options = {
67
- config: {
68
- error: ['NO_AUTHORS'],
69
- ignoreSubjectConsistency: true,
70
- },
71
- }
72
- validate(this.props.files, options).then(this.done)
73
- }
74
-
75
- /**
76
- * Called when validation finishes
77
- */
78
- done = ({ issues, summary }) => {
79
- this.setState({ issues, summary, validating: false })
80
- }
81
-
82
- render() {
83
- if (this.state.validating) {
84
- return <Spinner text="validating" active={true} />
85
- } else {
86
- return (
87
- <div>
88
- <UploadValidatorStatus
89
- issues={this.state.issues}
90
- next={this.props.next}
91
- reset={this.props.reset}
92
- />
93
- <Results
94
- errors={this.state.issues.errors}
95
- warnings={this.state.issues.warnings}
96
- />
97
- <span className="bids-link">
98
- Click to view details on{' '}
99
- <a
100
- href="http://bids.neuroimaging.io"
101
- target="_blank"
102
- rel="noopener noreferrer">
103
- BIDS specification
104
- </a>
105
- </span>
106
- </div>
107
- )
108
- }
109
- }
110
- }
111
-
112
- UploadValidator.propTypes = {
113
- // Files can be an FileList object or an array of File objects
114
- files: PropTypes.oneOfType([PropTypes.object, PropTypes.array]),
115
- next: PropTypes.func,
116
- reset: PropTypes.func,
117
- }
118
-
119
- const UploadIssues = () => (
120
- <UploaderContext.Consumer>
121
- {uploader => (
122
- <UploadValidator
123
- files={uploader.selectedFiles}
124
- next={() => uploader.setLocation('/upload/metadata')}
125
- reset={() => uploader.setLocation('/upload')}
126
- />
127
- )}
128
- </UploaderContext.Consumer>
129
- )
130
-
131
- export default UploadIssues