@openneuro/app 4.1.0 → 4.2.1

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 (571) 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-query.jsx +5 -3
  16. package/src/scripts/refactor_2021/dataset/dataset-routes.jsx +14 -4
  17. package/src/scripts/{datalad → refactor_2021/dataset}/download/__tests__/__snapshots__/download-command-line.spec.jsx.snap +0 -0
  18. package/src/scripts/{datalad → refactor_2021/dataset}/download/__tests__/__snapshots__/download-link.spec.jsx.snap +645 -105
  19. package/src/scripts/{datalad → refactor_2021/dataset}/download/__tests__/__snapshots__/shell-example.spec.jsx.snap +6 -3
  20. package/src/scripts/{datalad → refactor_2021/dataset}/download/__tests__/download-command-line.spec.jsx +0 -0
  21. package/src/scripts/{datalad → refactor_2021/dataset}/download/__tests__/download-link.spec.jsx +0 -0
  22. package/src/scripts/{datalad → refactor_2021/dataset}/download/__tests__/download-native.spec.js +0 -0
  23. package/src/scripts/{datalad → refactor_2021/dataset}/download/__tests__/shell-example.spec.jsx +0 -0
  24. package/src/scripts/refactor_2021/dataset/download/download-datalad.jsx +45 -10
  25. package/src/scripts/refactor_2021/dataset/draft-container.tsx +2 -0
  26. package/src/scripts/refactor_2021/dataset/files/file-tree.jsx +3 -2
  27. package/src/scripts/refactor_2021/dataset/fragments/__tests__/__snapshots__/cancel-button.spec.tsx.snap +10 -0
  28. package/src/scripts/refactor_2021/dataset/fragments/__tests__/__snapshots__/edit-button.spec.tsx.snap +10 -0
  29. package/src/scripts/refactor_2021/dataset/fragments/__tests__/__snapshots__/edit-list.spec.jsx.snap +24 -0
  30. package/src/scripts/refactor_2021/dataset/fragments/__tests__/__snapshots__/save-button.spec.tsx.snap +10 -0
  31. 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
  32. package/src/scripts/{datalad/fragments/__tests__/cancel-button.spec.jsx → refactor_2021/dataset/fragments/__tests__/cancel-button.spec.tsx} +2 -2
  33. package/src/scripts/{datalad → refactor_2021/dataset}/fragments/__tests__/dataset-citation.spec.jsx +0 -0
  34. package/src/scripts/{datalad/fragments/__tests__/edit-button.spec.jsx → refactor_2021/dataset/fragments/__tests__/edit-button.spec.tsx} +2 -2
  35. package/src/scripts/refactor_2021/dataset/fragments/__tests__/edit-list.spec.jsx +27 -0
  36. package/src/scripts/{datalad/fragments/__tests__/save-button.spec.jsx → refactor_2021/dataset/fragments/__tests__/save-button.spec.tsx} +2 -2
  37. package/src/scripts/{datalad/fragments/__tests__/select-input.spec.jsx → refactor_2021/dataset/fragments/__tests__/select-input.spec.tsx} +0 -0
  38. package/src/scripts/refactor_2021/dataset/mutations/__tests__/__snapshots__/delete.spec.jsx.snap +50 -0
  39. package/src/scripts/{datalad → refactor_2021/dataset}/mutations/__tests__/__snapshots__/description.spec.jsx.snap +0 -0
  40. package/src/scripts/refactor_2021/dataset/mutations/__tests__/__snapshots__/update-permissions.spec.jsx.snap +27 -0
  41. package/src/scripts/{datalad → refactor_2021/dataset}/mutations/__tests__/cache-id.spec.js +0 -0
  42. package/src/scripts/{datalad → refactor_2021/dataset}/mutations/__tests__/delete.spec.jsx +8 -8
  43. package/src/scripts/{datalad → refactor_2021/dataset}/mutations/__tests__/description.spec.jsx +0 -0
  44. package/src/scripts/{datalad/mutations/__tests__/remove-permissions.spec.jsx → refactor_2021/dataset/mutations/__tests__/remove-permissions.spec.tsx} +1 -1
  45. package/src/scripts/refactor_2021/dataset/mutations/__tests__/update-permissions.spec.jsx +28 -0
  46. package/src/scripts/refactor_2021/dataset/mutations/dataset-relations.tsx +1 -1
  47. package/src/scripts/refactor_2021/dataset/mutations/update-file.jsx +2 -2
  48. package/src/scripts/refactor_2021/dataset/routes/download-dataset.tsx +76 -0
  49. package/src/scripts/refactor_2021/dataset/snapshot-container.tsx +10 -4
  50. package/src/scripts/refactor_2021/routes.tsx +1 -1
  51. package/src/scripts/refactor_2021/search/__tests__/search-params-ctx.spec.tsx +20 -0
  52. package/src/scripts/refactor_2021/search/initial-search-params.tsx +7 -7
  53. package/src/scripts/refactor_2021/search/inputs/__tests__/sort-by-select.spec.tsx +83 -0
  54. package/src/scripts/refactor_2021/search/inputs/index.ts +2 -2
  55. package/src/scripts/refactor_2021/search/inputs/{gender-radios.tsx → sex-radios.tsx} +10 -10
  56. package/src/scripts/refactor_2021/search/inputs/sort-by-select.tsx +38 -8
  57. package/src/scripts/refactor_2021/search/search-container.tsx +3 -3
  58. package/src/scripts/refactor_2021/search/search-params-ctx.tsx +3 -3
  59. package/src/scripts/refactor_2021/search/use-search-results.tsx +4 -3
  60. package/src/scripts/refactor_2021/uploader/upload-disclaimer.jsx +4 -3
  61. package/src/scripts/refactor_2021/user/api.jsx +11 -6
  62. package/src/server.jsx +1 -5
  63. package/src/ssr.ts +0 -1
  64. package/src/sass/_bootstrap-compass.scss +0 -9
  65. package/src/sass/_bootstrap-mincer.scss +0 -19
  66. package/src/sass/_bootstrap-sprockets.scss +0 -9
  67. package/src/sass/_bootstrap.scss +0 -50
  68. package/src/sass/animate/_attention-seekers/_bounce.scss +0 -15
  69. package/src/sass/animate/_attention-seekers/_flash.scss +0 -14
  70. package/src/sass/animate/_attention-seekers/_pulse.scss +0 -17
  71. package/src/sass/animate/_attention-seekers/_rubberBand.scss +0 -19
  72. package/src/sass/animate/_attention-seekers/_shake.scss +0 -15
  73. package/src/sass/animate/_attention-seekers/_swing.scss +0 -19
  74. package/src/sass/animate/_attention-seekers/_tada.scss +0 -17
  75. package/src/sass/animate/_attention-seekers/_wobble.scss +0 -21
  76. package/src/sass/animate/_attention-seekers/attention-seekers.scss +0 -12
  77. package/src/sass/animate/_bouncing-entrances/_bounceIn.scss +0 -26
  78. package/src/sass/animate/_bouncing-entrances/_bounceInDown.scss +0 -26
  79. package/src/sass/animate/_bouncing-entrances/_bounceInLeft.scss +0 -26
  80. package/src/sass/animate/_bouncing-entrances/_bounceInRight.scss +0 -26
  81. package/src/sass/animate/_bouncing-entrances/_bounceInUp.scss +0 -26
  82. package/src/sass/animate/_bouncing-entrances/bouncing-entrances.scss +0 -9
  83. package/src/sass/animate/_bouncing-exits/_bounceOut.scss +0 -26
  84. package/src/sass/animate/_bouncing-exits/_bounceOutDown.scss +0 -23
  85. package/src/sass/animate/_bouncing-exits/_bounceOutLeft.scss +0 -23
  86. package/src/sass/animate/_bouncing-exits/_bounceOutRight.scss +0 -23
  87. package/src/sass/animate/_bouncing-exits/_bounceOutUp.scss +0 -23
  88. package/src/sass/animate/_bouncing-exits/bouncing-exits.scss +0 -4
  89. package/src/sass/animate/_fading-entrances/_fadeIn.scss +0 -14
  90. package/src/sass/animate/_fading-entrances/_fadeInDown.scss +0 -20
  91. package/src/sass/animate/_fading-entrances/_fadeInDownBig.scss +0 -20
  92. package/src/sass/animate/_fading-entrances/_fadeInLeft.scss +0 -20
  93. package/src/sass/animate/_fading-entrances/_fadeInLeftBig.scss +0 -20
  94. package/src/sass/animate/_fading-entrances/_fadeInRight.scss +0 -20
  95. package/src/sass/animate/_fading-entrances/_fadeInRightBig.scss +0 -20
  96. package/src/sass/animate/_fading-entrances/_fadeInUp.scss +0 -19
  97. package/src/sass/animate/_fading-entrances/_fadeInUpBig.scss +0 -20
  98. package/src/sass/animate/_fading-entrances/fading-entrances.scss +0 -5
  99. package/src/sass/animate/_fading-exits/_fadeOut.scss +0 -14
  100. package/src/sass/animate/_fading-exits/_fadeOutDown.scss +0 -20
  101. package/src/sass/animate/_fading-exits/_fadeOutDownBig.scss +0 -20
  102. package/src/sass/animate/_fading-exits/_fadeOutLeft.scss +0 -20
  103. package/src/sass/animate/_fading-exits/_fadeOutLeftBig.scss +0 -20
  104. package/src/sass/animate/_fading-exits/_fadeOutRight.scss +0 -20
  105. package/src/sass/animate/_fading-exits/_fadeOutRightBig.scss +0 -20
  106. package/src/sass/animate/_fading-exits/_fadeOutUp.scss +0 -20
  107. package/src/sass/animate/_fading-exits/_fadeOutUpBig.scss +0 -20
  108. package/src/sass/animate/_fading-exits/fading-exits.scss +0 -5
  109. package/src/sass/animate/_flippers/_flip.scss +0 -33
  110. package/src/sass/animate/_flippers/_flipInX.scss +0 -26
  111. package/src/sass/animate/_flippers/_flipInY.scss +0 -26
  112. package/src/sass/animate/_flippers/_flipOutX.scss +0 -20
  113. package/src/sass/animate/_flippers/_flipOutY.scss +0 -20
  114. package/src/sass/animate/_flippers/flippers.scss +0 -8
  115. package/src/sass/animate/_lightspeed/_lightSpeedIn.scss +0 -29
  116. package/src/sass/animate/_lightspeed/_lightSpeedOut.scss +0 -21
  117. package/src/sass/animate/_lightspeed/lightspeed.scss +0 -3
  118. package/src/sass/animate/_properties.scss +0 -119
  119. package/src/sass/animate/_rotating-entrances/_rotateIn.scss +0 -22
  120. package/src/sass/animate/_rotating-entrances/_rotateInDownLeft.scss +0 -22
  121. package/src/sass/animate/_rotating-entrances/_rotateInDownRight.scss +0 -22
  122. package/src/sass/animate/_rotating-entrances/_rotateInUpLeft.scss +0 -22
  123. package/src/sass/animate/_rotating-entrances/_rotateInUpRight.scss +0 -22
  124. package/src/sass/animate/_rotating-entrances/rotating-entrances.scss +0 -8
  125. package/src/sass/animate/_rotating-exits/_rotateOut.scss +0 -22
  126. package/src/sass/animate/_rotating-exits/_rotateOutDownLeft.scss +0 -22
  127. package/src/sass/animate/_rotating-exits/_rotateOutDownRight.scss +0 -22
  128. package/src/sass/animate/_rotating-exits/_rotateOutUpLeft.scss +0 -22
  129. package/src/sass/animate/_rotating-exits/_rotateOutUpRight.scss +0 -22
  130. package/src/sass/animate/_rotating-exits/rotating-exits.scss +0 -8
  131. package/src/sass/animate/_sliding-entrances/_slideInDown.scss +0 -19
  132. package/src/sass/animate/_sliding-entrances/_slideInLeft.scss +0 -19
  133. package/src/sass/animate/_sliding-entrances/_slideInRight.scss +0 -42
  134. package/src/sass/animate/_sliding-entrances/_slideInUp.scss +0 -19
  135. package/src/sass/animate/_sliding-entrances/sliding-entrances.scss +0 -7
  136. package/src/sass/animate/_sliding-exits/_slideOutDown.scss +0 -19
  137. package/src/sass/animate/_sliding-exits/_slideOutLeft.scss +0 -19
  138. package/src/sass/animate/_sliding-exits/_slideOutRight.scss +0 -19
  139. package/src/sass/animate/_sliding-exits/_slideOutUp.scss +0 -19
  140. package/src/sass/animate/_sliding-exits/sliding-exits.scss +0 -7
  141. package/src/sass/animate/_specials/_hinge.scss +0 -37
  142. package/src/sass/animate/_specials/_rollIn.scss +0 -20
  143. package/src/sass/animate/_specials/_rollOut.scss +0 -22
  144. package/src/sass/animate/_specials/specials.scss +0 -6
  145. package/src/sass/animate/_zooming-entrances/_zoomIn.scss +0 -19
  146. package/src/sass/animate/_zooming-entrances/_zoomInDown.scss +0 -22
  147. package/src/sass/animate/_zooming-entrances/_zoomInLeft.scss +0 -22
  148. package/src/sass/animate/_zooming-entrances/_zoomInRight.scss +0 -22
  149. package/src/sass/animate/_zooming-entrances/_zoomInUp.scss +0 -22
  150. package/src/sass/animate/_zooming-entrances/zooming-entrances.scss +0 -4
  151. package/src/sass/animate/_zooming-exits/_zoomOut.scss +0 -22
  152. package/src/sass/animate/_zooming-exits/_zoomOutDown.scss +0 -23
  153. package/src/sass/animate/_zooming-exits/_zoomOutLeft.scss +0 -21
  154. package/src/sass/animate/_zooming-exits/_zoomOutRight.scss +0 -21
  155. package/src/sass/animate/_zooming-exits/_zoomOutUp.scss +0 -23
  156. package/src/sass/animate/_zooming-exits/zooming-exits.scss +0 -4
  157. package/src/sass/animate/animate.css +0 -7497
  158. package/src/sass/animate/animate.css.map +0 -7
  159. package/src/sass/animate/animate.min.css +0 -2
  160. package/src/sass/animate/animate.min.css.map +0 -7
  161. package/src/sass/animate/animate.scss +0 -30
  162. package/src/sass/animate/bower.json +0 -22
  163. package/src/sass/bootstrap/_alerts.scss +0 -70
  164. package/src/sass/bootstrap/_badges.scss +0 -68
  165. package/src/sass/bootstrap/_breadcrumbs.scss +0 -26
  166. package/src/sass/bootstrap/_button-groups.scss +0 -243
  167. package/src/sass/bootstrap/_buttons.scss +0 -160
  168. package/src/sass/bootstrap/_carousel.scss +0 -269
  169. package/src/sass/bootstrap/_close.scss +0 -36
  170. package/src/sass/bootstrap/_code.scss +0 -69
  171. package/src/sass/bootstrap/_component-animations.scss +0 -37
  172. package/src/sass/bootstrap/_dropdowns.scss +0 -223
  173. package/src/sass/bootstrap/_forms.scss +0 -613
  174. package/src/sass/bootstrap/_grid.scss +0 -84
  175. package/src/sass/bootstrap/_input-groups.scss +0 -166
  176. package/src/sass/bootstrap/_jumbotron.scss +0 -50
  177. package/src/sass/bootstrap/_labels.scss +0 -66
  178. package/src/sass/bootstrap/_list-group.scss +0 -124
  179. package/src/sass/bootstrap/_media.scss +0 -61
  180. package/src/sass/bootstrap/_mixins.scss +0 -39
  181. package/src/sass/bootstrap/_modals.scss +0 -150
  182. package/src/sass/bootstrap/_navbar.scss +0 -647
  183. package/src/sass/bootstrap/_navs.scss +0 -243
  184. package/src/sass/bootstrap/_normalize.scss +0 -427
  185. package/src/sass/bootstrap/_pager.scss +0 -54
  186. package/src/sass/bootstrap/_pagination.scss +0 -88
  187. package/src/sass/bootstrap/_panels.scss +0 -265
  188. package/src/sass/bootstrap/_popovers.scss +0 -135
  189. package/src/sass/bootstrap/_print.scss +0 -107
  190. package/src/sass/bootstrap/_progress-bars.scss +0 -87
  191. package/src/sass/bootstrap/_responsive-embed.scss +0 -35
  192. package/src/sass/bootstrap/_responsive-utilities.scss +0 -177
  193. package/src/sass/bootstrap/_scaffolding.scss +0 -162
  194. package/src/sass/bootstrap/_tables.scss +0 -234
  195. package/src/sass/bootstrap/_theme.scss +0 -273
  196. package/src/sass/bootstrap/_thumbnails.scss +0 -38
  197. package/src/sass/bootstrap/_tooltip.scss +0 -102
  198. package/src/sass/bootstrap/_type.scss +0 -298
  199. package/src/sass/bootstrap/_utilities.scss +0 -55
  200. package/src/sass/bootstrap/_variables.scss +0 -866
  201. package/src/sass/bootstrap/_wells.scss +0 -29
  202. package/src/sass/bootstrap/float-label.scss +0 -70
  203. package/src/sass/bootstrap/mixins/_alerts.scss +0 -14
  204. package/src/sass/bootstrap/mixins/_background-variant.scss +0 -11
  205. package/src/sass/bootstrap/mixins/_border-radius.scss +0 -18
  206. package/src/sass/bootstrap/mixins/_buttons.scss +0 -52
  207. package/src/sass/bootstrap/mixins/_center-block.scss +0 -7
  208. package/src/sass/bootstrap/mixins/_clearfix.scss +0 -22
  209. package/src/sass/bootstrap/mixins/_forms.scss +0 -88
  210. package/src/sass/bootstrap/mixins/_gradients.scss +0 -58
  211. package/src/sass/bootstrap/mixins/_grid-framework.scss +0 -81
  212. package/src/sass/bootstrap/mixins/_grid.scss +0 -122
  213. package/src/sass/bootstrap/mixins/_hide-text.scss +0 -21
  214. package/src/sass/bootstrap/mixins/_image.scss +0 -33
  215. package/src/sass/bootstrap/mixins/_labels.scss +0 -12
  216. package/src/sass/bootstrap/mixins/_list-group.scss +0 -31
  217. package/src/sass/bootstrap/mixins/_nav-divider.scss +0 -10
  218. package/src/sass/bootstrap/mixins/_nav-vertical-align.scss +0 -9
  219. package/src/sass/bootstrap/mixins/_opacity.scss +0 -8
  220. package/src/sass/bootstrap/mixins/_pagination.scss +0 -23
  221. package/src/sass/bootstrap/mixins/_panels.scss +0 -24
  222. package/src/sass/bootstrap/mixins/_progress-bar.scss +0 -10
  223. package/src/sass/bootstrap/mixins/_reset-filter.scss +0 -8
  224. package/src/sass/bootstrap/mixins/_resize.scss +0 -6
  225. package/src/sass/bootstrap/mixins/_responsive-visibility.scss +0 -21
  226. package/src/sass/bootstrap/mixins/_size.scss +0 -10
  227. package/src/sass/bootstrap/mixins/_tab-focus.scss +0 -9
  228. package/src/sass/bootstrap/mixins/_table-row.scss +0 -28
  229. package/src/sass/bootstrap/mixins/_text-emphasis.scss +0 -11
  230. package/src/sass/bootstrap/mixins/_text-overflow.scss +0 -8
  231. package/src/sass/bootstrap/mixins/_vendor-prefixes.scss +0 -222
  232. package/src/sass/crn_app/_admin.admin.scss +0 -205
  233. package/src/sass/crn_app/_admin.graphs.scss +0 -51
  234. package/src/sass/crn_app/_admin.tools.scss +0 -24
  235. package/src/sass/crn_app/_api.scss +0 -65
  236. package/src/sass/crn_app/_bootstrap.overrides.scss +0 -54
  237. package/src/sass/crn_app/_colors.scss +0 -88
  238. package/src/sass/crn_app/_common.click-to-edit.scss +0 -187
  239. package/src/sass/crn_app/_common.modals.scss +0 -686
  240. package/src/sass/crn_app/_common.pagination.scss +0 -41
  241. package/src/sass/crn_app/_common.papaya.scss +0 -348
  242. package/src/sass/crn_app/_common.progress-bar.scss +0 -26
  243. package/src/sass/crn_app/_common.spinner.scss +0 -63
  244. package/src/sass/crn_app/_common.status.scss +0 -103
  245. package/src/sass/crn_app/_common.tooltip.scss +0 -22
  246. package/src/sass/crn_app/_common.typeahead.scss +0 -31
  247. package/src/sass/crn_app/_common.variables.scss +0 -16
  248. package/src/sass/crn_app/_dashboard.datasets.scss +0 -588
  249. package/src/sass/crn_app/_dataset.comments.scss +0 -201
  250. package/src/sass/crn_app/_dataset.dataset.scss +0 -161
  251. package/src/sass/crn_app/_dataset.file-tree.scss +0 -277
  252. package/src/sass/crn_app/_dataset.jobs.scss +0 -701
  253. package/src/sass/crn_app/_dataset.sidebar.scss +0 -265
  254. package/src/sass/crn_app/_dataset.tools.scss +0 -118
  255. package/src/sass/crn_app/_elements-wrappers.scss +0 -870
  256. package/src/sass/crn_app/_faq.scss +0 -37
  257. package/src/sass/crn_app/_frontPage.scss +0 -569
  258. package/src/sass/crn_app/_nav.navbar.scss +0 -387
  259. package/src/sass/crn_app/_theme.scss +0 -87
  260. package/src/sass/crn_app/_upload.upload.scss +0 -393
  261. package/src/sass/crn_app/_upload.validation.scss +0 -210
  262. package/src/sass/draft/draft.scss +0 -11
  263. package/src/sass/draft/rich-editor.scss +0 -73
  264. package/src/sass/font-awesome/_animated.scss +0 -34
  265. package/src/sass/font-awesome/_bordered-pulled.scss +0 -25
  266. package/src/sass/font-awesome/_core.scss +0 -12
  267. package/src/sass/font-awesome/_fixed-width.scss +0 -6
  268. package/src/sass/font-awesome/_font-awesome.scss +0 -17
  269. package/src/sass/font-awesome/_icons.scss +0 -697
  270. package/src/sass/font-awesome/_larger.scss +0 -13
  271. package/src/sass/font-awesome/_list.scss +0 -19
  272. package/src/sass/font-awesome/_mixins.scss +0 -26
  273. package/src/sass/font-awesome/_path.scss +0 -15
  274. package/src/sass/font-awesome/_rotated-flipped.scss +0 -20
  275. package/src/sass/font-awesome/_stacked.scss +0 -20
  276. package/src/sass/font-awesome/_variables.scss +0 -713
  277. package/src/sass/main.scss +0 -317
  278. package/src/sass/pre-refactor-with-wrapper-main.scss +0 -1549
  279. package/src/scripts/admin/__tests__/__snapshots__/exports.spec.jsx.snap +0 -112
  280. package/src/scripts/admin/__tests__/exports.spec.jsx +0 -15
  281. package/src/scripts/admin/__tests__/users.spec.jsx +0 -15
  282. package/src/scripts/admin/admin.jsx +0 -53
  283. package/src/scripts/admin/flagged-files.jsx +0 -178
  284. package/src/scripts/admin/user-fragment.ts +0 -14
  285. package/src/scripts/admin/user-tools.tsx +0 -83
  286. package/src/scripts/admin/users.jsx +0 -224
  287. package/src/scripts/authentication/admin-user.jsx +0 -23
  288. package/src/scripts/authentication/buttons.jsx +0 -26
  289. package/src/scripts/authentication/globus-button.jsx +0 -39
  290. package/src/scripts/authentication/google-button.jsx +0 -32
  291. package/src/scripts/authentication/logged-in.jsx +0 -12
  292. package/src/scripts/authentication/logged-out.jsx +0 -12
  293. package/src/scripts/authentication/loginCheck.js +0 -7
  294. package/src/scripts/authentication/orcid-button.jsx +0 -32
  295. package/src/scripts/authentication/withProfile.jsx +0 -22
  296. package/src/scripts/classic.tsx +0 -18
  297. package/src/scripts/common/forms/file-select.tsx +0 -71
  298. package/src/scripts/common/partials/__tests__/__snapshots__/footer.spec.jsx.snap +0 -42
  299. package/src/scripts/common/partials/__tests__/__snapshots__/metric.spec.jsx.snap +0 -101
  300. package/src/scripts/common/partials/__tests__/footer.spec.jsx +0 -10
  301. package/src/scripts/common/partials/__tests__/metric.spec.jsx +0 -31
  302. package/src/scripts/common/partials/footer.jsx +0 -40
  303. package/src/scripts/common/partials/login.jsx +0 -99
  304. package/src/scripts/common/partials/metric.jsx +0 -73
  305. package/src/scripts/common/partials/spinner.jsx +0 -34
  306. package/src/scripts/common/partials/status.jsx +0 -96
  307. package/src/scripts/common/partials/timeout.jsx +0 -47
  308. package/src/scripts/common/partials/tooltip.jsx +0 -36
  309. package/src/scripts/components/__tests__/dropdown-button.spec.tsx +0 -49
  310. package/src/scripts/components/dropdown-button.tsx +0 -42
  311. package/src/scripts/components/feature-toggle.tsx +0 -19
  312. package/src/scripts/components/panel-group.tsx +0 -24
  313. package/src/scripts/components/panel.tsx +0 -42
  314. package/src/scripts/datalad/__tests__/snapshotVersion.spec.js +0 -21
  315. package/src/scripts/datalad/comments/__tests__/comment-editor.spec.jsx +0 -19
  316. package/src/scripts/datalad/comments/block-style-controls.jsx +0 -46
  317. package/src/scripts/datalad/comments/comment-editor.jsx +0 -79
  318. package/src/scripts/datalad/comments/inline-style-controls.jsx +0 -34
  319. package/src/scripts/datalad/comments/style-button.jsx +0 -28
  320. package/src/scripts/datalad/dashboard/__tests__/__snapshots__/dashboard.spec.jsx.snap +0 -163
  321. package/src/scripts/datalad/dashboard/__tests__/dashboard.spec.jsx +0 -21
  322. package/src/scripts/datalad/dashboard/dashboard.jsx +0 -54
  323. package/src/scripts/datalad/dashboard/datasets/__tests__/__snapshots__/dataset-filter.spec.jsx.snap +0 -20
  324. package/src/scripts/datalad/dashboard/datasets/__tests__/__snapshots__/dataset-row-skeleton.spec.jsx.snap +0 -13
  325. package/src/scripts/datalad/dashboard/datasets/__tests__/__snapshots__/dataset-row.spec.jsx.snap +0 -65
  326. package/src/scripts/datalad/dashboard/datasets/__tests__/__snapshots__/dataset-sorter.spec.jsx.snap +0 -14
  327. package/src/scripts/datalad/dashboard/datasets/__tests__/__snapshots__/dataset-virtual-scroller.spec.jsx.snap +0 -17
  328. package/src/scripts/datalad/dashboard/datasets/__tests__/__snapshots__/uploaded.spec.jsx.snap +0 -27
  329. package/src/scripts/datalad/dashboard/datasets/__tests__/dataset-filter.spec.jsx +0 -67
  330. package/src/scripts/datalad/dashboard/datasets/__tests__/dataset-query.spec.jsx +0 -72
  331. package/src/scripts/datalad/dashboard/datasets/__tests__/dataset-row-skeleton.spec.jsx +0 -9
  332. package/src/scripts/datalad/dashboard/datasets/__tests__/dataset-row.spec.jsx +0 -53
  333. package/src/scripts/datalad/dashboard/datasets/__tests__/dataset-sorter.spec.jsx +0 -69
  334. package/src/scripts/datalad/dashboard/datasets/__tests__/dataset-virtual-scroller.spec.jsx +0 -65
  335. package/src/scripts/datalad/dashboard/datasets/__tests__/uploaded.spec.jsx +0 -17
  336. package/src/scripts/datalad/dashboard/datasets/dataset-filter.jsx +0 -78
  337. package/src/scripts/datalad/dashboard/datasets/dataset-query.jsx +0 -102
  338. package/src/scripts/datalad/dashboard/datasets/dataset-row-error-boundary.jsx +0 -52
  339. package/src/scripts/datalad/dashboard/datasets/dataset-row-skeleton.jsx +0 -10
  340. package/src/scripts/datalad/dashboard/datasets/dataset-row.jsx +0 -58
  341. package/src/scripts/datalad/dashboard/datasets/dataset-sorter.jsx +0 -148
  342. package/src/scripts/datalad/dashboard/datasets/dataset-statuses.jsx +0 -44
  343. package/src/scripts/datalad/dashboard/datasets/dataset-tab.jsx +0 -192
  344. package/src/scripts/datalad/dashboard/datasets/dataset-virtual-scroller.jsx +0 -126
  345. package/src/scripts/datalad/dashboard/datasets/row-height.jsx +0 -7
  346. package/src/scripts/datalad/dashboard/datasets/uploaded.jsx +0 -33
  347. package/src/scripts/datalad/dataset/__tests__/__snapshots__/comments.spec.jsx.snap +0 -137
  348. package/src/scripts/datalad/dataset/__tests__/__snapshots__/dataset-page.spec.jsx.snap +0 -69
  349. package/src/scripts/datalad/dataset/__tests__/__snapshots__/dataset-query.spec.jsx.snap +0 -15
  350. package/src/scripts/datalad/dataset/__tests__/__snapshots__/left-siderbar.spec.jsx.snap +0 -85
  351. package/src/scripts/datalad/dataset/__tests__/dataset-page.spec.jsx +0 -33
  352. package/src/scripts/datalad/dataset/__tests__/dataset-query.spec.jsx +0 -20
  353. package/src/scripts/datalad/dataset/__tests__/left-siderbar.spec.jsx +0 -106
  354. package/src/scripts/datalad/dataset/comment.jsx +0 -90
  355. package/src/scripts/datalad/dataset/comments.jsx +0 -83
  356. package/src/scripts/datalad/dataset/dataset-description.jsx +0 -111
  357. package/src/scripts/datalad/dataset/dataset-main.jsx +0 -29
  358. package/src/scripts/datalad/dataset/dataset-page.jsx +0 -63
  359. package/src/scripts/datalad/dataset/dataset-query.jsx +0 -192
  360. package/src/scripts/datalad/dataset/dataset.jsx +0 -22
  361. package/src/scripts/datalad/dataset/delete-page.tsx +0 -92
  362. package/src/scripts/datalad/dataset/left-sidebar.jsx +0 -109
  363. package/src/scripts/datalad/download/__tests__/__snapshots__/download-dataset.spec.jsx.snap +0 -7
  364. package/src/scripts/datalad/download/__tests__/__snapshots__/download-tool.spec.jsx.snap +0 -26
  365. package/src/scripts/datalad/download/__tests__/download-dataset.spec.jsx +0 -19
  366. package/src/scripts/datalad/download/__tests__/download-tool.spec.jsx +0 -19
  367. package/src/scripts/datalad/download/download-command-line.jsx +0 -43
  368. package/src/scripts/datalad/download/download-datalad.jsx +0 -58
  369. package/src/scripts/datalad/download/download-dataset.jsx +0 -61
  370. package/src/scripts/datalad/download/download-link.jsx +0 -41
  371. package/src/scripts/datalad/download/download-native.js +0 -118
  372. package/src/scripts/datalad/download/download-query.js +0 -22
  373. package/src/scripts/datalad/download/download-s3.jsx +0 -46
  374. package/src/scripts/datalad/download/download-tool.jsx +0 -44
  375. package/src/scripts/datalad/download/native-file-toast.jsx +0 -90
  376. package/src/scripts/datalad/download/shell-example.jsx +0 -9
  377. package/src/scripts/datalad/download/track-download.js +0 -15
  378. package/src/scripts/datalad/fragments/__tests__/__snapshots__/cancel-button.spec.jsx.snap +0 -21
  379. package/src/scripts/datalad/fragments/__tests__/__snapshots__/dataset-analytics.spec.jsx.snap +0 -41
  380. package/src/scripts/datalad/fragments/__tests__/__snapshots__/dataset-authors.spec.jsx.snap +0 -13
  381. package/src/scripts/datalad/fragments/__tests__/__snapshots__/dataset-readme.spec.jsx.snap +0 -49
  382. package/src/scripts/datalad/fragments/__tests__/__snapshots__/dataset-title.spec.jsx.snap +0 -7
  383. package/src/scripts/datalad/fragments/__tests__/__snapshots__/dataset-tools.spec.jsx.snap +0 -346
  384. package/src/scripts/datalad/fragments/__tests__/__snapshots__/dataset-uploaded.spec.jsx.snap +0 -7
  385. package/src/scripts/datalad/fragments/__tests__/__snapshots__/edit-button.spec.jsx.snap +0 -21
  386. package/src/scripts/datalad/fragments/__tests__/__snapshots__/edit-list.spec.jsx.snap +0 -34
  387. package/src/scripts/datalad/fragments/__tests__/__snapshots__/edit-readme.spec.jsx.snap +0 -3
  388. package/src/scripts/datalad/fragments/__tests__/__snapshots__/save-button.spec.jsx.snap +0 -21
  389. package/src/scripts/datalad/fragments/__tests__/dataset-analytics.spec.jsx +0 -16
  390. package/src/scripts/datalad/fragments/__tests__/dataset-authors.spec.jsx +0 -22
  391. package/src/scripts/datalad/fragments/__tests__/dataset-prominent-links.spec.jsx +0 -32
  392. package/src/scripts/datalad/fragments/__tests__/dataset-readme.spec.jsx +0 -10
  393. package/src/scripts/datalad/fragments/__tests__/dataset-summary.spec.jsx +0 -55
  394. package/src/scripts/datalad/fragments/__tests__/dataset-title.spec.jsx +0 -10
  395. package/src/scripts/datalad/fragments/__tests__/dataset-tools.spec.jsx +0 -55
  396. package/src/scripts/datalad/fragments/__tests__/dataset-uploaded.spec.jsx +0 -16
  397. package/src/scripts/datalad/fragments/__tests__/edit-list.spec.jsx +0 -25
  398. package/src/scripts/datalad/fragments/__tests__/edit-readme.spec.jsx +0 -10
  399. package/src/scripts/datalad/fragments/cancel-button.jsx +0 -24
  400. package/src/scripts/datalad/fragments/copyable-tooltip.jsx +0 -82
  401. package/src/scripts/datalad/fragments/dataset-analytics.jsx +0 -27
  402. package/src/scripts/datalad/fragments/dataset-authors.jsx +0 -16
  403. package/src/scripts/datalad/fragments/dataset-citation.jsx +0 -77
  404. package/src/scripts/datalad/fragments/dataset-files.jsx +0 -50
  405. package/src/scripts/datalad/fragments/dataset-git-access.jsx +0 -56
  406. package/src/scripts/datalad/fragments/dataset-git-hash.jsx +0 -27
  407. package/src/scripts/datalad/fragments/dataset-history.jsx +0 -95
  408. package/src/scripts/datalad/fragments/dataset-modified.jsx +0 -17
  409. package/src/scripts/datalad/fragments/dataset-prominent-links.jsx +0 -129
  410. package/src/scripts/datalad/fragments/dataset-readme.jsx +0 -42
  411. package/src/scripts/datalad/fragments/dataset-summary.jsx +0 -230
  412. package/src/scripts/datalad/fragments/dataset-title.jsx +0 -10
  413. package/src/scripts/datalad/fragments/dataset-tools.jsx +0 -190
  414. package/src/scripts/datalad/fragments/dataset-uploaded.jsx +0 -25
  415. package/src/scripts/datalad/fragments/edit-button.jsx +0 -24
  416. package/src/scripts/datalad/fragments/edit-description-field.jsx +0 -54
  417. package/src/scripts/datalad/fragments/edit-description-list.jsx +0 -49
  418. package/src/scripts/datalad/fragments/edit-list.jsx +0 -82
  419. package/src/scripts/datalad/fragments/edit-readme.jsx +0 -44
  420. package/src/scripts/datalad/fragments/incomplete-dataset.jsx +0 -23
  421. package/src/scripts/datalad/fragments/metadata-tool.jsx +0 -34
  422. package/src/scripts/datalad/fragments/number-input.tsx +0 -126
  423. package/src/scripts/datalad/fragments/save-button.jsx +0 -24
  424. package/src/scripts/datalad/fragments/select-input.tsx +0 -247
  425. package/src/scripts/datalad/fragments/share-dataset-button.jsx +0 -32
  426. package/src/scripts/datalad/fragments/text-array-input.tsx +0 -119
  427. package/src/scripts/datalad/fragments/text-input.tsx +0 -206
  428. package/src/scripts/datalad/mutations/__tests__/__snapshots__/comment.spec.jsx.snap +0 -5
  429. package/src/scripts/datalad/mutations/__tests__/__snapshots__/delete.spec.jsx.snap +0 -181
  430. package/src/scripts/datalad/mutations/__tests__/__snapshots__/manage-permissions.spec.jsx.snap +0 -361
  431. package/src/scripts/datalad/mutations/__tests__/__snapshots__/subscribe-to-newsletter.spec.jsx.snap +0 -83
  432. package/src/scripts/datalad/mutations/__tests__/__snapshots__/update-file.spec.jsx.snap +0 -25
  433. package/src/scripts/datalad/mutations/__tests__/__snapshots__/update-permissions.spec.jsx.snap +0 -361
  434. package/src/scripts/datalad/mutations/__tests__/comment.spec.jsx +0 -154
  435. package/src/scripts/datalad/mutations/__tests__/manage-permissions.spec.jsx +0 -21
  436. package/src/scripts/datalad/mutations/__tests__/subscribe-to-newsletter.spec.jsx +0 -10
  437. package/src/scripts/datalad/mutations/__tests__/update-file.spec.jsx +0 -15
  438. package/src/scripts/datalad/mutations/__tests__/update-permissions.spec.jsx +0 -21
  439. package/src/scripts/datalad/mutations/add-metadata.jsx +0 -164
  440. package/src/scripts/datalad/mutations/comment.jsx +0 -164
  441. package/src/scripts/datalad/mutations/delete-dataset-form.jsx +0 -82
  442. package/src/scripts/datalad/mutations/description.jsx +0 -129
  443. package/src/scripts/datalad/mutations/flag-annex-object.jsx +0 -62
  444. package/src/scripts/datalad/mutations/metadata-form.jsx +0 -388
  445. package/src/scripts/datalad/mutations/readme.jsx +0 -53
  446. package/src/scripts/datalad/mutations/remove-annex-object.jsx +0 -71
  447. package/src/scripts/datalad/mutations/subscribe-to-newsletter.jsx +0 -26
  448. package/src/scripts/datalad/mutations/update-file.jsx +0 -51
  449. package/src/scripts/datalad/routes/__tests__/__snapshots__/manage-permissions.spec.jsx.snap +0 -159
  450. package/src/scripts/datalad/routes/__tests__/__snapshots__/snapshot.spec.jsx.snap +0 -31
  451. package/src/scripts/datalad/routes/__tests__/dataset-content.spec.jsx +0 -108
  452. package/src/scripts/datalad/routes/__tests__/file-display.spec.jsx +0 -22
  453. package/src/scripts/datalad/routes/__tests__/manage-permissions.spec.jsx +0 -101
  454. package/src/scripts/datalad/routes/__tests__/snapshot.spec.jsx +0 -49
  455. package/src/scripts/datalad/routes/admin-datalad.jsx +0 -45
  456. package/src/scripts/datalad/routes/admin-exports.jsx +0 -125
  457. package/src/scripts/datalad/routes/dataset-content.jsx +0 -198
  458. package/src/scripts/datalad/routes/dataset-routes.jsx +0 -162
  459. package/src/scripts/datalad/routes/file-display.jsx +0 -84
  460. package/src/scripts/datalad/routes/manage-permissions.jsx +0 -128
  461. package/src/scripts/datalad/routes/snapshot-content.jsx +0 -135
  462. package/src/scripts/datalad/routes/snapshot.jsx +0 -131
  463. package/src/scripts/datalad/snapshotVersion.js +0 -7
  464. package/src/scripts/datalad/validation/validation-panel.jsx +0 -48
  465. package/src/scripts/datalad/validation/validation-status.jsx +0 -120
  466. package/src/scripts/datalad/validation/validation.jsx +0 -40
  467. package/src/scripts/dataset/dataset.metrics.jsx +0 -61
  468. package/src/scripts/file-tree/__tests__/__snapshots__/file-tree-unloaded-directory.spec.jsx.snap +0 -26
  469. package/src/scripts/file-tree/__tests__/__snapshots__/file-tree.spec.jsx.snap +0 -18
  470. package/src/scripts/file-tree/__tests__/__snapshots__/file.spec.jsx.snap +0 -81
  471. package/src/scripts/file-tree/__tests__/file-tree-loading.spec.jsx +0 -18
  472. package/src/scripts/file-tree/__tests__/file-tree-unloaded-directory.spec.jsx +0 -74
  473. package/src/scripts/file-tree/__tests__/file-tree.spec.jsx +0 -94
  474. package/src/scripts/file-tree/__tests__/file-viewer-type.spec.jsx +0 -15
  475. package/src/scripts/file-tree/__tests__/file.spec.jsx +0 -44
  476. package/src/scripts/file-tree/__tests__/flat-to-tree.spec.js +0 -55
  477. package/src/scripts/file-tree/file-tree-loading.jsx +0 -64
  478. package/src/scripts/file-tree/file-tree-unloaded-directory.jsx +0 -108
  479. package/src/scripts/file-tree/file-tree.jsx +0 -133
  480. package/src/scripts/file-tree/file-view.jsx +0 -31
  481. package/src/scripts/file-tree/file-viewer-type.jsx +0 -45
  482. package/src/scripts/file-tree/file.jsx +0 -123
  483. package/src/scripts/file-tree/files.jsx +0 -126
  484. package/src/scripts/file-tree/flat-to-tree.js +0 -49
  485. package/src/scripts/file-tree/viewers/__tests__/__snapshots__/file-viewer-json.spec.jsx.snap +0 -51
  486. package/src/scripts/file-tree/viewers/__tests__/file-viewer-json.spec.jsx +0 -15
  487. package/src/scripts/file-tree/viewers/__tests__/parse-tabular.spec.js +0 -24
  488. package/src/scripts/file-tree/viewers/file-viewer-csv.jsx +0 -16
  489. package/src/scripts/file-tree/viewers/file-viewer-html.jsx +0 -20
  490. package/src/scripts/file-tree/viewers/file-viewer-json.jsx +0 -50
  491. package/src/scripts/file-tree/viewers/file-viewer-nifti.jsx +0 -11
  492. package/src/scripts/file-tree/viewers/file-viewer-table.jsx +0 -34
  493. package/src/scripts/file-tree/viewers/file-viewer-text.jsx +0 -13
  494. package/src/scripts/file-tree/viewers/file-viewer-tsv.jsx +0 -16
  495. package/src/scripts/file-tree/viewers/parse-tabular.js +0 -18
  496. package/src/scripts/front-page/__tests__/__snapshots__/email-subscription-box.spec.jsx.snap +0 -190
  497. package/src/scripts/front-page/__tests__/__snapshots__/front-page-stats.spec.jsx.snap +0 -29
  498. package/src/scripts/front-page/__tests__/__snapshots__/front-page-top-datasets.spec.jsx.snap +0 -464
  499. package/src/scripts/front-page/__tests__/dataset-count.spec.jsx +0 -33
  500. package/src/scripts/front-page/__tests__/email-subscription-box.spec.jsx +0 -57
  501. package/src/scripts/front-page/__tests__/front-page-stats.spec.jsx +0 -10
  502. package/src/scripts/front-page/__tests__/front-page-top-datasets.spec.jsx +0 -27
  503. package/src/scripts/front-page/__tests__/participant-count.spec.jsx +0 -31
  504. package/src/scripts/front-page/dataset-count.jsx +0 -29
  505. package/src/scripts/front-page/email-subscription-box.jsx +0 -131
  506. package/src/scripts/front-page/front-page-additional-info.jsx +0 -15
  507. package/src/scripts/front-page/front-page-collaborators.jsx +0 -117
  508. package/src/scripts/front-page/front-page-stats.jsx +0 -71
  509. package/src/scripts/front-page/front-page-support.jsx +0 -30
  510. package/src/scripts/front-page/front-page-tabs.jsx +0 -166
  511. package/src/scripts/front-page/front-page-top-datasets.jsx +0 -203
  512. package/src/scripts/front-page/front-page.jsx +0 -95
  513. package/src/scripts/front-page/participant-count.jsx +0 -25
  514. package/src/scripts/hooks/use-measure.js +0 -15
  515. package/src/scripts/hooks/use-previous.js +0 -7
  516. package/src/scripts/index.jsx +0 -16
  517. package/src/scripts/nav/assets/brand_mark.png +0 -0
  518. package/src/scripts/nav/assets/favicon-upload.png +0 -0
  519. package/src/scripts/nav/assets/logo_app.png +0 -0
  520. package/src/scripts/nav/navbar.jsx +0 -144
  521. package/src/scripts/nav/navbar.navmenu.jsx +0 -106
  522. package/src/scripts/nav/navbar.usermenu.jsx +0 -52
  523. package/src/scripts/pages/citation-page.jsx +0 -43
  524. package/src/scripts/pet/__tests__/__snapshots__/dummy.spec.jsx.snap +0 -70
  525. package/src/scripts/pet/__tests__/dummy.spec.jsx +0 -10
  526. package/src/scripts/pet/dummy.jsx +0 -61
  527. package/src/scripts/refactor_2021/dataset/dataset-pre-refactor-container.tsx +0 -12
  528. package/src/scripts/refactor_2021/dataset/routes/download-dataset.jsx +0 -70
  529. package/src/scripts/refactor_2021/redesign-form.jsx +0 -427
  530. package/src/scripts/routes.tsx +0 -36
  531. package/src/scripts/search/search-input.tsx +0 -42
  532. package/src/scripts/search/search-results.tsx +0 -114
  533. package/src/scripts/styles/capitalized.jsx +0 -6
  534. package/src/scripts/styles/uppercase.jsx +0 -6
  535. package/src/scripts/uploader/__tests__/add-path-to-files.spec.js +0 -29
  536. package/src/scripts/uploader/__tests__/file-upload.spec.js +0 -116
  537. package/src/scripts/uploader/__tests__/upload-disclaimer.spec.jsx +0 -67
  538. package/src/scripts/uploader/__tests__/upload-mutation.spec.js +0 -57
  539. package/src/scripts/uploader/__tests__/uploader.spec.js +0 -31
  540. package/src/scripts/uploader/add-path-to-files.js +0 -19
  541. package/src/scripts/uploader/file-upload.js +0 -88
  542. package/src/scripts/uploader/upload-button.jsx +0 -18
  543. package/src/scripts/uploader/upload-disclaimer.jsx +0 -91
  544. package/src/scripts/uploader/upload-file-status.jsx +0 -20
  545. package/src/scripts/uploader/upload-issues.jsx +0 -131
  546. package/src/scripts/uploader/upload-metadata.jsx +0 -59
  547. package/src/scripts/uploader/upload-mutation.js +0 -111
  548. package/src/scripts/uploader/upload-progress-button.jsx +0 -20
  549. package/src/scripts/uploader/upload-progress-class.js +0 -36
  550. package/src/scripts/uploader/upload-progress.jsx +0 -15
  551. package/src/scripts/uploader/upload-rename.jsx +0 -33
  552. package/src/scripts/uploader/upload-resume.jsx +0 -35
  553. package/src/scripts/uploader/upload-select.jsx +0 -29
  554. package/src/scripts/uploader/upload-status.jsx +0 -23
  555. package/src/scripts/uploader/upload-step.jsx +0 -48
  556. package/src/scripts/uploader/uploader-context.js +0 -6
  557. package/src/scripts/uploader/uploader-location.js +0 -5
  558. package/src/scripts/uploader/uploader-modal.jsx +0 -27
  559. package/src/scripts/uploader/uploader-setup-routes.jsx +0 -52
  560. package/src/scripts/uploader/uploader-status-routes.jsx +0 -30
  561. package/src/scripts/uploader/uploader-view.jsx +0 -45
  562. package/src/scripts/uploader/uploader.jsx +0 -388
  563. package/src/scripts/user/__mocks__/user.store.js +0 -1
  564. package/src/scripts/user/api.jsx +0 -132
  565. package/src/scripts/user/avatar.jsx +0 -40
  566. package/src/scripts/utils/crn.js +0 -15
  567. package/src/scripts/utils/request.js +0 -107
  568. package/src/scripts/utils/user.js +0 -18
  569. package/src/scripts/validation/validation-results.issues.issue.jsx +0 -90
  570. package/src/scripts/validation/validation-results.issues.jsx +0 -79
  571. 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,91 +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
