synapse-react-client 4.0.1 → 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 (274) 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.d.ts +3 -0
  136. package/dist/components/EntityDownloadButton/EntityDownloadButton.d.ts.map +1 -1
  137. package/dist/components/EntityDownloadButton/EntityDownloadButton.js +113 -119
  138. package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
  139. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js +3 -3
  140. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js.map +1 -1
  141. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js +6 -2
  142. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
  143. package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js +11 -8
  144. package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js.map +1 -1
  145. package/dist/components/FullWidthAlert/FullWidthAlert.d.ts +2 -2
  146. package/dist/components/FullWidthAlert/FullWidthAlert.js.map +1 -1
  147. package/dist/components/GenericCard/GenericCard.d.ts +5 -5
  148. package/dist/components/GenericCard/GenericCard.d.ts.map +1 -1
  149. package/dist/components/GenericCard/GenericCard.js +117 -103
  150. package/dist/components/GenericCard/GenericCard.js.map +1 -1
  151. package/dist/components/GenericCard/LabelMaybeWithIcon.d.ts +10 -0
  152. package/dist/components/GenericCard/LabelMaybeWithIcon.d.ts.map +1 -0
  153. package/dist/components/GenericCard/LabelMaybeWithIcon.js +33 -0
  154. package/dist/components/GenericCard/LabelMaybeWithIcon.js.map +1 -0
  155. package/dist/components/GenericCard/SynapseCardLabel.d.ts +2 -1
  156. package/dist/components/GenericCard/SynapseCardLabel.d.ts.map +1 -1
  157. package/dist/components/GenericCard/SynapseCardLabel.js +86 -81
  158. package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
  159. package/dist/components/GenericCard/TableRowGenericCard.d.ts +7 -1
  160. package/dist/components/GenericCard/TableRowGenericCard.d.ts.map +1 -1
  161. package/dist/components/GenericCard/TableRowGenericCard.js +239 -202
  162. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  163. package/dist/components/HeaderCard.js +17 -13
  164. package/dist/components/HeaderCard.js.map +1 -1
  165. package/dist/components/Icon/Icon.js +52 -52
  166. package/dist/components/Icon/Icon.js.map +1 -1
  167. package/dist/components/IconSvg/IconSvg.d.ts +1 -1
  168. package/dist/components/IconSvg/IconSvg.d.ts.map +1 -1
  169. package/dist/components/IconSvg/IconSvg.js +215 -171
  170. package/dist/components/IconSvg/IconSvg.js.map +1 -1
  171. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +1 -0
  172. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  173. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +103 -102
  174. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  175. package/dist/components/StorybookComponentWrapper.js +6 -3
  176. package/dist/components/StorybookComponentWrapper.js.map +1 -1
  177. package/dist/components/SynapseChat/SynapseChat.d.ts +7 -1
  178. package/dist/components/SynapseChat/SynapseChat.d.ts.map +1 -1
  179. package/dist/components/SynapseChat/SynapseChat.js +76 -67
  180. package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
  181. package/dist/components/SynapseChat/SynapseChatInteraction.d.ts +2 -1
  182. package/dist/components/SynapseChat/SynapseChatInteraction.d.ts.map +1 -1
  183. package/dist/components/SynapseChat/SynapseChatInteraction.js +83 -58
  184. package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
  185. package/dist/components/SynapseChat/SynapseChatMessage.d.ts +1 -0
  186. package/dist/components/SynapseChat/SynapseChatMessage.d.ts.map +1 -1
  187. package/dist/components/SynapseChat/SynapseChatMessage.js +16 -15
  188. package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
  189. package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts +12 -0
  190. package/dist/components/SynapseChat/SynapsePortalChatDialog.d.ts.map +1 -0
  191. package/dist/components/SynapseChat/SynapsePortalChatDialog.js +30 -0
  192. package/dist/components/SynapseChat/SynapsePortalChatDialog.js.map +1 -0
  193. package/dist/components/SynapseChat/extractMessageFromTraceEvent.d.ts.map +1 -1
  194. package/dist/components/SynapseChat/extractMessageFromTraceEvent.js +22 -16
  195. package/dist/components/SynapseChat/extractMessageFromTraceEvent.js.map +1 -1
  196. package/dist/components/SynapseChat/index.d.ts +2 -0
  197. package/dist/components/SynapseChat/index.d.ts.map +1 -1
  198. package/dist/components/SynapseChat/index.js +5 -3
  199. package/dist/components/SynapseChat/index.js.map +1 -1
  200. package/dist/components/SynapseChat/useChatState.d.ts +1 -1
  201. package/dist/components/SynapseChat/useChatState.d.ts.map +1 -1
  202. package/dist/components/SynapseChat/useChatState.js +10 -7
  203. package/dist/components/SynapseChat/useChatState.js.map +1 -1
  204. package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.d.ts.map +1 -1
  205. package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js +30 -32
  206. package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js.map +1 -1
  207. package/dist/components/SynapseHomepageV2/SynapseHomepageSearch.d.ts.map +1 -1
  208. package/dist/components/SynapseHomepageV2/SynapseHomepageSearch.js +27 -30
  209. package/dist/components/SynapseHomepageV2/SynapseHomepageSearch.js.map +1 -1
  210. package/dist/components/SynapseHomepageV2/SynapseSearchChips.d.ts.map +1 -1
  211. package/dist/components/SynapseHomepageV2/SynapseSearchChips.js +14 -17
  212. package/dist/components/SynapseHomepageV2/SynapseSearchChips.js.map +1 -1
  213. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.d.ts.map +1 -1
  214. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +114 -115
  215. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
  216. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.d.ts.map +1 -1
  217. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js +66 -64
  218. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js.map +1 -1
  219. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +13 -13
  220. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
  221. package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js +9 -9
  222. package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js.map +1 -1
  223. package/dist/components/TextToComponentCollapse.d.ts +16 -0
  224. package/dist/components/TextToComponentCollapse.d.ts.map +1 -0
  225. package/dist/components/TextToComponentCollapse.js +29 -0
  226. package/dist/components/TextToComponentCollapse.js.map +1 -0
  227. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js +8 -3
  228. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js.map +1 -1
  229. package/dist/components/download_list/DownloadConfirmationUI.d.ts +1 -1
  230. package/dist/components/download_list/DownloadConfirmationUI.js +22 -22
  231. package/dist/components/download_list/DownloadConfirmationUI.js.map +1 -1
  232. package/dist/components/download_list/DownloadConfirmationUtils.js +4 -4
  233. package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
  234. package/dist/components/index.js +85 -83
  235. package/dist/components/index.js.map +1 -1
  236. package/dist/components/row_renderers/ObservationCard.js +12 -11
  237. package/dist/components/row_renderers/ObservationCard.js.map +1 -1
  238. package/dist/components/row_renderers/utils/CardFooter.d.ts +1 -3
  239. package/dist/components/row_renderers/utils/CardFooter.d.ts.map +1 -1
  240. package/dist/components/row_renderers/utils/CardFooter.js +31 -45
  241. package/dist/components/row_renderers/utils/CardFooter.js.map +1 -1
  242. package/dist/components/table/CsvPreview/CsvPreview.js +8 -3
  243. package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
  244. package/dist/components/table/CsvPreview/CsvPreviewDialog.js +8 -3
  245. package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
  246. package/dist/features/curator/GridPage/GridPage.js +8 -3
  247. package/dist/features/curator/GridPage/GridPage.js.map +1 -1
  248. package/dist/features/curator/GridPage/components/GridPageTitle.js +8 -3
  249. package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
  250. package/dist/index.js +137 -135
  251. package/dist/index.js.map +1 -1
  252. package/dist/style/components/_all.scss +0 -1
  253. package/dist/style/components/_cards.scss +22 -0
  254. package/dist/style/components/_download-list-v2.scss +1 -1
  255. package/dist/style/components/_query-wrapper-plot-nav.scss +13 -0
  256. package/dist/style/main.css +1 -1
  257. package/dist/tsconfig.build.tsbuildinfo +1 -1
  258. package/dist/utils/AppUtils/session/ApplicationSessionManager.d.ts.map +1 -1
  259. package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
  260. package/dist/utils/context/FullContextProvider.js +9 -9
  261. package/dist/utils/context/FullContextProvider.js.map +1 -1
  262. package/dist/utils/context/SynapseContext.d.ts.map +1 -1
  263. package/dist/utils/context/SynapseContext.js +1 -0
  264. package/dist/utils/context/SynapseContext.js.map +1 -1
  265. package/dist/utils/functions/SqlFunctions.d.ts +4 -0
  266. package/dist/utils/functions/SqlFunctions.d.ts.map +1 -1
  267. package/dist/utils/functions/SqlFunctions.js +25 -23
  268. package/dist/utils/functions/SqlFunctions.js.map +1 -1
  269. package/package.json +6 -6
  270. package/dist/assets/themed_icons/Challenge.d.ts +0 -3
  271. package/dist/assets/themed_icons/Challenge.d.ts.map +0 -1
  272. package/dist/assets/themed_icons/Challenge.js +0 -25
  273. package/dist/assets/themed_icons/Challenge.js.map +0 -1
  274. package/dist/style/components/_download-cart-page.scss +0 -204
