synapse-react-client 4.0.2 → 4.0.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 (259) hide show
  1. package/dist/SWC.index.js +1 -1
  2. package/dist/assets/icons/AwardScroll.d.ts +5 -0
  3. package/dist/assets/icons/AwardScroll.d.ts.map +1 -0
  4. package/dist/assets/icons/AwardScroll.js +78 -0
  5. package/dist/assets/icons/AwardScroll.js.map +1 -0
  6. package/dist/assets/icons/Baseline.d.ts +5 -0
  7. package/dist/assets/icons/Baseline.d.ts.map +1 -0
  8. package/dist/assets/icons/Baseline.js +43 -0
  9. package/dist/assets/icons/Baseline.js.map +1 -0
  10. package/dist/assets/icons/Challenge.svg +13 -0
  11. package/dist/assets/icons/Challenge.svg.js +7 -0
  12. package/dist/assets/icons/Challenge.svg.js.map +1 -0
  13. package/dist/assets/icons/ClappingHands.d.ts +5 -0
  14. package/dist/assets/icons/ClappingHands.d.ts.map +1 -0
  15. package/dist/assets/icons/ClappingHands.js +106 -0
  16. package/dist/assets/icons/ClappingHands.js.map +1 -0
  17. package/dist/assets/icons/HandWithMoney.d.ts +5 -0
  18. package/dist/assets/icons/HandWithMoney.d.ts.map +1 -0
  19. package/dist/assets/icons/HandWithMoney.js +15 -0
  20. package/dist/assets/icons/HandWithMoney.js.map +1 -0
  21. package/dist/assets/icons/MultiFile.d.ts +5 -0
  22. package/dist/assets/icons/MultiFile.d.ts.map +1 -0
  23. package/dist/assets/icons/MultiFile.js +8 -0
  24. package/dist/assets/icons/MultiFile.js.map +1 -0
  25. package/dist/assets/icons/MultiFile.svg +4 -0
  26. package/dist/assets/icons/MultiFile.svg.js +7 -0
  27. package/dist/assets/icons/MultiFile.svg.js.map +1 -0
  28. package/dist/assets/icons/OpenBook.d.ts +5 -0
  29. package/dist/assets/icons/OpenBook.d.ts.map +1 -0
  30. package/dist/assets/icons/OpenBook.js +99 -0
  31. package/dist/assets/icons/OpenBook.js.map +1 -0
  32. package/dist/assets/icons/Podium.d.ts +5 -0
  33. package/dist/assets/icons/Podium.d.ts.map +1 -0
  34. package/dist/assets/icons/Podium.js +36 -0
  35. package/dist/assets/icons/Podium.js.map +1 -0
  36. package/dist/assets/icons/RosetteRibbon.d.ts +5 -0
  37. package/dist/assets/icons/RosetteRibbon.d.ts.map +1 -0
  38. package/dist/assets/icons/RosetteRibbon.js +36 -0
  39. package/dist/assets/icons/RosetteRibbon.js.map +1 -0
  40. package/dist/assets/icons/StarTrophy.d.ts +5 -0
  41. package/dist/assets/icons/StarTrophy.d.ts.map +1 -0
  42. package/dist/assets/icons/StarTrophy.js +99 -0
  43. package/dist/assets/icons/StarTrophy.js.map +1 -0
  44. package/dist/assets/icons/ThreeStars.d.ts +5 -0
  45. package/dist/assets/icons/ThreeStars.d.ts.map +1 -0
  46. package/dist/assets/icons/ThreeStars.js +71 -0
  47. package/dist/assets/icons/ThreeStars.js.map +1 -0
  48. package/dist/assets/icons/UnpackagableFile.d.ts +5 -0
  49. package/dist/assets/icons/UnpackagableFile.d.ts.map +1 -0
  50. package/dist/assets/icons/UnpackagableFile.js +8 -0
  51. package/dist/assets/icons/UnpackagableFile.js.map +1 -0
  52. package/dist/assets/icons/UnpackagableFile.svg +4 -0
  53. package/dist/assets/icons/UnpackagableFile.svg.js +7 -0
  54. package/dist/assets/icons/UnpackagableFile.svg.js.map +1 -0
  55. package/dist/assets/mui_components/PackagableFile.d.ts.map +1 -1
  56. package/dist/assets/mui_components/PackagableFile.js +5 -4
  57. package/dist/assets/mui_components/PackagableFile.js.map +1 -1
  58. package/dist/assets/mui_components/PackagableFile.svg +3 -0
  59. package/dist/assets/mui_components/PackagableFile.svg.js +7 -0
  60. package/dist/assets/mui_components/PackagableFile.svg.js.map +1 -0
  61. package/dist/assets/themed_icons/index.d.ts +1 -2
  62. package/dist/assets/themed_icons/index.d.ts.map +1 -1
  63. package/dist/assets/themed_icons/index.js +8 -10
  64. package/dist/assets/themed_icons/index.js.map +1 -1
  65. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js +4 -4
  66. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
  67. package/dist/components/AddToDownloadListV2.js +10 -10
  68. package/dist/components/AddToDownloadListV2.js.map +1 -1
  69. package/dist/components/BasePortalCard/BasePortalCard.css +1 -1
  70. package/dist/components/BasePortalCard/BasePortalCard.d.ts +1 -2
  71. package/dist/components/BasePortalCard/BasePortalCard.d.ts.map +1 -1
  72. package/dist/components/BasePortalCard/BasePortalCard.js +21 -28
  73. package/dist/components/BasePortalCard/BasePortalCard.js.map +1 -1
  74. package/dist/components/BasePortalCard/BasePortalCard.module.scss +7 -1
  75. package/dist/components/BasePortalCard/BasePortalCard.module.scss.js +11 -11
  76. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.d.ts.map +1 -1
  77. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js +24 -24
  78. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js.map +1 -1
  79. package/dist/components/CardContainerLogic/CardContainerLogic.d.ts +5 -1
  80. package/dist/components/CardContainerLogic/CardContainerLogic.d.ts.map +1 -1
  81. package/dist/components/CardContainerLogic/CardContainerLogic.js.map +1 -1
  82. package/dist/components/CardContainerLogic/index.d.ts +1 -1
  83. package/dist/components/CardContainerLogic/index.d.ts.map +1 -1
  84. package/dist/components/CardDeck/TableQueryCardDeck.js +12 -9
  85. package/dist/components/CardDeck/TableQueryCardDeck.js.map +1 -1
  86. package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js +33 -33
  87. package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js.map +1 -1
  88. package/dist/components/ChangePassword/useChangePasswordFormState.js +5 -2
  89. package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
  90. package/dist/components/ComponentCollapse.d.ts +6 -10
  91. package/dist/components/ComponentCollapse.d.ts.map +1 -1
  92. package/dist/components/ComponentCollapse.js +31 -35
  93. package/dist/components/ComponentCollapse.js.map +1 -1
  94. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js +12 -9
  95. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
  96. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js +8 -3
  97. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js.map +1 -1
  98. package/dist/components/DataGrid/SynapseGrid.js +8 -3
  99. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  100. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js +8 -3
  101. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js.map +1 -1
  102. package/dist/components/DirectDownload/DirectDownload.d.ts.map +1 -1
  103. package/dist/components/DirectDownload/DirectDownload.js +23 -23
  104. package/dist/components/DirectDownload/DirectDownload.js.map +1 -1
  105. package/dist/components/DownloadCart/AvailableForDownloadTable.d.ts +6 -2
  106. package/dist/components/DownloadCart/AvailableForDownloadTable.d.ts.map +1 -1
  107. package/dist/components/DownloadCart/AvailableForDownloadTable.js +10 -8
  108. package/dist/components/DownloadCart/AvailableForDownloadTable.js.map +1 -1
  109. package/dist/components/DownloadCart/CreatePackageV2.css +1 -0
  110. package/dist/components/DownloadCart/CreatePackageV2.d.ts.map +1 -1
  111. package/dist/components/DownloadCart/CreatePackageV2.js +50 -46
  112. package/dist/components/DownloadCart/CreatePackageV2.js.map +1 -1
  113. package/dist/components/DownloadCart/CreatePackageV2.module.scss +38 -0
  114. package/dist/components/DownloadCart/CreatePackageV2.module.scss.js +14 -0
  115. package/dist/components/DownloadCart/CreatePackageV2.module.scss.js.map +1 -0
  116. package/dist/components/DownloadCart/DownloadCartPage.css +1 -0
  117. package/dist/components/DownloadCart/DownloadCartPage.d.ts.map +1 -1
  118. package/dist/components/DownloadCart/DownloadCartPage.js +316 -186
  119. package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
  120. package/dist/components/DownloadCart/DownloadCartPage.module.scss +217 -0
  121. package/dist/components/DownloadCart/DownloadCartPage.module.scss.js +48 -0
  122. package/dist/components/DownloadCart/DownloadCartPage.module.scss.js.map +1 -0
  123. package/dist/components/DownloadCart/DownloadDetails.js +1 -1
  124. package/dist/components/DownloadCart/DownloadDetails.js.map +1 -1
  125. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js +33 -33
  126. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
  127. package/dist/components/DownloadCart/DownloadListTable.d.ts +4 -1
  128. package/dist/components/DownloadCart/DownloadListTable.d.ts.map +1 -1
  129. package/dist/components/DownloadCart/DownloadListTable.js +156 -236
  130. package/dist/components/DownloadCart/DownloadListTable.js.map +1 -1
  131. package/dist/components/DownloadCart/ShowDownloadV2.js +5 -5
  132. package/dist/components/DownloadCart/ShowDownloadV2.js.map +1 -1
  133. package/dist/components/Ecosystem/EcosystemSkeleton.js +8 -3
  134. package/dist/components/Ecosystem/EcosystemSkeleton.js.map +1 -1
  135. package/dist/components/EntityDownloadButton/EntityDownloadButton.js +20 -20
  136. package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
  137. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js +3 -3
  138. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js.map +1 -1
  139. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js +6 -2
  140. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
  141. package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js +11 -8
  142. package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js.map +1 -1
  143. package/dist/components/FullWidthAlert/FullWidthAlert.d.ts +2 -2
  144. package/dist/components/FullWidthAlert/FullWidthAlert.js.map +1 -1
  145. package/dist/components/GenericCard/GenericCard.d.ts +5 -5
  146. package/dist/components/GenericCard/GenericCard.d.ts.map +1 -1
  147. package/dist/components/GenericCard/GenericCard.js +117 -103
  148. package/dist/components/GenericCard/GenericCard.js.map +1 -1
  149. package/dist/components/GenericCard/LabelMaybeWithIcon.d.ts +10 -0
  150. package/dist/components/GenericCard/LabelMaybeWithIcon.d.ts.map +1 -0
  151. package/dist/components/GenericCard/LabelMaybeWithIcon.js +33 -0
  152. package/dist/components/GenericCard/LabelMaybeWithIcon.js.map +1 -0
  153. package/dist/components/GenericCard/SynapseCardLabel.d.ts +2 -1
  154. package/dist/components/GenericCard/SynapseCardLabel.d.ts.map +1 -1
  155. package/dist/components/GenericCard/SynapseCardLabel.js +86 -81
  156. package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
  157. package/dist/components/GenericCard/TableRowGenericCard.d.ts +7 -1
  158. package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
  159. package/dist/components/GenericCard/TableRowGenericCard.js +239 -202
  160. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  161. package/dist/components/HeaderCard.js +17 -13
  162. package/dist/components/HeaderCard.js.map +1 -1
  163. package/dist/components/Icon/Icon.js +52 -52
  164. package/dist/components/Icon/Icon.js.map +1 -1
  165. package/dist/components/IconSvg/IconSvg.d.ts +1 -1
  166. package/dist/components/IconSvg/IconSvg.d.ts.map +1 -1
  167. package/dist/components/IconSvg/IconSvg.js +215 -171
  168. package/dist/components/IconSvg/IconSvg.js.map +1 -1
  169. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +1 -0
  170. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  171. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +103 -102
  172. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  173. package/dist/components/StorybookComponentWrapper.js +6 -3
  174. package/dist/components/StorybookComponentWrapper.js.map +1 -1
  175. package/dist/components/SynapseChat/SynapseChat.d.ts +7 -1
  176. package/dist/components/SynapseChat/SynapseChat.d.ts.map +1 -1
  177. package/dist/components/SynapseChat/SynapseChat.js +76 -67
  178. package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
  179. package/dist/components/SynapseChat/SynapseChatInteraction.d.ts +2 -1
  180. package/dist/components/SynapseChat/SynapseChatInteraction.d.ts.map +1 -1
  181. package/dist/components/SynapseChat/SynapseChatInteraction.js +83 -58
  182. package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
  183. package/dist/components/SynapseChat/SynapseChatMessage.d.ts +1 -0
  184. package/dist/components/SynapseChat/SynapseChatMessage.d.ts.map +1 -1
  185. package/dist/components/SynapseChat/SynapseChatMessage.js +16 -15
  186. package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
  187. package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts +12 -0
  188. package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts.map +1 -0
  189. package/dist/components/SynapseChat/SynapsePortalChatDialog.js +30 -0
  190. package/dist/components/SynapseChat/SynapsePortalChatDialog.js.map +1 -0
  191. package/dist/components/SynapseChat/extractMessageFromTraceEvent.d.ts.map +1 -1
  192. package/dist/components/SynapseChat/extractMessageFromTraceEvent.js +22 -16
  193. package/dist/components/SynapseChat/extractMessageFromTraceEvent.js.map +1 -1
  194. package/dist/components/SynapseChat/index.d.ts +2 -0
  195. package/dist/components/SynapseChat/index.d.ts.map +1 -1
  196. package/dist/components/SynapseChat/index.js +5 -3
  197. package/dist/components/SynapseChat/index.js.map +1 -1
  198. package/dist/components/SynapseChat/useChatState.d.ts +1 -1
  199. package/dist/components/SynapseChat/useChatState.d.ts.map +1 -1
  200. package/dist/components/SynapseChat/useChatState.js +10 -7
  201. package/dist/components/SynapseChat/useChatState.js.map +1 -1
  202. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +25 -25
  203. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
  204. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +13 -13
  205. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
  206. package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js +9 -9
  207. package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js.map +1 -1
  208. package/dist/components/TextToComponentCollapse.d.ts +16 -0
  209. package/dist/components/TextToComponentCollapse.d.ts.map +1 -0
  210. package/dist/components/TextToComponentCollapse.js +29 -0
  211. package/dist/components/TextToComponentCollapse.js.map +1 -0
  212. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js +8 -3
  213. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js.map +1 -1
  214. package/dist/components/download_list/DownloadConfirmationUI.d.ts +1 -1
  215. package/dist/components/download_list/DownloadConfirmationUI.js +22 -22
  216. package/dist/components/download_list/DownloadConfirmationUI.js.map +1 -1
  217. package/dist/components/download_list/DownloadConfirmationUtils.js +4 -4
  218. package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
  219. package/dist/components/index.js +85 -83
  220. package/dist/components/index.js.map +1 -1
  221. package/dist/components/row_renderers/ObservationCard.js +12 -11
  222. package/dist/components/row_renderers/ObservationCard.js.map +1 -1
  223. package/dist/components/row_renderers/utils/CardFooter.d.ts +1 -3
  224. package/dist/components/row_renderers/utils/CardFooter.d.ts.map +1 -1
  225. package/dist/components/row_renderers/utils/CardFooter.js +31 -45
  226. package/dist/components/row_renderers/utils/CardFooter.js.map +1 -1
  227. package/dist/components/table/CsvPreview/CsvPreview.js +8 -3
  228. package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
  229. package/dist/components/table/CsvPreview/CsvPreviewDialog.js +8 -3
  230. package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
  231. package/dist/features/curator/GridPage/GridPage.js +8 -3
  232. package/dist/features/curator/GridPage/GridPage.js.map +1 -1
  233. package/dist/features/curator/GridPage/components/GridPageTitle.js +8 -3
  234. package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
  235. package/dist/index.js +137 -135
  236. package/dist/index.js.map +1 -1
  237. package/dist/style/components/_all.scss +0 -1
  238. package/dist/style/components/_cards.scss +22 -0
  239. package/dist/style/components/_download-list-v2.scss +1 -1
  240. package/dist/style/components/_query-wrapper-plot-nav.scss +13 -0
  241. package/dist/style/main.css +1 -1
  242. package/dist/tsconfig.build.tsbuildinfo +1 -1
  243. package/dist/utils/AppUtils/session/ApplicationSessionManager.d.ts.map +1 -1
  244. package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
  245. package/dist/utils/context/FullContextProvider.js +9 -9
  246. package/dist/utils/context/FullContextProvider.js.map +1 -1
  247. package/dist/utils/context/SynapseContext.d.ts.map +1 -1
  248. package/dist/utils/context/SynapseContext.js +1 -0
  249. package/dist/utils/context/SynapseContext.js.map +1 -1
  250. package/dist/utils/functions/SqlFunctions.d.ts +4 -0
  251. package/dist/utils/functions/SqlFunctions.d.ts.map +1 -1
  252. package/dist/utils/functions/SqlFunctions.js +25 -23
  253. package/dist/utils/functions/SqlFunctions.js.map +1 -1
  254. package/package.json +5 -5
  255. package/dist/assets/themed_icons/Challenge.d.ts +0 -3
  256. package/dist/assets/themed_icons/Challenge.d.ts.map +0 -1
  257. package/dist/assets/themed_icons/Challenge.js +0 -25
  258. package/dist/assets/themed_icons/Challenge.js.map +0 -1
  259. package/dist/style/components/_download-cart-page.scss +0 -204