- If the dataset is being uploaded to another database (such as the
41
- NIMH Data Archive), I agree to ensure that the datasets are
42
- harmonized across archives.
43
- </p>
44
- <p>Please affirm one of the following:</p>
45
- <label>
46
- <input
47
- type="checkbox"
48
- onChange={() => setAffirmedDefaced(!affirmedDefaced)}
49
- defaultChecked={affirmedDefaced}
50
- />
51
- &nbsp; All structural scans have been defaced, obscuring any tissue
52
- on or near the face that could potentially be used to reconstruct
53
- the facial structure.
54
- </label>
55
- <label>
56
- <input
57
- type="checkbox"
58
- onChange={() => setAffirmedConsent(!affirmedConsent)}
59
- defaultChecked={affirmedConsent}
60
- />
61
- &nbsp; I have explicit participant consent and ethical authorization
62
- to publish structural scans without defacing.
63
- </label>
64
- <span className="message">
65
- <button
66
- className="fileupload-btn btn-blue"
67
- onClick={() => {
68
- uploader.captureMetadata({
69
- ...uploader.metadata,
70
- affirmedDefaced,
71
- affirmedConsent,
72
- })
73
- uploader.upload({ affirmedDefaced, affirmedConsent })
74
- }}
75
- disabled={
76
- !(
77
- (affirmedDefaced && !affirmedConsent) ||
78
- (!affirmedDefaced && affirmedConsent)
79
- )
80
- }
81
- >
82
- I Agree
83
- </button>
84
- </span>
85
- </div>
86
- )}
87
- </UploaderContext.Consumer>
88
- )
89
- }
90
-
91
- 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