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":"ApplicationSessionManager.d.ts","sourceRoot":"","sources":["../../../../src/utils/AppUtils/session/ApplicationSessionManager.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8EAA8E,CAAA;AACzH,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAA0B,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAK1E,MAAM,MAAM,8BAA8B,GAAG,iBAAiB,CAAC;IAC7D,+GAA+G;IAC/G,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8IAA8I;IAC9I,+BAA+B,CAAC,EAAE,MAAM,IAAI,CAAA;IAM5C,8BAA8B,CAAC,EAAE,CAC/B,qBAAqB,EAAE,0BAA0B,EACjD,eAAe,EAAE,MAAM,KACpB,IAAI,CAAA;IACT,KAAK,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAEnC,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAC,CAAA;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,8BAA8B,2CAgCtC;AAED,eAAe,yBAAyB,CAAA"}
1
+ {"version":3,"file":"ApplicationSessionManager.d.ts","sourceRoot":"","sources":["../../../../src/utils/AppUtils/session/ApplicationSessionManager.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,0BAA0B,EAAE,MAAM,8EAA8E,CAAA;AACzH,OAAO,EAAE,iBAAiB,EAAE,MAAM,OAAO,CAAA;AACzC,OAAO,EAA0B,kBAAkB,EAAE,MAAM,eAAe,CAAA;AAK1E,MAAM,MAAM,8BAA8B,GAAG,iBAAiB,CAAC;IAC7D,+GAA+G;IAC/G,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAE5B,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,8IAA8I;IAC9I,+BAA+B,CAAC,EAAE,MAAM,IAAI,CAAA;IAM5C,8BAA8B,CAAC,EAAE,CAC/B,qBAAqB,EAAE,0BAA0B,EACjD,eAAe,EAAE,MAAM,KACpB,IAAI,CAAA;IACT,KAAK,CAAC,EAAE,kBAAkB,CAAC,OAAO,CAAC,CAAA;IAEnC,qBAAqB,CAAC,EAAE,OAAO,CAAA;CAChC,CAAC,CAAA;AAEF;;;;;;;;;;;;;GAaG;AACH,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,8BAA8B,2CA+BtC;AAED,eAAe,yBAAyB,CAAA"}
@@ -1 +1 @@
1
- {"version":3,"file":"ApplicationSessionManager.js","sources":["../../../../src/utils/AppUtils/session/ApplicationSessionManager.tsx"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { TwoFactorAuthErrorResponse } from '@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse'\nimport { PropsWithChildren } from 'react'\nimport { SynapseContextProvider, SynapseContextType } from '../../context'\nimport { ApplicationSessionContextProvider } from './ApplicationSessionContext'\nimport { AuthenticationGuard } from './AuthenticationGuard'\nimport { useSessionManager } from './useSessionManager'\n\nexport type ApplicationSessionManagerProps = PropsWithChildren<{\n /** The realm that an unauthenticated user should be signed in to. Defaults to \"0\", the public Synapse realm */\n defaultRealmId?: string\n downloadCartPageUrl?: string\n /* If defined, specifies the allowable elapsed time in seconds since the last time the End-User was actively authenticated. If the elapsed time is greater than this value, the session will be cleared and the user will have to re-authenticate. */\n maxAge?: number\n /** Called if the user is not authenticated when the session is initialized. Can be used to trigger an error if authentication is expected. */\n onMissingExpectedAuthentication?: () => void\n /*\n * Callback invoked after the user has successfully signed in through SSO when the purpose of signing in is to disable 2FA on the account.\n * The twoFactorAuthSSOError and twoFaResetToken are passed in the callback and can be used to complete the 2FA reset process.\n * This only needs to be implemented if the app implements the workflow to disable 2FA (i.e. only if the app supports account management).\n */\n onTwoFactorAuthResetThroughSSO?: (\n twoFactorAuthSSOError: TwoFactorAuthErrorResponse,\n twoFaResetToken: string,\n ) => void\n appId?: SynapseContextType['appId']\n /* If true, redirects unauthenticated users to OneSage login after session initialization */\n requireAuthentication?: boolean\n}>\n\n/**\n * The ApplicationSessionManager will manage Synapse user session in an app. The goal is that any custom app should\n * just be able to add this component near the top of its component tree and have the full Synapse login lifecycle managed\n * while exposing minimal complexity to the app itself.\n *\n * Custom per-app behavior should be customized with generalizable props to this component.\n *\n * The session data can be accessed with useApplicationSessionContext.\n *\n * This component must be called within a react-router Router. ApplicationSessionManager also wraps all of its children\n * in a SynapseContextProvider.\n * @param props\n * @constructor\n */\nexport function ApplicationSessionManager(\n props: ApplicationSessionManagerProps,\n) {\n const {\n children,\n downloadCartPageUrl,\n appId,\n requireAuthentication,\n ...hookOptions\n } = props\n\n const { sessionContext, token } = useSessionManager(hookOptions)\n\n return (\n <ApplicationSessionContextProvider context={sessionContext}>\n <SynapseContextProvider\n synapseContext={{\n accessToken: token,\n isAuthenticated: sessionContext.isAuthenticated,\n isInExperimentalMode: SynapseClient.isInSynapseExperimentalMode(),\n utcTime: SynapseClient.getUseUtcTimeFromCookie(),\n downloadCartPageUrl,\n appId: appId,\n }}\n >\n {requireAuthentication ? (\n <AuthenticationGuard>{children}</AuthenticationGuard>\n ) : (\n children\n )}\n </SynapseContextProvider>\n </ApplicationSessionContextProvider>\n )\n}\n\nexport default ApplicationSessionManager\n"],"names":["ApplicationSessionManager","props","children","downloadCartPageUrl","appId","requireAuthentication","hookOptions","sessionContext","token","useSessionManager","jsx","ApplicationSessionContextProvider","SynapseContextProvider","SynapseClient","AuthenticationGuard"],"mappings":";;;;;;;;;;;;;;;;AA4CO,SAASA,EACdC,GACA;AACA,QAAM;AAAA,IACJ,UAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDL,GAEE,EAAE,gBAAAM,GAAgB,OAAAC,MAAUC,EAAkBH,CAAW;AAE/D,SACE,gBAAAI,EAACC,GAAA,EAAkC,SAASJ,GAC1C,UAAA,gBAAAG;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,gBAAgB;AAAA,QACd,aAAaJ;AAAA,QACb,iBAAiBD,EAAe;AAAA,QAChC,sBAAsBM,EAAc,4BAAA;AAAA,QACpC,SAASA,EAAc,wBAAA;AAAA,QACvB,qBAAAV;AAAA,QACA,OAAAC;AAAA,MAAA;AAAA,MAGD,UAAAC,IACC,gBAAAK,EAACI,GAAA,EAAqB,UAAAZ,EAAA,CAAS,IAE/BA;AAAA,IAAA;AAAA,EAAA,GAGN;AAEJ;"}
1
+ {"version":3,"file":"ApplicationSessionManager.js","sources":["../../../../src/utils/AppUtils/session/ApplicationSessionManager.tsx"],"sourcesContent":["import SynapseClient from '@/synapse-client'\nimport { TwoFactorAuthErrorResponse } from '@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResponse'\nimport { PropsWithChildren } from 'react'\nimport { SynapseContextProvider, SynapseContextType } from '../../context'\nimport { ApplicationSessionContextProvider } from './ApplicationSessionContext'\nimport { AuthenticationGuard } from './AuthenticationGuard'\nimport { useSessionManager } from './useSessionManager'\n\nexport type ApplicationSessionManagerProps = PropsWithChildren<{\n /** The realm that an unauthenticated user should be signed in to. Defaults to \"0\", the public Synapse realm */\n defaultRealmId?: string\n downloadCartPageUrl?: string\n /* If defined, specifies the allowable elapsed time in seconds since the last time the End-User was actively authenticated. If the elapsed time is greater than this value, the session will be cleared and the user will have to re-authenticate. */\n maxAge?: number\n /** Called if the user is not authenticated when the session is initialized. Can be used to trigger an error if authentication is expected. */\n onMissingExpectedAuthentication?: () => void\n /*\n * Callback invoked after the user has successfully signed in through SSO when the purpose of signing in is to disable 2FA on the account.\n * The twoFactorAuthSSOError and twoFaResetToken are passed in the callback and can be used to complete the 2FA reset process.\n * This only needs to be implemented if the app implements the workflow to disable 2FA (i.e. only if the app supports account management).\n */\n onTwoFactorAuthResetThroughSSO?: (\n twoFactorAuthSSOError: TwoFactorAuthErrorResponse,\n twoFaResetToken: string,\n ) => void\n appId?: SynapseContextType['appId']\n /* If true, redirects unauthenticated users to OneSage login after session initialization */\n requireAuthentication?: boolean\n}>\n\n/**\n * The ApplicationSessionManager will manage Synapse user session in an app. The goal is that any custom app should\n * just be able to add this component near the top of its component tree and have the full Synapse login lifecycle managed\n * while exposing minimal complexity to the app itself.\n *\n * Custom per-app behavior should be customized with generalizable props to this component.\n *\n * The session data can be accessed with useApplicationSessionContext.\n *\n * This component must be called within a react-router Router. ApplicationSessionManager also wraps all of its children\n * in a SynapseContextProvider.\n * @param props\n * @constructor\n */\nexport function ApplicationSessionManager(\n props: ApplicationSessionManagerProps,\n) {\n const {\n children,\n downloadCartPageUrl,\n appId,\n requireAuthentication,\n ...hookOptions\n } = props\n const { sessionContext, token } = useSessionManager(hookOptions)\n\n return (\n <ApplicationSessionContextProvider context={sessionContext}>\n <SynapseContextProvider\n synapseContext={{\n accessToken: token,\n isAuthenticated: sessionContext.isAuthenticated,\n isInExperimentalMode: SynapseClient.isInSynapseExperimentalMode(),\n utcTime: SynapseClient.getUseUtcTimeFromCookie(),\n downloadCartPageUrl,\n appId: appId,\n }}\n >\n {requireAuthentication ? (\n <AuthenticationGuard>{children}</AuthenticationGuard>\n ) : (\n children\n )}\n </SynapseContextProvider>\n </ApplicationSessionContextProvider>\n )\n}\n\nexport default ApplicationSessionManager\n"],"names":["ApplicationSessionManager","props","children","downloadCartPageUrl","appId","requireAuthentication","hookOptions","sessionContext","token","useSessionManager","jsx","ApplicationSessionContextProvider","SynapseContextProvider","SynapseClient","AuthenticationGuard"],"mappings":";;;;;;;;;;;;;;;;AA4CO,SAASA,EACdC,GACA;AACA,QAAM;AAAA,IACJ,UAAAC;AAAA,IACA,qBAAAC;AAAA,IACA,OAAAC;AAAA,IACA,uBAAAC;AAAA,IACA,GAAGC;AAAA,EAAA,IACDL,GACE,EAAE,gBAAAM,GAAgB,OAAAC,MAAUC,EAAkBH,CAAW;AAE/D,SACE,gBAAAI,EAACC,GAAA,EAAkC,SAASJ,GAC1C,UAAA,gBAAAG;AAAA,IAACE;AAAA,IAAA;AAAA,MACC,gBAAgB;AAAA,QACd,aAAaJ;AAAA,QACb,iBAAiBD,EAAe;AAAA,QAChC,sBAAsBM,EAAc,4BAAA;AAAA,QACpC,SAASA,EAAc,wBAAA;AAAA,QACvB,qBAAAV;AAAA,QACA,OAAAC;AAAA,MAAA;AAAA,MAGD,UAAAC,IACC,gBAAAK,EAACI,GAAA,EAAqB,UAAAZ,EAAA,CAAS,IAE/BA;AAAA,IAAA;AAAA,EAAA,GAGN;AAEJ;"}
@@ -1,12 +1,12 @@
1
1
  import { jsx as e } from "react/jsx-runtime";
2
- import { ThemeProvider as c } from "../../theme/ThemeProvider.js";
3
- import { GlobalIsEditingContextProvider as a } from "./GlobalIsEditingContext.js";
2
+ import { ThemeProvider as a } from "../../theme/ThemeProvider.js";
3
+ import { GlobalIsEditingContextProvider as c } from "./GlobalIsEditingContext.js";
4
4
  import { QueryClient as m, QueryClientProvider as p } from "@tanstack/react-query";
5
5
  import { Suspense as u } from "react";
6
6
  import { SynapseContextProvider as f } from "./SynapseContext.js";
7
7
  import { DocumentMetadataProvider as h } from "./DocumentMetadataContext.js";
8
- import { ApplicationSessionContextProvider as g } from "../AppUtils/session/ApplicationSessionContext.js";
9
- const C = {
8
+ import { ApplicationSessionContextProvider as C } from "../AppUtils/session/ApplicationSessionContext.js";
9
+ const g = {
10
10
  defaultOptions: {
11
11
  queries: {
12
12
  staleTime: 1e3 * 60 * 5,
@@ -18,7 +18,7 @@ const C = {
18
18
  refetchOnWindowFocus: !1
19
19
  }
20
20
  }
21
- }, S = new m(C);
21
+ }, x = new m(g);
22
22
  function F(i) {
23
23
  const {
24
24
  children: r,
@@ -34,12 +34,12 @@ function F(i) {
34
34
  setIsEditing: () => {
35
35
  }
36
36
  };
37
- return /* @__PURE__ */ e(p, { client: n ?? S, children: /* @__PURE__ */ e(c, { theme: s, children: /* @__PURE__ */ e(f, { synapseContext: o, children: /* @__PURE__ */ e(
38
- g,
37
+ return /* @__PURE__ */ e(p, { client: n ?? x, children: /* @__PURE__ */ e(a, { theme: s, children: /* @__PURE__ */ e(f, { synapseContext: { ...o }, children: /* @__PURE__ */ e(
38
+ C,
39
39
  {
40
40
  context: d,
41
41
  children: /* @__PURE__ */ e(h, { children: /* @__PURE__ */ e(
42
- a,
42
+ c,
43
43
  {
44
44
  subscribe: t.subscribe,
45
45
  getSnapshot: t.getSnapshot,
@@ -53,6 +53,6 @@ function F(i) {
53
53
  export {
54
54
  F as FullContextProvider,
55
55
  F as default,
56
- C as defaultQueryClientConfig
56
+ g as defaultQueryClientConfig
57
57
  };
58
58
  //# sourceMappingURL=FullContextProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"FullContextProvider.js","sources":["../../../src/utils/context/FullContextProvider.tsx"],"sourcesContent":["import { ThemeProvider } from '@/theme/ThemeProvider'\nimport {\n GlobalIsEditingContextProvider,\n IsEditingStore,\n} from '@/utils/context/GlobalIsEditingContext'\nimport { ThemeOptions } from '@mui/material'\nimport {\n QueryClient,\n QueryClientConfig,\n QueryClientProvider,\n} from '@tanstack/react-query'\nimport { PropsWithChildren, Suspense } from 'react'\nimport { SynapseContextProvider, SynapseContextType } from './SynapseContext'\nimport { DocumentMetadataProvider } from './DocumentMetadataContext'\nimport {\n ApplicationSessionContextProvider,\n ApplicationSessionContextType,\n} from '../AppUtils/session/ApplicationSessionContext'\n\nexport const defaultQueryClientConfig = {\n defaultOptions: {\n queries: {\n staleTime: 1000 * 60 * 5, // 5 min\n gcTime: 1000 * 60 * 30, // 30 min\n retry: false, // SynapseClient knows which queries to retry\n refetchOnWindowFocus: false,\n },\n },\n} satisfies QueryClientConfig\n\nconst defaultQueryClient = new QueryClient(defaultQueryClientConfig)\n\nexport type FullContextProviderProps = PropsWithChildren<{\n isEditingStore?: IsEditingStore\n synapseContext: Partial<SynapseContextType>\n queryClient?: QueryClient\n theme?: ThemeOptions\n applicationSessionContext: ApplicationSessionContextType\n}>\n\n/**\n * Provides all context necessary for components in SRC.\n *\n * Contexts include:\n * - SynapseContext\n * - QueryClientContext (react-query)\n * - ThemeContext (@mui)\n * - DocumentMetadataContext - for managing page title and meta descriptions\n * - ApplicationSessionContext - for managing user session state\n * - isEditingStore - used to sync editing state across the application\n *\n * IMPORTANT: The `applicationSessionContext` prop is required. For applications that need\n * full session management (e.g., login/logout), use `ApplicationSessionManager` which\n * provides its own context. For testing or simple use cases, use `MOCK_APPLICATION_SESSION_CONTEXT`.\n */\nexport function FullContextProvider(props: FullContextProviderProps) {\n const {\n children,\n synapseContext,\n queryClient,\n theme,\n isEditingStore: isEditingStoreFromProps,\n applicationSessionContext,\n } = props\n const isEditingStore = isEditingStoreFromProps || {\n subscribe: () => () => {},\n getSnapshot: () => false,\n setIsEditing: () => {},\n }\n\n return (\n <QueryClientProvider client={queryClient ?? defaultQueryClient}>\n <ThemeProvider theme={theme}>\n <SynapseContextProvider synapseContext={synapseContext}>\n <ApplicationSessionContextProvider\n context={applicationSessionContext}\n >\n <DocumentMetadataProvider>\n <GlobalIsEditingContextProvider\n subscribe={isEditingStore.subscribe}\n getSnapshot={isEditingStore.getSnapshot}\n setIsEditing={isEditingStore.setIsEditing}\n >\n <Suspense fallback={null}>{children}</Suspense>\n </GlobalIsEditingContextProvider>\n </DocumentMetadataProvider>\n </ApplicationSessionContextProvider>\n </SynapseContextProvider>\n </ThemeProvider>\n </QueryClientProvider>\n )\n}\n\nexport default FullContextProvider\n"],"names":["defaultQueryClientConfig","defaultQueryClient","QueryClient","FullContextProvider","props","children","synapseContext","queryClient","theme","isEditingStoreFromProps","applicationSessionContext","isEditingStore","jsx","QueryClientProvider","ThemeProvider","SynapseContextProvider","ApplicationSessionContextProvider","DocumentMetadataProvider","GlobalIsEditingContextProvider","Suspense"],"mappings":";;;;;;;;AAmBO,MAAMA,IAA2B;AAAA,EACtC,gBAAgB;AAAA,IACd,SAAS;AAAA,MACP,WAAW,MAAO,KAAK;AAAA;AAAA,MACvB,QAAQ,MAAO,KAAK;AAAA;AAAA,MACpB,OAAO;AAAA;AAAA,MACP,sBAAsB;AAAA,IAAA;AAAA,EACxB;AAEJ,GAEMC,IAAqB,IAAIC,EAAYF,CAAwB;AAyB5D,SAASG,EAAoBC,GAAiC;AACnE,QAAM;AAAA,IACJ,UAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,OAAAC;AAAA,IACA,gBAAgBC;AAAA,IAChB,2BAAAC;AAAA,EAAA,IACEN,GACEO,IAAiBF,KAA2B;AAAA,IAChD,WAAW,MAAM,MAAM;AAAA,IAAC;AAAA,IACxB,aAAa,MAAM;AAAA,IACnB,cAAc,MAAM;AAAA,IAAC;AAAA,EAAA;AAGvB,SACE,gBAAAG,EAACC,GAAA,EAAoB,QAAQN,KAAeN,GAC1C,4BAACa,GAAA,EAAc,OAAAN,GACb,UAAA,gBAAAI,EAACG,GAAA,EAAuB,gBAAAT,GACtB,UAAA,gBAAAM;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,SAASN;AAAA,MAET,4BAACO,GAAA,EACC,UAAA,gBAAAL;AAAA,QAACM;AAAA,QAAA;AAAA,UACC,WAAWP,EAAe;AAAA,UAC1B,aAAaA,EAAe;AAAA,UAC5B,cAAcA,EAAe;AAAA,UAE7B,UAAA,gBAAAC,EAACO,GAAA,EAAS,UAAU,MAAO,UAAAd,EAAA,CAAS;AAAA,QAAA;AAAA,MAAA,EACtC,CACF;AAAA,IAAA;AAAA,EAAA,EACF,CACF,GACF,GACF;AAEJ;"}
1
+ {"version":3,"file":"FullContextProvider.js","sources":["../../../src/utils/context/FullContextProvider.tsx"],"sourcesContent":["import { ThemeProvider } from '@/theme/ThemeProvider'\nimport {\n GlobalIsEditingContextProvider,\n IsEditingStore,\n} from '@/utils/context/GlobalIsEditingContext'\nimport { ThemeOptions } from '@mui/material'\nimport {\n QueryClient,\n QueryClientConfig,\n QueryClientProvider,\n} from '@tanstack/react-query'\nimport { PropsWithChildren, Suspense } from 'react'\nimport { SynapseContextProvider, SynapseContextType } from './SynapseContext'\nimport { DocumentMetadataProvider } from './DocumentMetadataContext'\nimport {\n ApplicationSessionContextProvider,\n ApplicationSessionContextType,\n} from '../AppUtils/session/ApplicationSessionContext'\n\nexport const defaultQueryClientConfig = {\n defaultOptions: {\n queries: {\n staleTime: 1000 * 60 * 5, // 5 min\n gcTime: 1000 * 60 * 30, // 30 min\n retry: false, // SynapseClient knows which queries to retry\n refetchOnWindowFocus: false,\n },\n },\n} satisfies QueryClientConfig\n\nconst defaultQueryClient = new QueryClient(defaultQueryClientConfig)\n\nexport type FullContextProviderProps = PropsWithChildren<{\n isEditingStore?: IsEditingStore\n synapseContext: Partial<SynapseContextType>\n queryClient?: QueryClient\n theme?: ThemeOptions\n applicationSessionContext: ApplicationSessionContextType\n}>\n\n/**\n * Provides all context necessary for components in SRC.\n *\n * Contexts include:\n * - SynapseContext\n * - QueryClientContext (react-query)\n * - ThemeContext (@mui)\n * - DocumentMetadataContext - for managing page title and meta descriptions\n * - ApplicationSessionContext - for managing user session state\n * - isEditingStore - used to sync editing state across the application\n *\n * IMPORTANT: The `applicationSessionContext` prop is required. For applications that need\n * full session management (e.g., login/logout), use `ApplicationSessionManager` which\n * provides its own context. For testing or simple use cases, use `MOCK_APPLICATION_SESSION_CONTEXT`.\n */\nexport function FullContextProvider(props: FullContextProviderProps) {\n const {\n children,\n synapseContext,\n queryClient,\n theme,\n isEditingStore: isEditingStoreFromProps,\n applicationSessionContext,\n } = props\n const isEditingStore = isEditingStoreFromProps || {\n subscribe: () => () => {},\n getSnapshot: () => false,\n setIsEditing: () => {},\n }\n\n return (\n <QueryClientProvider client={queryClient ?? defaultQueryClient}>\n <ThemeProvider theme={theme}>\n <SynapseContextProvider synapseContext={{ ...synapseContext }}>\n <ApplicationSessionContextProvider\n context={applicationSessionContext}\n >\n <DocumentMetadataProvider>\n <GlobalIsEditingContextProvider\n subscribe={isEditingStore.subscribe}\n getSnapshot={isEditingStore.getSnapshot}\n setIsEditing={isEditingStore.setIsEditing}\n >\n <Suspense fallback={null}>{children}</Suspense>\n </GlobalIsEditingContextProvider>\n </DocumentMetadataProvider>\n </ApplicationSessionContextProvider>\n </SynapseContextProvider>\n </ThemeProvider>\n </QueryClientProvider>\n )\n}\n\nexport default FullContextProvider\n"],"names":["defaultQueryClientConfig","defaultQueryClient","QueryClient","FullContextProvider","props","children","synapseContext","queryClient","theme","isEditingStoreFromProps","applicationSessionContext","isEditingStore","jsx","QueryClientProvider","ThemeProvider","SynapseContextProvider","ApplicationSessionContextProvider","DocumentMetadataProvider","GlobalIsEditingContextProvider","Suspense"],"mappings":";;;;;;;;AAmBO,MAAMA,IAA2B;AAAA,EACtC,gBAAgB;AAAA,IACd,SAAS;AAAA,MACP,WAAW,MAAO,KAAK;AAAA;AAAA,MACvB,QAAQ,MAAO,KAAK;AAAA;AAAA,MACpB,OAAO;AAAA;AAAA,MACP,sBAAsB;AAAA,IAAA;AAAA,EACxB;AAEJ,GAEMC,IAAqB,IAAIC,EAAYF,CAAwB;AAyB5D,SAASG,EAAoBC,GAAiC;AACnE,QAAM;AAAA,IACJ,UAAAC;AAAA,IACA,gBAAAC;AAAA,IACA,aAAAC;AAAA,IACA,OAAAC;AAAA,IACA,gBAAgBC;AAAA,IAChB,2BAAAC;AAAA,EAAA,IACEN,GACEO,IAAiBF,KAA2B;AAAA,IAChD,WAAW,MAAM,MAAM;AAAA,IAAC;AAAA,IACxB,aAAa,MAAM;AAAA,IACnB,cAAc,MAAM;AAAA,IAAC;AAAA,EAAA;AAGvB,SACE,gBAAAG,EAACC,GAAA,EAAoB,QAAQN,KAAeN,GAC1C,UAAA,gBAAAW,EAACE,GAAA,EAAc,OAAAN,GACb,UAAA,gBAAAI,EAACG,GAAA,EAAuB,gBAAgB,EAAE,GAAGT,KAC3C,UAAA,gBAAAM;AAAA,IAACI;AAAA,IAAA;AAAA,MACC,SAASN;AAAA,MAET,4BAACO,GAAA,EACC,UAAA,gBAAAL;AAAA,QAACM;AAAA,QAAA;AAAA,UACC,WAAWP,EAAe;AAAA,UAC1B,aAAaA,EAAe;AAAA,UAC5B,cAAcA,EAAe;AAAA,UAE7B,UAAA,gBAAAC,EAACO,GAAA,EAAS,UAAU,MAAO,UAAAd,EAAA,CAAS;AAAA,QAAA;AAAA,MAAA,EACtC,CACF;AAAA,IAAA;AAAA,EAAA,EACF,CACF,GACF,GACF;AAEJ;"}
@@ -1 +1 @@
1
- {"version":3,"file":"SynapseContext.d.ts","sourceRoot":"","sources":["../../../src/utils/context/SynapseContext.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAA;AAC9E,OAAO,EAAiB,iBAAiB,EAAuB,MAAM,OAAO,CAAA;AAG7E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,uEAAuE;IACvE,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,wCAAwC;IACxC,eAAe,EAAE,OAAO,CAAA;IACxB,gDAAgD;IAChD,oBAAoB,EAAE,OAAO,CAAA;IAC7B,6DAA6D;IAC7D,OAAO,EAAE,OAAO,CAAA;IAChB,0HAA0H;IAC1H,iBAAiB,EAAE,OAAO,CAAA;IAC1B,6FAA6F;IAC7F,mBAAmB,EAAE,MAAM,CAAA;IAC3B,2DAA2D;IAC3D,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,uEAAuE;IACvE,UAAU,EAAE,UAAU,CAAA;IACtB,yGAAyG;IACzG,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,aAAa,EAAE,aAAa,CAAA;CAC7B,CAAA;AAeD;;GAEG;AACH,eAAO,MAAM,cAAc,6CAAoD,CAAA;AAE/E,MAAM,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;IAC1D,cAAc,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;CAC7C,CAAC,CAAA;AAEF;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,2CA0DxE;AAED,eAAO,MAAM,sBAAsB,8CAA0B,CAAA;AAE7D,wBAAgB,iBAAiB,IAAI,kBAAkB,CAQtD"}
1
+ {"version":3,"file":"SynapseContext.d.ts","sourceRoot":"","sources":["../../../src/utils/context/SynapseContext.tsx"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,gDAAgD,CAAA;AAC9E,OAAO,EAAiB,iBAAiB,EAAuB,MAAM,OAAO,CAAA;AAG7E,MAAM,MAAM,kBAAkB,GAAG;IAC/B,uEAAuE;IACvE,WAAW,EAAE,MAAM,GAAG,SAAS,CAAA;IAC/B,wCAAwC;IACxC,eAAe,EAAE,OAAO,CAAA;IACxB,gDAAgD;IAChD,oBAAoB,EAAE,OAAO,CAAA;IAC7B,6DAA6D;IAC7D,OAAO,EAAE,OAAO,CAAA;IAChB,0HAA0H;IAC1H,iBAAiB,EAAE,OAAO,CAAA;IAC1B,6FAA6F;IAC7F,mBAAmB,EAAE,MAAM,CAAA;IAC3B,2DAA2D;IAC3D,mBAAmB,CAAC,EAAE,MAAM,CAAA;IAC5B,uEAAuE;IACvE,UAAU,EAAE,UAAU,CAAA;IACtB,yGAAyG;IACzG,KAAK,CAAC,EAAE,MAAM,CAAA;IAEd,aAAa,EAAE,aAAa,CAAA;CAC7B,CAAA;AAeD;;GAEG;AACH,eAAO,MAAM,cAAc,6CAAoD,CAAA;AAE/E,MAAM,MAAM,2BAA2B,GAAG,iBAAiB,CAAC;IAC1D,cAAc,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,CAAA;CAC7C,CAAC,CAAA;AAEF;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,2BAA2B,2CA2DxE;AAED,eAAO,MAAM,sBAAsB,8CAA0B,CAAA;AAE7D,wBAAgB,iBAAiB,IAAI,kBAAkB,CAQtD"}
@@ -45,6 +45,7 @@ function g(n) {
45
45
  e?.accessToken,
46
46
  e?.isAuthenticated,
47
47
  e?.downloadCartPageUrl,
48
+ e?.peopleSearchPageUrl,
48
49
  e?.isInExperimentalMode,
49
50
  e?.keyFactory,
50
51
  e?.utcTime,
@@ -1 +1 @@
1
- {"version":3,"file":"SynapseContext.js","sources":["../../../src/utils/context/SynapseContext.tsx"],"sourcesContent":["import { SynapseErrorBoundary } from '@/components/error/ErrorBanner'\nimport { KeyFactory } from '@/synapse-queries/KeyFactory'\nimport { SynapseClient } from '@sage-bionetworks/synapse-client/SynapseClient'\nimport { createContext, PropsWithChildren, useContext, useMemo } from 'react'\nimport { BackendDestinationEnum, getEndpoint } from '../functions/getEndpoint'\n\nexport type SynapseContextType = {\n /** The user's access token. If undefined, the user is not logged in */\n accessToken: string | undefined\n /** Whether the user is authenticated */\n isAuthenticated: boolean\n /** If the user has enabled experimental mode */\n isInExperimentalMode: boolean\n /** If the user prefers time to be displayed in UTC format */\n utcTime: boolean\n /** Whether to wrap all children of this context in an error boundary. Useful if this context wraps just one component. */\n withErrorBoundary: boolean\n /** The URL of the download cart page in the current app. Used to properly link components */\n downloadCartPageUrl: string\n /** The URL of the people search page in the current app */\n peopleSearchPageUrl?: string\n /** The key factory to use for react-query. Generated automatically. */\n keyFactory: KeyFactory\n /** The appId identifying the product. Used to brand the Synapse account management site, aka OneSage. */\n appId?: string\n /* API client objects for Synapse. Generated automatically. */\n synapseClient: SynapseClient\n}\n\nconst defaultContext = {\n accessToken: undefined,\n isAuthenticated: false,\n isInExperimentalMode: false,\n utcTime: false,\n withErrorBoundary: false,\n keyFactory: new KeyFactory(undefined),\n downloadCartPageUrl: '/DownloadCart',\n peopleSearchPageUrl: '/PeopleSearch:',\n appId: undefined,\n synapseClient: new SynapseClient(),\n} satisfies SynapseContextType\n\n/**\n * This must be exported to use the context in class components.\n */\nexport const SynapseContext = createContext<SynapseContextType>(defaultContext)\n\nexport type SynapseContextProviderProps = PropsWithChildren<{\n synapseContext?: Partial<SynapseContextType>\n}>\n\n/**\n * Provides context necessary for most components in SRC.\n *\n * The SynapseContextProvider must be wrapped in a react-query QueryClientProvider.\n * @returns\n */\nexport function SynapseContextProvider(props: SynapseContextProviderProps) {\n const { children, synapseContext: providedContext } = props\n const queryKeyFactory = useMemo(\n () => new KeyFactory(providedContext?.accessToken),\n [providedContext?.accessToken],\n )\n\n const basePath = getEndpoint(BackendDestinationEnum.REPO_ENDPOINT)\n\n const synapseApiClient = useMemo(() => {\n if (providedContext?.synapseClient) {\n return providedContext?.synapseClient\n }\n const configurationParameters = {\n accessToken: providedContext?.accessToken,\n basePath: basePath,\n }\n return new SynapseClient(configurationParameters)\n }, [providedContext?.synapseClient, providedContext?.accessToken, basePath])\n\n const synapseContext: SynapseContextType = useMemo(\n () => ({\n accessToken: providedContext?.accessToken,\n isAuthenticated: providedContext?.isAuthenticated ?? false,\n isInExperimentalMode: providedContext?.isInExperimentalMode ?? false,\n utcTime: providedContext?.utcTime ?? false,\n withErrorBoundary: providedContext?.withErrorBoundary ?? false,\n downloadCartPageUrl:\n providedContext?.downloadCartPageUrl ?? '/DownloadCart',\n peopleSearchPageUrl:\n providedContext?.peopleSearchPageUrl ?? '/PeopleSearch:',\n keyFactory: providedContext?.keyFactory ?? queryKeyFactory,\n appId: providedContext?.appId,\n synapseClient: synapseApiClient,\n }),\n [\n providedContext?.accessToken,\n providedContext?.isAuthenticated,\n providedContext?.downloadCartPageUrl,\n providedContext?.isInExperimentalMode,\n providedContext?.keyFactory,\n providedContext?.utcTime,\n providedContext?.withErrorBoundary,\n providedContext?.appId,\n queryKeyFactory,\n synapseApiClient,\n ],\n )\n\n return (\n <SynapseContext.Provider value={synapseContext}>\n {synapseContext?.withErrorBoundary ? (\n <SynapseErrorBoundary>{children}</SynapseErrorBoundary>\n ) : (\n children\n )}\n </SynapseContext.Provider>\n )\n}\n\nexport const SynapseContextConsumer = SynapseContext.Consumer\n\nexport function useSynapseContext(): SynapseContextType {\n const context = useContext(SynapseContext)\n if (context === undefined) {\n throw new Error(\n 'useSynapseContext must be used within a SynapseContextProvider',\n )\n }\n return context\n}\n"],"names":["defaultContext","KeyFactory","SynapseClient","SynapseContext","createContext","SynapseContextProvider","props","children","providedContext","queryKeyFactory","useMemo","basePath","getEndpoint","BackendDestinationEnum","synapseApiClient","configurationParameters","synapseContext","jsx","SynapseErrorBoundary","SynapseContextConsumer","useSynapseContext","context","useContext"],"mappings":";;;;;;AA6BA,MAAMA,IAAiB;AAAA,EACrB,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,sBAAsB;AAAA,EACtB,SAAS;AAAA,EACT,mBAAmB;AAAA,EACnB,YAAY,IAAIC,EAAW,MAAS;AAAA,EACpC,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,OAAO;AAAA,EACP,eAAe,IAAIC,EAAA;AACrB,GAKaC,IAAiBC,EAAkCJ,CAAc;AAYvE,SAASK,EAAuBC,GAAoC;AACzE,QAAM,EAAE,UAAAC,GAAU,gBAAgBC,EAAA,IAAoBF,GAChDG,IAAkBC;AAAA,IACtB,MAAM,IAAIT,EAAWO,GAAiB,WAAW;AAAA,IACjD,CAACA,GAAiB,WAAW;AAAA,EAAA,GAGzBG,IAAWC,EAAYC,EAAuB,aAAa,GAE3DC,IAAmBJ,EAAQ,MAAM;AACrC,QAAIF,GAAiB;AACnB,aAAOA,GAAiB;AAE1B,UAAMO,IAA0B;AAAA,MAC9B,aAAaP,GAAiB;AAAA,MAC9B,UAAAG;AAAA,IAAA;AAEF,WAAO,IAAIT,EAAca,CAAuB;AAAA,EAClD,GAAG,CAACP,GAAiB,eAAeA,GAAiB,aAAaG,CAAQ,CAAC,GAErEK,IAAqCN;AAAA,IACzC,OAAO;AAAA,MACL,aAAaF,GAAiB;AAAA,MAC9B,iBAAiBA,GAAiB,mBAAmB;AAAA,MACrD,sBAAsBA,GAAiB,wBAAwB;AAAA,MAC/D,SAASA,GAAiB,WAAW;AAAA,MACrC,mBAAmBA,GAAiB,qBAAqB;AAAA,MACzD,qBACEA,GAAiB,uBAAuB;AAAA,MAC1C,qBACEA,GAAiB,uBAAuB;AAAA,MAC1C,YAAYA,GAAiB,cAAcC;AAAA,MAC3C,OAAOD,GAAiB;AAAA,MACxB,eAAeM;AAAA,IAAA;AAAA,IAEjB;AAAA,MACEN,GAAiB;AAAA,MACjBA,GAAiB;AAAA,MACjBA,GAAiB;AAAA,MACjBA,GAAiB;AAAA,MACjBA,GAAiB;AAAA,MACjBA,GAAiB;AAAA,MACjBA,GAAiB;AAAA,MACjBA,GAAiB;AAAA,MACjBC;AAAA,MACAK;AAAA,IAAA;AAAA,EACF;AAGF,SACE,gBAAAG,EAACd,EAAe,UAAf,EAAwB,OAAOa,GAC7B,UAAAA,GAAgB,oBACf,gBAAAC,EAACC,GAAA,EAAsB,UAAAX,EAAA,CAAS,IAEhCA,GAEJ;AAEJ;AAEO,MAAMY,IAAyBhB,EAAe;AAE9C,SAASiB,IAAwC;AACtD,QAAMC,IAAUC,EAAWnB,CAAc;AACzC,MAAIkB,MAAY;AACd,UAAM,IAAI;AAAA,MACR;AAAA,IAAA;AAGJ,SAAOA;AACT;"}
1
+ {"version":3,"file":"SynapseContext.js","sources":["../../../src/utils/context/SynapseContext.tsx"],"sourcesContent":["import { SynapseErrorBoundary } from '@/components/error/ErrorBanner'\nimport { KeyFactory } from '@/synapse-queries/KeyFactory'\nimport { SynapseClient } from '@sage-bionetworks/synapse-client/SynapseClient'\nimport { createContext, PropsWithChildren, useContext, useMemo } from 'react'\nimport { BackendDestinationEnum, getEndpoint } from '../functions/getEndpoint'\n\nexport type SynapseContextType = {\n /** The user's access token. If undefined, the user is not logged in */\n accessToken: string | undefined\n /** Whether the user is authenticated */\n isAuthenticated: boolean\n /** If the user has enabled experimental mode */\n isInExperimentalMode: boolean\n /** If the user prefers time to be displayed in UTC format */\n utcTime: boolean\n /** Whether to wrap all children of this context in an error boundary. Useful if this context wraps just one component. */\n withErrorBoundary: boolean\n /** The URL of the download cart page in the current app. Used to properly link components */\n downloadCartPageUrl: string\n /** The URL of the people search page in the current app */\n peopleSearchPageUrl?: string\n /** The key factory to use for react-query. Generated automatically. */\n keyFactory: KeyFactory\n /** The appId identifying the product. Used to brand the Synapse account management site, aka OneSage. */\n appId?: string\n /* API client objects for Synapse. Generated automatically. */\n synapseClient: SynapseClient\n}\n\nconst defaultContext = {\n accessToken: undefined,\n isAuthenticated: false,\n isInExperimentalMode: false,\n utcTime: false,\n withErrorBoundary: false,\n keyFactory: new KeyFactory(undefined),\n downloadCartPageUrl: '/DownloadCart',\n peopleSearchPageUrl: '/PeopleSearch:',\n appId: undefined,\n synapseClient: new SynapseClient(),\n} satisfies SynapseContextType\n\n/**\n * This must be exported to use the context in class components.\n */\nexport const SynapseContext = createContext<SynapseContextType>(defaultContext)\n\nexport type SynapseContextProviderProps = PropsWithChildren<{\n synapseContext?: Partial<SynapseContextType>\n}>\n\n/**\n * Provides context necessary for most components in SRC.\n *\n * The SynapseContextProvider must be wrapped in a react-query QueryClientProvider.\n * @returns\n */\nexport function SynapseContextProvider(props: SynapseContextProviderProps) {\n const { children, synapseContext: providedContext } = props\n const queryKeyFactory = useMemo(\n () => new KeyFactory(providedContext?.accessToken),\n [providedContext?.accessToken],\n )\n\n const basePath = getEndpoint(BackendDestinationEnum.REPO_ENDPOINT)\n\n const synapseApiClient = useMemo(() => {\n if (providedContext?.synapseClient) {\n return providedContext?.synapseClient\n }\n const configurationParameters = {\n accessToken: providedContext?.accessToken,\n basePath: basePath,\n }\n return new SynapseClient(configurationParameters)\n }, [providedContext?.synapseClient, providedContext?.accessToken, basePath])\n\n const synapseContext: SynapseContextType = useMemo(\n () => ({\n accessToken: providedContext?.accessToken,\n isAuthenticated: providedContext?.isAuthenticated ?? false,\n isInExperimentalMode: providedContext?.isInExperimentalMode ?? false,\n utcTime: providedContext?.utcTime ?? false,\n withErrorBoundary: providedContext?.withErrorBoundary ?? false,\n downloadCartPageUrl:\n providedContext?.downloadCartPageUrl ?? '/DownloadCart',\n peopleSearchPageUrl:\n providedContext?.peopleSearchPageUrl ?? '/PeopleSearch:',\n keyFactory: providedContext?.keyFactory ?? queryKeyFactory,\n appId: providedContext?.appId,\n synapseClient: synapseApiClient,\n }),\n [\n providedContext?.accessToken,\n providedContext?.isAuthenticated,\n providedContext?.downloadCartPageUrl,\n providedContext?.peopleSearchPageUrl,\n providedContext?.isInExperimentalMode,\n providedContext?.keyFactory,\n providedContext?.utcTime,\n providedContext?.withErrorBoundary,\n providedContext?.appId,\n queryKeyFactory,\n synapseApiClient,\n ],\n )\n\n return (\n <SynapseContext.Provider value={synapseContext}>\n {synapseContext?.withErrorBoundary ? (\n <SynapseErrorBoundary>{children}</SynapseErrorBoundary>\n ) : (\n children\n )}\n </SynapseContext.Provider>\n )\n}\n\nexport const SynapseContextConsumer = SynapseContext.Consumer\n\nexport function useSynapseContext(): SynapseContextType {\n const context = useContext(SynapseContext)\n if (context === undefined) {\n throw new Error(\n 'useSynapseContext must be used within a SynapseContextProvider',\n )\n }\n return context\n}\n"],"names":["defaultContext","KeyFactory","SynapseClient","SynapseContext","createContext","SynapseContextProvider","props","children","providedContext","queryKeyFactory","useMemo","basePath","getEndpoint","BackendDestinationEnum","synapseApiClient","configurationParameters","synapseContext","jsx","SynapseErrorBoundary","SynapseContextConsumer","useSynapseContext","context","useContext"],"mappings":";;;;;;AA6BA,MAAMA,IAAiB;AAAA,EACrB,aAAa;AAAA,EACb,iBAAiB;AAAA,EACjB,sBAAsB;AAAA,EACtB,SAAS;AAAA,EACT,mBAAmB;AAAA,EACnB,YAAY,IAAIC,EAAW,MAAS;AAAA,EACpC,qBAAqB;AAAA,EACrB,qBAAqB;AAAA,EACrB,OAAO;AAAA,EACP,eAAe,IAAIC,EAAA;AACrB,GAKaC,IAAiBC,EAAkCJ,CAAc;AAYvE,SAASK,EAAuBC,GAAoC;AACzE,QAAM,EAAE,UAAAC,GAAU,gBAAgBC,EAAA,IAAoBF,GAChDG,IAAkBC;AAAA,IACtB,MAAM,IAAIT,EAAWO,GAAiB,WAAW;AAAA,IACjD,CAACA,GAAiB,WAAW;AAAA,EAAA,GAGzBG,IAAWC,EAAYC,EAAuB,aAAa,GAE3DC,IAAmBJ,EAAQ,MAAM;AACrC,QAAIF,GAAiB;AACnB,aAAOA,GAAiB;AAE1B,UAAMO,IAA0B;AAAA,MAC9B,aAAaP,GAAiB;AAAA,MAC9B,UAAAG;AAAA,IAAA;AAEF,WAAO,IAAIT,EAAca,CAAuB;AAAA,EAClD,GAAG,CAACP,GAAiB,eAAeA,GAAiB,aAAaG,CAAQ,CAAC,GAErEK,IAAqCN;AAAA,IACzC,OAAO;AAAA,MACL,aAAaF,GAAiB;AAAA,MAC9B,iBAAiBA,GAAiB,mBAAmB;AAAA,MACrD,sBAAsBA,GAAiB,wBAAwB;AAAA,MAC/D,SAASA,GAAiB,WAAW;AAAA,MACrC,mBAAmBA,GAAiB,qBAAqB;AAAA,MACzD,qBACEA,GAAiB,uBAAuB;AAAA,MAC1C,qBACEA,GAAiB,uBAAuB;AAAA,MAC1C,YAAYA,GAAiB,cAAcC;AAAA,MAC3C,OAAOD,GAAiB;AAAA,MACxB,eAAeM;AAAA,IAAA;AAAA,IAEjB;AAAA,MACEN,GAAiB;AAAA,MACjBA,GAAiB;AAAA,MACjBA,GAAiB;AAAA,MACjBA,GAAiB;AAAA,MACjBA,GAAiB;AAAA,MACjBA,GAAiB;AAAA,MACjBA,GAAiB;AAAA,MACjBA,GAAiB;AAAA,MACjBA,GAAiB;AAAA,MACjBC;AAAA,MACAK;AAAA,IAAA;AAAA,EACF;AAGF,SACE,gBAAAG,EAACd,EAAe,UAAf,EAAwB,OAAOa,GAC7B,UAAAA,GAAgB,oBACf,gBAAAC,EAACC,GAAA,EAAsB,UAAAX,EAAA,CAAS,IAEhCA,GAEJ;AAEJ;AAEO,MAAMY,IAAyBhB,EAAe;AAE9C,SAASiB,IAAwC;AACtD,QAAMC,IAAUC,EAAWnB,CAAc;AACzC,MAAIkB,MAAY;AACd,UAAM,IAAI;AAAA,MACR;AAAA,IAAA;AAGJ,SAAOA;AACT;"}
@@ -3,7 +3,11 @@ export type SQLOperator = ColumnSingleValueFilterOperator | ColumnMultiValueFunc
3
3
  export declare const QUERY_FILTERS_SESSION_STORAGE_KEY: (key: string) => string;
4
4
  export declare function removePrefixIfSynId(value: string): string;
5
5
  export declare const getIgnoredQueryFilterSearchParamKey: (key: string, namespace?: string) => string;
6
+ export declare const SEARCH_TERM = "SEARCH_TERM";
7
+ export declare const SEARCH_ROLE = "SEARCH_ROLE";
8
+ /** @deprecated Use SEARCH_TERM instead */
6
9
  export declare const FTS_SEARCH_TERM = "FTS_SEARCH_TERM";
10
+ /** @deprecated Use SEARCH_ROLE instead */
7
11
  export declare const FTS_SEARCH_ROLE = "FTS_SEARCH_ROLE";
8
12
  /**
9
13
  * Look in local storage for a set of QueryFilters to apply. In addition, given the search params,
@@ -1 +1 @@
1
- {"version":3,"file":"SqlFunctions.d.ts","sourceRoot":"","sources":["../../../src/utils/functions/SqlFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,wBAAwB,EAExB,+BAA+B,EAE/B,WAAW,EACX,GAAG,EACH,YAAY,EAEb,MAAM,iCAAiC,CAAA;AAIxC,MAAM,MAAM,WAAW,GACnB,+BAA+B,GAC/B,wBAAwB,CAAA;AAG5B,eAAO,MAAM,iCAAiC,GAAI,KAAK,MAAM,WAC5B,CAAA;AAEjC,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,UAKhD;AACD,eAAO,MAAM,mCAAmC,GAC9C,KAAK,MAAM,EACX,YAAY,MAAM,WAGnB,CAAA;AAGD,eAAO,MAAM,eAAe,oBAAoB,CAAA;AAEhD,eAAO,MAAM,eAAe,oBAAoB,CAAA;AAEhD;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAC/B,eAAe,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,WAAU,WAAkD,EAC5D,oBAAoB,MAAM,KACzB,WAAW,EAAE,GAAG,SAmGlB,CAAA;AAID,eAAO,MAAM,6BAA6B,GAAI,KAAK,MAAM,KAAG,MAG3D,CAAA;AAED,eAAO,MAAM,uCAAuC,GAClD,KAAK,MAAM,KACV;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAU7C,CAAA;AAED,eAAO,MAAM,YAAY,GACvB,eAAe,YAAY,EAAE,EAC7B,YAAY,GAAG,EAAE,oCAWlB,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GACzB,aAAa,MAAM,EACnB,gBAAgB,YAAY,EAAE,EAC9B,eAAe,WAAW,EAAE,KAC3B,MAAM,GAAG,SA0BX,CAAA"}
1
+ {"version":3,"file":"SqlFunctions.d.ts","sourceRoot":"","sources":["../../../src/utils/functions/SqlFunctions.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,WAAW,EACX,wBAAwB,EAExB,+BAA+B,EAE/B,WAAW,EACX,GAAG,EACH,YAAY,EAEb,MAAM,iCAAiC,CAAA;AAIxC,MAAM,MAAM,WAAW,GACnB,+BAA+B,GAC/B,wBAAwB,CAAA;AAG5B,eAAO,MAAM,iCAAiC,GAAI,KAAK,MAAM,WAC5B,CAAA;AAEjC,wBAAgB,mBAAmB,CAAC,KAAK,EAAE,MAAM,UAKhD;AACD,eAAO,MAAM,mCAAmC,GAC9C,KAAK,MAAM,EACX,YAAY,MAAM,WAGnB,CAAA;AAGD,eAAO,MAAM,WAAW,gBAAgB,CAAA;AACxC,eAAO,MAAM,WAAW,gBAAgB,CAAA;AAExC,0CAA0C;AAC1C,eAAO,MAAM,eAAe,oBAAoB,CAAA;AAChD,0CAA0C;AAC1C,eAAO,MAAM,eAAe,oBAAoB,CAAA;AAEhD;;;;;;;;GAQG;AACH,eAAO,MAAM,oBAAoB,GAC/B,eAAe,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,EACrC,WAAU,WAAkD,EAC5D,oBAAoB,MAAM,KACzB,WAAW,EAAE,GAAG,SAmGlB,CAAA;AAID,eAAO,MAAM,6BAA6B,GAAI,KAAK,MAAM,KAAG,MAG3D,CAAA;AAED,eAAO,MAAM,uCAAuC,GAClD,KAAK,MAAM,KACV;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,aAAa,CAAC,EAAE,MAAM,CAAA;CAU7C,CAAA;AAED,eAAO,MAAM,YAAY,GACvB,eAAe,YAAY,EAAE,EAC7B,YAAY,GAAG,EAAE,oCAWlB,CAAA;AAED;;;;;;;GAOG;AACH,eAAO,MAAM,cAAc,GACzB,aAAa,MAAM,EACnB,gBAAgB,YAAY,EAAE,EAC9B,eAAe,WAAW,EAAE,KAC3B,MAAM,GAAG,SA0BX,CAAA"}
@@ -1,24 +1,24 @@
1
1
  import { ColumnSingleValueFilterOperator as u, ColumnMultiValueFunction as c } from "@sage-bionetworks/synapse-types";
2
2
  import { SYNAPSE_ENTITY_ID_REGEX as d } from "./RegularExpressions.js";
3
3
  import { splitAndTrim as m } from "./StringUtils.js";
4
- const S = 3, g = (e) => `${e}-temp-QueryFilter-array`;
4
+ const S = 3, E = (e) => `${e}-temp-QueryFilter-array`;
5
5
  function f(e) {
6
6
  return e.match(d) ? e.substring(S) : e;
7
7
  }
8
- const F = (e, n) => `__${n ?? ""}_${e}`, E = "FTS_SEARCH_TERM", T = "FTS_SEARCH_ROLE", b = (e, n = u.LIKE, o) => {
9
- const l = o ? sessionStorage.getItem(
10
- g(o)
8
+ const R = (e, n) => `__${n ?? ""}_${e}`, _ = "SEARCH_TERM", T = "SEARCH_ROLE", g = "FTS_SEARCH_TERM", C = "FTS_SEARCH_ROLE", b = (e, n = u.LIKE, o) => {
9
+ const s = o ? sessionStorage.getItem(
10
+ E(o)
11
11
  ) : void 0;
12
12
  let r = [];
13
- if (l && (r = JSON.parse(
14
- l
13
+ if (s && (r = JSON.parse(
14
+ s
15
15
  )), e) {
16
16
  const i = (t) => t.startsWith("qw") || t.startsWith("__");
17
17
  r = r.concat(
18
18
  Object.keys(e || {}).filter(
19
19
  (t) => !i(t) && e[t] != null && e[t].trim() != ""
20
20
  ).map((t) => {
21
- if (t == E)
21
+ if (t == _ || t == g)
22
22
  return {
23
23
  concreteType: "org.sagebionetworks.repo.model.table.TextMatchesQueryFilter",
24
24
  searchExpression: e[t]
@@ -67,7 +67,7 @@ const F = (e, n) => `__${n ?? ""}_${e}`, E = "FTS_SEARCH_TERM", T = "FTS_SEARCH_
67
67
  );
68
68
  }
69
69
  return r.length === 0 ? void 0 : r;
70
- }, C = (e) => {
70
+ }, A = (e) => {
71
71
  const n = e.match(/(from)\s+(syn)\d+/gi);
72
72
  return n && n[0] ? n[0].substr(5).trim() : "";
73
73
  }, v = (e) => {
@@ -76,43 +76,45 @@ const F = (e, n) => `__${n ?? ""}_${e}`, E = "FTS_SEARCH_TERM", T = "FTS_SEARCH_
76
76
  entityId: o[1],
77
77
  versionNumber: o[2] ? parseInt(o[2]) : void 0
78
78
  } : { entityId: void 0, versionNumber: void 0 };
79
- }, R = (e, n) => {
80
- const o = n.map((r) => r.values), l = e.map((r) => r.name);
79
+ }, w = (e, n) => {
80
+ const o = n.map((r) => r.values), s = e.map((r) => r.name);
81
81
  return o.map((r) => {
82
82
  const i = {};
83
- return r.forEach((t, s) => {
84
- i[l[s]] = t;
83
+ return r.forEach((t, l) => {
84
+ i[s[l]] = t;
85
85
  }), i;
86
86
  });
87
- }, w = (e, n, o) => {
87
+ }, N = (e, n, o) => {
88
88
  if (!e)
89
89
  return;
90
- const l = e.toLowerCase();
90
+ const s = e.toLowerCase();
91
91
  if (n) {
92
92
  const r = n.findIndex(
93
- (i) => i.name?.toLowerCase() === l
93
+ (i) => i.name?.toLowerCase() === s
94
94
  );
95
95
  if (r != -1)
96
96
  return r;
97
97
  }
98
98
  if (o) {
99
99
  const r = o.findIndex(
100
- (i) => i.name?.toLowerCase() === l
100
+ (i) => i.name?.toLowerCase() === s
101
101
  );
102
102
  if (r !== -1)
103
103
  return r;
104
104
  }
105
105
  };
106
106
  export {
107
- T as FTS_SEARCH_ROLE,
108
- E as FTS_SEARCH_TERM,
109
- g as QUERY_FILTERS_SESSION_STORAGE_KEY,
107
+ C as FTS_SEARCH_ROLE,
108
+ g as FTS_SEARCH_TERM,
109
+ E as QUERY_FILTERS_SESSION_STORAGE_KEY,
110
+ T as SEARCH_ROLE,
111
+ _ as SEARCH_TERM,
110
112
  b as getAdditionalFilters,
111
- w as getColumnIndex,
112
- F as getIgnoredQueryFilterSearchParamKey,
113
+ N as getColumnIndex,
114
+ R as getIgnoredQueryFilterSearchParamKey,
113
115
  v as parseEntityIdAndVersionFromSqlStatement,
114
- C as parseEntityIdFromSqlStatement,
116
+ A as parseEntityIdFromSqlStatement,
115
117
  f as removePrefixIfSynId,
116
- R as resultToJson
118
+ w as resultToJson
117
119
  };
118
120
  //# sourceMappingURL=SqlFunctions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"SqlFunctions.js","sources":["../../../src/utils/functions/SqlFunctions.ts"],"sourcesContent":["import {\n ColumnModel,\n ColumnMultiValueFunction,\n ColumnMultiValueFunctionQueryFilter,\n ColumnSingleValueFilterOperator,\n ColumnSingleValueQueryFilter,\n QueryFilter,\n Row,\n SelectColumn,\n TextMatchesQueryFilter,\n} from '@sage-bionetworks/synapse-types'\nimport { SYNAPSE_ENTITY_ID_REGEX } from './RegularExpressions'\nimport { splitAndTrim } from './StringUtils'\n\nexport type SQLOperator =\n | ColumnSingleValueFilterOperator\n | ColumnMultiValueFunction\n\nconst WITHOUT_SYN_PREFIX = 3\nexport const QUERY_FILTERS_SESSION_STORAGE_KEY = (key: string) =>\n `${key}-temp-QueryFilter-array`\n\nexport function removePrefixIfSynId(value: string) {\n if (value.match(SYNAPSE_ENTITY_ID_REGEX)) {\n return value.substring(WITHOUT_SYN_PREFIX)\n }\n return value\n}\nexport const getIgnoredQueryFilterSearchParamKey = (\n key: string,\n namespace?: string,\n) => {\n return `__${namespace ?? ''}_${key}`\n}\n\n// Special search parameter key that will automatically apply a FTS search term to a Query Wrapper if present\nexport const FTS_SEARCH_TERM = 'FTS_SEARCH_TERM'\n\nexport const FTS_SEARCH_ROLE = 'FTS_SEARCH_ROLE'\n\n/**\n * Look in local storage for a set of QueryFilters to apply. In addition, given the search params,\n * generate a set of QueryFilters to narrow the query to view just related data.\n * May return null if a QueryFilter should not be added.\n * @param sql\n * @param searchParams\n * @param operator\n * @returns\n */\nexport const getAdditionalFilters = (\n searchParams?: Record<string, string>,\n operator: SQLOperator = ColumnSingleValueFilterOperator.LIKE,\n sessionStorageKey?: string,\n): QueryFilter[] | undefined => {\n const sessionStorageQueryFiltersString = sessionStorageKey\n ? sessionStorage.getItem(\n QUERY_FILTERS_SESSION_STORAGE_KEY(sessionStorageKey),\n )\n : undefined\n let additionalFilters: QueryFilter[] = []\n if (sessionStorageQueryFiltersString) {\n additionalFilters = JSON.parse(\n sessionStorageQueryFiltersString,\n ) as QueryFilter[]\n }\n if (searchParams) {\n const isQueryWrapperKey = (key: string) =>\n key.startsWith('qw') || key.startsWith('__')\n additionalFilters = additionalFilters.concat(\n Object.keys(searchParams || {})\n .filter(\n key =>\n !isQueryWrapperKey(key) &&\n searchParams[key] != undefined &&\n searchParams[key].trim() != '',\n )\n .map(key => {\n if (key == FTS_SEARCH_TERM) {\n const filter: TextMatchesQueryFilter = {\n concreteType:\n 'org.sagebionetworks.repo.model.table.TextMatchesQueryFilter',\n searchExpression: searchParams[key],\n }\n return filter\n }\n switch (operator) {\n case ColumnSingleValueFilterOperator.EQUAL: {\n const filter: ColumnSingleValueQueryFilter = {\n concreteType:\n 'org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter',\n columnName: key,\n operator: operator,\n values: [searchParams[key]],\n }\n return filter\n }\n case ColumnSingleValueFilterOperator.IN: {\n const filter: ColumnSingleValueQueryFilter = {\n concreteType:\n 'org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter',\n columnName: key,\n operator: operator,\n values: splitAndTrim(searchParams[key]),\n }\n return filter\n }\n case ColumnMultiValueFunction.HAS: {\n const filter: ColumnMultiValueFunctionQueryFilter = {\n concreteType:\n 'org.sagebionetworks.repo.model.table.ColumnMultiValueFunctionQueryFilter',\n columnName: key,\n function: operator,\n _function: operator,\n values: splitAndTrim(searchParams[key]),\n }\n return filter\n }\n case ColumnSingleValueFilterOperator.LIKE: {\n // If we use a LIKE statement with a synId the backend will look for a string with the first three\n // characters being 'syn', however, it stores synIds without 'syn', so the query will fail\n // The backend usually parses 'syn' out, but not with the LIKE clause since its expecting a regex, so we\n // parse this out. This will cause a bug if something matches the synId regex but is in free text.\n const filter: ColumnSingleValueQueryFilter = {\n concreteType:\n 'org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter',\n columnName: key,\n operator: operator,\n // Add wildcards around the value\n values: [`%${removePrefixIfSynId(searchParams[key])}%`],\n }\n return filter\n }\n case ColumnMultiValueFunction.HAS_LIKE: {\n const filter: ColumnMultiValueFunctionQueryFilter = {\n concreteType:\n 'org.sagebionetworks.repo.model.table.ColumnMultiValueFunctionQueryFilter',\n columnName: key,\n function: operator,\n _function: operator,\n values: searchParams[key].split(',').map(param => {\n // Remove synId prefix for the same reasons as in the LIKE case\n return `%${removePrefixIfSynId(param)}%`\n }),\n }\n return filter\n }\n }\n }),\n )\n }\n\n return additionalFilters.length === 0 ? undefined : additionalFilters\n}\n\n//parses synapse entity id from a sql query string\n//look for a pattern of 'from[some number of spaces]syn[somenumbers]` case insensitive\nexport const parseEntityIdFromSqlStatement = (sql: string): string => {\n const matches = sql.match(/(from)\\s+(syn)\\d+/gi)\n return matches && matches[0] ? matches[0].substr(5).trim() : ''\n}\n\nexport const parseEntityIdAndVersionFromSqlStatement = (\n sql: string,\n): { entityId?: string; versionNumber?: number } => {\n const regex = /from\\s+(syn\\d+)(?:\\.(\\d+))?/i\n const matches = regex.exec(sql)\n if (!matches) {\n return { entityId: undefined, versionNumber: undefined }\n }\n return {\n entityId: matches[1],\n versionNumber: matches[2] ? parseInt(matches[2]) : undefined,\n }\n}\n\nexport const resultToJson = (\n headerColumns: SelectColumn[],\n rowColumns: Row[],\n) => {\n const rows = rowColumns.map(row => row.values)\n const headers = headerColumns.map(column => column.name)\n return rows.map(row => {\n const obj: Record<string, string | null> = {}\n row.forEach((text, cellIndex) => {\n obj[headers[cellIndex]] = text\n })\n return obj\n })\n}\n\n/**\n * Finds the index of the given column name in the selectColumns or columnModels.\n *\n * @returns a non-negative integer if the column is found, or undefined if the column is not found\n * @param columnName\n * @param selectColumns\n * @param columnModels\n */\nexport const getColumnIndex = (\n columnName?: string,\n selectColumns?: SelectColumn[],\n columnModels?: ColumnModel[],\n): number | undefined => {\n if (!columnName) {\n return undefined\n }\n\n const lowerCaseColumnName = columnName.toLowerCase()\n\n if (selectColumns) {\n const findIndexResult = selectColumns.findIndex(\n el => el.name?.toLowerCase() === lowerCaseColumnName,\n )\n if (findIndexResult != -1) {\n return findIndexResult\n }\n }\n\n if (columnModels) {\n const findIndexResult = columnModels.findIndex(\n el => el.name?.toLowerCase() === lowerCaseColumnName,\n )\n if (findIndexResult !== -1) {\n return findIndexResult\n }\n }\n\n return undefined\n}\n"],"names":["WITHOUT_SYN_PREFIX","QUERY_FILTERS_SESSION_STORAGE_KEY","key","removePrefixIfSynId","value","SYNAPSE_ENTITY_ID_REGEX","getIgnoredQueryFilterSearchParamKey","namespace","FTS_SEARCH_TERM","FTS_SEARCH_ROLE","getAdditionalFilters","searchParams","operator","ColumnSingleValueFilterOperator","sessionStorageKey","sessionStorageQueryFiltersString","additionalFilters","isQueryWrapperKey","splitAndTrim","ColumnMultiValueFunction","param","parseEntityIdFromSqlStatement","sql","matches","parseEntityIdAndVersionFromSqlStatement","resultToJson","headerColumns","rowColumns","rows","row","headers","column","obj","text","cellIndex","getColumnIndex","columnName","selectColumns","columnModels","lowerCaseColumnName","findIndexResult","el"],"mappings":"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"}
1
+ {"version":3,"file":"SqlFunctions.js","sources":["../../../src/utils/functions/SqlFunctions.ts"],"sourcesContent":["import {\n ColumnModel,\n ColumnMultiValueFunction,\n ColumnMultiValueFunctionQueryFilter,\n ColumnSingleValueFilterOperator,\n ColumnSingleValueQueryFilter,\n QueryFilter,\n Row,\n SelectColumn,\n TextMatchesQueryFilter,\n} from '@sage-bionetworks/synapse-types'\nimport { SYNAPSE_ENTITY_ID_REGEX } from './RegularExpressions'\nimport { splitAndTrim } from './StringUtils'\n\nexport type SQLOperator =\n | ColumnSingleValueFilterOperator\n | ColumnMultiValueFunction\n\nconst WITHOUT_SYN_PREFIX = 3\nexport const QUERY_FILTERS_SESSION_STORAGE_KEY = (key: string) =>\n `${key}-temp-QueryFilter-array`\n\nexport function removePrefixIfSynId(value: string) {\n if (value.match(SYNAPSE_ENTITY_ID_REGEX)) {\n return value.substring(WITHOUT_SYN_PREFIX)\n }\n return value\n}\nexport const getIgnoredQueryFilterSearchParamKey = (\n key: string,\n namespace?: string,\n) => {\n return `__${namespace ?? ''}_${key}`\n}\n\n// Special search parameter key that will automatically apply a FTS search term to a Query Wrapper if present\nexport const SEARCH_TERM = 'SEARCH_TERM'\nexport const SEARCH_ROLE = 'SEARCH_ROLE'\n\n/** @deprecated Use SEARCH_TERM instead */\nexport const FTS_SEARCH_TERM = 'FTS_SEARCH_TERM'\n/** @deprecated Use SEARCH_ROLE instead */\nexport const FTS_SEARCH_ROLE = 'FTS_SEARCH_ROLE'\n\n/**\n * Look in local storage for a set of QueryFilters to apply. In addition, given the search params,\n * generate a set of QueryFilters to narrow the query to view just related data.\n * May return null if a QueryFilter should not be added.\n * @param sql\n * @param searchParams\n * @param operator\n * @returns\n */\nexport const getAdditionalFilters = (\n searchParams?: Record<string, string>,\n operator: SQLOperator = ColumnSingleValueFilterOperator.LIKE,\n sessionStorageKey?: string,\n): QueryFilter[] | undefined => {\n const sessionStorageQueryFiltersString = sessionStorageKey\n ? sessionStorage.getItem(\n QUERY_FILTERS_SESSION_STORAGE_KEY(sessionStorageKey),\n )\n : undefined\n let additionalFilters: QueryFilter[] = []\n if (sessionStorageQueryFiltersString) {\n additionalFilters = JSON.parse(\n sessionStorageQueryFiltersString,\n ) as QueryFilter[]\n }\n if (searchParams) {\n const isQueryWrapperKey = (key: string) =>\n key.startsWith('qw') || key.startsWith('__')\n additionalFilters = additionalFilters.concat(\n Object.keys(searchParams || {})\n .filter(\n key =>\n !isQueryWrapperKey(key) &&\n searchParams[key] != undefined &&\n searchParams[key].trim() != '',\n )\n .map(key => {\n if (key == SEARCH_TERM || key == FTS_SEARCH_TERM) {\n const filter: TextMatchesQueryFilter = {\n concreteType:\n 'org.sagebionetworks.repo.model.table.TextMatchesQueryFilter',\n searchExpression: searchParams[key],\n }\n return filter\n }\n switch (operator) {\n case ColumnSingleValueFilterOperator.EQUAL: {\n const filter: ColumnSingleValueQueryFilter = {\n concreteType:\n 'org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter',\n columnName: key,\n operator: operator,\n values: [searchParams[key]],\n }\n return filter\n }\n case ColumnSingleValueFilterOperator.IN: {\n const filter: ColumnSingleValueQueryFilter = {\n concreteType:\n 'org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter',\n columnName: key,\n operator: operator,\n values: splitAndTrim(searchParams[key]),\n }\n return filter\n }\n case ColumnMultiValueFunction.HAS: {\n const filter: ColumnMultiValueFunctionQueryFilter = {\n concreteType:\n 'org.sagebionetworks.repo.model.table.ColumnMultiValueFunctionQueryFilter',\n columnName: key,\n function: operator,\n _function: operator,\n values: splitAndTrim(searchParams[key]),\n }\n return filter\n }\n case ColumnSingleValueFilterOperator.LIKE: {\n // If we use a LIKE statement with a synId the backend will look for a string with the first three\n // characters being 'syn', however, it stores synIds without 'syn', so the query will fail\n // The backend usually parses 'syn' out, but not with the LIKE clause since its expecting a regex, so we\n // parse this out. This will cause a bug if something matches the synId regex but is in free text.\n const filter: ColumnSingleValueQueryFilter = {\n concreteType:\n 'org.sagebionetworks.repo.model.table.ColumnSingleValueQueryFilter',\n columnName: key,\n operator: operator,\n // Add wildcards around the value\n values: [`%${removePrefixIfSynId(searchParams[key])}%`],\n }\n return filter\n }\n case ColumnMultiValueFunction.HAS_LIKE: {\n const filter: ColumnMultiValueFunctionQueryFilter = {\n concreteType:\n 'org.sagebionetworks.repo.model.table.ColumnMultiValueFunctionQueryFilter',\n columnName: key,\n function: operator,\n _function: operator,\n values: searchParams[key].split(',').map(param => {\n // Remove synId prefix for the same reasons as in the LIKE case\n return `%${removePrefixIfSynId(param)}%`\n }),\n }\n return filter\n }\n }\n }),\n )\n }\n\n return additionalFilters.length === 0 ? undefined : additionalFilters\n}\n\n//parses synapse entity id from a sql query string\n//look for a pattern of 'from[some number of spaces]syn[somenumbers]` case insensitive\nexport const parseEntityIdFromSqlStatement = (sql: string): string => {\n const matches = sql.match(/(from)\\s+(syn)\\d+/gi)\n return matches && matches[0] ? matches[0].substr(5).trim() : ''\n}\n\nexport const parseEntityIdAndVersionFromSqlStatement = (\n sql: string,\n): { entityId?: string; versionNumber?: number } => {\n const regex = /from\\s+(syn\\d+)(?:\\.(\\d+))?/i\n const matches = regex.exec(sql)\n if (!matches) {\n return { entityId: undefined, versionNumber: undefined }\n }\n return {\n entityId: matches[1],\n versionNumber: matches[2] ? parseInt(matches[2]) : undefined,\n }\n}\n\nexport const resultToJson = (\n headerColumns: SelectColumn[],\n rowColumns: Row[],\n) => {\n const rows = rowColumns.map(row => row.values)\n const headers = headerColumns.map(column => column.name)\n return rows.map(row => {\n const obj: Record<string, string | null> = {}\n row.forEach((text, cellIndex) => {\n obj[headers[cellIndex]] = text\n })\n return obj\n })\n}\n\n/**\n * Finds the index of the given column name in the selectColumns or columnModels.\n *\n * @returns a non-negative integer if the column is found, or undefined if the column is not found\n * @param columnName\n * @param selectColumns\n * @param columnModels\n */\nexport const getColumnIndex = (\n columnName?: string,\n selectColumns?: SelectColumn[],\n columnModels?: ColumnModel[],\n): number | undefined => {\n if (!columnName) {\n return undefined\n }\n\n const lowerCaseColumnName = columnName.toLowerCase()\n\n if (selectColumns) {\n const findIndexResult = selectColumns.findIndex(\n el => el.name?.toLowerCase() === lowerCaseColumnName,\n )\n if (findIndexResult != -1) {\n return findIndexResult\n }\n }\n\n if (columnModels) {\n const findIndexResult = columnModels.findIndex(\n el => el.name?.toLowerCase() === lowerCaseColumnName,\n )\n if (findIndexResult !== -1) {\n return findIndexResult\n }\n }\n\n return undefined\n}\n"],"names":["WITHOUT_SYN_PREFIX","QUERY_FILTERS_SESSION_STORAGE_KEY","key","removePrefixIfSynId","value","SYNAPSE_ENTITY_ID_REGEX","getIgnoredQueryFilterSearchParamKey","namespace","SEARCH_TERM","SEARCH_ROLE","FTS_SEARCH_TERM","FTS_SEARCH_ROLE","getAdditionalFilters","searchParams","operator","ColumnSingleValueFilterOperator","sessionStorageKey","sessionStorageQueryFiltersString","additionalFilters","isQueryWrapperKey","splitAndTrim","ColumnMultiValueFunction","param","parseEntityIdFromSqlStatement","sql","matches","parseEntityIdAndVersionFromSqlStatement","resultToJson","headerColumns","rowColumns","rows","row","headers","column","obj","text","cellIndex","getColumnIndex","columnName","selectColumns","columnModels","lowerCaseColumnName","findIndexResult","el"],"mappings":";;;AAkBA,MAAMA,IAAqB,GACdC,IAAoC,CAACC,MAChD,GAAGA,CAAG;AAED,SAASC,EAAoBC,GAAe;AACjD,SAAIA,EAAM,MAAMC,CAAuB,IAC9BD,EAAM,UAAUJ,CAAkB,IAEpCI;AACT;AACO,MAAME,IAAsC,CACjDJ,GACAK,MAEO,KAAKA,KAAa,EAAE,IAAIL,CAAG,IAIvBM,IAAc,eACdC,IAAc,eAGdC,IAAkB,mBAElBC,IAAkB,mBAWlBC,IAAuB,CAClCC,GACAC,IAAwBC,EAAgC,MACxDC,MAC8B;AAC9B,QAAMC,IAAmCD,IACrC,eAAe;AAAA,IACbf,EAAkCe,CAAiB;AAAA,EAAA,IAErD;AACJ,MAAIE,IAAmC,CAAA;AAMvC,MALID,MACFC,IAAoB,KAAK;AAAA,IACvBD;AAAA,EAAA,IAGAJ,GAAc;AAChB,UAAMM,IAAoB,CAACjB,MACzBA,EAAI,WAAW,IAAI,KAAKA,EAAI,WAAW,IAAI;AAC7C,IAAAgB,IAAoBA,EAAkB;AAAA,MACpC,OAAO,KAAKL,KAAgB,CAAA,CAAE,EAC3B;AAAA,QACC,CAAAX,MACE,CAACiB,EAAkBjB,CAAG,KACtBW,EAAaX,CAAG,KAAK,QACrBW,EAAaX,CAAG,EAAE,UAAU;AAAA,MAAA,EAE/B,IAAI,CAAAA,MAAO;AACV,YAAIA,KAAOM,KAAeN,KAAOQ;AAM/B,iBALuC;AAAA,YACrC,cACE;AAAA,YACF,kBAAkBG,EAAaX,CAAG;AAAA,UAAA;AAItC,gBAAQY,GAAA;AAAA,UACN,KAAKC,EAAgC;AAQnC,mBAP6C;AAAA,cAC3C,cACE;AAAA,cACF,YAAYb;AAAA,cACZ,UAAAY;AAAA,cACA,QAAQ,CAACD,EAAaX,CAAG,CAAC;AAAA,YAAA;AAAA,UAI9B,KAAKa,EAAgC;AAQnC,mBAP6C;AAAA,cAC3C,cACE;AAAA,cACF,YAAYb;AAAA,cACZ,UAAAY;AAAA,cACA,QAAQM,EAAaP,EAAaX,CAAG,CAAC;AAAA,YAAA;AAAA,UAI1C,KAAKmB,EAAyB;AAS5B,mBARoD;AAAA,cAClD,cACE;AAAA,cACF,YAAYnB;AAAA,cACZ,UAAUY;AAAA,cACV,WAAWA;AAAA,cACX,QAAQM,EAAaP,EAAaX,CAAG,CAAC;AAAA,YAAA;AAAA,UAI1C,KAAKa,EAAgC;AAanC,mBAR6C;AAAA,cAC3C,cACE;AAAA,cACF,YAAYb;AAAA,cACZ,UAAAY;AAAA;AAAA,cAEA,QAAQ,CAAC,IAAIX,EAAoBU,EAAaX,CAAG,CAAC,CAAC,GAAG;AAAA,YAAA;AAAA,UAI1D,KAAKmB,EAAyB;AAY5B,mBAXoD;AAAA,cAClD,cACE;AAAA,cACF,YAAYnB;AAAA,cACZ,UAAUY;AAAA,cACV,WAAWA;AAAA,cACX,QAAQD,EAAaX,CAAG,EAAE,MAAM,GAAG,EAAE,IAAI,CAAAoB,MAEhC,IAAInB,EAAoBmB,CAAK,CAAC,GACtC;AAAA,YAAA;AAAA,QAGL;AAAA,MAEJ,CAAC;AAAA,IAAA;AAAA,EAEP;AAEA,SAAOJ,EAAkB,WAAW,IAAI,SAAYA;AACtD,GAIaK,IAAgC,CAACC,MAAwB;AACpE,QAAMC,IAAUD,EAAI,MAAM,qBAAqB;AAC/C,SAAOC,KAAWA,EAAQ,CAAC,IAAIA,EAAQ,CAAC,EAAE,OAAO,CAAC,EAAE,KAAA,IAAS;AAC/D,GAEaC,IAA0C,CACrDF,MACkD;AAElD,QAAMC,IADQ,+BACQ,KAAKD,CAAG;AAC9B,SAAKC,IAGE;AAAA,IACL,UAAUA,EAAQ,CAAC;AAAA,IACnB,eAAeA,EAAQ,CAAC,IAAI,SAASA,EAAQ,CAAC,CAAC,IAAI;AAAA,EAAA,IAJ5C,EAAE,UAAU,QAAW,eAAe,OAAA;AAMjD,GAEaE,IAAe,CAC1BC,GACAC,MACG;AACH,QAAMC,IAAOD,EAAW,IAAI,CAAAE,MAAOA,EAAI,MAAM,GACvCC,IAAUJ,EAAc,IAAI,CAAAK,MAAUA,EAAO,IAAI;AACvD,SAAOH,EAAK,IAAI,CAAAC,MAAO;AACrB,UAAMG,IAAqC,CAAA;AAC3C,WAAAH,EAAI,QAAQ,CAACI,GAAMC,MAAc;AAC/B,MAAAF,EAAIF,EAAQI,CAAS,CAAC,IAAID;AAAA,IAC5B,CAAC,GACMD;AAAA,EACT,CAAC;AACH,GAUaG,IAAiB,CAC5BC,GACAC,GACAC,MACuB;AACvB,MAAI,CAACF;AACH;AAGF,QAAMG,IAAsBH,EAAW,YAAA;AAEvC,MAAIC,GAAe;AACjB,UAAMG,IAAkBH,EAAc;AAAA,MACpC,CAAAI,MAAMA,EAAG,MAAM,YAAA,MAAkBF;AAAA,IAAA;AAEnC,QAAIC,KAAmB;AACrB,aAAOA;AAAA,EAEX;AAEA,MAAIF,GAAc;AAChB,UAAME,IAAkBF,EAAa;AAAA,MACnC,CAAAG,MAAMA,EAAG,MAAM,YAAA,MAAkBF;AAAA,IAAA;AAEnC,QAAIC,MAAoB;AACtB,aAAOA;AAAA,EAEX;AAGF;"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "synapse-react-client",
3
- "version": "4.0.1",
3
+ "version": "4.0.3",
4
4
  "private": false,
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -49,7 +49,7 @@
49
49
  "@rjsf/mui": "6.0.0-beta.10",
50
50
  "@rjsf/utils": "6.0.0-beta.10",
51
51
  "@rjsf/validator-ajv8": "6.0.0-beta.10",
52
- "@sage-bionetworks/react-datasheet-grid": "4.11.5-sage.6",
52
+ "@sage-bionetworks/react-datasheet-grid": "4.11.5-sage.8",
53
53
  "@tanstack/query-core": "5.80.10",
54
54
  "@tanstack/react-query": "5.80.10",
55
55
  "@tanstack/react-query-devtools": "5.80.10",
@@ -63,7 +63,7 @@
63
63
  "clickable-json": "^1.15.1",
64
64
  "dagre": "^0.8.5",
65
65
  "dayjs": "^1.11.13",
66
- "dompurify": "^3.2.5",
66
+ "dompurify": "^3.3.2",
67
67
  "immutable": "4.1.0",
68
68
  "jotai": "^2.12.4",
69
69
  "json-joy": "^17.65.0",
@@ -118,11 +118,11 @@
118
118
  "use-deep-compare-effect": "^1.8.1",
119
119
  "xss": "^1.0.15",
120
120
  "zod": "^3.24.4",
121
- "@sage-bionetworks/synapse-client": "0.0.13",
122
- "@sage-bionetworks/synapse-types": "0.0.6",
123
121
  "@sage-bionetworks/markdown-it-container": "4.0.1",
122
+ "@sage-bionetworks/synapse-client": "0.0.13",
124
123
  "markdown-it-synapse": "1.1.17",
125
- "markdown-it-synapse-table": "1.0.8"
124
+ "markdown-it-synapse-table": "1.0.8",
125
+ "@sage-bionetworks/synapse-types": "0.0.6"
126
126
  },
127
127
  "peerDependencies": {
128
128
  "@sage-bionetworks/aridhia-client": "*",
@@ -1,3 +0,0 @@
1
- import React from 'react';
2
- export declare const Challenge: () => React.ReactNode;
3
- //# sourceMappingURL=Challenge.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Challenge.d.ts","sourceRoot":"","sources":["../../../src/assets/themed_icons/Challenge.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,eAAO,MAAM,SAAS,QAAO,KAAK,CAAC,SAoBlC,CAAA"}
@@ -1,25 +0,0 @@
1
- import { jsxs as l, jsx as C } from "react/jsx-runtime";
2
- const t = () => /* @__PURE__ */ l(
3
- "svg",
4
- {
5
- width: "61",
6
- height: "76",
7
- viewBox: "0 0 61 76",
8
- fill: "none",
9
- xmlns: "http://www.w3.org/2000/svg",
10
- children: [
11
- /* @__PURE__ */ C("g", { clipPath: "url(#clip0_1259_25117)", children: /* @__PURE__ */ C(
12
- "path",
13
- {
14
- d: "M1.691 42.7114H16.0286V53.1232C14.3615 53.7527 13.2183 55.3508 13.2183 57.2394C13.2183 59.6607 15.1712 61.6462 17.5528 61.6462C19.9345 61.6462 21.8874 59.6608 21.8874 57.2394C21.8874 55.1087 20.4108 53.3653 18.4579 52.9295V42.7118H42.2738V53.1235C40.6066 53.753 39.4635 55.3511 39.4635 57.2397C39.4635 59.661 41.4164 61.6465 43.798 61.6465C46.1797 61.6465 48.1326 59.6611 48.1326 57.2397C48.1326 55.109 46.656 53.3656 44.7031 52.9298V42.7121H56.6586C57.3255 42.7121 57.8494 42.1794 57.8494 41.5014C57.8494 40.8235 57.3254 40.2908 56.6586 40.2908H51.8477V30.5572C53.8006 30.1213 55.2773 28.378 55.2773 26.2472C55.2773 23.8259 53.3244 21.8404 50.9427 21.8404C48.561 21.8404 46.6081 23.8259 46.6081 26.2472C46.6081 28.1359 47.7989 29.7339 49.4185 30.3635V40.2911H37.5105V30.5575C39.4634 30.1216 40.94 28.3783 40.94 26.2475C40.94 26.0054 40.8924 25.7149 40.8448 25.4727L52.4668 17.0464C53.2289 17.6759 54.1816 18.0633 55.1818 18.0633C57.5634 18.0633 59.5164 16.0779 59.5164 13.6565C59.5164 11.2352 57.5635 9.24969 55.1818 9.24969C52.8002 9.24969 50.8473 11.2352 50.8473 13.6565C50.8473 14.1408 50.9425 14.625 51.0854 15.0609L39.7487 23.2932C39.5106 23.0511 39.2724 22.8089 38.9866 22.6152L43.4641 8.86179H43.7499C46.1315 8.86179 48.0845 6.87632 48.0845 4.45498C48.0845 2.03363 46.1315 0.0481629 43.7499 0.0481629C41.3682 0.0481629 39.4153 2.03363 39.4153 4.45498C39.4153 5.9078 40.1298 7.21526 41.2254 7.99008L36.7003 21.8402H36.605L32.1752 8.1841C33.4136 7.40928 34.271 6.00493 34.271 4.40681C34.271 1.98553 32.3181 0 29.9365 0C27.5548 0 25.6019 1.98546 25.6019 4.40681C25.6019 6.77969 27.5072 8.71674 29.8412 8.76515L34.271 22.5669C33.9852 22.7606 33.747 22.9543 33.5089 23.1964L22.5057 15.2058C22.6962 14.7216 22.7915 14.2373 22.7915 13.6562C22.7915 11.2349 20.8386 9.24939 18.4569 9.24939C16.0753 9.24939 14.1223 11.2348 14.1223 13.6562C14.1223 16.0775 16.0753 18.063 18.4569 18.063C19.4572 18.063 20.3622 17.724 21.0767 17.1429L32.3658 25.3269C32.3182 25.6174 32.2706 25.9564 32.2706 26.247C32.2706 28.1356 33.4614 29.7337 35.0809 30.3632V40.2908H23.1729V30.5572C25.1259 30.1214 26.6025 28.3781 26.6025 26.2473C26.6025 23.826 24.6496 21.8405 22.2679 21.8405C19.8862 21.8405 17.9333 23.8259 17.9333 26.2473C17.9333 28.1359 19.1241 29.734 20.7437 30.3635V40.2911H8.8357V30.5575C10.7886 30.1217 12.2652 28.3784 12.2652 26.2476C12.2652 23.8263 10.3123 21.8408 7.93067 21.8408C5.54901 21.8408 3.5961 23.8263 3.5961 26.2476C3.5961 28.1362 4.78689 29.7343 6.40643 30.3638V40.2915H1.6908C1.02391 40.2915 0.5 40.8242 0.5 41.5021C0.5 42.1801 1.02396 42.7127 1.6908 42.7127L1.691 42.7114ZM19.4581 57.2397C19.4581 58.3051 18.6008 59.2251 17.5052 59.2251C16.4097 59.2251 15.5523 58.3535 15.5523 57.2397C15.5523 56.1258 16.4097 55.2542 17.5052 55.2542C18.6008 55.2542 19.4581 56.1258 19.4581 57.2397ZM45.6561 57.2397C45.6561 58.3051 44.7988 59.2251 43.7032 59.2251C42.6077 59.2251 41.7503 58.3535 41.7503 57.2397C41.7503 56.1258 42.6077 55.2542 43.7032 55.2542C44.7988 55.2542 45.6561 56.1258 45.6561 57.2397ZM50.8481 24.3097C51.896 24.3097 52.801 25.1814 52.801 26.2952C52.801 27.409 51.9436 28.2807 50.8481 28.2807C49.7525 28.2807 48.8952 27.409 48.8952 26.2952C48.8952 25.1814 49.8002 24.3097 50.8481 24.3097ZM55.135 11.7192C56.1829 11.7192 57.0879 12.5908 57.0879 13.7047C57.0879 14.8185 56.2305 15.6901 55.135 15.6901C54.0394 15.6901 53.1821 14.8185 53.1821 13.7047C53.1821 12.5908 54.0871 11.7192 55.135 11.7192ZM43.7032 2.51805C44.7511 2.51805 45.6561 3.38969 45.6561 4.50351C45.6561 5.61733 44.7987 6.48898 43.7032 6.48898C42.6076 6.48898 41.7503 5.61733 41.7503 4.50351C41.7503 3.38969 42.6553 2.51805 43.7032 2.51805ZM27.9846 4.4551C27.9846 3.38969 28.842 2.46964 29.9375 2.46964C31.0331 2.46964 31.8904 3.34128 31.8904 4.4551C31.8904 5.56892 31.0331 6.44056 29.9375 6.44056C28.842 6.44056 27.9846 5.56892 27.9846 4.4551ZM18.4581 15.6417C17.4102 15.6417 16.5052 14.77 16.5052 13.6562C16.5052 12.5424 17.3626 11.6707 18.4581 11.6707C19.5537 11.6707 20.411 12.5424 20.411 13.6562C20.411 14.77 19.5537 15.6417 18.4581 15.6417ZM36.5588 24.3097C37.6067 24.3097 38.5117 25.1814 38.5117 26.2952C38.5117 27.409 37.6543 28.2807 36.5588 28.2807C35.4632 28.2807 34.6058 27.409 34.6058 26.2952C34.6058 25.1814 35.5109 24.3097 36.5588 24.3097ZM22.2687 24.3097C23.3167 24.3097 24.2216 25.1814 24.2216 26.2952C24.2216 27.409 23.3643 28.2807 22.2687 28.2807C21.1732 28.2807 20.3158 27.409 20.3158 26.2952C20.3158 25.1814 21.2208 24.3097 22.2687 24.3097ZM7.97867 24.3097C9.02661 24.3097 9.93158 25.1814 9.93158 26.2952C9.93158 27.409 9.07423 28.2807 7.97867 28.2807C6.8831 28.2807 6.02575 27.409 6.02575 26.2952C6.02575 25.1814 6.93078 24.3097 7.97867 24.3097Z",
15
- fill: "currentColor"
16
- }
17
- ) }),
18
- /* @__PURE__ */ C("defs", { children: /* @__PURE__ */ C("clipPath", { id: "clip0_1259_25117", children: /* @__PURE__ */ C("rect", { width: "60", height: "76", fill: "white", transform: "translate(0.5)" }) }) })
19
- ]
20
- }
21
- );
22
- export {
23
- t as Challenge
24
- };
25
- //# sourceMappingURL=Challenge.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"Challenge.js","sources":["../../../src/assets/themed_icons/Challenge.tsx"],"sourcesContent":["import React from 'react'\nexport const Challenge = (): React.ReactNode => (\n <svg\n width=\"61\"\n height=\"76\"\n viewBox=\"0 0 61 76\"\n fill=\"none\"\n xmlns=\"http://www.w3.org/2000/svg\"\n >\n <g clipPath=\"url(#clip0_1259_25117)\">\n <path\n d=\"M1.691 42.7114H16.0286V53.1232C14.3615 53.7527 13.2183 55.3508 13.2183 57.2394C13.2183 59.6607 15.1712 61.6462 17.5528 61.6462C19.9345 61.6462 21.8874 59.6608 21.8874 57.2394C21.8874 55.1087 20.4108 53.3653 18.4579 52.9295V42.7118H42.2738V53.1235C40.6066 53.753 39.4635 55.3511 39.4635 57.2397C39.4635 59.661 41.4164 61.6465 43.798 61.6465C46.1797 61.6465 48.1326 59.6611 48.1326 57.2397C48.1326 55.109 46.656 53.3656 44.7031 52.9298V42.7121H56.6586C57.3255 42.7121 57.8494 42.1794 57.8494 41.5014C57.8494 40.8235 57.3254 40.2908 56.6586 40.2908H51.8477V30.5572C53.8006 30.1213 55.2773 28.378 55.2773 26.2472C55.2773 23.8259 53.3244 21.8404 50.9427 21.8404C48.561 21.8404 46.6081 23.8259 46.6081 26.2472C46.6081 28.1359 47.7989 29.7339 49.4185 30.3635V40.2911H37.5105V30.5575C39.4634 30.1216 40.94 28.3783 40.94 26.2475C40.94 26.0054 40.8924 25.7149 40.8448 25.4727L52.4668 17.0464C53.2289 17.6759 54.1816 18.0633 55.1818 18.0633C57.5634 18.0633 59.5164 16.0779 59.5164 13.6565C59.5164 11.2352 57.5635 9.24969 55.1818 9.24969C52.8002 9.24969 50.8473 11.2352 50.8473 13.6565C50.8473 14.1408 50.9425 14.625 51.0854 15.0609L39.7487 23.2932C39.5106 23.0511 39.2724 22.8089 38.9866 22.6152L43.4641 8.86179H43.7499C46.1315 8.86179 48.0845 6.87632 48.0845 4.45498C48.0845 2.03363 46.1315 0.0481629 43.7499 0.0481629C41.3682 0.0481629 39.4153 2.03363 39.4153 4.45498C39.4153 5.9078 40.1298 7.21526 41.2254 7.99008L36.7003 21.8402H36.605L32.1752 8.1841C33.4136 7.40928 34.271 6.00493 34.271 4.40681C34.271 1.98553 32.3181 0 29.9365 0C27.5548 0 25.6019 1.98546 25.6019 4.40681C25.6019 6.77969 27.5072 8.71674 29.8412 8.76515L34.271 22.5669C33.9852 22.7606 33.747 22.9543 33.5089 23.1964L22.5057 15.2058C22.6962 14.7216 22.7915 14.2373 22.7915 13.6562C22.7915 11.2349 20.8386 9.24939 18.4569 9.24939C16.0753 9.24939 14.1223 11.2348 14.1223 13.6562C14.1223 16.0775 16.0753 18.063 18.4569 18.063C19.4572 18.063 20.3622 17.724 21.0767 17.1429L32.3658 25.3269C32.3182 25.6174 32.2706 25.9564 32.2706 26.247C32.2706 28.1356 33.4614 29.7337 35.0809 30.3632V40.2908H23.1729V30.5572C25.1259 30.1214 26.6025 28.3781 26.6025 26.2473C26.6025 23.826 24.6496 21.8405 22.2679 21.8405C19.8862 21.8405 17.9333 23.8259 17.9333 26.2473C17.9333 28.1359 19.1241 29.734 20.7437 30.3635V40.2911H8.8357V30.5575C10.7886 30.1217 12.2652 28.3784 12.2652 26.2476C12.2652 23.8263 10.3123 21.8408 7.93067 21.8408C5.54901 21.8408 3.5961 23.8263 3.5961 26.2476C3.5961 28.1362 4.78689 29.7343 6.40643 30.3638V40.2915H1.6908C1.02391 40.2915 0.5 40.8242 0.5 41.5021C0.5 42.1801 1.02396 42.7127 1.6908 42.7127L1.691 42.7114ZM19.4581 57.2397C19.4581 58.3051 18.6008 59.2251 17.5052 59.2251C16.4097 59.2251 15.5523 58.3535 15.5523 57.2397C15.5523 56.1258 16.4097 55.2542 17.5052 55.2542C18.6008 55.2542 19.4581 56.1258 19.4581 57.2397ZM45.6561 57.2397C45.6561 58.3051 44.7988 59.2251 43.7032 59.2251C42.6077 59.2251 41.7503 58.3535 41.7503 57.2397C41.7503 56.1258 42.6077 55.2542 43.7032 55.2542C44.7988 55.2542 45.6561 56.1258 45.6561 57.2397ZM50.8481 24.3097C51.896 24.3097 52.801 25.1814 52.801 26.2952C52.801 27.409 51.9436 28.2807 50.8481 28.2807C49.7525 28.2807 48.8952 27.409 48.8952 26.2952C48.8952 25.1814 49.8002 24.3097 50.8481 24.3097ZM55.135 11.7192C56.1829 11.7192 57.0879 12.5908 57.0879 13.7047C57.0879 14.8185 56.2305 15.6901 55.135 15.6901C54.0394 15.6901 53.1821 14.8185 53.1821 13.7047C53.1821 12.5908 54.0871 11.7192 55.135 11.7192ZM43.7032 2.51805C44.7511 2.51805 45.6561 3.38969 45.6561 4.50351C45.6561 5.61733 44.7987 6.48898 43.7032 6.48898C42.6076 6.48898 41.7503 5.61733 41.7503 4.50351C41.7503 3.38969 42.6553 2.51805 43.7032 2.51805ZM27.9846 4.4551C27.9846 3.38969 28.842 2.46964 29.9375 2.46964C31.0331 2.46964 31.8904 3.34128 31.8904 4.4551C31.8904 5.56892 31.0331 6.44056 29.9375 6.44056C28.842 6.44056 27.9846 5.56892 27.9846 4.4551ZM18.4581 15.6417C17.4102 15.6417 16.5052 14.77 16.5052 13.6562C16.5052 12.5424 17.3626 11.6707 18.4581 11.6707C19.5537 11.6707 20.411 12.5424 20.411 13.6562C20.411 14.77 19.5537 15.6417 18.4581 15.6417ZM36.5588 24.3097C37.6067 24.3097 38.5117 25.1814 38.5117 26.2952C38.5117 27.409 37.6543 28.2807 36.5588 28.2807C35.4632 28.2807 34.6058 27.409 34.6058 26.2952C34.6058 25.1814 35.5109 24.3097 36.5588 24.3097ZM22.2687 24.3097C23.3167 24.3097 24.2216 25.1814 24.2216 26.2952C24.2216 27.409 23.3643 28.2807 22.2687 28.2807C21.1732 28.2807 20.3158 27.409 20.3158 26.2952C20.3158 25.1814 21.2208 24.3097 22.2687 24.3097ZM7.97867 24.3097C9.02661 24.3097 9.93158 25.1814 9.93158 26.2952C9.93158 27.409 9.07423 28.2807 7.97867 28.2807C6.8831 28.2807 6.02575 27.409 6.02575 26.2952C6.02575 25.1814 6.93078 24.3097 7.97867 24.3097Z\"\n fill=\"currentColor\"\n />\n </g>\n <defs>\n <clipPath id=\"clip0_1259_25117\">\n <rect width=\"60\" height=\"76\" fill=\"white\" transform=\"translate(0.5)\" />\n </clipPath>\n </defs>\n </svg>\n)\n"],"names":["Challenge","jsxs","jsx"],"mappings":";AACO,MAAMA,IAAY,MACvB,gBAAAC;AAAA,EAAC;AAAA,EAAA;AAAA,IACC,OAAM;AAAA,IACN,QAAO;AAAA,IACP,SAAQ;AAAA,IACR,MAAK;AAAA,IACL,OAAM;AAAA,IAEN,UAAA;AAAA,MAAA,gBAAAC,EAAC,KAAA,EAAE,UAAS,0BACV,UAAA,gBAAAA;AAAA,QAAC;AAAA,QAAA;AAAA,UACC,GAAE;AAAA,UACF,MAAK;AAAA,QAAA;AAAA,MAAA,GAET;AAAA,wBACC,QAAA,EACC,UAAA,gBAAAA,EAAC,YAAA,EAAS,IAAG,oBACX,UAAA,gBAAAA,EAAC,QAAA,EAAK,OAAM,MAAK,QAAO,MAAK,MAAK,SAAQ,WAAU,kBAAiB,GACvE,EAAA,CACF;AAAA,IAAA;AAAA,EAAA;AACF;"}