@@ -41,11 +41,14 @@ import "@mui/material/SvgIcon";
41
41
  import "../../assets/icons/AccessPending.svg.js";
42
42
  import "../../assets/icons/AccessPendingCloud.svg.js";
43
43
  import "../../assets/icons/FileWithShield.svg.js";
44
+ import "../../assets/icons/MultiFile.svg.js";
45
+ import "../../assets/icons/UnpackagableFile.svg.js";
44
46
  import "../../assets/icons/bioChemicalPhysical.svg.js";
45
47
  import "../../assets/icons/computationalTool.svg.js";
46
48
  import "../../assets/icons/dataReuse.svg.js";
47
49
  import "../../assets/icons/inSilicoModel.svg.js";
48
50
  import "../../assets/icons/modelSystem.svg.js";
51
+ import "../../assets/mui_components/PackagableFile.svg.js";
49
52
  import "../../assets/icons/spatialProfiling.svg.js";
50
53
  import "@mui/icons-material";
51
54
  import "react-error-boundary";
@@ -57,7 +60,7 @@ import "react-transition-group";
57
60
  import "@mui/system";
58
61
  import "../GenericCard/Linkify.js";
59
62
  import "../GenericCard/GenericCard.js";
60
- function Wt(I) {
63
+ function to(I) {
61
64
  const {
62
65
  entityId: r,
63
66
  titleColumnName: f,
@@ -68,7 +71,7 @@ function Wt(I) {
68
71
  headerImageFileHandleColumnName: x,
69
72
  cardDeckType: a,
70
73
  linkConfig: B
71
- } = I, s = b(r), h = {
74
+ } = I, p = b(r), h = {
72
75
  concreteType: "org.sagebionetworks.repo.model.table.QueryBundleRequest",
73
76
  entityId: r,
74
77
  partMask: G | K,
@@ -94,14 +97,14 @@ function Wt(I) {
94
97
  (i) => {
95
98
  const o = i.values;
96
99
  o.some((m) => m === null) && console.warn("Row has null value(s) when no nulls expected");
97
- const T = o[q], k = o[H], w = o[L], A = o[U] ?? "", _ = o[E] ?? "", S = o[F] ?? "", p = {};
100
+ const T = o[q], k = o[H], w = o[L], A = o[U] ?? "", _ = o[E] ?? "", S = o[F] ?? "", s = {};
98
101
  t?.queryResult.queryResults.headers.forEach(
99
102
  (m, Q) => {
100
- p[m.name] = Q;
103
+ s[m.name] = Q;
101
104
  }
102
105
  );
103
- const { href: v } = V(A, B, o, p), l = d(
104
- s.data,
106
+ const { href: v } = V(A, B, o, s), l = d(
107
+ p.data,
105
108
  _,
106
109
  `syn${i.rowId}`
107
110
  ), D = l ? /* @__PURE__ */ n(
@@ -110,7 +113,7 @@ function Wt(I) {
110
113
  fileHandleAssociation: l
111
114
  }
112
115
  ) : void 0, c = d(
113
- s.data,
116
+ p.data,
114
117
  S,
115
118
  `syn${i.rowId}`
116
119
  );
@@ -133,7 +136,7 @@ function Wt(I) {
133
136
  return /* @__PURE__ */ n(M, { cards: N || [], cardDeckType: a });
134
137
  }
135
138
  export {
136
- Wt as TableQueryCardDeck,
137
- Wt as default
139
+ to as TableQueryCardDeck,
140
+ to as default
138
141
  };
139
142
  //# sourceMappingURL=TableQueryCardDeck.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TableQueryCardDeck.js","sources":["../../../src/components/CardDeck/TableQueryCardDeck.tsx"],"sourcesContent":["import { CardDeck } from '@/components/CardDeck/CardDeck'\nimport { CardDeckCardProps } from '@/components/CardDeck/CardDeckCardProps'\nimport { ImageFileHandle } from '@/components/widgets/ImageFileHandle'\nimport { useGetEntity } from '@/synapse-queries/entity/useEntity'\nimport useGetQueryResultBundle from '@/synapse-queries/entity/useGetQueryResultBundle'\nimport { SynapseConstants } from '@/utils'\nimport { getFieldIndex } from '@/utils/functions/queryUtils'\nimport { QueryBundleRequest } from '@sage-bionetworks/synapse-types'\nimport { CardLink } from '../CardContainer/CardLink'\nimport { getFileHandleAssociation, getLinkParams } from '../GenericCard'\n\nexport type TableQueryCardDeckProps = {\n entityId: string /* The table entity which should be queried */\n titleColumnName: string /* The column name for the title */\n descriptionColumnName: string /* The column name for the description */\n ctaButtonTextColumnName: string /* The column name for the call to action button text */\n ctaButtonURLColumnName: string /* The column name for the call to action button URL */\n titleIconFileHandleColumnName?: string /* The column name for the title icon image file */\n headerImageFileHandleColumnName?: string /* The column name for the header image file */\n cardDeckType?: 'cckp' | 'b2ai' /* The type of card deck (cckp or b2ai)*/\n linkConfig: CardLink /* The link configuration */\n}\n\n/**\n * Transforms a Synapse table into a card deck.\n */\nexport function TableQueryCardDeck(props: TableQueryCardDeckProps) {\n const {\n entityId,\n titleColumnName,\n descriptionColumnName,\n ctaButtonTextColumnName,\n ctaButtonURLColumnName,\n titleIconFileHandleColumnName,\n headerImageFileHandleColumnName,\n cardDeckType,\n linkConfig,\n } = props\n const entity = useGetEntity(entityId)\n const queryBundleRequest: QueryBundleRequest = {\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n entityId,\n partMask:\n SynapseConstants.BUNDLE_MASK_QUERY_SELECT_COLUMNS |\n SynapseConstants.BUNDLE_MASK_QUERY_RESULTS,\n query: {\n sql: `select * from ${entityId}`,\n },\n }\n const { data: queryResultBundle } =\n useGetQueryResultBundle(queryBundleRequest)\n\n const titleColumnIndex = getFieldIndex(titleColumnName, queryResultBundle)\n const descriptionColumnIndex = getFieldIndex(\n descriptionColumnName,\n queryResultBundle,\n )\n const ctaButtonTextColumnIndex = getFieldIndex(\n ctaButtonTextColumnName,\n queryResultBundle,\n )\n const ctaButtonURLColumnIndex = getFieldIndex(\n ctaButtonURLColumnName,\n queryResultBundle,\n )\n const titleIconColumnIndex = getFieldIndex(\n titleIconFileHandleColumnName,\n queryResultBundle,\n )\n const headerImageColumnIndex = getFieldIndex(\n headerImageFileHandleColumnName,\n queryResultBundle,\n )\n\n const cards = queryResultBundle?.queryResult!.queryResults.rows.map(\n (el): CardDeckCardProps => {\n const values = el.values as string[]\n if (values.some(value => value === null)) {\n // We cast values above assuming there are no null values, emit a warning just in case.\n console.warn('Row has null value(s) when no nulls expected')\n }\n\n const title = values[titleColumnIndex]\n const description = values[descriptionColumnIndex]\n const ctaButtonText = values[ctaButtonTextColumnIndex]\n const ctaButtonURL = values[ctaButtonURLColumnIndex] ?? ''\n const titleIconFileHandleIdValue = values[titleIconColumnIndex] ?? ''\n const headerImageFileHandleIdValue = values[headerImageColumnIndex] ?? ''\n\n const schema: Record<string, number> = {}\n queryResultBundle?.queryResult!.queryResults.headers.forEach(\n (header, colIndex) => {\n schema[header.name] = colIndex\n },\n )\n const { href } = getLinkParams(ctaButtonURL, linkConfig, values, schema)\n\n const titleIconFileHandleAssociation = getFileHandleAssociation(\n entity.data,\n titleIconFileHandleIdValue,\n `syn${el.rowId}`,\n )\n\n const titleIcon = titleIconFileHandleAssociation ? (\n <ImageFileHandle\n fileHandleAssociation={titleIconFileHandleAssociation}\n />\n ) : undefined\n\n const headerImageFileHandleAssociation = getFileHandleAssociation(\n entity.data,\n headerImageFileHandleIdValue,\n `syn${el.rowId}`,\n )\n\n const headerImage = headerImageFileHandleAssociation ? (\n <ImageFileHandle\n fileHandleAssociation={headerImageFileHandleAssociation}\n />\n ) : undefined\n\n return {\n title,\n description,\n ctaButtonText,\n ctaButtonURL: href,\n titleIcon,\n headerImage,\n cardDeckType,\n } satisfies CardDeckCardProps\n },\n )\n\n return <CardDeck cards={cards || []} cardDeckType={cardDeckType} />\n}\n\nexport default TableQueryCardDeck\n"],"names":["TableQueryCardDeck","props","entityId","titleColumnName","descriptionColumnName","ctaButtonTextColumnName","ctaButtonURLColumnName","titleIconFileHandleColumnName","headerImageFileHandleColumnName","cardDeckType","linkConfig","entity","useGetEntity","queryBundleRequest","SynapseConstants.BUNDLE_MASK_QUERY_SELECT_COLUMNS","SynapseConstants.BUNDLE_MASK_QUERY_RESULTS","queryResultBundle","useGetQueryResultBundle","titleColumnIndex","getFieldIndex","descriptionColumnIndex","ctaButtonTextColumnIndex","ctaButtonURLColumnIndex","titleIconColumnIndex","headerImageColumnIndex","cards","el","values","value","title","description","ctaButtonText","ctaButtonURL","titleIconFileHandleIdValue","headerImageFileHandleIdValue","schema","header","colIndex","href","getLinkParams","titleIconFileHandleAssociation","getFileHandleAssociation","titleIcon","jsx","ImageFileHandle","headerImageFileHandleAssociation","CardDeck"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BO,SAASA,GAAmBC,GAAgC;AACjE,QAAM;AAAA,IACJ,UAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,+BAAAC;AAAA,IACA,iCAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,EAAA,IACET,GACEU,IAASC,EAAaV,CAAQ,GAC9BW,IAAyC;AAAA,IAC7C,cAAc;AAAA,IACd,UAAAX;AAAA,IACA,UACEY,IACAC;AAAAA,IACF,OAAO;AAAA,MACL,KAAK,iBAAiBb,CAAQ;AAAA,IAAA;AAAA,EAChC,GAEI,EAAE,MAAMc,MACZC,EAAwBJ,CAAkB,GAEtCK,IAAmBC,EAAchB,GAAiBa,CAAiB,GACnEI,IAAyBD;AAAA,IAC7Bf;AAAA,IACAY;AAAA,EAAA,GAEIK,IAA2BF;AAAA,IAC/Bd;AAAA,IACAW;AAAA,EAAA,GAEIM,IAA0BH;AAAA,IAC9Bb;AAAA,IACAU;AAAA,EAAA,GAEIO,IAAuBJ;AAAA,IAC3BZ;AAAA,IACAS;AAAA,EAAA,GAEIQ,IAAyBL;AAAA,IAC7BX;AAAA,IACAQ;AAAA,EAAA,GAGIS,IAAQT,GAAmB,YAAa,aAAa,KAAK;AAAA,IAC9D,CAACU,MAA0B;AACzB,YAAMC,IAASD,EAAG;AAClB,MAAIC,EAAO,KAAK,CAAAC,MAASA,MAAU,IAAI,KAErC,QAAQ,KAAK,8CAA8C;AAG7D,YAAMC,IAAQF,EAAOT,CAAgB,GAC/BY,IAAcH,EAAOP,CAAsB,GAC3CW,IAAgBJ,EAAON,CAAwB,GAC/CW,IAAeL,EAAOL,CAAuB,KAAK,IAClDW,IAA6BN,EAAOJ,CAAoB,KAAK,IAC7DW,IAA+BP,EAAOH,CAAsB,KAAK,IAEjEW,IAAiC,CAAA;AACvC,MAAAnB,GAAmB,YAAa,aAAa,QAAQ;AAAA,QACnD,CAACoB,GAAQC,MAAa;AACpB,UAAAF,EAAOC,EAAO,IAAI,IAAIC;AAAA,QACxB;AAAA,MAAA;AAEF,YAAM,EAAE,MAAAC,EAAA,IAASC,EAAcP,GAActB,GAAYiB,GAAQQ,CAAM,GAEjEK,IAAiCC;AAAA,QACrC9B,EAAO;AAAA,QACPsB;AAAA,QACA,MAAMP,EAAG,KAAK;AAAA,MAAA,GAGVgB,IAAYF,IAChB,gBAAAG;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,uBAAuBJ;AAAA,QAAA;AAAA,MAAA,IAEvB,QAEEK,IAAmCJ;AAAA,QACvC9B,EAAO;AAAA,QACPuB;AAAA,QACA,MAAMR,EAAG,KAAK;AAAA,MAAA;AAShB,aAAO;AAAA,QACL,OAAAG;AAAA,QACA,aAAAC;AAAA,QACA,eAAAC;AAAA,QACA,cAAcO;AAAA,QACd,WAAAI;AAAA,QACA,aAZkBG,IAClB,gBAAAF;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,uBAAuBC;AAAA,UAAA;AAAA,QAAA,IAEvB;AAAA,QASF,cAAApC;AAAA,MAAA;AAAA,IAEJ;AAAA,EAAA;AAGF,2BAAQqC,GAAA,EAAS,OAAOrB,KAAS,CAAA,GAAI,cAAAhB,GAA4B;AACnE;"}
1
+ {"version":3,"file":"TableQueryCardDeck.js","sources":["../../../src/components/CardDeck/TableQueryCardDeck.tsx"],"sourcesContent":["import { CardDeck } from '@/components/CardDeck/CardDeck'\nimport { CardDeckCardProps } from '@/components/CardDeck/CardDeckCardProps'\nimport { ImageFileHandle } from '@/components/widgets/ImageFileHandle'\nimport { useGetEntity } from '@/synapse-queries/entity/useEntity'\nimport useGetQueryResultBundle from '@/synapse-queries/entity/useGetQueryResultBundle'\nimport { SynapseConstants } from '@/utils'\nimport { getFieldIndex } from '@/utils/functions/queryUtils'\nimport { QueryBundleRequest } from '@sage-bionetworks/synapse-types'\nimport { CardLink } from '../CardContainer/CardLink'\nimport { getFileHandleAssociation, getLinkParams } from '../GenericCard'\n\nexport type TableQueryCardDeckProps = {\n entityId: string /* The table entity which should be queried */\n titleColumnName: string /* The column name for the title */\n descriptionColumnName: string /* The column name for the description */\n ctaButtonTextColumnName: string /* The column name for the call to action button text */\n ctaButtonURLColumnName: string /* The column name for the call to action button URL */\n titleIconFileHandleColumnName?: string /* The column name for the title icon image file */\n headerImageFileHandleColumnName?: string /* The column name for the header image file */\n cardDeckType?: 'cckp' | 'b2ai' /* The type of card deck (cckp or b2ai)*/\n linkConfig: CardLink /* The link configuration */\n}\n\n/**\n * Transforms a Synapse table into a card deck.\n */\nexport function TableQueryCardDeck(props: TableQueryCardDeckProps) {\n const {\n entityId,\n titleColumnName,\n descriptionColumnName,\n ctaButtonTextColumnName,\n ctaButtonURLColumnName,\n titleIconFileHandleColumnName,\n headerImageFileHandleColumnName,\n cardDeckType,\n linkConfig,\n } = props\n const entity = useGetEntity(entityId)\n const queryBundleRequest: QueryBundleRequest = {\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n entityId,\n partMask:\n SynapseConstants.BUNDLE_MASK_QUERY_SELECT_COLUMNS |\n SynapseConstants.BUNDLE_MASK_QUERY_RESULTS,\n query: {\n sql: `select * from ${entityId}`,\n },\n }\n const { data: queryResultBundle } =\n useGetQueryResultBundle(queryBundleRequest)\n\n const titleColumnIndex = getFieldIndex(titleColumnName, queryResultBundle)\n const descriptionColumnIndex = getFieldIndex(\n descriptionColumnName,\n queryResultBundle,\n )\n const ctaButtonTextColumnIndex = getFieldIndex(\n ctaButtonTextColumnName,\n queryResultBundle,\n )\n const ctaButtonURLColumnIndex = getFieldIndex(\n ctaButtonURLColumnName,\n queryResultBundle,\n )\n const titleIconColumnIndex = getFieldIndex(\n titleIconFileHandleColumnName,\n queryResultBundle,\n )\n const headerImageColumnIndex = getFieldIndex(\n headerImageFileHandleColumnName,\n queryResultBundle,\n )\n\n const cards = queryResultBundle?.queryResult!.queryResults.rows.map(\n (el): CardDeckCardProps => {\n const values = el.values as string[]\n if (values.some(value => value === null)) {\n // We cast values above assuming there are no null values, emit a warning just in case.\n console.warn('Row has null value(s) when no nulls expected')\n }\n\n const title = values[titleColumnIndex]\n const description = values[descriptionColumnIndex]\n const ctaButtonText = values[ctaButtonTextColumnIndex]\n const ctaButtonURL = values[ctaButtonURLColumnIndex] ?? ''\n const titleIconFileHandleIdValue = values[titleIconColumnIndex] ?? ''\n const headerImageFileHandleIdValue = values[headerImageColumnIndex] ?? ''\n\n const schema: Record<string, number> = {}\n queryResultBundle?.queryResult!.queryResults.headers.forEach(\n (header, colIndex) => {\n schema[header.name] = colIndex\n },\n )\n const { href } = getLinkParams(ctaButtonURL, linkConfig, values, schema)\n\n const titleIconFileHandleAssociation = getFileHandleAssociation(\n entity.data,\n titleIconFileHandleIdValue,\n `syn${el.rowId}`,\n )\n\n const titleIcon = titleIconFileHandleAssociation ? (\n <ImageFileHandle\n fileHandleAssociation={titleIconFileHandleAssociation}\n />\n ) : undefined\n\n const headerImageFileHandleAssociation = getFileHandleAssociation(\n entity.data,\n headerImageFileHandleIdValue,\n `syn${el.rowId}`,\n )\n\n const headerImage = headerImageFileHandleAssociation ? (\n <ImageFileHandle\n fileHandleAssociation={headerImageFileHandleAssociation}\n />\n ) : undefined\n\n return {\n title,\n description,\n ctaButtonText,\n ctaButtonURL: href,\n titleIcon,\n headerImage,\n cardDeckType,\n } satisfies CardDeckCardProps\n },\n )\n\n return <CardDeck cards={cards || []} cardDeckType={cardDeckType} />\n}\n\nexport default TableQueryCardDeck\n"],"names":["TableQueryCardDeck","props","entityId","titleColumnName","descriptionColumnName","ctaButtonTextColumnName","ctaButtonURLColumnName","titleIconFileHandleColumnName","headerImageFileHandleColumnName","cardDeckType","linkConfig","entity","useGetEntity","queryBundleRequest","SynapseConstants.BUNDLE_MASK_QUERY_SELECT_COLUMNS","SynapseConstants.BUNDLE_MASK_QUERY_RESULTS","queryResultBundle","useGetQueryResultBundle","titleColumnIndex","getFieldIndex","descriptionColumnIndex","ctaButtonTextColumnIndex","ctaButtonURLColumnIndex","titleIconColumnIndex","headerImageColumnIndex","cards","el","values","value","title","description","ctaButtonText","ctaButtonURL","titleIconFileHandleIdValue","headerImageFileHandleIdValue","schema","header","colIndex","href","getLinkParams","titleIconFileHandleAssociation","getFileHandleAssociation","titleIcon","jsx","ImageFileHandle","headerImageFileHandleAssociation","CardDeck"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA0BO,SAASA,GAAmBC,GAAgC;AACjE,QAAM;AAAA,IACJ,UAAAC;AAAA,IACA,iBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,+BAAAC;AAAA,IACA,iCAAAC;AAAA,IACA,cAAAC;AAAA,IACA,YAAAC;AAAA,EAAA,IACET,GACEU,IAASC,EAAaV,CAAQ,GAC9BW,IAAyC;AAAA,IAC7C,cAAc;AAAA,IACd,UAAAX;AAAA,IACA,UACEY,IACAC;AAAAA,IACF,OAAO;AAAA,MACL,KAAK,iBAAiBb,CAAQ;AAAA,IAAA;AAAA,EAChC,GAEI,EAAE,MAAMc,MACZC,EAAwBJ,CAAkB,GAEtCK,IAAmBC,EAAchB,GAAiBa,CAAiB,GACnEI,IAAyBD;AAAA,IAC7Bf;AAAA,IACAY;AAAA,EAAA,GAEIK,IAA2BF;AAAA,IAC/Bd;AAAA,IACAW;AAAA,EAAA,GAEIM,IAA0BH;AAAA,IAC9Bb;AAAA,IACAU;AAAA,EAAA,GAEIO,IAAuBJ;AAAA,IAC3BZ;AAAA,IACAS;AAAA,EAAA,GAEIQ,IAAyBL;AAAA,IAC7BX;AAAA,IACAQ;AAAA,EAAA,GAGIS,IAAQT,GAAmB,YAAa,aAAa,KAAK;AAAA,IAC9D,CAACU,MAA0B;AACzB,YAAMC,IAASD,EAAG;AAClB,MAAIC,EAAO,KAAK,CAAAC,MAASA,MAAU,IAAI,KAErC,QAAQ,KAAK,8CAA8C;AAG7D,YAAMC,IAAQF,EAAOT,CAAgB,GAC/BY,IAAcH,EAAOP,CAAsB,GAC3CW,IAAgBJ,EAAON,CAAwB,GAC/CW,IAAeL,EAAOL,CAAuB,KAAK,IAClDW,IAA6BN,EAAOJ,CAAoB,KAAK,IAC7DW,IAA+BP,EAAOH,CAAsB,KAAK,IAEjEW,IAAiC,CAAA;AACvC,MAAAnB,GAAmB,YAAa,aAAa,QAAQ;AAAA,QACnD,CAACoB,GAAQC,MAAa;AACpB,UAAAF,EAAOC,EAAO,IAAI,IAAIC;AAAA,QACxB;AAAA,MAAA;AAEF,YAAM,EAAE,MAAAC,EAAA,IAASC,EAAcP,GAActB,GAAYiB,GAAQQ,CAAM,GAEjEK,IAAiCC;AAAA,QACrC9B,EAAO;AAAA,QACPsB;AAAA,QACA,MAAMP,EAAG,KAAK;AAAA,MAAA,GAGVgB,IAAYF,IAChB,gBAAAG;AAAA,QAACC;AAAA,QAAA;AAAA,UACC,uBAAuBJ;AAAA,QAAA;AAAA,MAAA,IAEvB,QAEEK,IAAmCJ;AAAA,QACvC9B,EAAO;AAAA,QACPuB;AAAA,QACA,MAAMR,EAAG,KAAK;AAAA,MAAA;AAShB,aAAO;AAAA,QACL,OAAAG;AAAA,QACA,aAAAC;AAAA,QACA,eAAAC;AAAA,QACA,cAAcO;AAAA,QACd,WAAAI;AAAA,QACA,aAZkBG,IAClB,gBAAAF;AAAA,UAACC;AAAA,UAAA;AAAA,YACC,uBAAuBC;AAAA,UAAA;AAAA,QAAA,IAEvB;AAAA,QASF,cAAApC;AAAA,MAAA;AAAA,IAEJ;AAAA,EAAA;AAGF,2BAAQqC,GAAA,EAAS,OAAOrB,KAAS,CAAA,GAAI,cAAAhB,GAA4B;AACnE;"}
@@ -1,4 +1,4 @@
1
- import { jsxs as y, Fragment as w, jsx as e } from "react/jsx-runtime";
1
+ import { jsxs as C, Fragment as w, jsx as e } from "react/jsx-runtime";
2
2
  import "../../synapse-client/SynapseClient.js";
3
3
  import "@sage-bionetworks/synapse-client/generated/models/ErrorResponseCode";
4
4
  import "@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse";
@@ -13,7 +13,7 @@ import "../../utils/PermissionLevelToAccessType.js";
13
13
  import { useCallback as l } from "react";
14
14
  import { useSynapseContext as E } from "../../utils/context/SynapseContext.js";
15
15
  import "use-deep-compare-effect";
16
- import { Box as m, Button as T } from "@mui/material";
16
+ import { Box as s, Button as T } from "@mui/material";
17
17
  import "../../utils/hooks/useCookiePreferences.js";
18
18
  import "../../utils/hooks/useSourceAppConfigs.js";
19
19
  import "universal-cookie";
@@ -26,75 +26,75 @@ import "lodash-es/isEmpty";
26
26
  import "lodash-es/isEqual";
27
27
  import "lodash-es/xorWith";
28
28
  import "react-router";
29
- import { EntityType as s } from "@sage-bionetworks/synapse-client";
29
+ import { EntityType as m } from "@sage-bionetworks/synapse-client";
30
30
  import "../../utils/types/IsType.js";
31
31
  import { useAddFileBatchToDownloadList as g } from "../../synapse-queries/download/useDownloadList.js";
32
32
  import A from "@mui/icons-material/AddCircleTwoTone";
33
33
  import { EntityChildrenDetails as S } from "../EntityFinder/details/configurations/EntityChildrenDetails.js";
34
- import { DetailsViewColumn as r } from "../EntityFinder/details/view/DetailsView.js";
34
+ import { DetailsViewColumn as i } from "../EntityFinder/details/view/DetailsView.js";
35
35
  import { useEntitySelection as x } from "../EntityFinder/useEntitySelection.js";
36
36
  import { VersionSelectionType as b } from "../EntityFinder/VersionSelectionType.js";
37
- import { displayToast as a } from "../ToastMessage/ToastMessage.js";
38
- function po({
39
- parentContainerId: p
37
+ import { displayToast as p } from "../ToastMessage/ToastMessage.js";
38
+ function ao({
39
+ parentContainerId: a
40
40
  }) {
41
- const { downloadCartPageUrl: d } = E(), c = !0, { selectedEntities: o, toggleSelection: u, setInitialVersion: f } = x(c), { mutate: i } = g({
41
+ const { downloadCartPageUrl: d } = E(), c = !0, { selectedEntities: o, toggleSelection: u, setInitialVersion: f } = x(c), { mutate: r } = g({
42
42
  onSuccess: () => {
43
- a(
44
- "File(s) were successfully added to your Download Cart.",
43
+ p(
44
+ "File(s) were successfully added to your Download List.",
45
45
  "success",
46
46
  {
47
47
  primaryButtonConfig: {
48
- text: "View Download Cart",
48
+ text: "View Download List",
49
49
  onClick: () => window.location.href = d
50
50
  }
51
51
  }
52
52
  );
53
53
  },
54
54
  onError: (t) => {
55
- a(
56
- `Unable to add the file to your Download Cart. ${t.reason}`,
55
+ p(
56
+ `Unable to add the file to your Download List. ${t.reason}`,
57
57
  "danger"
58
58
  );
59
59
  }
60
- }), C = l(
60
+ }), D = l(
61
61
  (t) => o.has(t.id),
62
62
  [o]
63
- ), D = l(() => {
63
+ ), h = l(() => {
64
64
  const t = Array.from(o.values()).map((n) => ({
65
65
  fileEntityId: n.targetId,
66
66
  versionNumber: n.targetVersionNumber
67
67
  }));
68
- i(t);
69
- }, [o, i]), h = {
68
+ r(t);
69
+ }, [o, r]), y = {
70
70
  versionSelection: b.REQUIRED,
71
71
  selectColumnType: "checkbox",
72
72
  enableSelectAll: !0,
73
- visibleTypes: [s.file],
73
+ visibleTypes: [m.file],
74
74
  selected: o,
75
- selectableTypes: [s.file],
76
- isIdSelected: C,
75
+ selectableTypes: [m.file],
76
+ isIdSelected: D,
77
77
  isSelectable: () => !0,
78
78
  toggleSelection: u,
79
79
  setInitialVersion: f,
80
80
  hiddenColumns: [
81
- r.BADGES,
82
- r.ADD_TO_DOWNLOAD_CART,
83
- r.CREATED_ON,
84
- r.VERSION,
85
- r.MODIFIED_BY
81
+ i.BADGES,
82
+ i.ADD_TO_DOWNLOAD_CART,
83
+ i.CREATED_ON,
84
+ i.VERSION,
85
+ i.MODIFIED_BY
86
86
  ]
87
87
  };
88
- return /* @__PURE__ */ y(w, { children: [
89
- /* @__PURE__ */ e(m, { children: /* @__PURE__ */ e(
88
+ return /* @__PURE__ */ C(w, { children: [
89
+ /* @__PURE__ */ e(s, { children: /* @__PURE__ */ e(
90
90
  S,
91
91
  {
92
- parentContainerId: p,
93
- ...h
92
+ parentContainerId: a,
93
+ ...y
94
94
  }
95
95
  ) }),
96
96
  /* @__PURE__ */ e(
97
- m,
97
+ s,
98
98
  {
99
99
  sx: {
100
100
  mt: 4
@@ -105,9 +105,9 @@ function po({
105
105
  endIcon: /* @__PURE__ */ e(A, {}),
106
106
  variant: "outlined",
107
107
  sx: { alignSelf: "flex-end", height: "47px" },
108
- onClick: D,
108
+ onClick: h,
109
109
  disabled: !o.toArray().length,
110
- children: "Add to Download Cart"
110
+ children: "Add to Download List"
111
111
  }
112
112
  )
113
113
  }
@@ -115,6 +115,6 @@ function po({
115
115
  ] });
116
116
  }
117
117
  export {
118
- po as ChallengeDataDownload
118
+ ao as ChallengeDataDownload
119
119
  };
120
120
  //# sourceMappingURL=ChallengeDataDownload.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ChallengeDataDownload.js","sources":["../../../src/components/ChallengeDataDownload/ChallengeDataDownload.tsx"],"sourcesContent":["import { useAddFileBatchToDownloadList } from '@/synapse-queries'\nimport { useSynapseContext } from '@/utils'\nimport AddCircleTwoToneIcon from '@mui/icons-material/AddCircleTwoTone'\nimport { Box, Button } from '@mui/material'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport { useCallback } from 'react'\nimport { EntityChildrenDetails } from '../EntityFinder/details/configurations/EntityChildrenDetails'\nimport { EntityDetailsListSharedProps } from '../EntityFinder/details/EntityDetailsList'\nimport { DetailsViewColumn } from '../EntityFinder/details/view/DetailsView'\nimport { EntityFinderHeader } from '../EntityFinder/EntityFinderHeader'\nimport { useEntitySelection } from '../EntityFinder/useEntitySelection'\nimport { VersionSelectionType } from '../EntityFinder/VersionSelectionType'\nimport { displayToast } from '../ToastMessage'\n\nexport type ChallengeDataDownloadProps = {\n parentContainerId: string\n}\n\nexport function ChallengeDataDownload({\n parentContainerId,\n}: ChallengeDataDownloadProps) {\n const { downloadCartPageUrl } = useSynapseContext()\n const selectMultiple = true\n const { selectedEntities, toggleSelection, setInitialVersion } =\n useEntitySelection(selectMultiple)\n\n const { mutate: addBatchToDownloadList } = useAddFileBatchToDownloadList({\n onSuccess: () => {\n displayToast(\n 'File(s) were successfully added to your Download Cart.',\n 'success',\n {\n primaryButtonConfig: {\n text: 'View Download Cart',\n onClick: () => (window.location.href = downloadCartPageUrl),\n },\n },\n )\n },\n onError: e => {\n displayToast(\n `Unable to add the file to your Download Cart. ${e.reason}`,\n 'danger',\n )\n },\n })\n\n const isIdSelected = useCallback(\n (entity: EntityFinderHeader) => {\n return selectedEntities.has(entity.id)\n },\n [selectedEntities],\n )\n\n const onAddClick = useCallback(() => {\n const entities = Array.from(selectedEntities.values()).map(reference => {\n return {\n fileEntityId: reference.targetId,\n versionNumber: reference.targetVersionNumber,\n }\n })\n addBatchToDownloadList(entities)\n }, [selectedEntities, addBatchToDownloadList])\n\n const sharedProps: EntityDetailsListSharedProps = {\n versionSelection: VersionSelectionType.REQUIRED,\n selectColumnType: 'checkbox',\n enableSelectAll: true,\n visibleTypes: [EntityType.file],\n selected: selectedEntities,\n selectableTypes: [EntityType.file],\n isIdSelected,\n isSelectable: () => true,\n toggleSelection,\n setInitialVersion,\n hiddenColumns: [\n DetailsViewColumn.BADGES,\n DetailsViewColumn.ADD_TO_DOWNLOAD_CART,\n DetailsViewColumn.CREATED_ON,\n DetailsViewColumn.VERSION,\n DetailsViewColumn.MODIFIED_BY,\n ],\n }\n return (\n <>\n <Box>\n <EntityChildrenDetails\n parentContainerId={parentContainerId}\n {...sharedProps}\n />\n </Box>\n <Box\n sx={{\n mt: 4,\n }}\n >\n <Button\n endIcon={<AddCircleTwoToneIcon />}\n variant={'outlined'}\n sx={{ alignSelf: 'flex-end', height: '47px' }}\n onClick={onAddClick}\n disabled={!selectedEntities.toArray().length}\n >\n Add to Download Cart\n </Button>\n </Box>\n </>\n )\n}\n"],"names":["ChallengeDataDownload","parentContainerId","downloadCartPageUrl","useSynapseContext","selectMultiple","selectedEntities","toggleSelection","setInitialVersion","useEntitySelection","addBatchToDownloadList","useAddFileBatchToDownloadList","displayToast","e","isIdSelected","useCallback","entity","onAddClick","entities","reference","sharedProps","VersionSelectionType","EntityType","DetailsViewColumn","jsxs","Fragment","jsx","Box","EntityChildrenDetails","Button","AddCircleTwoToneIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBO,SAASA,GAAsB;AAAA,EACpC,mBAAAC;AACF,GAA+B;AAC7B,QAAM,EAAE,qBAAAC,EAAA,IAAwBC,EAAA,GAC1BC,IAAiB,IACjB,EAAE,kBAAAC,GAAkB,iBAAAC,GAAiB,mBAAAC,EAAA,IACzCC,EAAmBJ,CAAc,GAE7B,EAAE,QAAQK,EAAA,IAA2BC,EAA8B;AAAA,IACvE,WAAW,MAAM;AACf,MAAAC;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,UACE,qBAAqB;AAAA,YACnB,MAAM;AAAA,YACN,SAAS,MAAO,OAAO,SAAS,OAAOT;AAAA,UAAA;AAAA,QACzC;AAAA,MACF;AAAA,IAEJ;AAAA,IACA,SAAS,CAAAU,MAAK;AACZ,MAAAD;AAAA,QACE,iDAAiDC,EAAE,MAAM;AAAA,QACzD;AAAA,MAAA;AAAA,IAEJ;AAAA,EAAA,CACD,GAEKC,IAAeC;AAAA,IACnB,CAACC,MACQV,EAAiB,IAAIU,EAAO,EAAE;AAAA,IAEvC,CAACV,CAAgB;AAAA,EAAA,GAGbW,IAAaF,EAAY,MAAM;AACnC,UAAMG,IAAW,MAAM,KAAKZ,EAAiB,QAAQ,EAAE,IAAI,CAAAa,OAClD;AAAA,MACL,cAAcA,EAAU;AAAA,MACxB,eAAeA,EAAU;AAAA,IAAA,EAE5B;AACD,IAAAT,EAAuBQ,CAAQ;AAAA,EACjC,GAAG,CAACZ,GAAkBI,CAAsB,CAAC,GAEvCU,IAA4C;AAAA,IAChD,kBAAkBC,EAAqB;AAAA,IACvC,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,IACjB,cAAc,CAACC,EAAW,IAAI;AAAA,IAC9B,UAAUhB;AAAA,IACV,iBAAiB,CAACgB,EAAW,IAAI;AAAA,IACjC,cAAAR;AAAA,IACA,cAAc,MAAM;AAAA,IACpB,iBAAAP;AAAA,IACA,mBAAAC;AAAA,IACA,eAAe;AAAA,MACbe,EAAkB;AAAA,MAClBA,EAAkB;AAAA,MAClBA,EAAkB;AAAA,MAClBA,EAAkB;AAAA,MAClBA,EAAkB;AAAA,IAAA;AAAA,EACpB;AAEF,SACE,gBAAAC,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EACC,UAAA,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,mBAAA1B;AAAA,QACC,GAAGkB;AAAA,MAAA;AAAA,IAAA,GAER;AAAA,IACA,gBAAAM;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,UACF,IAAI;AAAA,QAAA;AAAA,QAGN,UAAA,gBAAAD;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,2BAAUC,GAAA,EAAqB;AAAA,YAC/B,SAAS;AAAA,YACT,IAAI,EAAE,WAAW,YAAY,QAAQ,OAAA;AAAA,YACrC,SAASb;AAAA,YACT,UAAU,CAACX,EAAiB,QAAA,EAAU;AAAA,YACvC,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAED;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;"}
1
+ {"version":3,"file":"ChallengeDataDownload.js","sources":["../../../src/components/ChallengeDataDownload/ChallengeDataDownload.tsx"],"sourcesContent":["import { useAddFileBatchToDownloadList } from '@/synapse-queries'\nimport { useSynapseContext } from '@/utils'\nimport AddCircleTwoToneIcon from '@mui/icons-material/AddCircleTwoTone'\nimport { Box, Button } from '@mui/material'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport { useCallback } from 'react'\nimport { EntityChildrenDetails } from '../EntityFinder/details/configurations/EntityChildrenDetails'\nimport { EntityDetailsListSharedProps } from '../EntityFinder/details/EntityDetailsList'\nimport { DetailsViewColumn } from '../EntityFinder/details/view/DetailsView'\nimport { EntityFinderHeader } from '../EntityFinder/EntityFinderHeader'\nimport { useEntitySelection } from '../EntityFinder/useEntitySelection'\nimport { VersionSelectionType } from '../EntityFinder/VersionSelectionType'\nimport { displayToast } from '../ToastMessage'\n\nexport type ChallengeDataDownloadProps = {\n parentContainerId: string\n}\n\nexport function ChallengeDataDownload({\n parentContainerId,\n}: ChallengeDataDownloadProps) {\n const { downloadCartPageUrl } = useSynapseContext()\n const selectMultiple = true\n const { selectedEntities, toggleSelection, setInitialVersion } =\n useEntitySelection(selectMultiple)\n\n const { mutate: addBatchToDownloadList } = useAddFileBatchToDownloadList({\n onSuccess: () => {\n displayToast(\n 'File(s) were successfully added to your Download List.',\n 'success',\n {\n primaryButtonConfig: {\n text: 'View Download List',\n onClick: () => (window.location.href = downloadCartPageUrl),\n },\n },\n )\n },\n onError: e => {\n displayToast(\n `Unable to add the file to your Download List. ${e.reason}`,\n 'danger',\n )\n },\n })\n\n const isIdSelected = useCallback(\n (entity: EntityFinderHeader) => {\n return selectedEntities.has(entity.id)\n },\n [selectedEntities],\n )\n\n const onAddClick = useCallback(() => {\n const entities = Array.from(selectedEntities.values()).map(reference => {\n return {\n fileEntityId: reference.targetId,\n versionNumber: reference.targetVersionNumber,\n }\n })\n addBatchToDownloadList(entities)\n }, [selectedEntities, addBatchToDownloadList])\n\n const sharedProps: EntityDetailsListSharedProps = {\n versionSelection: VersionSelectionType.REQUIRED,\n selectColumnType: 'checkbox',\n enableSelectAll: true,\n visibleTypes: [EntityType.file],\n selected: selectedEntities,\n selectableTypes: [EntityType.file],\n isIdSelected,\n isSelectable: () => true,\n toggleSelection,\n setInitialVersion,\n hiddenColumns: [\n DetailsViewColumn.BADGES,\n DetailsViewColumn.ADD_TO_DOWNLOAD_CART,\n DetailsViewColumn.CREATED_ON,\n DetailsViewColumn.VERSION,\n DetailsViewColumn.MODIFIED_BY,\n ],\n }\n return (\n <>\n <Box>\n <EntityChildrenDetails\n parentContainerId={parentContainerId}\n {...sharedProps}\n />\n </Box>\n <Box\n sx={{\n mt: 4,\n }}\n >\n <Button\n endIcon={<AddCircleTwoToneIcon />}\n variant={'outlined'}\n sx={{ alignSelf: 'flex-end', height: '47px' }}\n onClick={onAddClick}\n disabled={!selectedEntities.toArray().length}\n >\n Add to Download List\n </Button>\n </Box>\n </>\n )\n}\n"],"names":["ChallengeDataDownload","parentContainerId","downloadCartPageUrl","useSynapseContext","selectMultiple","selectedEntities","toggleSelection","setInitialVersion","useEntitySelection","addBatchToDownloadList","useAddFileBatchToDownloadList","displayToast","e","isIdSelected","useCallback","entity","onAddClick","entities","reference","sharedProps","VersionSelectionType","EntityType","DetailsViewColumn","jsxs","Fragment","jsx","Box","EntityChildrenDetails","Button","AddCircleTwoToneIcon"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkBO,SAASA,GAAsB;AAAA,EACpC,mBAAAC;AACF,GAA+B;AAC7B,QAAM,EAAE,qBAAAC,EAAA,IAAwBC,EAAA,GAC1BC,IAAiB,IACjB,EAAE,kBAAAC,GAAkB,iBAAAC,GAAiB,mBAAAC,EAAA,IACzCC,EAAmBJ,CAAc,GAE7B,EAAE,QAAQK,EAAA,IAA2BC,EAA8B;AAAA,IACvE,WAAW,MAAM;AACf,MAAAC;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,UACE,qBAAqB;AAAA,YACnB,MAAM;AAAA,YACN,SAAS,MAAO,OAAO,SAAS,OAAOT;AAAA,UAAA;AAAA,QACzC;AAAA,MACF;AAAA,IAEJ;AAAA,IACA,SAAS,CAAAU,MAAK;AACZ,MAAAD;AAAA,QACE,iDAAiDC,EAAE,MAAM;AAAA,QACzD;AAAA,MAAA;AAAA,IAEJ;AAAA,EAAA,CACD,GAEKC,IAAeC;AAAA,IACnB,CAACC,MACQV,EAAiB,IAAIU,EAAO,EAAE;AAAA,IAEvC,CAACV,CAAgB;AAAA,EAAA,GAGbW,IAAaF,EAAY,MAAM;AACnC,UAAMG,IAAW,MAAM,KAAKZ,EAAiB,QAAQ,EAAE,IAAI,CAAAa,OAClD;AAAA,MACL,cAAcA,EAAU;AAAA,MACxB,eAAeA,EAAU;AAAA,IAAA,EAE5B;AACD,IAAAT,EAAuBQ,CAAQ;AAAA,EACjC,GAAG,CAACZ,GAAkBI,CAAsB,CAAC,GAEvCU,IAA4C;AAAA,IAChD,kBAAkBC,EAAqB;AAAA,IACvC,kBAAkB;AAAA,IAClB,iBAAiB;AAAA,IACjB,cAAc,CAACC,EAAW,IAAI;AAAA,IAC9B,UAAUhB;AAAA,IACV,iBAAiB,CAACgB,EAAW,IAAI;AAAA,IACjC,cAAAR;AAAA,IACA,cAAc,MAAM;AAAA,IACpB,iBAAAP;AAAA,IACA,mBAAAC;AAAA,IACA,eAAe;AAAA,MACbe,EAAkB;AAAA,MAClBA,EAAkB;AAAA,MAClBA,EAAkB;AAAA,MAClBA,EAAkB;AAAA,MAClBA,EAAkB;AAAA,IAAA;AAAA,EACpB;AAEF,SACE,gBAAAC,EAAAC,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAC,EAACC,GAAA,EACC,UAAA,gBAAAD;AAAA,MAACE;AAAA,MAAA;AAAA,QACC,mBAAA1B;AAAA,QACC,GAAGkB;AAAA,MAAA;AAAA,IAAA,GAER;AAAA,IACA,gBAAAM;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,UACF,IAAI;AAAA,QAAA;AAAA,QAGN,UAAA,gBAAAD;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,2BAAUC,GAAA,EAAqB;AAAA,YAC/B,SAAS;AAAA,YACT,IAAI,EAAE,WAAW,YAAY,QAAQ,OAAA;AAAA,YACrC,SAASb;AAAA,YACT,UAAU,CAACX,EAAiB,QAAA,EAAU;AAAA,YACvC,UAAA;AAAA,UAAA;AAAA,QAAA;AAAA,MAED;AAAA,IAAA;AAAA,EACF,GACF;AAEJ;"}
@@ -43,11 +43,14 @@ import "@mui/material/SvgIcon";
43
43
  import "../../assets/icons/AccessPending.svg.js";
44
44
  import "../../assets/icons/AccessPendingCloud.svg.js";
45
45
  import "../../assets/icons/FileWithShield.svg.js";
46
+ import "../../assets/icons/MultiFile.svg.js";
47
+ import "../../assets/icons/UnpackagableFile.svg.js";
46
48
  import "../../assets/icons/bioChemicalPhysical.svg.js";
47
49
  import "../../assets/icons/computationalTool.svg.js";
48
50
  import "../../assets/icons/dataReuse.svg.js";
49
51
  import "../../assets/icons/inSilicoModel.svg.js";
50
52
  import "../../assets/icons/modelSystem.svg.js";
53
+ import "../../assets/mui_components/PackagableFile.svg.js";
51
54
  import "../../assets/icons/spatialProfiling.svg.js";
52
55
  /* empty css */
53
56
  import "../Authentication/AuthenticationMethodSelection.js";
@@ -58,7 +61,7 @@ import "react-hot-toast";
58
61
  import "react-transition-group";
59
62
  import "../Authentication/RecoveryCodeGrid.js";
60
63
  const H = "Two-factor authentication is required to change your password. Your password has not yet been changed.";
61
- function zo(p) {
64
+ function $o(p) {
62
65
  const _ = W("/reset2FA"), w = Y(
63
66
  _,
64
67
  "twoFAResetToken"
@@ -176,6 +179,6 @@ function zo(p) {
176
179
  }
177
180
  export {
178
181
  H as TWO_FACTOR_AUTH_CHANGE_PASSWORD_PROMPT,
179
- zo as default
182
+ $o as default
180
183
  };
181
184
  //# sourceMappingURL=useChangePasswordFormState.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useChangePasswordFormState.js","sources":["../../../src/components/ChangePassword/useChangePasswordFormState.tsx"],"sourcesContent":["import { useChangePassword, useResetTwoFactorAuth } from '@/synapse-queries'\nimport appendFinalQueryParamKey from '@/utils/appendFinalQueryParamKey'\nimport { useOneSageURL } from '@/utils/hooks'\nimport { Alert, Typography } from '@mui/material'\nimport { TwoFactorAuthErrorResponse } from '@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse'\nimport {\n ChangePasswordWithCurrentPassword,\n ChangePasswordWithToken as ChangePasswordWithTokenObject,\n ChangePasswordWithTwoFactorAuthToken,\n PasswordResetSignedToken,\n TwoFactorAuthOtpType,\n TwoFactorAuthResetRequest,\n} from '@sage-bionetworks/synapse-types'\nimport { useCallback, useState } from 'react'\nimport { ONE_TIME_PASSWORD_STEP, OneTimePasswordForm } from '../Authentication'\nimport {\n RECOVERY_CODE_GUIDANCE_TEXT_SHORT,\n TOTP_GUIDANCE_TEXT,\n} from '../Authentication/Constants'\n\nexport const TWO_FACTOR_AUTH_CHANGE_PASSWORD_PROMPT =\n 'Two-factor authentication is required to change your password. Your password has not yet been changed.'\n\nexport type UseChangePasswordFormStateOptions = {\n hideReset2FA?: boolean\n onChangePasswordSuccess?: () => void\n}\n\n/**\n * Hook that handles submitting a change password request and prompting the user for 2FA if necessary.\n * @param options\n */\nexport default function useChangePasswordFormState(\n options?: UseChangePasswordFormStateOptions,\n) {\n const defaultTwoFactorAuthResetUrl = useOneSageURL('/reset2FA')\n const twoFactorAuthResetUri = appendFinalQueryParamKey(\n defaultTwoFactorAuthResetUrl,\n 'twoFAResetToken',\n )\n\n // Store current and new password in state so that we can re-use it if 2FA is required\n const [currentPassword, setCurrentPassword] = useState<string>('')\n const [newPassword, setNewPassword] = useState<string>('')\n const [twoFactorAuthErrorResponse, setTwoFactorAuthErrorResponse] = useState<\n TwoFactorAuthErrorResponse | undefined\n >()\n const [otpStep, setOtpStep] =\n useState<ONE_TIME_PASSWORD_STEP>('VERIFICATION_CODE')\n const [successfullyChangedPassword, setSuccessfullyChangedPassword] =\n useState(false)\n const {\n mutate: changePassword,\n isPending,\n error,\n } = useChangePassword({\n onSuccess: maybeTwoFactorResponse => {\n if (maybeTwoFactorResponse) {\n // We store the 2FA Error Response in state because the `changePasswordResult` may change before we are done with the 2FA code,\n // e.g. if the user enters the wrong 2FA code\n setTwoFactorAuthErrorResponse(maybeTwoFactorResponse)\n } else {\n setSuccessfullyChangedPassword(true)\n setTwoFactorAuthErrorResponse(undefined)\n if (options?.onChangePasswordSuccess) {\n options.onChangePasswordSuccess()\n }\n }\n },\n })\n\n const handleChangePasswordWithCurrentPassword = useCallback(\n (username: string, currentPassword: string, newPassword: string) => {\n setCurrentPassword(currentPassword)\n setNewPassword(newPassword)\n const changeRequest: ChangePasswordWithCurrentPassword = {\n username,\n currentPassword,\n newPassword,\n concreteType:\n 'org.sagebionetworks.repo.model.auth.ChangePasswordWithCurrentPassword',\n }\n changePassword(changeRequest)\n },\n [changePassword],\n )\n\n const handleChangePasswordWithResetToken = useCallback(\n (newPassword: string, passwordChangeToken: PasswordResetSignedToken) => {\n setNewPassword(newPassword)\n const changeRequest: ChangePasswordWithTokenObject = {\n newPassword,\n concreteType:\n 'org.sagebionetworks.repo.model.auth.ChangePasswordWithToken',\n passwordChangeToken: passwordChangeToken,\n }\n changePassword(changeRequest)\n },\n [changePassword],\n )\n\n const handleChangePasswordWithOtp = useCallback(\n (newPassword: string, code: string, otpType: TwoFactorAuthOtpType) => {\n if (twoFactorAuthErrorResponse) {\n const changeRequest: ChangePasswordWithTwoFactorAuthToken = {\n newPassword,\n concreteType:\n 'org.sagebionetworks.repo.model.auth.ChangePasswordWithTwoFactorAuthToken',\n userId: twoFactorAuthErrorResponse.userId!,\n twoFaToken: twoFactorAuthErrorResponse.twoFaToken!,\n otpType: otpType,\n otpCode: code,\n }\n changePassword(changeRequest)\n }\n },\n [changePassword, twoFactorAuthErrorResponse],\n )\n const promptForTwoFactorAuth = Boolean(twoFactorAuthErrorResponse)\n const {\n mutate: resetTwoFactorAuth,\n isSuccess: twoFactorAuthResetIsSuccess,\n isPending: twoFactorAuthResetIsPending,\n } = useResetTwoFactorAuth()\n\n const beginTwoFactorAuthReset = useCallback(\n (twoFaResetEndpoint: string) => {\n if (twoFactorAuthErrorResponse) {\n const request: TwoFactorAuthResetRequest = {\n userId: twoFactorAuthErrorResponse.userId!,\n twoFaResetEndpoint: twoFaResetEndpoint,\n // When attempting to reset 2FA while resetting a password, the current password must be used to request 2FA reset\n password: currentPassword,\n }\n resetTwoFactorAuth(request)\n }\n },\n [currentPassword, resetTwoFactorAuth, twoFactorAuthErrorResponse],\n )\n\n const TwoFactorAuthPrompt = useCallback(() => {\n if (!promptForTwoFactorAuth) {\n return <></>\n }\n return (\n <>\n {otpStep === 'VERIFICATION_CODE' && (\n <Typography variant={'body1'} sx={{ my: 2 }} align={'center'}>\n {TOTP_GUIDANCE_TEXT}\n </Typography>\n )}\n {otpStep === 'RECOVERY_CODE' && (\n <Typography variant={'body1'} sx={{ my: 2 }} align={'center'}>\n {RECOVERY_CODE_GUIDANCE_TEXT_SHORT}\n </Typography>\n )}\n <OneTimePasswordForm\n step={otpStep}\n onClickUseTOTP={() => {\n setOtpStep('VERIFICATION_CODE')\n }}\n onClickUseBackupCode={() => {\n setOtpStep('RECOVERY_CODE')\n }}\n loginIsPending={isPending}\n onSubmit={(code, otpType) =>\n handleChangePasswordWithOtp(newPassword, code, otpType)\n }\n hideReset2FA={options?.hideReset2FA}\n onClickPromptReset2FA={() => {\n setOtpStep('DISABLE_2FA_PROMPT')\n }}\n onClickReset2FA={() => {\n beginTwoFactorAuthReset(twoFactorAuthResetUri)\n }}\n twoFactorAuthResetIsPending={twoFactorAuthResetIsPending}\n twoFactorAuthResetIsSuccess={twoFactorAuthResetIsSuccess}\n />\n {(otpStep === 'RECOVERY_CODE' || otpStep === 'VERIFICATION_CODE') && (\n <Alert severity={'info'} sx={{ my: 2 }}>\n {TWO_FACTOR_AUTH_CHANGE_PASSWORD_PROMPT}\n </Alert>\n )}\n {otpStep === 'DISABLE_2FA_PROMPT' && twoFactorAuthResetIsSuccess && (\n <Alert severity={'warning'} sx={{ my: 2 }}>\n <strong>Your password has not been changed.</strong> To disable\n two-factor authentication, you may be required to enter your current\n password after clicking the link sent to your email address.\n </Alert>\n )}\n </>\n )\n }, [\n beginTwoFactorAuthReset,\n handleChangePasswordWithOtp,\n isPending,\n newPassword,\n options?.hideReset2FA,\n otpStep,\n promptForTwoFactorAuth,\n twoFactorAuthResetIsPending,\n twoFactorAuthResetIsSuccess,\n twoFactorAuthResetUri,\n ])\n\n return {\n successfullyChangedPassword,\n isPending,\n error,\n promptForTwoFactorAuth,\n TwoFactorAuthPrompt: TwoFactorAuthPrompt,\n handleChangePasswordWithCurrentPassword,\n handleChangePasswordWithResetToken,\n }\n}\n"],"names":["TWO_FACTOR_AUTH_CHANGE_PASSWORD_PROMPT","useChangePasswordFormState","options","defaultTwoFactorAuthResetUrl","useOneSageURL","twoFactorAuthResetUri","appendFinalQueryParamKey","currentPassword","setCurrentPassword","useState","newPassword","setNewPassword","twoFactorAuthErrorResponse","setTwoFactorAuthErrorResponse","otpStep","setOtpStep","successfullyChangedPassword","setSuccessfullyChangedPassword","changePassword","isPending","error","useChangePassword","maybeTwoFactorResponse","handleChangePasswordWithCurrentPassword","useCallback","username","handleChangePasswordWithResetToken","passwordChangeToken","handleChangePasswordWithOtp","code","otpType","changeRequest","promptForTwoFactorAuth","resetTwoFactorAuth","twoFactorAuthResetIsSuccess","twoFactorAuthResetIsPending","useResetTwoFactorAuth","beginTwoFactorAuthReset","twoFaResetEndpoint","request","TwoFactorAuthPrompt","jsxs","Fragment","jsx","Typography","TOTP_GUIDANCE_TEXT","RECOVERY_CODE_GUIDANCE_TEXT_SHORT","OneTimePasswordForm","Alert"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBO,MAAMA,IACX;AAWF,SAAwBC,GACtBC,GACA;AACA,QAAMC,IAA+BC,EAAc,WAAW,GACxDC,IAAwBC;AAAA,IAC5BH;AAAA,IACA;AAAA,EAAA,GAII,CAACI,GAAiBC,CAAkB,IAAIC,EAAiB,EAAE,GAC3D,CAACC,GAAaC,CAAc,IAAIF,EAAiB,EAAE,GACnD,CAACG,GAA4BC,CAA6B,IAAIJ,EAAA,GAG9D,CAACK,GAASC,CAAU,IACxBN,EAAiC,mBAAmB,GAChD,CAACO,GAA6BC,CAA8B,IAChER,EAAS,EAAK,GACV;AAAA,IACJ,QAAQS;AAAA,IACR,WAAAC;AAAA,IACA,OAAAC;AAAA,EAAA,IACEC,EAAkB;AAAA,IACpB,WAAW,CAAAC,MAA0B;AACnC,MAAIA,IAGFT,EAA8BS,CAAsB,KAEpDL,EAA+B,EAAI,GACnCJ,EAA8B,MAAS,GACnCX,GAAS,2BACXA,EAAQ,wBAAA;AAAA,IAGd;AAAA,EAAA,CACD,GAEKqB,IAA0CC;AAAA,IAC9C,CAACC,GAAkBlB,GAAyBG,MAAwB;AAClE,MAAAF,EAAmBD,CAAe,GAClCI,EAAeD,CAAW,GAQ1BQ,EAPyD;AAAA,QACvD,UAAAO;AAAA,QACA,iBAAAlB;AAAAA,QACA,aAAAG;AAAAA,QACA,cACE;AAAA,MAAA,CAEwB;AAAA,IAC9B;AAAA,IACA,CAACQ,CAAc;AAAA,EAAA,GAGXQ,IAAqCF;AAAA,IACzC,CAACd,GAAqBiB,MAAkD;AACtE,MAAAhB,EAAeD,CAAW,GAO1BQ,EANqD;AAAA,QACnD,aAAAR;AAAAA,QACA,cACE;AAAA,QACF,qBAAAiB;AAAA,MAAA,CAE0B;AAAA,IAC9B;AAAA,IACA,CAACT,CAAc;AAAA,EAAA,GAGXU,IAA8BJ;AAAA,IAClC,CAACd,GAAqBmB,GAAcC,MAAkC;AACpE,UAAIlB,GAA4B;AAC9B,cAAMmB,IAAsD;AAAA,UAC1D,aAAArB;AAAAA,UACA,cACE;AAAA,UACF,QAAQE,EAA2B;AAAA,UACnC,YAAYA,EAA2B;AAAA,UACvC,SAAAkB;AAAA,UACA,SAASD;AAAA,QAAA;AAEX,QAAAX,EAAea,CAAa;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,CAACb,GAAgBN,CAA0B;AAAA,EAAA,GAEvCoB,IAAyB,EAAQpB,GACjC;AAAA,IACJ,QAAQqB;AAAA,IACR,WAAWC;AAAA,IACX,WAAWC;AAAA,EAAA,IACTC,EAAA,GAEEC,IAA0Bb;AAAA,IAC9B,CAACc,MAA+B;AAC9B,UAAI1B,GAA4B;AAC9B,cAAM2B,IAAqC;AAAA,UACzC,QAAQ3B,EAA2B;AAAA,UACnC,oBAAA0B;AAAA;AAAA,UAEA,UAAU/B;AAAA,QAAA;AAEZ,QAAA0B,EAAmBM,CAAO;AAAA,MAC5B;AAAA,IACF;AAAA,IACA,CAAChC,GAAiB0B,GAAoBrB,CAA0B;AAAA,EAAA,GAG5D4B,IAAsBhB,EAAY,MACjCQ,IAIH,gBAAAS,EAAAC,GAAA,EACG,UAAA;AAAA,IAAA5B,MAAY,uBACX,gBAAA6B,EAACC,GAAA,EAAW,SAAS,SAAS,IAAI,EAAE,IAAI,EAAA,GAAK,OAAO,UACjD,UAAAC,GACH;AAAA,IAED/B,MAAY,mBACX,gBAAA6B,EAACC,GAAA,EAAW,SAAS,SAAS,IAAI,EAAE,IAAI,EAAA,GAAK,OAAO,UACjD,UAAAE,GACH;AAAA,IAEF,gBAAAH;AAAA,MAACI;AAAA,MAAA;AAAA,QACC,MAAMjC;AAAA,QACN,gBAAgB,MAAM;AACpB,UAAAC,EAAW,mBAAmB;AAAA,QAChC;AAAA,QACA,sBAAsB,MAAM;AAC1B,UAAAA,EAAW,eAAe;AAAA,QAC5B;AAAA,QACA,gBAAgBI;AAAA,QAChB,UAAU,CAACU,GAAMC,MACfF,EAA4BlB,GAAamB,GAAMC,CAAO;AAAA,QAExD,cAAc5B,GAAS;AAAA,QACvB,uBAAuB,MAAM;AAC3B,UAAAa,EAAW,oBAAoB;AAAA,QACjC;AAAA,QACA,iBAAiB,MAAM;AACrB,UAAAsB,EAAwBhC,CAAqB;AAAA,QAC/C;AAAA,QACA,6BAAA8B;AAAA,QACA,6BAAAD;AAAA,MAAA;AAAA,IAAA;AAAA,KAEApB,MAAY,mBAAmBA,MAAY,wBAC3C,gBAAA6B,EAACK,GAAA,EAAM,UAAU,QAAQ,IAAI,EAAE,IAAI,EAAA,GAChC,UAAAhD,GACH;AAAA,IAEDc,MAAY,wBAAwBoB,KACnC,gBAAAO,EAACO,GAAA,EAAM,UAAU,WAAW,IAAI,EAAE,IAAI,EAAA,GACpC,UAAA;AAAA,MAAA,gBAAAL,EAAC,YAAO,UAAA,sCAAA,CAAmC;AAAA,MAAS;AAAA,IAAA,EAAA,CAGtD;AAAA,EAAA,GAEJ,IAhDO,gBAAAA,EAAAD,GAAA,EAAE,GAkDV;AAAA,IACDL;AAAA,IACAT;AAAA,IACAT;AAAA,IACAT;AAAA,IACAR,GAAS;AAAA,IACTY;AAAA,IACAkB;AAAA,IACAG;AAAA,IACAD;AAAA,IACA7B;AAAA,EAAA,CACD;AAED,SAAO;AAAA,IACL,6BAAAW;AAAA,IACA,WAAAG;AAAA,IACA,OAAAC;AAAA,IACA,wBAAAY;AAAA,IACA,qBAAAQ;AAAA,IACA,yCAAAjB;AAAA,IACA,oCAAAG;AAAA,EAAA;AAEJ;"}
1
+ {"version":3,"file":"useChangePasswordFormState.js","sources":["../../../src/components/ChangePassword/useChangePasswordFormState.tsx"],"sourcesContent":["import { useChangePassword, useResetTwoFactorAuth } from '@/synapse-queries'\nimport appendFinalQueryParamKey from '@/utils/appendFinalQueryParamKey'\nimport { useOneSageURL } from '@/utils/hooks'\nimport { Alert, Typography } from '@mui/material'\nimport { TwoFactorAuthErrorResponse } from '@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse'\nimport {\n ChangePasswordWithCurrentPassword,\n ChangePasswordWithToken as ChangePasswordWithTokenObject,\n ChangePasswordWithTwoFactorAuthToken,\n PasswordResetSignedToken,\n TwoFactorAuthOtpType,\n TwoFactorAuthResetRequest,\n} from '@sage-bionetworks/synapse-types'\nimport { useCallback, useState } from 'react'\nimport { ONE_TIME_PASSWORD_STEP, OneTimePasswordForm } from '../Authentication'\nimport {\n RECOVERY_CODE_GUIDANCE_TEXT_SHORT,\n TOTP_GUIDANCE_TEXT,\n} from '../Authentication/Constants'\n\nexport const TWO_FACTOR_AUTH_CHANGE_PASSWORD_PROMPT =\n 'Two-factor authentication is required to change your password. Your password has not yet been changed.'\n\nexport type UseChangePasswordFormStateOptions = {\n hideReset2FA?: boolean\n onChangePasswordSuccess?: () => void\n}\n\n/**\n * Hook that handles submitting a change password request and prompting the user for 2FA if necessary.\n * @param options\n */\nexport default function useChangePasswordFormState(\n options?: UseChangePasswordFormStateOptions,\n) {\n const defaultTwoFactorAuthResetUrl = useOneSageURL('/reset2FA')\n const twoFactorAuthResetUri = appendFinalQueryParamKey(\n defaultTwoFactorAuthResetUrl,\n 'twoFAResetToken',\n )\n\n // Store current and new password in state so that we can re-use it if 2FA is required\n const [currentPassword, setCurrentPassword] = useState<string>('')\n const [newPassword, setNewPassword] = useState<string>('')\n const [twoFactorAuthErrorResponse, setTwoFactorAuthErrorResponse] = useState<\n TwoFactorAuthErrorResponse | undefined\n >()\n const [otpStep, setOtpStep] =\n useState<ONE_TIME_PASSWORD_STEP>('VERIFICATION_CODE')\n const [successfullyChangedPassword, setSuccessfullyChangedPassword] =\n useState(false)\n const {\n mutate: changePassword,\n isPending,\n error,\n } = useChangePassword({\n onSuccess: maybeTwoFactorResponse => {\n if (maybeTwoFactorResponse) {\n // We store the 2FA Error Response in state because the `changePasswordResult` may change before we are done with the 2FA code,\n // e.g. if the user enters the wrong 2FA code\n setTwoFactorAuthErrorResponse(maybeTwoFactorResponse)\n } else {\n setSuccessfullyChangedPassword(true)\n setTwoFactorAuthErrorResponse(undefined)\n if (options?.onChangePasswordSuccess) {\n options.onChangePasswordSuccess()\n }\n }\n },\n })\n\n const handleChangePasswordWithCurrentPassword = useCallback(\n (username: string, currentPassword: string, newPassword: string) => {\n setCurrentPassword(currentPassword)\n setNewPassword(newPassword)\n const changeRequest: ChangePasswordWithCurrentPassword = {\n username,\n currentPassword,\n newPassword,\n concreteType:\n 'org.sagebionetworks.repo.model.auth.ChangePasswordWithCurrentPassword',\n }\n changePassword(changeRequest)\n },\n [changePassword],\n )\n\n const handleChangePasswordWithResetToken = useCallback(\n (newPassword: string, passwordChangeToken: PasswordResetSignedToken) => {\n setNewPassword(newPassword)\n const changeRequest: ChangePasswordWithTokenObject = {\n newPassword,\n concreteType:\n 'org.sagebionetworks.repo.model.auth.ChangePasswordWithToken',\n passwordChangeToken: passwordChangeToken,\n }\n changePassword(changeRequest)\n },\n [changePassword],\n )\n\n const handleChangePasswordWithOtp = useCallback(\n (newPassword: string, code: string, otpType: TwoFactorAuthOtpType) => {\n if (twoFactorAuthErrorResponse) {\n const changeRequest: ChangePasswordWithTwoFactorAuthToken = {\n newPassword,\n concreteType:\n 'org.sagebionetworks.repo.model.auth.ChangePasswordWithTwoFactorAuthToken',\n userId: twoFactorAuthErrorResponse.userId!,\n twoFaToken: twoFactorAuthErrorResponse.twoFaToken!,\n otpType: otpType,\n otpCode: code,\n }\n changePassword(changeRequest)\n }\n },\n [changePassword, twoFactorAuthErrorResponse],\n )\n const promptForTwoFactorAuth = Boolean(twoFactorAuthErrorResponse)\n const {\n mutate: resetTwoFactorAuth,\n isSuccess: twoFactorAuthResetIsSuccess,\n isPending: twoFactorAuthResetIsPending,\n } = useResetTwoFactorAuth()\n\n const beginTwoFactorAuthReset = useCallback(\n (twoFaResetEndpoint: string) => {\n if (twoFactorAuthErrorResponse) {\n const request: TwoFactorAuthResetRequest = {\n userId: twoFactorAuthErrorResponse.userId!,\n twoFaResetEndpoint: twoFaResetEndpoint,\n // When attempting to reset 2FA while resetting a password, the current password must be used to request 2FA reset\n password: currentPassword,\n }\n resetTwoFactorAuth(request)\n }\n },\n [currentPassword, resetTwoFactorAuth, twoFactorAuthErrorResponse],\n )\n\n const TwoFactorAuthPrompt = useCallback(() => {\n if (!promptForTwoFactorAuth) {\n return <></>\n }\n return (\n <>\n {otpStep === 'VERIFICATION_CODE' && (\n <Typography variant={'body1'} sx={{ my: 2 }} align={'center'}>\n {TOTP_GUIDANCE_TEXT}\n </Typography>\n )}\n {otpStep === 'RECOVERY_CODE' && (\n <Typography variant={'body1'} sx={{ my: 2 }} align={'center'}>\n {RECOVERY_CODE_GUIDANCE_TEXT_SHORT}\n </Typography>\n )}\n <OneTimePasswordForm\n step={otpStep}\n onClickUseTOTP={() => {\n setOtpStep('VERIFICATION_CODE')\n }}\n onClickUseBackupCode={() => {\n setOtpStep('RECOVERY_CODE')\n }}\n loginIsPending={isPending}\n onSubmit={(code, otpType) =>\n handleChangePasswordWithOtp(newPassword, code, otpType)\n }\n hideReset2FA={options?.hideReset2FA}\n onClickPromptReset2FA={() => {\n setOtpStep('DISABLE_2FA_PROMPT')\n }}\n onClickReset2FA={() => {\n beginTwoFactorAuthReset(twoFactorAuthResetUri)\n }}\n twoFactorAuthResetIsPending={twoFactorAuthResetIsPending}\n twoFactorAuthResetIsSuccess={twoFactorAuthResetIsSuccess}\n />\n {(otpStep === 'RECOVERY_CODE' || otpStep === 'VERIFICATION_CODE') && (\n <Alert severity={'info'} sx={{ my: 2 }}>\n {TWO_FACTOR_AUTH_CHANGE_PASSWORD_PROMPT}\n </Alert>\n )}\n {otpStep === 'DISABLE_2FA_PROMPT' && twoFactorAuthResetIsSuccess && (\n <Alert severity={'warning'} sx={{ my: 2 }}>\n <strong>Your password has not been changed.</strong> To disable\n two-factor authentication, you may be required to enter your current\n password after clicking the link sent to your email address.\n </Alert>\n )}\n </>\n )\n }, [\n beginTwoFactorAuthReset,\n handleChangePasswordWithOtp,\n isPending,\n newPassword,\n options?.hideReset2FA,\n otpStep,\n promptForTwoFactorAuth,\n twoFactorAuthResetIsPending,\n twoFactorAuthResetIsSuccess,\n twoFactorAuthResetUri,\n ])\n\n return {\n successfullyChangedPassword,\n isPending,\n error,\n promptForTwoFactorAuth,\n TwoFactorAuthPrompt: TwoFactorAuthPrompt,\n handleChangePasswordWithCurrentPassword,\n handleChangePasswordWithResetToken,\n }\n}\n"],"names":["TWO_FACTOR_AUTH_CHANGE_PASSWORD_PROMPT","useChangePasswordFormState","options","defaultTwoFactorAuthResetUrl","useOneSageURL","twoFactorAuthResetUri","appendFinalQueryParamKey","currentPassword","setCurrentPassword","useState","newPassword","setNewPassword","twoFactorAuthErrorResponse","setTwoFactorAuthErrorResponse","otpStep","setOtpStep","successfullyChangedPassword","setSuccessfullyChangedPassword","changePassword","isPending","error","useChangePassword","maybeTwoFactorResponse","handleChangePasswordWithCurrentPassword","useCallback","username","handleChangePasswordWithResetToken","passwordChangeToken","handleChangePasswordWithOtp","code","otpType","changeRequest","promptForTwoFactorAuth","resetTwoFactorAuth","twoFactorAuthResetIsSuccess","twoFactorAuthResetIsPending","useResetTwoFactorAuth","beginTwoFactorAuthReset","twoFaResetEndpoint","request","TwoFactorAuthPrompt","jsxs","Fragment","jsx","Typography","TOTP_GUIDANCE_TEXT","RECOVERY_CODE_GUIDANCE_TEXT_SHORT","OneTimePasswordForm","Alert"],"mappings":"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"}
@@ -1,18 +1,14 @@
1
- import { SxProps, TypographyOwnProps } from '@mui/material';
2
- import { PropsWithChildren } from 'react';
1
+ import { SxProps } from '@mui/material';
2
+ import { PropsWithChildren, ReactNode } from 'react';
3
3
  export type ComponentCollapseProps = PropsWithChildren<{
4
- text: string;
4
+ component: ReactNode;
5
5
  defaultVisible?: boolean;
6
- textVariant?: TypographyOwnProps['variant'];
7
- textSx?: SxProps;
8
- textContainerSx?: SxProps;
6
+ componentContainerSx?: SxProps;
9
7
  collapseBoxSx?: SxProps;
10
8
  iconSx?: SxProps;
11
9
  }>;
12
10
  /**
13
- * Wrap any Synapse config object in a collapse
14
- * @param props
15
- * @returns
11
+ * Wrap any child components in a collapse, using a custom component as the trigger
16
12
  */
17
- export default function ComponentCollapse({ text, defaultVisible, textVariant, textSx, textContainerSx, collapseBoxSx, iconSx, children, }: ComponentCollapseProps): import("react/jsx-runtime").JSX.Element;
13
+ export default function ComponentCollapse({ component, defaultVisible, componentContainerSx, collapseBoxSx, iconSx, children, }: ComponentCollapseProps): import("react/jsx-runtime").JSX.Element;
18
14
  //# sourceMappingURL=ComponentCollapse.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentCollapse.d.ts","sourceRoot":"","sources":["../../src/components/ComponentCollapse.tsx"],"names":[],"mappings":"AAKA,OAAO,EAGL,OAAO,EAEP,kBAAkB,EACnB,MAAM,eAAe,CAAA;AACtB,OAAO,EAAE,iBAAiB,EAAY,MAAM,OAAO,CAAA;AAEnD,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;IACrD,IAAI,EAAE,MAAM,CAAA;IACZ,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,WAAW,CAAC,EAAE,kBAAkB,CAAC,SAAS,CAAC,CAAA;IAC3C,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAC,CAAA;AAEF;;;;GAIG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,IAAI,EACJ,cAAc,EACd,WAAyB,EACzB,MAAM,EACN,eAAe,EACf,aAAa,EACb,MAAM,EACN,QAAQ,GACT,EAAE,sBAAsB,2CAkDxB"}
1
+ {"version":3,"file":"ComponentCollapse.d.ts","sourceRoot":"","sources":["../../src/components/ComponentCollapse.tsx"],"names":[],"mappings":"AAKA,OAAO,EAAiB,OAAO,EAAE,MAAM,eAAe,CAAA;AACtD,OAAO,EAEL,iBAAiB,EACjB,SAAS,EAGV,MAAM,OAAO,CAAA;AAEd,MAAM,MAAM,sBAAsB,GAAG,iBAAiB,CAAC;IACrD,SAAS,EAAE,SAAS,CAAA;IACpB,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,aAAa,CAAC,EAAE,OAAO,CAAA;IACvB,MAAM,CAAC,EAAE,OAAO,CAAA;CACjB,CAAC,CAAA;AAEF;;GAEG;AACH,MAAM,CAAC,OAAO,UAAU,iBAAiB,CAAC,EACxC,SAAS,EACT,cAAc,EACd,oBAAoB,EACpB,aAAa,EACb,MAAM,EACN,QAAQ,GACT,EAAE,sBAAsB,2CAsDxB"}
@@ -1,25 +1,24 @@
1
- import { jsxs as t, jsx as o } from "react/jsx-runtime";
2
- import { spreadSx as n } from "../theme/spreadSx.js";
3
- import { KeyboardArrowUpTwoTone as u, KeyboardArrowDownTwoTone as w } from "@mui/icons-material";
4
- import { Box as a, Typography as y, Collapse as C } from "@mui/material";
5
- import { useState as S } from "react";
6
- function B({
7
- text: l,
8
- defaultVisible: s,
9
- textVariant: i = "smallLink",
10
- textSx: p,
11
- textContainerSx: x,
12
- collapseBoxSx: c,
13
- iconSx: d,
14
- children: m
1
+ import { jsxs as l, jsx as e } from "react/jsx-runtime";
2
+ import { spreadSx as s } from "../theme/spreadSx.js";
3
+ import { KeyboardArrowUpTwoTone as w, KeyboardArrowDownTwoTone as y } from "@mui/icons-material";
4
+ import { Box as i, Collapse as h } from "@mui/material";
5
+ import { useState as C, useId as b } from "react";
6
+ function j({
7
+ component: p,
8
+ defaultVisible: c,
9
+ componentContainerSx: d,
10
+ collapseBoxSx: x,
11
+ iconSx: m,
12
+ children: f
15
13
  }) {
16
- const [r, f] = S(s), e = {
14
+ const [o, r] = C(c), t = b(), a = {
17
15
  color: "grey.700",
18
16
  marginBottom: "-5px !important",
19
17
  height: "18px",
20
- ...d
21
- }, h = {
18
+ ...m
19
+ }, u = {
22
20
  display: "flex",
21
+ textAlign: "left",
23
22
  justifyContent: "space-between",
24
23
  backgroundColor: "grey.200",
25
24
  padding: "15px",
@@ -30,31 +29,28 @@ function B({
30
29
  backgroundColor: "grey.100",
31
30
  padding: "25px"
32
31
  };
33
- return /* @__PURE__ */ t("div", { className: "MarkdownCollapse", children: [
34
- /* @__PURE__ */ t(
35
- a,
32
+ return /* @__PURE__ */ l("div", { className: "MarkdownCollapse", children: [
33
+ /* @__PURE__ */ l(
34
+ i,
36
35
  {
37
- sx: n(h, x),
38
- onClick: () => f(!r),
36
+ component: "button",
37
+ sx: s(u, d),
38
+ onClick: () => r(!o),
39
+ onKeyDown: (n) => {
40
+ (n.key === "Enter" || n.key === " ") && (n.preventDefault(), r(!o));
41
+ },
42
+ "aria-controls": t,
43
+ "aria-expanded": o,
39
44
  children: [
40
- /* @__PURE__ */ o(
41
- y,
42
- {
43
- variant: i,
44
- "aria-controls": "collapse-text",
45
- "aria-expanded": r,
46
- sx: p,
47
- children: l
48
- }
49
- ),
50
- r ? /* @__PURE__ */ o(u, { sx: e }) : /* @__PURE__ */ o(w, { sx: e })
45
+ p,
46
+ o ? /* @__PURE__ */ e(w, { sx: a }) : /* @__PURE__ */ e(y, { sx: a })
51
47
  ]
52
48
  }
53
49
  ),
54
- /* @__PURE__ */ o(C, { in: r, children: /* @__PURE__ */ o(a, { sx: n(g, c), children: /* @__PURE__ */ o("div", { id: "collapse-text", children: m }) }) })
50
+ /* @__PURE__ */ e(h, { in: o, children: /* @__PURE__ */ e(i, { sx: s(g, x), children: /* @__PURE__ */ e("div", { id: t, children: f }) }) })
55
51
  ] });
56
52
  }
57
53
  export {
58
- B as default
54
+ j as default
59
55
  };
60
56
  //# sourceMappingURL=ComponentCollapse.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ComponentCollapse.js","sources":["../../src/components/ComponentCollapse.tsx"],"sourcesContent":["import { spreadSx } from '@/theme/spreadSx'\nimport {\n KeyboardArrowDownTwoTone,\n KeyboardArrowUpTwoTone,\n} from '@mui/icons-material'\nimport {\n Box,\n Collapse,\n SxProps,\n Typography,\n TypographyOwnProps,\n} from '@mui/material'\nimport { PropsWithChildren, useState } from 'react'\n\nexport type ComponentCollapseProps = PropsWithChildren<{\n text: string\n defaultVisible?: boolean // default to false (collapsed)\n textVariant?: TypographyOwnProps['variant']\n textSx?: SxProps\n textContainerSx?: SxProps\n collapseBoxSx?: SxProps\n iconSx?: SxProps\n}>\n\n/**\n * Wrap any Synapse config object in a collapse\n * @param props\n * @returns\n */\nexport default function ComponentCollapse({\n text,\n defaultVisible,\n textVariant = 'smallLink',\n textSx,\n textContainerSx,\n collapseBoxSx,\n iconSx,\n children,\n}: ComponentCollapseProps) {\n const [show, setShow] = useState(defaultVisible)\n const allIconSx: SxProps = {\n color: 'grey.700',\n marginBottom: '-5px !important',\n height: '18px',\n ...iconSx,\n }\n\n const textContainerDefaultSx: SxProps = {\n display: 'flex',\n justifyContent: 'space-between',\n backgroundColor: 'grey.200',\n padding: '15px',\n '&:hover': {\n cursor: 'pointer',\n },\n }\n const collapseBoxDefaultSx: SxProps = {\n backgroundColor: 'grey.100',\n padding: '25px',\n }\n return (\n <div className=\"MarkdownCollapse\">\n <Box\n sx={spreadSx(textContainerDefaultSx, textContainerSx)}\n onClick={() => setShow(!show)}\n >\n <Typography\n variant={textVariant}\n aria-controls=\"collapse-text\"\n aria-expanded={show}\n sx={textSx}\n >\n {text}\n </Typography>\n\n {show ? (\n <KeyboardArrowUpTwoTone sx={allIconSx} />\n ) : (\n <KeyboardArrowDownTwoTone sx={allIconSx} />\n )}\n </Box>\n <Collapse in={show}>\n <Box sx={spreadSx(collapseBoxDefaultSx, collapseBoxSx)}>\n <div id=\"collapse-text\">{children}</div>\n </Box>\n </Collapse>\n </div>\n )\n}\n"],"names":["ComponentCollapse","text","defaultVisible","textVariant","textSx","textContainerSx","collapseBoxSx","iconSx","children","show","setShow","useState","allIconSx","textContainerDefaultSx","collapseBoxDefaultSx","jsxs","Box","spreadSx","jsx","Typography","KeyboardArrowUpTwoTone","KeyboardArrowDownTwoTone","Collapse"],"mappings":";;;;;AA6BA,SAAwBA,EAAkB;AAAA,EACxC,MAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,aAAAC,IAAc;AAAA,EACd,QAAAC;AAAA,EACA,iBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC;AACF,GAA2B;AACzB,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAAST,CAAc,GACzCU,IAAqB;AAAA,IACzB,OAAO;AAAA,IACP,cAAc;AAAA,IACd,QAAQ;AAAA,IACR,GAAGL;AAAA,EAAA,GAGCM,IAAkC;AAAA,IACtC,SAAS;AAAA,IACT,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,IACjB,SAAS;AAAA,IACT,WAAW;AAAA,MACT,QAAQ;AAAA,IAAA;AAAA,EACV,GAEIC,IAAgC;AAAA,IACpC,iBAAiB;AAAA,IACjB,SAAS;AAAA,EAAA;AAEX,SACE,gBAAAC,EAAC,OAAA,EAAI,WAAU,oBACb,UAAA;AAAA,IAAA,gBAAAA;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,IAAIC,EAASJ,GAAwBR,CAAe;AAAA,QACpD,SAAS,MAAMK,EAAQ,CAACD,CAAI;AAAA,QAE5B,UAAA;AAAA,UAAA,gBAAAS;AAAA,YAACC;AAAA,YAAA;AAAA,cACC,SAAShB;AAAA,cACT,iBAAc;AAAA,cACd,iBAAeM;AAAA,cACf,IAAIL;AAAA,cAEH,UAAAH;AAAA,YAAA;AAAA,UAAA;AAAA,UAGFQ,sBACEW,GAAA,EAAuB,IAAIR,GAAW,IAEvC,gBAAAM,EAACG,GAAA,EAAyB,IAAIT,EAAA,CAAW;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,sBAG5CU,GAAA,EAAS,IAAIb,GACZ,UAAA,gBAAAS,EAACF,KAAI,IAAIC,EAASH,GAAsBR,CAAa,GACnD,UAAA,gBAAAY,EAAC,OAAA,EAAI,IAAG,iBAAiB,UAAAV,GAAS,GACpC,EAAA,CACF;AAAA,EAAA,GACF;AAEJ;"}
1
+ {"version":3,"file":"ComponentCollapse.js","sources":["../../src/components/ComponentCollapse.tsx"],"sourcesContent":["import { spreadSx } from '@/theme/spreadSx'\nimport {\n KeyboardArrowDownTwoTone,\n KeyboardArrowUpTwoTone,\n} from '@mui/icons-material'\nimport { Box, Collapse, SxProps } from '@mui/material'\nimport {\n KeyboardEvent,\n PropsWithChildren,\n ReactNode,\n useId,\n useState,\n} from 'react'\n\nexport type ComponentCollapseProps = PropsWithChildren<{\n component: ReactNode\n defaultVisible?: boolean // default to false (collapsed)\n componentContainerSx?: SxProps\n collapseBoxSx?: SxProps\n iconSx?: SxProps\n}>\n\n/**\n * Wrap any child components in a collapse, using a custom component as the trigger\n */\nexport default function ComponentCollapse({\n component,\n defaultVisible,\n componentContainerSx,\n collapseBoxSx,\n iconSx,\n children,\n}: ComponentCollapseProps) {\n const [show, setShow] = useState(defaultVisible)\n const collapseId = useId()\n const allIconSx: SxProps = {\n color: 'grey.700',\n marginBottom: '-5px !important',\n height: '18px',\n ...iconSx,\n }\n\n const componentContainerDefaultSx: SxProps = {\n display: 'flex',\n textAlign: 'left',\n justifyContent: 'space-between',\n backgroundColor: 'grey.200',\n padding: '15px',\n '&:hover': {\n cursor: 'pointer',\n },\n }\n const collapseBoxDefaultSx: SxProps = {\n backgroundColor: 'grey.100',\n padding: '25px',\n }\n\n return (\n <div className=\"MarkdownCollapse\">\n <Box\n component=\"button\"\n sx={spreadSx(componentContainerDefaultSx, componentContainerSx)}\n onClick={() => setShow(!show)}\n onKeyDown={(e: KeyboardEvent) => {\n if (e.key === 'Enter' || e.key === ' ') {\n e.preventDefault()\n setShow(!show)\n }\n }}\n aria-controls={collapseId}\n aria-expanded={show}\n >\n {component}\n {show ? (\n <KeyboardArrowUpTwoTone sx={allIconSx} />\n ) : (\n <KeyboardArrowDownTwoTone sx={allIconSx} />\n )}\n </Box>\n <Collapse in={show}>\n <Box sx={spreadSx(collapseBoxDefaultSx, collapseBoxSx)}>\n <div id={collapseId}>{children}</div>\n </Box>\n </Collapse>\n </div>\n )\n}\n"],"names":["ComponentCollapse","component","defaultVisible","componentContainerSx","collapseBoxSx","iconSx","children","show","setShow","useState","collapseId","useId","allIconSx","componentContainerDefaultSx","collapseBoxDefaultSx","jsxs","Box","spreadSx","e","KeyboardArrowUpTwoTone","jsx","KeyboardArrowDownTwoTone","Collapse"],"mappings":";;;;;AAyBA,SAAwBA,EAAkB;AAAA,EACxC,WAAAC;AAAA,EACA,gBAAAC;AAAA,EACA,sBAAAC;AAAA,EACA,eAAAC;AAAA,EACA,QAAAC;AAAA,EACA,UAAAC;AACF,GAA2B;AACzB,QAAM,CAACC,GAAMC,CAAO,IAAIC,EAASP,CAAc,GACzCQ,IAAaC,EAAA,GACbC,IAAqB;AAAA,IACzB,OAAO;AAAA,IACP,cAAc;AAAA,IACd,QAAQ;AAAA,IACR,GAAGP;AAAA,EAAA,GAGCQ,IAAuC;AAAA,IAC3C,SAAS;AAAA,IACT,WAAW;AAAA,IACX,gBAAgB;AAAA,IAChB,iBAAiB;AAAA,IACjB,SAAS;AAAA,IACT,WAAW;AAAA,MACT,QAAQ;AAAA,IAAA;AAAA,EACV,GAEIC,IAAgC;AAAA,IACpC,iBAAiB;AAAA,IACjB,SAAS;AAAA,EAAA;AAGX,SACE,gBAAAC,EAAC,OAAA,EAAI,WAAU,oBACb,UAAA;AAAA,IAAA,gBAAAA;AAAA,MAACC;AAAA,MAAA;AAAA,QACC,WAAU;AAAA,QACV,IAAIC,EAASJ,GAA6BV,CAAoB;AAAA,QAC9D,SAAS,MAAMK,EAAQ,CAACD,CAAI;AAAA,QAC5B,WAAW,CAACW,MAAqB;AAC/B,WAAIA,EAAE,QAAQ,WAAWA,EAAE,QAAQ,SACjCA,EAAE,eAAA,GACFV,EAAQ,CAACD,CAAI;AAAA,QAEjB;AAAA,QACA,iBAAeG;AAAA,QACf,iBAAeH;AAAA,QAEd,UAAA;AAAA,UAAAN;AAAA,UACAM,sBACEY,GAAA,EAAuB,IAAIP,GAAW,IAEvC,gBAAAQ,EAACC,GAAA,EAAyB,IAAIT,EAAA,CAAW;AAAA,QAAA;AAAA,MAAA;AAAA,IAAA;AAAA,sBAG5CU,GAAA,EAAS,IAAIf,GACZ,UAAA,gBAAAa,EAACJ,KAAI,IAAIC,EAASH,GAAsBV,CAAa,GACnD,UAAA,gBAAAgB,EAAC,OAAA,EAAI,IAAIV,GAAa,UAAAJ,GAAS,GACjC,EAAA,CACF;AAAA,EAAA,GACF;AAEJ;"}
@@ -40,11 +40,14 @@ import "@mui/material/SvgIcon";
40
40
  import "../../assets/icons/AccessPending.svg.js";
41
41
  import "../../assets/icons/AccessPendingCloud.svg.js";
42
42
  import "../../assets/icons/FileWithShield.svg.js";
43
+ import "../../assets/icons/MultiFile.svg.js";
44
+ import "../../assets/icons/UnpackagableFile.svg.js";
43
45
  import "../../assets/icons/bioChemicalPhysical.svg.js";
44
46
  import "../../assets/icons/computationalTool.svg.js";
45
47
  import "../../assets/icons/dataReuse.svg.js";
46
48
  import "../../assets/icons/inSilicoModel.svg.js";
47
49
  import "../../assets/icons/modelSystem.svg.js";
50
+ import "../../assets/mui_components/PackagableFile.svg.js";
48
51
  import "../../assets/icons/spatialProfiling.svg.js";
49
52
  import "react-select";
50
53
  import "@mui/material/Skeleton";
@@ -54,18 +57,18 @@ import "react-transition-group";
54
57
  import { SetBasicAccessRequirementFields as F } from "../SetBasicAccessRequirementFields/SetBasicAccessRequirementFields.js";
55
58
  import { SetManagedAccessRequirementFields as N } from "../SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js";
56
59
  import { getDialogTitle as q, isLastStep as v } from "./CreateOrUpdateAccessRequirementWizardUtils.js";
57
- function Pe(t) {
58
- const { open: E, onCancel: u, onComplete: n } = t, [o, a] = c(
60
+ function he(t) {
61
+ const { open: E, onCancel: u, onComplete: n } = t, [o, p] = c(
59
62
  "SET_AR_COMMON_FIELDS"
60
- ), [l, e] = c(!1), [r, R] = c(t.accessRequirementId), p = s(null), S = s(null), A = s(null), _ = s(null), f = !!t.accessRequirementId, d = M(() => {
63
+ ), [l, e] = c(!1), [r, R] = c(t.accessRequirementId), a = s(null), S = s(null), A = s(null), _ = s(null), f = !!t.accessRequirementId, d = M(() => {
61
64
  switch (o) {
62
65
  case "SET_AR_COMMON_FIELDS":
63
66
  return /* @__PURE__ */ m(
64
67
  L,
65
68
  {
66
- ref: p,
69
+ ref: a,
67
70
  onSave: (i, I) => {
68
- R(i), a(I === C ? "SET_MANAGED_AR_FIELDS" : "SET_BASIC_AR_FIELDS"), e(!1);
71
+ R(i), p(I === C ? "SET_MANAGED_AR_FIELDS" : "SET_BASIC_AR_FIELDS"), e(!1);
69
72
  },
70
73
  onError: () => e(!1),
71
74
  subject: t.subject,
@@ -79,7 +82,7 @@ function Pe(t) {
79
82
  ref: S,
80
83
  accessRequirementId: r,
81
84
  onSave: () => {
82
- a("SET_MANAGED_AR_ACL_PERMISSIONS"), e(!1);
85
+ p("SET_MANAGED_AR_ACL_PERMISSIONS"), e(!1);
83
86
  },
84
87
  onError: () => {
85
88
  e(!1);
@@ -125,7 +128,7 @@ function Pe(t) {
125
128
  onConfirm: (i) => {
126
129
  switch (i.preventDefault(), e(!0), o) {
127
130
  case "SET_AR_COMMON_FIELDS":
128
- p?.current?.save();
131
+ a?.current?.save();
129
132
  return;
130
133
  case "SET_MANAGED_AR_FIELDS":
131
134
  S?.current?.save();
@@ -148,7 +151,7 @@ function Pe(t) {
148
151
  );
149
152
  }
150
153
  export {
151
- Pe as CreateOrUpdateAccessRequirementWizard,
152
- Pe as default
154
+ he as CreateOrUpdateAccessRequirementWizard,
155
+ he as default
153
156
  };
154
157
  //# sourceMappingURL=CreateOrUpdateAccessRequirementWizard.js.map