@@ -1 +1 @@
1
- {"version":3,"file":"GenericCard.js","sources":["../../../src/components/GenericCard/GenericCard.tsx"],"sourcesContent":["import { GenericCardTitle } from '@/components/GenericCard/GenericCardTitle'\nimport { CardLabel } from '@/components/row_renderers/utils/CardFooter'\nimport { Box, Stack } from '@mui/material'\nimport { FileHandleAssociation } from '@sage-bionetworks/synapse-types'\nimport React, { CSSProperties, forwardRef } from 'react'\nimport { ColumnIconConfigs, DescriptionConfig } from '../CardContainerLogic'\nimport HeaderCard, { HeaderCardVariant } from '../HeaderCard'\nimport { CardFooter } from '../row_renderers/utils'\nimport { FileHandleLink } from '../widgets/FileHandleLink'\nimport { CollapsibleDescription } from './CollapsibleDescription'\nimport { SustainabilityScorecardProps } from '../SustainabilityScorecard/SustainabilityScorecard'\nimport { SmartLink } from '../SmartLink/SmartLink'\n\n/** Resolved CTA link configuration with actual href values (as opposed to CTACardLink which uses column names) */\nexport type CTALinkConfig = {\n text: React.ReactNode\n href?: string\n target?: string\n}\n\nexport type GenericCardProps = {\n /** String representing the 'type' of object. This is displayed as a label on the card. */\n type: string\n /** The title displayed on the card. */\n title: string\n /** Optionally provide href/target if the title should be a link */\n titleLinkConfiguration?: {\n href: string\n target: string\n }\n /** Optionally provide configuration if the title should be a link to a Synapse FileHandle */\n titleAsFileHandleLinkConfiguration?: {\n /** The FileHandleAssociation used to get access to the file handle */\n fileHandleAssociation: FileHandleAssociation\n /** Whether a 'download' icon should be shown */\n showDownloadIcon: boolean\n }\n /** An optional subtitle to be displayed on the card */\n subtitle?: string\n /** An description to be displayed on the card */\n description: string\n /** An optional description subtitle to be displayed on the card */\n descriptionSubTitle?: string\n /** Configuration for altering the display of the description prop */\n descriptionConfig?: DescriptionConfig\n /** Optional slot for adding content to the top of the card */\n cardTopContent?: React.ReactNode\n /** Optional slot for adding action buttons to the top of the card */\n cardTopButtons?: React.ReactNode\n /** If true, a HeaderCard component will be rendered */\n isHeader?: boolean\n /** The variant of HeaderCard to render if `isHeader` is true */\n headerCardVariant?: HeaderCardVariant\n /** Set to true if the icon is an arbitrary image. The card styles will be updated to accommodate the image\n * @default false */\n useStylesForDisplayedImage?: boolean\n /**\n * The rendered icon on the card\n */\n icon: React.ReactNode\n /**\n * The card labels to be displayed in the footer of the card\n */\n labels?: CardLabel[]\n /**\n * The initial number of labels to display in the footer of the card\n */\n secondaryLabelLimit?: number\n /**\n * Options for displaying icons with the labels in the card footer\n */\n columnIconOptions?: ColumnIconConfigs\n /**\n * Optional configuration for displaying CTA button(s) on the card. Accepts a single config or an array.\n */\n ctaLinkConfig?: CTALinkConfig | CTALinkConfig[]\n /**\n * The rendered icon list on the card\n */\n renderedIconList?: React.ReactNode\n /**\n * Optional sustainability scorecard to be displayed on the header card\n */\n sustainabilityScorecard?: SustainabilityScorecardProps\n /**\n * Optional ReactNode to be rendered next to the card type\n */\n cardTypeAdornment?: React.ReactNode\n /**\n * Character count threshold for truncating description\n * @default 400\n */\n charCountCutoff?: number\n}\n\nconst EMPTY_CARD_LABEL_ARRAY: CardLabel[] = []\n\n/**\n * Generic portal card UI component with a predefined layout\n */\nexport const GenericCard = forwardRef(function GenericCard(\n props: GenericCardProps,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {\n icon,\n type,\n title,\n titleLinkConfiguration,\n titleAsFileHandleLinkConfiguration,\n subtitle,\n description,\n descriptionSubTitle = '',\n descriptionConfig,\n cardTopContent,\n cardTopButtons,\n isHeader = false,\n headerCardVariant,\n useStylesForDisplayedImage = false,\n labels = EMPTY_CARD_LABEL_ARRAY,\n secondaryLabelLimit,\n columnIconOptions,\n ctaLinkConfig,\n renderedIconList,\n sustainabilityScorecard,\n cardTypeAdornment,\n charCountCutoff,\n } = props\n\n const showFooter = labels.length > 0\n\n const style: CSSProperties = {\n // undefined, take default value from class\n marginTop: isHeader ? '0px' : undefined,\n marginBottom: isHeader ? '0px' : undefined,\n paddingBottom:\n showFooter || useStylesForDisplayedImage ? undefined : '15px',\n }\n\n if (isHeader) {\n return (\n <HeaderCard\n ref={ref}\n headerCardVariant={headerCardVariant}\n descriptionConfig={descriptionConfig}\n charCountCutoff={charCountCutoff}\n title={title}\n subTitle={subtitle}\n description={description}\n type={type}\n icon={icon}\n values={labels}\n href={titleLinkConfiguration?.href}\n target={titleLinkConfiguration?.target}\n ctaLinkConfig={ctaLinkConfig}\n isAlignToLeftNav={true}\n secondaryLabelLimit={secondaryLabelLimit}\n cardTopButtons={cardTopButtons}\n cardTopContent={cardTopContent}\n sustainabilityScorecard={sustainabilityScorecard}\n />\n )\n }\n\n return (\n <div style={style} ref={ref} className={'SRC-portalCard'}>\n <div className={'SRC-portalCardMain'}>\n {icon}\n <div className=\"SRC-cardContent\">\n {cardTopButtons && (\n <Box\n sx={{\n position: 'absolute',\n right: '24px',\n display: 'flex',\n float: 'right',\n flexDirection: 'row',\n gap: '10px',\n }}\n >\n {cardTopButtons}\n </Box>\n )}\n <Stack\n sx={{\n flexDirection: 'row',\n alignItems: 'center',\n gap: '10px',\n }}\n >\n <div className=\"SRC-type\">{type}</div>\n {cardTypeAdornment}\n </Stack>\n {renderedIconList}\n <div>\n <h3\n className=\"SRC-boldText SRC-blackText\"\n style={{ margin: 'none' }}\n >\n {!titleAsFileHandleLinkConfiguration && (\n <GenericCardTitle\n title={title}\n href={titleLinkConfiguration?.href}\n target={titleLinkConfiguration?.target}\n />\n )}\n {titleAsFileHandleLinkConfiguration && (\n <FileHandleLink\n fileHandleAssociation={\n titleAsFileHandleLinkConfiguration.fileHandleAssociation\n }\n showDownloadIcon={\n titleAsFileHandleLinkConfiguration.showDownloadIcon\n }\n displayValue={title}\n />\n )}\n </h3>\n </div>\n {subtitle && <div className=\"SRC-author\">{subtitle}</div>}\n <CollapsibleDescription\n description={description}\n descriptionSubTitle={descriptionSubTitle}\n descriptionConfig={descriptionConfig}\n />\n {ctaLinkConfig && (\n <Box sx={{ mt: '20px', display: 'flex', gap: 2, flexWrap: 'wrap' }}>\n {(Array.isArray(ctaLinkConfig)\n ? ctaLinkConfig\n : [ctaLinkConfig]\n ).map(\n (config, index) =>\n config.text &&\n config.href && (\n <SmartLink\n key={index}\n href={config.href}\n target={config.target}\n >\n {config.text}\n </SmartLink>\n ),\n )}\n </Box>\n )}\n </div>\n </div>\n {showFooter && (\n <CardFooter\n isHeader={false}\n secondaryLabelLimit={secondaryLabelLimit}\n values={labels}\n columnIconOptions={columnIconOptions}\n className={useStylesForDisplayedImage ? undefined : 'hasIcon'}\n cardTopContent={cardTopContent}\n />\n )}\n </div>\n )\n})\n\nexport default GenericCard\n"],"names":["EMPTY_CARD_LABEL_ARRAY","GenericCard","forwardRef","props","ref","icon","type","title","titleLinkConfiguration","titleAsFileHandleLinkConfiguration","subtitle","description","descriptionSubTitle","descriptionConfig","cardTopContent","cardTopButtons","isHeader","headerCardVariant","useStylesForDisplayedImage","labels","secondaryLabelLimit","columnIconOptions","ctaLinkConfig","renderedIconList","sustainabilityScorecard","cardTypeAdornment","charCountCutoff","showFooter","style","jsx","HeaderCard","jsxs","Box","Stack","GenericCardTitle","FileHandleLink","CollapsibleDescription","config","index","SmartLink","CardFooter"],"mappings":"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"}
1
+ {"version":3,"file":"GenericCard.js","sources":["../../../src/components/GenericCard/GenericCard.tsx"],"sourcesContent":["import { GenericCardTitle } from '@/components/GenericCard/GenericCardTitle'\nimport { CardLabel } from '@/components/row_renderers/utils/CardFooter'\nimport { Box, Stack } from '@mui/material'\nimport { FileHandleAssociation } from '@sage-bionetworks/synapse-types'\nimport React, { CSSProperties, forwardRef } from 'react'\nimport { DescriptionConfig } from '../CardContainerLogic'\nimport HeaderCard, { HeaderCardVariant } from '../HeaderCard'\nimport { CardFooter } from '../row_renderers/utils'\nimport { SmartLink } from '../SmartLink/SmartLink'\nimport { SustainabilityScorecardProps } from '../SustainabilityScorecard/SustainabilityScorecard'\nimport { FileHandleLink } from '../widgets/FileHandleLink'\nimport { CollapsibleDescription } from './CollapsibleDescription'\n\n/** Resolved CTA link configuration with actual href values (as opposed to CTACardLink which uses column names) */\nexport type CTALinkConfig = {\n text: React.ReactNode\n href?: string\n target?: string\n}\n\nexport type GenericCardProps = {\n /** String representing the 'type' of object. This is displayed as a label on the card. */\n type: string\n /** The title displayed on the card. */\n title: string\n /** Optionally provide href/target if the title should be a link */\n titleLinkConfiguration?: {\n href: string\n target: string\n }\n /** Optionally provide configuration if the title should be a link to a Synapse FileHandle */\n titleAsFileHandleLinkConfiguration?: {\n /** The FileHandleAssociation used to get access to the file handle */\n fileHandleAssociation: FileHandleAssociation\n /** Whether a 'download' icon should be shown */\n showDownloadIcon: boolean\n }\n /** An optional subtitle to be displayed on the card */\n subtitle?: string\n /** An description to be displayed on the card */\n description: string\n /** An optional description subtitle to be displayed on the card */\n descriptionSubTitle?: string\n /** Configuration for altering the display of the description prop */\n descriptionConfig?: DescriptionConfig\n /** Optional slot for adding content to the top of the card */\n cardTopContent?: React.ReactNode\n /** Optional slot for adding action buttons to the top of the card */\n cardTopButtons?: React.ReactNode\n /** If true, a HeaderCard component will be rendered */\n isHeader?: boolean\n /** The variant of HeaderCard to render if `isHeader` is true */\n headerCardVariant?: HeaderCardVariant\n /** Set to true if the icon is an arbitrary image. The card styles will be updated to accommodate the image\n * @default false */\n useStylesForDisplayedImage?: boolean\n /**\n * The rendered icon on the card\n */\n icon: React.ReactNode\n /**\n * The card labels to be displayed in the footer of the card\n */\n labels?: CardLabel[]\n /**\n * The initial number of labels to display in the footer of the card\n */\n secondaryLabelLimit?: number\n /**\n * Optional configuration for displaying CTA button(s) on the card. Accepts a single config or an array.\n */\n ctaLinkConfig?: CTALinkConfig | CTALinkConfig[]\n /**\n * The rendered icon list on the card\n */\n renderedIconList?: React.ReactNode\n /**\n * Optional sustainability scorecard to be displayed on the header card\n */\n sustainabilityScorecard?: SustainabilityScorecardProps\n /**\n * Optional ReactNode to be rendered next to the card type\n */\n cardTypeAdornment?: React.ReactNode\n /**\n * Optional content to render to the right of the title/subtitle/description area.\n */\n titleAreaRightContent?: React.ReactNode\n /**\n * Character count threshold for truncating description\n * @default 400\n */\n charCountCutoff?: number\n}\n\nconst EMPTY_CARD_LABEL_ARRAY: CardLabel[] = []\n\n/**\n * Generic portal card UI component with a predefined layout\n */\nexport const GenericCard = forwardRef(function GenericCard(\n props: GenericCardProps,\n ref: React.Ref<HTMLDivElement>,\n) {\n const {\n icon,\n type,\n title,\n titleLinkConfiguration,\n titleAsFileHandleLinkConfiguration,\n subtitle,\n description,\n descriptionSubTitle = '',\n descriptionConfig,\n cardTopContent,\n cardTopButtons,\n isHeader = false,\n headerCardVariant,\n useStylesForDisplayedImage = false,\n labels = EMPTY_CARD_LABEL_ARRAY,\n secondaryLabelLimit,\n ctaLinkConfig,\n renderedIconList,\n sustainabilityScorecard,\n cardTypeAdornment,\n titleAreaRightContent,\n charCountCutoff,\n } = props\n\n const showFooter = labels.length > 0\n\n const style: CSSProperties = {\n // undefined, take default value from class\n marginTop: isHeader ? '0px' : undefined,\n marginBottom: isHeader ? '0px' : undefined,\n paddingBottom:\n showFooter || useStylesForDisplayedImage ? undefined : '15px',\n }\n\n if (isHeader) {\n return (\n <HeaderCard\n ref={ref}\n headerCardVariant={headerCardVariant}\n descriptionConfig={descriptionConfig}\n charCountCutoff={charCountCutoff}\n title={title}\n subTitle={subtitle}\n description={description}\n type={type}\n icon={icon}\n values={labels}\n href={titleLinkConfiguration?.href}\n target={titleLinkConfiguration?.target}\n ctaLinkConfig={ctaLinkConfig}\n isAlignToLeftNav={true}\n secondaryLabelLimit={secondaryLabelLimit}\n cardTopButtons={cardTopButtons}\n cardTopContent={cardTopContent}\n sustainabilityScorecard={sustainabilityScorecard}\n />\n )\n }\n\n return (\n <div style={style} ref={ref} className={'SRC-portalCard'}>\n <div className={'SRC-portalCardMain'}>\n {icon}\n <div className=\"SRC-cardContent\">\n {cardTopButtons && (\n <Box\n sx={{\n position: 'absolute',\n right: '24px',\n display: 'flex',\n float: 'right',\n flexDirection: 'row',\n gap: '10px',\n }}\n >\n {cardTopButtons}\n </Box>\n )}\n <Stack\n sx={{\n flexDirection: 'row',\n alignItems: 'center',\n gap: '10px',\n }}\n >\n <div className=\"SRC-type\">{type}</div>\n {cardTypeAdornment}\n </Stack>\n {renderedIconList}\n <Box className=\"SRC-cardTitleArea\">\n <Box sx={{ flex: 1, minWidth: 0 }}>\n <div>\n <h3\n className=\"SRC-boldText SRC-blackText\"\n style={{ margin: 'none' }}\n >\n {!titleAsFileHandleLinkConfiguration && (\n <GenericCardTitle\n title={title}\n href={titleLinkConfiguration?.href}\n target={titleLinkConfiguration?.target}\n />\n )}\n {titleAsFileHandleLinkConfiguration && (\n <FileHandleLink\n fileHandleAssociation={\n titleAsFileHandleLinkConfiguration.fileHandleAssociation\n }\n showDownloadIcon={\n titleAsFileHandleLinkConfiguration.showDownloadIcon\n }\n displayValue={title}\n />\n )}\n </h3>\n </div>\n {subtitle && <div className=\"SRC-author\">{subtitle}</div>}\n <CollapsibleDescription\n description={description}\n descriptionSubTitle={descriptionSubTitle}\n descriptionConfig={descriptionConfig}\n />\n {ctaLinkConfig && (\n <Box\n sx={{ mt: '20px', display: 'flex', gap: 2, flexWrap: 'wrap' }}\n >\n {(Array.isArray(ctaLinkConfig)\n ? ctaLinkConfig\n : [ctaLinkConfig]\n ).map(\n (config, index) =>\n config.text &&\n config.href && (\n <SmartLink\n key={index}\n href={config.href}\n target={config.target}\n >\n {config.text}\n </SmartLink>\n ),\n )}\n </Box>\n )}\n </Box>\n {titleAreaRightContent && (\n <div className=\"SRC-cardTitleAreaDetails\">\n {titleAreaRightContent}\n </div>\n )}\n </Box>\n </div>\n </div>\n {showFooter && (\n <CardFooter\n isHeader={false}\n secondaryLabelLimit={secondaryLabelLimit}\n values={labels}\n className={useStylesForDisplayedImage ? undefined : 'hasIcon'}\n cardTopContent={cardTopContent}\n />\n )}\n </div>\n )\n})\n\nexport default GenericCard\n"],"names":["EMPTY_CARD_LABEL_ARRAY","GenericCard","forwardRef","props","ref","icon","type","title","titleLinkConfiguration","titleAsFileHandleLinkConfiguration","subtitle","description","descriptionSubTitle","descriptionConfig","cardTopContent","cardTopButtons","isHeader","headerCardVariant","useStylesForDisplayedImage","labels","secondaryLabelLimit","ctaLinkConfig","renderedIconList","sustainabilityScorecard","cardTypeAdornment","titleAreaRightContent","charCountCutoff","showFooter","style","jsx","HeaderCard","jsxs","Box","Stack","GenericCardTitle","FileHandleLink","CollapsibleDescription","config","index","SmartLink","CardFooter"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+FA,MAAMA,IAAsC,CAAA,GAK/BC,KAAcC,EAAW,SACpCC,GACAC,GACA;AACA,QAAM;AAAA,IACJ,MAAAC;AAAA,IACA,MAAAC;AAAA,IACA,OAAAC;AAAA,IACA,wBAAAC;AAAA,IACA,oCAAAC;AAAA,IACA,UAAAC;AAAA,IACA,aAAAC;AAAA,IACA,qBAAAC,IAAsB;AAAA,IACtB,mBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,UAAAC,IAAW;AAAA,IACX,mBAAAC;AAAA,IACA,4BAAAC,IAA6B;AAAA,IAC7B,QAAAC,IAASnB;AAAA,IACT,qBAAAoB;AAAA,IACA,eAAAC;AAAA,IACA,kBAAAC;AAAA,IACA,yBAAAC;AAAA,IACA,mBAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,iBAAAC;AAAA,EAAA,IACEvB,GAEEwB,IAAaR,EAAO,SAAS,GAE7BS,IAAuB;AAAA;AAAA,IAE3B,WAAWZ,IAAW,QAAQ;AAAA,IAC9B,cAAcA,IAAW,QAAQ;AAAA,IACjC,eACEW,KAAcT,IAA6B,SAAY;AAAA,EAAA;AAG3D,SAAIF,IAEA,gBAAAa;AAAA,IAACC;AAAA,IAAA;AAAA,MACC,KAAA1B;AAAA,MACA,mBAAAa;AAAA,MACA,mBAAAJ;AAAA,MACA,iBAAAa;AAAA,MACA,OAAAnB;AAAA,MACA,UAAUG;AAAA,MACV,aAAAC;AAAA,MACA,MAAAL;AAAA,MACA,MAAAD;AAAA,MACA,QAAQc;AAAA,MACR,MAAMX,GAAwB;AAAA,MAC9B,QAAQA,GAAwB;AAAA,MAChC,eAAAa;AAAA,MACA,kBAAkB;AAAA,MAClB,qBAAAD;AAAA,MACA,gBAAAL;AAAA,MACA,gBAAAD;AAAA,MACA,yBAAAS;AAAA,IAAA;AAAA,EAAA,IAMJ,gBAAAQ,EAAC,OAAA,EAAI,OAAAH,GAAc,KAAAxB,GAAU,WAAW,kBACtC,UAAA;AAAA,IAAA,gBAAA2B,EAAC,OAAA,EAAI,WAAW,sBACb,UAAA;AAAA,MAAA1B;AAAA,MACD,gBAAA0B,EAAC,OAAA,EAAI,WAAU,mBACZ,UAAA;AAAA,QAAAhB,KACC,gBAAAc;AAAA,UAACG;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,cACF,UAAU;AAAA,cACV,OAAO;AAAA,cACP,SAAS;AAAA,cACT,OAAO;AAAA,cACP,eAAe;AAAA,cACf,KAAK;AAAA,YAAA;AAAA,YAGN,UAAAjB;AAAA,UAAA;AAAA,QAAA;AAAA,QAGL,gBAAAgB;AAAA,UAACE;AAAA,UAAA;AAAA,YACC,IAAI;AAAA,cACF,eAAe;AAAA,cACf,YAAY;AAAA,cACZ,KAAK;AAAA,YAAA;AAAA,YAGP,UAAA;AAAA,cAAA,gBAAAJ,EAAC,OAAA,EAAI,WAAU,YAAY,UAAAvB,GAAK;AAAA,cAC/BkB;AAAA,YAAA;AAAA,UAAA;AAAA,QAAA;AAAA,QAEFF;AAAA,QACD,gBAAAS,EAACC,GAAA,EAAI,WAAU,qBACb,UAAA;AAAA,UAAA,gBAAAD,EAACC,KAAI,IAAI,EAAE,MAAM,GAAG,UAAU,KAC5B,UAAA;AAAA,YAAA,gBAAAH,EAAC,OAAA,EACC,UAAA,gBAAAE;AAAA,cAAC;AAAA,cAAA;AAAA,gBACC,WAAU;AAAA,gBACV,OAAO,EAAE,QAAQ,OAAA;AAAA,gBAEhB,UAAA;AAAA,kBAAA,CAACtB,KACA,gBAAAoB;AAAA,oBAACK;AAAA,oBAAA;AAAA,sBACC,OAAA3B;AAAA,sBACA,MAAMC,GAAwB;AAAA,sBAC9B,QAAQA,GAAwB;AAAA,oBAAA;AAAA,kBAAA;AAAA,kBAGnCC,KACC,gBAAAoB;AAAA,oBAACM;AAAA,oBAAA;AAAA,sBACC,uBACE1B,EAAmC;AAAA,sBAErC,kBACEA,EAAmC;AAAA,sBAErC,cAAcF;AAAA,oBAAA;AAAA,kBAAA;AAAA,gBAChB;AAAA,cAAA;AAAA,YAAA,GAGN;AAAA,YACCG,KAAY,gBAAAmB,EAAC,OAAA,EAAI,WAAU,cAAc,UAAAnB,GAAS;AAAA,YACnD,gBAAAmB;AAAA,cAACO;AAAA,cAAA;AAAA,gBACC,aAAAzB;AAAA,gBACA,qBAAAC;AAAA,gBACA,mBAAAC;AAAA,cAAA;AAAA,YAAA;AAAA,YAEDQ,KACC,gBAAAQ;AAAA,cAACG;AAAA,cAAA;AAAA,gBACC,IAAI,EAAE,IAAI,QAAQ,SAAS,QAAQ,KAAK,GAAG,UAAU,OAAA;AAAA,gBAEnD,iBAAM,QAAQX,CAAa,IACzBA,IACA,CAACA,CAAa,GAChB;AAAA,kBACA,CAACgB,GAAQC,MACPD,EAAO,QACPA,EAAO,QACL,gBAAAR;AAAA,oBAACU;AAAA,oBAAA;AAAA,sBAEC,MAAMF,EAAO;AAAA,sBACb,QAAQA,EAAO;AAAA,sBAEd,UAAAA,EAAO;AAAA,oBAAA;AAAA,oBAJHC;AAAA,kBAAA;AAAA,gBAKP;AAAA,cAEN;AAAA,YAAA;AAAA,UACF,GAEJ;AAAA,UACCb,KACC,gBAAAI,EAAC,OAAA,EAAI,WAAU,4BACZ,UAAAJ,EAAA,CACH;AAAA,QAAA,EAAA,CAEJ;AAAA,MAAA,EAAA,CACF;AAAA,IAAA,GACF;AAAA,IACCE,KACC,gBAAAE;AAAA,MAACW;AAAA,MAAA;AAAA,QACC,UAAU;AAAA,QACV,qBAAApB;AAAA,QACA,QAAQD;AAAA,QACR,WAAWD,IAA6B,SAAY;AAAA,QACpD,gBAAAJ;AAAA,MAAA;AAAA,IAAA;AAAA,EACF,GAEJ;AAEJ,CAAC;"}
@@ -0,0 +1,10 @@
1
+ import { ReactNode } from 'react';
2
+ import { ColumnIconConfigs } from '../CardContainerLogic';
3
+ type LabelMaybeWithIconProps = {
4
+ children: ReactNode;
5
+ value: string;
6
+ iconConfig: ColumnIconConfigs['columns'][string] | undefined;
7
+ };
8
+ export declare function LabelMaybeWithIcon({ children, value, iconConfig, }: LabelMaybeWithIconProps): import("react/jsx-runtime").JSX.Element;
9
+ export {};
10
+ //# sourceMappingURL=LabelMaybeWithIcon.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LabelMaybeWithIcon.d.ts","sourceRoot":"","sources":["../../../src/components/GenericCard/LabelMaybeWithIcon.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAA;AACjC,OAAO,EAAE,iBAAiB,EAAE,MAAM,uBAAuB,CAAA;AAGzD,KAAK,uBAAuB,GAAG;IAC7B,QAAQ,EAAE,SAAS,CAAA;IACnB,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,iBAAiB,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,GAAG,SAAS,CAAA;CAC7D,CAAA;AAED,wBAAgB,kBAAkB,CAAC,EACjC,QAAQ,EACR,KAAK,EACL,UAAU,GACX,EAAE,uBAAuB,2CAqBzB"}
@@ -0,0 +1,33 @@
1
+ import { jsx as n, Fragment as e, jsxs as a } from "react/jsx-runtime";
2
+ import { Box as l } from "@mui/material";
3
+ import m from "../IconSvg/IconSvg.js";
4
+ function g({
5
+ children: r,
6
+ value: i,
7
+ iconConfig: o
8
+ }) {
9
+ const t = o?.[i];
10
+ if (!t) return /* @__PURE__ */ n(e, { children: r });
11
+ const { containerSx: s, ...c } = t;
12
+ return /* @__PURE__ */ a(e, { children: [
13
+ /* @__PURE__ */ n(
14
+ l,
15
+ {
16
+ sx: {
17
+ display: "inline-flex",
18
+ alignItems: "center",
19
+ justifyContent: "center",
20
+ verticalAlign: "middle",
21
+ marginRight: "7px",
22
+ ...s
23
+ },
24
+ children: /* @__PURE__ */ n(m, { wrap: !1, ...c })
25
+ }
26
+ ),
27
+ r
28
+ ] });
29
+ }
30
+ export {
31
+ g as LabelMaybeWithIcon
32
+ };
33
+ //# sourceMappingURL=LabelMaybeWithIcon.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LabelMaybeWithIcon.js","sources":["../../../src/components/GenericCard/LabelMaybeWithIcon.tsx"],"sourcesContent":["import { Box } from '@mui/material'\nimport { ReactNode } from 'react'\nimport { ColumnIconConfigs } from '../CardContainerLogic'\nimport IconSVG from '../IconSvg/IconSvg'\n\ntype LabelMaybeWithIconProps = {\n children: ReactNode\n value: string\n iconConfig: ColumnIconConfigs['columns'][string] | undefined\n}\n\nexport function LabelMaybeWithIcon({\n children,\n value,\n iconConfig,\n}: LabelMaybeWithIconProps) {\n const iconProps = iconConfig?.[value]\n if (!iconProps) return <>{children}</>\n const { containerSx, ...svgProps } = iconProps\n return (\n <>\n <Box\n sx={{\n display: 'inline-flex',\n alignItems: 'center',\n justifyContent: 'center',\n verticalAlign: 'middle',\n marginRight: '7px',\n ...containerSx,\n }}\n >\n <IconSVG wrap={false} {...svgProps} />\n </Box>\n {children}\n </>\n )\n}\n"],"names":["LabelMaybeWithIcon","children","value","iconConfig","iconProps","jsx","Fragment","containerSx","svgProps","jsxs","Box","IconSVG"],"mappings":";;;AAWO,SAASA,EAAmB;AAAA,EACjC,UAAAC;AAAA,EACA,OAAAC;AAAA,EACA,YAAAC;AACF,GAA4B;AAC1B,QAAMC,IAAYD,IAAaD,CAAK;AACpC,MAAI,CAACE,EAAW,QAAO,gBAAAC,EAAAC,GAAA,EAAG,UAAAL,EAAA,CAAS;AACnC,QAAM,EAAE,aAAAM,GAAa,GAAGC,EAAA,IAAaJ;AACrC,SACE,gBAAAK,EAAAH,GAAA,EACE,UAAA;AAAA,IAAA,gBAAAD;AAAA,MAACK;AAAA,MAAA;AAAA,QACC,IAAI;AAAA,UACF,SAAS;AAAA,UACT,YAAY;AAAA,UACZ,gBAAgB;AAAA,UAChB,eAAe;AAAA,UACf,aAAa;AAAA,UACb,GAAGH;AAAA,QAAA;AAAA,QAGL,UAAA,gBAAAF,EAACM,GAAA,EAAQ,MAAM,IAAQ,GAAGH,EAAA,CAAU;AAAA,MAAA;AAAA,IAAA;AAAA,IAErCP;AAAA,EAAA,GACH;AAEJ;"}
@@ -1,6 +1,6 @@
1
1
  import { CardLink } from '@/components/CardContainer/CardLink';
2
2
  import { ColumnModel, Row, SelectColumn } from '@sage-bionetworks/synapse-types';
3
- import { ColumnSpecifiedLink, MarkdownLink } from '../CardContainerLogic';
3
+ import { ColumnIconConfigs, ColumnSpecifiedLink, MarkdownLink } from '../CardContainerLogic';
4
4
  import { EntityImage, MapValueToReactComponentConfig } from '../CardContainerLogic/CardContainerLogic';
5
5
  type SynapseCardLabelProps = {
6
6
  value: string;
@@ -12,6 +12,7 @@ type SynapseCardLabelProps = {
12
12
  className?: string;
13
13
  rowData: Row['values'];
14
14
  rowId?: string;
15
+ columnIconOptions?: ColumnIconConfigs;
15
16
  };
16
17
  export declare function SynapseCardLabel(props: SynapseCardLabelProps): import("react/jsx-runtime").JSX.Element;
17
18
  export {};
@@ -1 +1 @@
1
- {"version":3,"file":"SynapseCardLabel.d.ts","sourceRoot":"","sources":["../../../src/components/GenericCard/SynapseCardLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAK9D,OAAO,EACL,WAAW,EAEX,GAAG,EACH,YAAY,EACb,MAAM,iCAAiC,CAAA;AAIxC,OAAO,EAAE,mBAAmB,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAA;AAEzE,OAAO,EACL,WAAW,EACX,8BAA8B,EAC/B,MAAM,0CAA0C,CAAA;AAQjD,KAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EACL,QAAQ,GACR,YAAY,GACZ,mBAAmB,GACnB,WAAW,GACX,8BAA8B,GAC9B,SAAS,CAAA;IACb,aAAa,EAAE,YAAY,EAAE,GAAG,SAAS,CAAA;IACzC,YAAY,EAAE,WAAW,EAAE,GAAG,SAAS,CAAA;IACvC,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;CACf,CAAA;AACD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,2CAkO5D"}
1
+ {"version":3,"file":"SynapseCardLabel.d.ts","sourceRoot":"","sources":["../../../src/components/GenericCard/SynapseCardLabel.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,qCAAqC,CAAA;AAM9D,OAAO,EACL,WAAW,EAEX,GAAG,EACH,YAAY,EACb,MAAM,iCAAiC,CAAA;AAIxC,OAAO,EACL,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACb,MAAM,uBAAuB,CAAA;AAC9B,OAAO,EACL,WAAW,EACX,8BAA8B,EAC/B,MAAM,0CAA0C,CAAA;AASjD,KAAK,qBAAqB,GAAG;IAC3B,KAAK,EAAE,MAAM,CAAA;IACb,UAAU,EAAE,MAAM,CAAA;IAClB,SAAS,EACL,QAAQ,GACR,YAAY,GACZ,mBAAmB,GACnB,WAAW,GACX,8BAA8B,GAC9B,SAAS,CAAA;IACb,aAAa,EAAE,YAAY,EAAE,GAAG,SAAS,CAAA;IACzC,YAAY,EAAE,WAAW,EAAE,GAAG,SAAS,CAAA;IACvC,QAAQ,EAAE,OAAO,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,OAAO,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;IACtB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;CACtC,CAAA;AACD,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,qBAAqB,2CAoP5D"}
@@ -1,7 +1,7 @@
1
- import { jsx as e, jsxs as p, Fragment as w } from "react/jsx-runtime";
2
- import { getValueOrMultiValue as F } from "./CardUtils.js";
3
- import { formatDate as H } from "../../utils/functions/DateFormatter.js";
4
- import { getColumnIndex as U } from "../../utils/functions/SqlFunctions.js";
1
+ import { jsx as e, jsxs as d, Fragment as k } from "react/jsx-runtime";
2
+ import { getValueOrMultiValue as P } from "./CardUtils.js";
3
+ import { formatDate as q } from "../../utils/functions/DateFormatter.js";
4
+ import { getColumnIndex as D } from "../../utils/functions/SqlFunctions.js";
5
5
  import "../../utils/functions/EntityTypeUtils.js";
6
6
  import "../../utils/SynapseConstants.js";
7
7
  import "../../synapse-client/SynapseClient.js";
@@ -9,138 +9,143 @@ import "@sage-bionetworks/synapse-client/generated/models/ErrorResponseCode";
9
9
  import "@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse";
10
10
  import "@sage-bionetworks/synapse-client/util/SynapseClientError";
11
11
  import "@sage-bionetworks/synapse-client/util/synapseClientFetch";
12
- import { isEmpty as _ } from "lodash-es";
13
- import { Tooltip as A } from "@mui/material";
14
- import { ColumnTypeEnum as y } from "@sage-bionetworks/synapse-types";
15
- import B from "dayjs";
16
- import { Fragment as f } from "react";
17
- import { TargetEnum as v } from "../../utils/html/TargetEnum.js";
18
- import { EntityLink as P } from "../EntityLink.js";
19
- import { MarkdownSynapse as x } from "../Markdown/MarkdownSynapse.js";
20
- import { UserBadge as D } from "../UserCard/UserBadge.js";
21
- import { EntityColumnImage as $ } from "../widgets/EntityColumnImage.js";
22
- import q from "./Linkify.js";
23
- import { SmartLink as M } from "../SmartLink/SmartLink.js";
24
- function he(b) {
12
+ import { isEmpty as z } from "lodash-es";
13
+ import { TargetEnum as b } from "../../utils/html/TargetEnum.js";
14
+ import { Tooltip as G } from "@mui/material";
15
+ import { ColumnTypeEnum as R } from "@sage-bionetworks/synapse-types";
16
+ import J from "dayjs";
17
+ import { Fragment as p } from "react";
18
+ import { EntityLink as K } from "../EntityLink.js";
19
+ import { MarkdownSynapse as M } from "../Markdown/MarkdownSynapse.js";
20
+ import { SmartLink as $ } from "../SmartLink/SmartLink.js";
21
+ import { UserBadge as W } from "../UserCard/UserBadge.js";
22
+ import { EntityColumnImage as S } from "../widgets/EntityColumnImage.js";
23
+ import { LabelMaybeWithIcon as V } from "./LabelMaybeWithIcon.js";
24
+ import O from "./Linkify.js";
25
+ function Le(j) {
25
26
  const {
26
27
  value: s,
27
- columnName: S,
28
+ columnName: T,
28
29
  labelLink: r,
29
- selectColumns: C,
30
+ selectColumns: I,
30
31
  columnModels: L,
31
- isHeader: W,
32
- className: I,
33
- rowData: R,
34
- rowId: V
35
- } = b;
32
+ isHeader: F,
33
+ className: v,
34
+ rowData: E,
35
+ rowId: H,
36
+ columnIconOptions: _
37
+ } = j;
36
38
  if (!s)
37
39
  return /* @__PURE__ */ e("p", { children: s });
38
- const { strList: t, str: i, selectColumn: T } = F({
39
- columnName: S,
40
+ const { strList: t, str: i, selectColumn: w } = P({
41
+ columnName: T,
40
42
  value: s,
41
- selectColumns: C,
43
+ selectColumns: I,
42
44
  columnModels: L
43
- }), k = T?.columnType;
45
+ }), y = w?.columnType, x = _?.columns?.[T], f = ",  ";
44
46
  if (!i)
45
47
  return /* @__PURE__ */ e("p", { children: i });
46
- let c = I;
47
- const E = {};
48
- if (W && (c = I?.concat(" ", "SRC-lightLink")), k === y.USERID_LIST && t)
49
- return /* @__PURE__ */ e("p", { children: t.map((n, l) => /* @__PURE__ */ p(f, { children: [
50
- /* @__PURE__ */ e(D, { userId: n, className: c }),
51
- l < t.length - 1 && ",  "
48
+ let c = v;
49
+ const U = {};
50
+ if (F && (c = v?.concat(" ", "SRC-lightLink")), y === R.USERID_LIST && t)
51
+ return /* @__PURE__ */ e("p", { children: t.map((n, o) => /* @__PURE__ */ d(p, { children: [
52
+ /* @__PURE__ */ e(W, { userId: n, className: c }),
53
+ o < t.length - 1 && f
52
54
  ] }, n)) });
53
- if (k === y.USERID && i)
54
- return /* @__PURE__ */ e(D, { userId: i, className: c });
55
- if (k === y.DATE && i)
56
- return /* @__PURE__ */ e("p", { children: H(B(Number(i))) });
55
+ if (y === R.USERID && i)
56
+ return /* @__PURE__ */ e(W, { userId: i, className: c });
57
+ if (y === R.DATE && i)
58
+ return /* @__PURE__ */ e("p", { children: q(J(Number(i))) });
57
59
  if (!r)
58
- return /* @__PURE__ */ e(q, { text: i, className: c });
60
+ return t ? /* @__PURE__ */ e(k, { children: t.map((n, o) => /* @__PURE__ */ d(p, { children: [
61
+ /* @__PURE__ */ e(V, { value: n, iconConfig: x, children: /* @__PURE__ */ e(O, { text: n, className: c }) }),
62
+ o < t.length - 1 && f
63
+ ] }, n)) }) : /* @__PURE__ */ e(V, { value: i, iconConfig: x, children: /* @__PURE__ */ e(O, { text: i, className: c }) });
59
64
  if ("resolveEntityName" in r && r.resolveEntityName && i) {
60
- const { baseURL: n, URLColumnName: l } = r, a = `/${n}?${l}=${i}`;
61
- return /* @__PURE__ */ e(P, { entity: i, link: a, showIcon: !1 });
65
+ const { baseURL: n, URLColumnName: o } = r, a = `/${n}?${o}=${i}`;
66
+ return /* @__PURE__ */ e(K, { entity: i, link: a, showIcon: !1 });
62
67
  }
63
- let o;
68
+ let l;
64
69
  if ("isMapValueToReactNodeConfig" in r && r.isMapValueToReactNodeConfig) {
65
70
  const { Component: n } = r;
66
- o = /* @__PURE__ */ e(n, { value: t || i, selectColumn: T });
71
+ l = /* @__PURE__ */ e(n, { value: t || i, selectColumn: w });
67
72
  } else if ("isMarkdown" in r && r.isMarkdown)
68
- t ? o = /* @__PURE__ */ e("p", { children: t.map((n, l) => /* @__PURE__ */ p(f, { children: [
69
- /* @__PURE__ */ e(x, { renderInline: !0, markdown: n }, n),
70
- l < t.length - 1 && ",  "
71
- ] }, n)) }) : o = /* @__PURE__ */ e(x, { renderInline: !0, markdown: s });
73
+ t ? l = /* @__PURE__ */ e("p", { children: t.map((n, o) => /* @__PURE__ */ d(p, { children: [
74
+ /* @__PURE__ */ e(M, { renderInline: !0, markdown: n }, n),
75
+ o < t.length - 1 && f
76
+ ] }, n)) }) : l = /* @__PURE__ */ e(M, { renderInline: !0, markdown: s });
72
77
  else if ("isEntityImage" in r && r.isEntityImage)
73
- t ? o = /* @__PURE__ */ e("p", { children: t.map((n, l) => /* @__PURE__ */ p(f, { children: [
74
- /* @__PURE__ */ e($, { entityId: n }),
75
- l < t.length - 1 && ",  "
76
- ] }, n)) }) : o = /* @__PURE__ */ e($, { entityId: s });
78
+ t ? l = /* @__PURE__ */ e("p", { children: t.map((n, o) => /* @__PURE__ */ d(p, { children: [
79
+ /* @__PURE__ */ e(S, { entityId: n }),
80
+ o < t.length - 1 && f
81
+ ] }, n)) }) : l = /* @__PURE__ */ e(S, { entityId: s });
77
82
  else {
78
83
  const n = t || i.split(",");
79
- let l;
80
- if ("target" in r && (l = r.target), "linkColumnName" in r) {
81
- const a = U(
84
+ let o;
85
+ if ("target" in r && (o = r.target), "linkColumnName" in r) {
86
+ const a = D(
82
87
  r.linkColumnName,
83
- C,
88
+ I,
84
89
  L
85
90
  );
86
91
  if (a == null)
87
92
  console.warn(
88
93
  `Could not determine column index of ${r.linkColumnName}`
89
- ), o = /* @__PURE__ */ e(w, { children: s });
94
+ ), l = /* @__PURE__ */ e(k, { children: s });
90
95
  else {
91
- const u = R[a];
92
- _(u) ? o = /* @__PURE__ */ e(w, { children: s }) : o = /* @__PURE__ */ e("p", { children: n.map((m, h) => /* @__PURE__ */ p(f, { children: [
96
+ const h = E[a];
97
+ z(h) ? l = /* @__PURE__ */ e(k, { children: s }) : l = /* @__PURE__ */ e("p", { children: n.map((m, g) => /* @__PURE__ */ d(p, { children: [
93
98
  /* @__PURE__ */ e(
94
- M,
99
+ $,
95
100
  {
96
- href: u ?? "",
97
- target: l ?? v.NEW_WINDOW,
101
+ href: h ?? "",
102
+ target: o ?? b.NEW_WINDOW,
98
103
  className: c,
99
- style: E,
104
+ style: U,
100
105
  children: m
101
106
  },
102
107
  m
103
108
  ),
104
- h < n.length - 1 && /* @__PURE__ */ e("span", { style: { marginRight: 4 }, children: ", " })
109
+ g < n.length - 1 && /* @__PURE__ */ e("span", { style: { marginRight: 4 }, children: ", " })
105
110
  ] }, m)) });
106
111
  }
107
112
  } else
108
- o = /* @__PURE__ */ e("p", { children: n.map((a, u) => {
109
- const m = r, h = m.overrideValueWithRowID ? V : a;
110
- let g = "";
113
+ l = /* @__PURE__ */ e("p", { children: n.map((a, h) => {
114
+ const m = r, g = m.overrideValueWithRowID ? H : a;
115
+ let N = "";
111
116
  if ("baseURL" in m) {
112
- const { baseURL: N, URLColumnName: d, wrapValueWithParens: O } = m, j = O ? `(${h})` : h;
113
- g = `/${N}?${d}=${j}`;
117
+ const { baseURL: C, URLColumnName: u, wrapValueWithParens: A } = m, B = A ? `(${g})` : g;
118
+ N = `/${C}?${u}=${B}`;
114
119
  } else if ("overrideLinkURLColumnName" in m) {
115
- const N = U(
120
+ const C = D(
116
121
  m.overrideLinkURLColumnName,
117
- C,
122
+ I,
118
123
  L
119
124
  );
120
- if (N) {
121
- const d = R[N];
122
- d && (m.overrideLinkURLColumnTransform ? g = m.overrideLinkURLColumnTransform(d) : g = d);
125
+ if (C) {
126
+ const u = E[C];
127
+ u && (m.overrideLinkURLColumnTransform ? N = m.overrideLinkURLColumnTransform(u) : N = u);
123
128
  }
124
129
  }
125
- return /* @__PURE__ */ p(f, { children: [
130
+ return /* @__PURE__ */ d(p, { children: [
126
131
  /* @__PURE__ */ e(
127
- M,
132
+ $,
128
133
  {
129
- href: g,
134
+ href: N,
130
135
  className: c,
131
- style: E,
132
- target: l ?? v.CURRENT_WINDOW,
136
+ style: U,
137
+ target: o ?? b.CURRENT_WINDOW,
133
138
  children: a
134
139
  },
135
140
  a
136
141
  ),
137
- u < n.length - 1 && /* @__PURE__ */ e("span", { style: { marginRight: 4 }, children: ", " })
142
+ h < n.length - 1 && /* @__PURE__ */ e("span", { style: { marginRight: 4 }, children: ", " })
138
143
  ] }, a);
139
144
  }) });
140
145
  }
141
- return "tooltipText" in r && r.tooltipText ? /* @__PURE__ */ e(A, { title: r.tooltipText, enterNextDelay: 300, children: /* @__PURE__ */ e("span", { children: o }) }) : o;
146
+ return "tooltipText" in r && r.tooltipText ? /* @__PURE__ */ e(G, { title: r.tooltipText, enterNextDelay: 300, children: /* @__PURE__ */ e("span", { children: l }) }) : l;
142
147
  }
143
148
  export {
144
- he as SynapseCardLabel
149
+ Le as SynapseCardLabel
145
150
  };
146
151
  //# sourceMappingURL=SynapseCardLabel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SynapseCardLabel.js","sources":["../../../src/components/GenericCard/SynapseCardLabel.tsx"],"sourcesContent":["import { CardLink } from '@/components/CardContainer/CardLink'\nimport { getValueOrMultiValue } from '@/components/GenericCard/CardUtils'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { getColumnIndex } from '@/utils/functions/index'\nimport { Tooltip } from '@mui/material'\nimport {\n ColumnModel,\n ColumnTypeEnum,\n Row,\n SelectColumn,\n} from '@sage-bionetworks/synapse-types'\nimport dayjs from 'dayjs'\nimport { isEmpty } from 'lodash-es'\nimport { CSSProperties, Fragment, ReactNode } from 'react'\nimport { ColumnSpecifiedLink, MarkdownLink } from '../CardContainerLogic'\nimport { TargetEnum } from '@/utils/html/TargetEnum'\nimport {\n EntityImage,\n MapValueToReactComponentConfig,\n} from '../CardContainerLogic/CardContainerLogic'\nimport { EntityLink } from '../EntityLink'\nimport MarkdownSynapse from '../Markdown/MarkdownSynapse'\nimport { UserBadge } from '../UserCard/UserBadge'\nimport { EntityColumnImage } from '../widgets/EntityColumnImage'\nimport Linkify from './Linkify'\nimport { SmartLink } from '../SmartLink/SmartLink'\n\ntype SynapseCardLabelProps = {\n value: string\n columnName: string\n labelLink:\n | CardLink\n | MarkdownLink\n | ColumnSpecifiedLink\n | EntityImage\n | MapValueToReactComponentConfig\n | undefined\n selectColumns: SelectColumn[] | undefined\n columnModels: ColumnModel[] | undefined\n isHeader: boolean\n className?: string\n rowData: Row['values']\n rowId?: string\n}\nexport function SynapseCardLabel(props: SynapseCardLabelProps) {\n const {\n value,\n columnName,\n labelLink,\n selectColumns,\n columnModels,\n isHeader,\n className,\n rowData,\n rowId,\n } = props\n\n if (!value) {\n return <p>{value}</p>\n }\n const { strList, str, selectColumn } = getValueOrMultiValue({\n columnName,\n value,\n selectColumns,\n columnModels,\n })\n\n const columnModelType = selectColumn?.columnType\n\n if (!str) {\n // the array came back empty\n return <p>{str}</p>\n }\n\n let newClassName = className\n const style: CSSProperties = {}\n if (isHeader) {\n newClassName = className?.concat(' ', 'SRC-lightLink')\n }\n // PORTALS-1913: special rendering for user ID lists\n if (columnModelType === ColumnTypeEnum.USERID_LIST && strList) {\n return (\n <p>\n {strList.map((val: string, index: number) => {\n return (\n <Fragment key={val}>\n <UserBadge userId={val} className={newClassName} />\n {/* \\u00a0 is a nbsp; */}\n {index < strList.length - 1 && ',\\u00a0\\u00a0'}\n </Fragment>\n )\n })}\n </p>\n )\n }\n if (columnModelType === ColumnTypeEnum.USERID && str) {\n return <UserBadge userId={str} className={newClassName} />\n }\n\n // NFINT-906\n if (columnModelType === ColumnTypeEnum.DATE && str) {\n return <p>{formatDate(dayjs(Number(str)))}</p>\n }\n\n if (!labelLink) {\n return <Linkify text={str} className={newClassName} />\n }\n\n if ('resolveEntityName' in labelLink && labelLink.resolveEntityName && str) {\n const { baseURL, URLColumnName } = labelLink\n const href = `/${baseURL}?${URLColumnName}=${str}`\n return <EntityLink entity={str} link={href} showIcon={false} />\n }\n\n let labelContent: ReactNode\n\n if (\n 'isMapValueToReactNodeConfig' in labelLink &&\n labelLink.isMapValueToReactNodeConfig\n ) {\n const { Component } = labelLink\n labelContent = (\n <Component value={strList || str} selectColumn={selectColumn!} />\n )\n } else if ('isMarkdown' in labelLink && labelLink.isMarkdown) {\n if (strList) {\n labelContent = (\n <p>\n {strList.map((el, index) => {\n return (\n <Fragment key={el}>\n <MarkdownSynapse key={el} renderInline={true} markdown={el} />\n {/* \\u00a0 is a nbsp; */}\n {index < strList.length - 1 && ',\\u00a0\\u00a0'}\n </Fragment>\n )\n })}\n </p>\n )\n } else {\n labelContent = <MarkdownSynapse renderInline={true} markdown={value} />\n }\n } else if ('isEntityImage' in labelLink && labelLink.isEntityImage) {\n if (strList) {\n labelContent = (\n <p>\n {strList.map((el, index) => {\n return (\n <Fragment key={el}>\n <EntityColumnImage entityId={el} />\n\n {/* \\u00a0 is a nbsp; */}\n {index < strList.length - 1 && ',\\u00a0\\u00a0'}\n </Fragment>\n )\n })}\n </p>\n )\n } else {\n labelContent = <EntityColumnImage entityId={value} />\n }\n } else {\n const split = strList ? strList : str.split(',')\n let linkTarget: TargetEnum | undefined = undefined\n if ('target' in labelLink) {\n linkTarget = labelLink.target!\n }\n if ('linkColumnName' in labelLink) {\n const linkIndex = getColumnIndex(\n labelLink.linkColumnName,\n selectColumns,\n columnModels,\n )\n if (linkIndex == null) {\n console.warn(\n `Could not determine column index of ${labelLink.linkColumnName}`,\n )\n labelContent = <>{value}</>\n } else {\n const href = rowData[linkIndex]\n\n if (isEmpty(href)) {\n labelContent = <>{value}</>\n } else {\n labelContent = (\n <p>\n {split.map((el, index) => {\n return (\n <Fragment key={el}>\n <SmartLink\n href={href ?? ''}\n target={linkTarget ?? TargetEnum.NEW_WINDOW}\n key={el}\n className={newClassName}\n style={style}\n >\n {el}\n </SmartLink>\n {index < split.length - 1 && (\n <span style={{ marginRight: 4 }}>, </span>\n )}\n </Fragment>\n )\n })}\n </p>\n )\n }\n }\n } else {\n labelContent = (\n <p>\n {split.map((el, index) => {\n const cardLink = labelLink as CardLink\n const elOrRowId = cardLink.overrideValueWithRowID ? rowId : el\n let href = ''\n if ('baseURL' in cardLink) {\n const { baseURL, URLColumnName, wrapValueWithParens } = cardLink\n const value = wrapValueWithParens ? `(${elOrRowId})` : elOrRowId\n href = `/${baseURL}?${URLColumnName}=${value}`\n } else if ('overrideLinkURLColumnName' in cardLink) {\n const overrideHrefIndex = getColumnIndex(\n cardLink.overrideLinkURLColumnName,\n selectColumns,\n columnModels,\n )\n if (overrideHrefIndex) {\n const overrideHrefData = rowData[overrideHrefIndex]\n if (overrideHrefData) {\n if (cardLink.overrideLinkURLColumnTransform) {\n href =\n cardLink.overrideLinkURLColumnTransform(overrideHrefData)\n } else {\n href = overrideHrefData\n }\n }\n }\n }\n\n return (\n <Fragment key={el}>\n <SmartLink\n href={href}\n key={el}\n className={newClassName}\n style={style}\n target={linkTarget ?? TargetEnum.CURRENT_WINDOW}\n >\n {el}\n </SmartLink>\n {index < split.length - 1 && (\n <span style={{ marginRight: 4 }}>, </span>\n )}\n </Fragment>\n )\n })}\n </p>\n )\n }\n }\n\n if ('tooltipText' in labelLink && labelLink.tooltipText) {\n // wrap in a tooltip\n return (\n <Tooltip title={labelLink.tooltipText} enterNextDelay={300}>\n <span>{labelContent}</span>\n </Tooltip>\n )\n } else {\n return labelContent\n }\n}\n"],"names":["SynapseCardLabel","props","value","columnName","labelLink","selectColumns","columnModels","isHeader","className","rowData","rowId","jsx","strList","str","selectColumn","getValueOrMultiValue","columnModelType","newClassName","style","ColumnTypeEnum","val","index","jsxs","Fragment","UserBadge","formatDate","dayjs","Linkify","baseURL","URLColumnName","href","EntityLink","labelContent","Component","el","MarkdownSynapse","EntityColumnImage","split","linkTarget","linkIndex","getColumnIndex","isEmpty","SmartLink","TargetEnum","cardLink","elOrRowId","wrapValueWithParens","overrideHrefIndex","overrideHrefData","Tooltip"],"mappings":"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"}
1
+ {"version":3,"file":"SynapseCardLabel.js","sources":["../../../src/components/GenericCard/SynapseCardLabel.tsx"],"sourcesContent":["import { CardLink } from '@/components/CardContainer/CardLink'\nimport { getValueOrMultiValue } from '@/components/GenericCard/CardUtils'\nimport { formatDate } from '@/utils/functions/DateFormatter'\nimport { getColumnIndex } from '@/utils/functions/index'\nimport { TargetEnum } from '@/utils/html/TargetEnum'\nimport { Tooltip } from '@mui/material'\nimport {\n ColumnModel,\n ColumnTypeEnum,\n Row,\n SelectColumn,\n} from '@sage-bionetworks/synapse-types'\nimport dayjs from 'dayjs'\nimport { isEmpty } from 'lodash-es'\nimport { CSSProperties, Fragment, ReactNode } from 'react'\nimport {\n ColumnIconConfigs,\n ColumnSpecifiedLink,\n MarkdownLink,\n} from '../CardContainerLogic'\nimport {\n EntityImage,\n MapValueToReactComponentConfig,\n} from '../CardContainerLogic/CardContainerLogic'\nimport { EntityLink } from '../EntityLink'\nimport MarkdownSynapse from '../Markdown/MarkdownSynapse'\nimport { SmartLink } from '../SmartLink/SmartLink'\nimport { UserBadge } from '../UserCard/UserBadge'\nimport { EntityColumnImage } from '../widgets/EntityColumnImage'\nimport { LabelMaybeWithIcon } from './LabelMaybeWithIcon'\nimport Linkify from './Linkify'\n\ntype SynapseCardLabelProps = {\n value: string\n columnName: string\n labelLink:\n | CardLink\n | MarkdownLink\n | ColumnSpecifiedLink\n | EntityImage\n | MapValueToReactComponentConfig\n | undefined\n selectColumns: SelectColumn[] | undefined\n columnModels: ColumnModel[] | undefined\n isHeader: boolean\n className?: string\n rowData: Row['values']\n rowId?: string\n columnIconOptions?: ColumnIconConfigs\n}\nexport function SynapseCardLabel(props: SynapseCardLabelProps) {\n const {\n value,\n columnName,\n labelLink,\n selectColumns,\n columnModels,\n isHeader,\n className,\n rowData,\n rowId,\n columnIconOptions,\n } = props\n\n if (!value) {\n return <p>{value}</p>\n }\n const { strList, str, selectColumn } = getValueOrMultiValue({\n columnName,\n value,\n selectColumns,\n columnModels,\n })\n\n const columnModelType = selectColumn?.columnType\n const iconConfig = columnIconOptions?.columns?.[columnName]\n // \\u00a0 is a nbsp;\n const separator = ',\\u00a0\\u00a0'\n\n if (!str) {\n // the array came back empty\n return <p>{str}</p>\n }\n\n let newClassName = className\n const style: CSSProperties = {}\n if (isHeader) {\n newClassName = className?.concat(' ', 'SRC-lightLink')\n }\n // PORTALS-1913: special rendering for user ID lists\n if (columnModelType === ColumnTypeEnum.USERID_LIST && strList) {\n return (\n <p>\n {strList.map((val: string, index: number) => {\n return (\n <Fragment key={val}>\n <UserBadge userId={val} className={newClassName} />\n {index < strList.length - 1 && separator}\n </Fragment>\n )\n })}\n </p>\n )\n }\n if (columnModelType === ColumnTypeEnum.USERID && str) {\n return <UserBadge userId={str} className={newClassName} />\n }\n\n // NFINT-906\n if (columnModelType === ColumnTypeEnum.DATE && str) {\n return <p>{formatDate(dayjs(Number(str)))}</p>\n }\n\n if (!labelLink) {\n if (strList) {\n return (\n <>\n {strList.map((el, index) => (\n <Fragment key={el}>\n <LabelMaybeWithIcon value={el} iconConfig={iconConfig}>\n <Linkify text={el} className={newClassName} />\n </LabelMaybeWithIcon>\n {index < strList.length - 1 && separator}\n </Fragment>\n ))}\n </>\n )\n }\n return (\n <LabelMaybeWithIcon value={str} iconConfig={iconConfig}>\n <Linkify text={str} className={newClassName} />\n </LabelMaybeWithIcon>\n )\n }\n\n if ('resolveEntityName' in labelLink && labelLink.resolveEntityName && str) {\n const { baseURL, URLColumnName } = labelLink\n const href = `/${baseURL}?${URLColumnName}=${str}`\n return <EntityLink entity={str} link={href} showIcon={false} />\n }\n\n let labelContent: ReactNode\n\n if (\n 'isMapValueToReactNodeConfig' in labelLink &&\n labelLink.isMapValueToReactNodeConfig\n ) {\n const { Component } = labelLink\n labelContent = (\n <Component value={strList || str} selectColumn={selectColumn!} />\n )\n } else if ('isMarkdown' in labelLink && labelLink.isMarkdown) {\n if (strList) {\n labelContent = (\n <p>\n {strList.map((el, index) => {\n return (\n <Fragment key={el}>\n <MarkdownSynapse key={el} renderInline={true} markdown={el} />\n {index < strList.length - 1 && separator}\n </Fragment>\n )\n })}\n </p>\n )\n } else {\n labelContent = <MarkdownSynapse renderInline={true} markdown={value} />\n }\n } else if ('isEntityImage' in labelLink && labelLink.isEntityImage) {\n if (strList) {\n labelContent = (\n <p>\n {strList.map((el, index) => {\n return (\n <Fragment key={el}>\n <EntityColumnImage entityId={el} />\n {index < strList.length - 1 && separator}\n </Fragment>\n )\n })}\n </p>\n )\n } else {\n labelContent = <EntityColumnImage entityId={value} />\n }\n } else {\n const split = strList ? strList : str.split(',')\n let linkTarget: TargetEnum | undefined = undefined\n if ('target' in labelLink) {\n linkTarget = labelLink.target!\n }\n if ('linkColumnName' in labelLink) {\n const linkIndex = getColumnIndex(\n labelLink.linkColumnName,\n selectColumns,\n columnModels,\n )\n if (linkIndex == null) {\n console.warn(\n `Could not determine column index of ${labelLink.linkColumnName}`,\n )\n labelContent = <>{value}</>\n } else {\n const href = rowData[linkIndex]\n\n if (isEmpty(href)) {\n labelContent = <>{value}</>\n } else {\n labelContent = (\n <p>\n {split.map((el, index) => {\n return (\n <Fragment key={el}>\n <SmartLink\n href={href ?? ''}\n target={linkTarget ?? TargetEnum.NEW_WINDOW}\n key={el}\n className={newClassName}\n style={style}\n >\n {el}\n </SmartLink>\n {index < split.length - 1 && (\n <span style={{ marginRight: 4 }}>, </span>\n )}\n </Fragment>\n )\n })}\n </p>\n )\n }\n }\n } else {\n labelContent = (\n <p>\n {split.map((el, index) => {\n const cardLink = labelLink as CardLink\n const elOrRowId = cardLink.overrideValueWithRowID ? rowId : el\n let href = ''\n if ('baseURL' in cardLink) {\n const { baseURL, URLColumnName, wrapValueWithParens } = cardLink\n const value = wrapValueWithParens ? `(${elOrRowId})` : elOrRowId\n href = `/${baseURL}?${URLColumnName}=${value}`\n } else if ('overrideLinkURLColumnName' in cardLink) {\n const overrideHrefIndex = getColumnIndex(\n cardLink.overrideLinkURLColumnName,\n selectColumns,\n columnModels,\n )\n if (overrideHrefIndex) {\n const overrideHrefData = rowData[overrideHrefIndex]\n if (overrideHrefData) {\n if (cardLink.overrideLinkURLColumnTransform) {\n href =\n cardLink.overrideLinkURLColumnTransform(overrideHrefData)\n } else {\n href = overrideHrefData\n }\n }\n }\n }\n\n return (\n <Fragment key={el}>\n <SmartLink\n href={href}\n key={el}\n className={newClassName}\n style={style}\n target={linkTarget ?? TargetEnum.CURRENT_WINDOW}\n >\n {el}\n </SmartLink>\n {index < split.length - 1 && (\n <span style={{ marginRight: 4 }}>, </span>\n )}\n </Fragment>\n )\n })}\n </p>\n )\n }\n }\n\n if ('tooltipText' in labelLink && labelLink.tooltipText) {\n // wrap in a tooltip\n return (\n <Tooltip title={labelLink.tooltipText} enterNextDelay={300}>\n <span>{labelContent}</span>\n </Tooltip>\n )\n } else {\n return labelContent\n }\n}\n"],"names":["SynapseCardLabel","props","value","columnName","labelLink","selectColumns","columnModels","isHeader","className","rowData","rowId","columnIconOptions","jsx","strList","str","selectColumn","getValueOrMultiValue","columnModelType","iconConfig","separator","newClassName","style","ColumnTypeEnum","val","index","jsxs","Fragment","UserBadge","formatDate","dayjs","el","LabelMaybeWithIcon","Linkify","baseURL","URLColumnName","href","EntityLink","labelContent","Component","MarkdownSynapse","EntityColumnImage","split","linkTarget","linkIndex","getColumnIndex","isEmpty","SmartLink","TargetEnum","cardLink","elOrRowId","wrapValueWithParens","overrideHrefIndex","overrideHrefData","Tooltip"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAkDO,SAASA,GAAiBC,GAA8B;AAC7D,QAAM;AAAA,IACJ,OAAAC;AAAA,IACA,YAAAC;AAAA,IACA,WAAAC;AAAA,IACA,eAAAC;AAAA,IACA,cAAAC;AAAA,IACA,UAAAC;AAAA,IACA,WAAAC;AAAA,IACA,SAAAC;AAAA,IACA,OAAAC;AAAA,IACA,mBAAAC;AAAA,EAAA,IACEV;AAEJ,MAAI,CAACC;AACH,WAAO,gBAAAU,EAAC,OAAG,UAAAV,EAAA,CAAM;AAEnB,QAAM,EAAE,SAAAW,GAAS,KAAAC,GAAK,cAAAC,EAAA,IAAiBC,EAAqB;AAAA,IAC1D,YAAAb;AAAA,IACA,OAAAD;AAAA,IACA,eAAAG;AAAA,IACA,cAAAC;AAAA,EAAA,CACD,GAEKW,IAAkBF,GAAc,YAChCG,IAAaP,GAAmB,UAAUR,CAAU,GAEpDgB,IAAY;AAElB,MAAI,CAACL;AAEH,WAAO,gBAAAF,EAAC,OAAG,UAAAE,EAAA,CAAI;AAGjB,MAAIM,IAAeZ;AACnB,QAAMa,IAAuB,CAAA;AAK7B,MAJId,MACFa,IAAeZ,GAAW,OAAO,KAAK,eAAe,IAGnDS,MAAoBK,EAAe,eAAeT;AACpD,6BACG,KAAA,EACE,UAAAA,EAAQ,IAAI,CAACU,GAAaC,MAEvB,gBAAAC,EAACC,GAAA,EACC,UAAA;AAAA,MAAA,gBAAAd,EAACe,GAAA,EAAU,QAAQJ,GAAK,WAAWH,GAAc;AAAA,MAChDI,IAAQX,EAAQ,SAAS,KAAKM;AAAA,IAAA,EAAA,GAFlBI,CAGf,CAEH,EAAA,CACH;AAGJ,MAAIN,MAAoBK,EAAe,UAAUR;AAC/C,WAAO,gBAAAF,EAACe,GAAA,EAAU,QAAQb,GAAK,WAAWM,GAAc;AAI1D,MAAIH,MAAoBK,EAAe,QAAQR;AAC7C,WAAO,gBAAAF,EAAC,OAAG,UAAAgB,EAAWC,EAAM,OAAOf,CAAG,CAAC,CAAC,GAAE;AAG5C,MAAI,CAACV;AACH,WAAIS,IAEA,gBAAAD,EAAAc,GAAA,EACG,YAAQ,IAAI,CAACI,GAAIN,MAChB,gBAAAC,EAACC,GAAA,EACC,UAAA;AAAA,MAAA,gBAAAd,EAACmB,GAAA,EAAmB,OAAOD,GAAI,YAAAZ,GAC7B,UAAA,gBAAAN,EAACoB,KAAQ,MAAMF,GAAI,WAAWV,EAAA,CAAc,EAAA,CAC9C;AAAA,MACCI,IAAQX,EAAQ,SAAS,KAAKM;AAAA,IAAA,KAJlBW,CAKf,CACD,GACH,IAIF,gBAAAlB,EAACmB,GAAA,EAAmB,OAAOjB,GAAK,YAAAI,GAC9B,UAAA,gBAAAN,EAACoB,GAAA,EAAQ,MAAMlB,GAAK,WAAWM,EAAA,CAAc,GAC/C;AAIJ,MAAI,uBAAuBhB,KAAaA,EAAU,qBAAqBU,GAAK;AAC1E,UAAM,EAAE,SAAAmB,GAAS,eAAAC,EAAA,IAAkB9B,GAC7B+B,IAAO,IAAIF,CAAO,IAAIC,CAAa,IAAIpB,CAAG;AAChD,6BAAQsB,GAAA,EAAW,QAAQtB,GAAK,MAAMqB,GAAM,UAAU,IAAO;AAAA,EAC/D;AAEA,MAAIE;AAEJ,MACE,iCAAiCjC,KACjCA,EAAU,6BACV;AACA,UAAM,EAAE,WAAAkC,MAAclC;AACtB,IAAAiC,IACE,gBAAAzB,EAAC0B,GAAA,EAAU,OAAOzB,KAAWC,GAAK,cAAAC,GAA6B;AAAA,EAEnE,WAAW,gBAAgBX,KAAaA,EAAU;AAChD,IAAIS,IACFwB,sBACG,KAAA,EACE,UAAAxB,EAAQ,IAAI,CAACiB,GAAIN,MAEd,gBAAAC,EAACC,GAAA,EACC,UAAA;AAAA,MAAA,gBAAAd,EAAC2B,GAAA,EAAyB,cAAc,IAAM,UAAUT,KAAlCA,CAAsC;AAAA,MAC3DN,IAAQX,EAAQ,SAAS,KAAKM;AAAA,IAAA,EAAA,GAFlBW,CAGf,CAEH,EAAA,CACH,IAGFO,IAAe,gBAAAzB,EAAC2B,GAAA,EAAgB,cAAc,IAAM,UAAUrC,GAAO;AAAA,WAE9D,mBAAmBE,KAAaA,EAAU;AACnD,IAAIS,IACFwB,sBACG,KAAA,EACE,UAAAxB,EAAQ,IAAI,CAACiB,GAAIN,MAEd,gBAAAC,EAACC,GAAA,EACC,UAAA;AAAA,MAAA,gBAAAd,EAAC4B,GAAA,EAAkB,UAAUV,EAAA,CAAI;AAAA,MAChCN,IAAQX,EAAQ,SAAS,KAAKM;AAAA,IAAA,EAAA,GAFlBW,CAGf,CAEH,EAAA,CACH,IAGFO,IAAe,gBAAAzB,EAAC4B,GAAA,EAAkB,UAAUtC,EAAA,CAAO;AAAA,OAEhD;AACL,UAAMuC,IAAQ5B,KAAoBC,EAAI,MAAM,GAAG;AAC/C,QAAI4B;AAIJ,QAHI,YAAYtC,MACdsC,IAAatC,EAAU,SAErB,oBAAoBA,GAAW;AACjC,YAAMuC,IAAYC;AAAA,QAChBxC,EAAU;AAAA,QACVC;AAAA,QACAC;AAAA,MAAA;AAEF,UAAIqC,KAAa;AACf,gBAAQ;AAAA,UACN,uCAAuCvC,EAAU,cAAc;AAAA,QAAA,GAEjEiC,2BAAkB,UAAAnC,EAAA,CAAM;AAAA,WACnB;AACL,cAAMiC,IAAO1B,EAAQkC,CAAS;AAE9B,QAAIE,EAAQV,CAAI,IACdE,2BAAkB,UAAAnC,EAAA,CAAM,IAExBmC,sBACG,KAAA,EACE,UAAAI,EAAM,IAAI,CAACX,GAAIN,MAEZ,gBAAAC,EAACC,GAAA,EACC,UAAA;AAAA,UAAA,gBAAAd;AAAA,YAACkC;AAAA,YAAA;AAAA,cACC,MAAMX,KAAQ;AAAA,cACd,QAAQO,KAAcK,EAAW;AAAA,cAEjC,WAAW3B;AAAA,cACX,OAAAC;AAAA,cAEC,UAAAS;AAAA,YAAA;AAAA,YAJIA;AAAA,UAAA;AAAA,UAMNN,IAAQiB,EAAM,SAAS,KACtB,gBAAA7B,EAAC,QAAA,EAAK,OAAO,EAAE,aAAa,KAAK,UAAA,KAAA,CAAE;AAAA,QAAA,EAAA,GAXxBkB,CAaf,CAEH,EAAA,CACH;AAAA,MAGN;AAAA,IACF;AACE,MAAAO,sBACG,KAAA,EACE,UAAAI,EAAM,IAAI,CAACX,GAAIN,MAAU;AACxB,cAAMwB,IAAW5C,GACX6C,IAAYD,EAAS,yBAAyBtC,IAAQoB;AAC5D,YAAIK,IAAO;AACX,YAAI,aAAaa,GAAU;AACzB,gBAAM,EAAE,SAAAf,GAAS,eAAAC,GAAe,qBAAAgB,EAAA,IAAwBF,GAClD9C,IAAQgD,IAAsB,IAAID,CAAS,MAAMA;AACvD,UAAAd,IAAO,IAAIF,CAAO,IAAIC,CAAa,IAAIhC,CAAK;AAAA,QAC9C,WAAW,+BAA+B8C,GAAU;AAClD,gBAAMG,IAAoBP;AAAA,YACxBI,EAAS;AAAA,YACT3C;AAAA,YACAC;AAAA,UAAA;AAEF,cAAI6C,GAAmB;AACrB,kBAAMC,IAAmB3C,EAAQ0C,CAAiB;AAClD,YAAIC,MACEJ,EAAS,iCACXb,IACEa,EAAS,+BAA+BI,CAAgB,IAE1DjB,IAAOiB;AAAA,UAGb;AAAA,QACF;AAEA,eACE,gBAAA3B,EAACC,GAAA,EACC,UAAA;AAAA,UAAA,gBAAAd;AAAA,YAACkC;AAAA,YAAA;AAAA,cACC,MAAAX;AAAA,cAEA,WAAWf;AAAA,cACX,OAAAC;AAAA,cACA,QAAQqB,KAAcK,EAAW;AAAA,cAEhC,UAAAjB;AAAA,YAAA;AAAA,YALIA;AAAA,UAAA;AAAA,UAONN,IAAQiB,EAAM,SAAS,KACtB,gBAAA7B,EAAC,QAAA,EAAK,OAAO,EAAE,aAAa,KAAK,UAAA,KAAA,CAAE;AAAA,QAAA,EAAA,GAXxBkB,CAaf;AAAA,MAEJ,CAAC,EAAA,CACH;AAAA,EAGN;AAEA,SAAI,iBAAiB1B,KAAaA,EAAU,cAGxC,gBAAAQ,EAACyC,GAAA,EAAQ,OAAOjD,EAAU,aAAa,gBAAgB,KACrD,UAAA,gBAAAQ,EAAC,QAAA,EAAM,UAAAyB,EAAA,CAAa,GACtB,IAGKA;AAEX;"}
@@ -2,9 +2,9 @@ import { CommonCardProps } from '@/components/CardContainer/CardConfiguration';
2
2
  import { ColumnModel, SelectColumn } from '@sage-bionetworks/synapse-types';
3
3
  import React from 'react';
4
4
  import { HeaderCardVariant } from '../HeaderCard';
5
+ import { ShareThisPageProps } from '../ShareThisPage/ShareThisPage';
5
6
  import { SustainabilityScorecardProps } from '../SustainabilityScorecard/SustainabilityScorecard';
6
7
  import { PortalDOIConfiguration } from './PortalDOI/PortalDOIConfiguration';
7
- import { ShareThisPageProps } from '../ShareThisPage/ShareThisPage';
8
8
  type RowSynapseEntityConfig = {
9
9
  /** Use the table rowId to resolve the Synapse entity ID. */
10
10
  id: {
@@ -78,6 +78,12 @@ export type TableToGenericCardMapping = {
78
78
  link?: string;
79
79
  /** Column name of the STRING_LIST column that includes icon names that represent icons that should be displayed on the card */
80
80
  dataTypeIconNames?: string;
81
+ /**
82
+ * Ordered list of column names to display to the right of the title area.
83
+ * Each renders as "Display Name: Value" on its own line. Rows with empty values are skipped.
84
+ * The display name is derived from getColumnDisplayName (respects column aliases and unCamelCase).
85
+ */
86
+ titleAreaDetails?: string[];
81
87
  /** Configuration for resolving the Synapse entity ID/version represented by each card row.
82
88
  * The ID and version sources must both reference either row-based values or column-based values.
83
89
  */
@@ -1 +1 @@
1
- {"version":3,"file":"TableRowGenericCard.d.ts","sourceRoot":"","sources":["../../../src/components/GenericCard/TableRowGenericCard.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TableRowGenericCard.d.ts","sourceRoot":"","sources":["../../../src/components/GenericCard/TableRowGenericCard.tsx"],"names":[],"mappings":"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"}