synapse-react-client 4.0.18 → 4.0.20

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 (1609) hide show
  1. package/dist/SWC.index.d.ts +3 -1
  2. package/dist/SWC.index.d.ts.map +1 -1
  3. package/dist/SWC.index.js +3 -1
  4. package/dist/SWC.index.js.map +1 -1
  5. package/dist/aridhia-queries/aridhiaTokenExchange.js.map +1 -1
  6. package/dist/aridhia-queries/useGetAridhiaRequests.js.map +1 -1
  7. package/dist/assets/DefaultColorfulPortalCardBackground.js.map +1 -1
  8. package/dist/assets/GoogleIcon.js.map +1 -1
  9. package/dist/assets/GoogleIcon24.js.map +1 -1
  10. package/dist/assets/homepage/BlinkingLiveIcon.d.ts +1 -1
  11. package/dist/assets/homepage/BlinkingLiveIcon.js.map +1 -1
  12. package/dist/assets/homepage/aacr.js.map +1 -1
  13. package/dist/assets/homepage/cri.js.map +1 -1
  14. package/dist/assets/homepage/ctf.js.map +1 -1
  15. package/dist/assets/homepage/egress.js.map +1 -1
  16. package/dist/assets/homepage/facebook.js.map +1 -1
  17. package/dist/assets/homepage/fisma.js.map +1 -1
  18. package/dist/assets/homepage/gff.js.map +1 -1
  19. package/dist/assets/homepage/github.js.map +1 -1
  20. package/dist/assets/homepage/gray.js.map +1 -1
  21. package/dist/assets/homepage/hipaa-compliant.js.map +1 -1
  22. package/dist/assets/homepage/instagram.js.map +1 -1
  23. package/dist/assets/homepage/linkedin.js.map +1 -1
  24. package/dist/assets/homepage/ml-commons.js.map +1 -1
  25. package/dist/assets/homepage/nih-aging.js.map +1 -1
  26. package/dist/assets/homepage/nih-heart.js.map +1 -1
  27. package/dist/assets/homepage/nih-nci.js.map +1 -1
  28. package/dist/assets/homepage/nih-nimh.js.map +1 -1
  29. package/dist/assets/homepage/ntap.js.map +1 -1
  30. package/dist/assets/homepage/plan-item.js.map +1 -1
  31. package/dist/assets/homepage/powered-by-synapse-feature.js.map +1 -1
  32. package/dist/assets/homepage/precision-governance-feature.js.map +1 -1
  33. package/dist/assets/homepage/python.js.map +1 -1
  34. package/dist/assets/homepage/r.js.map +1 -1
  35. package/dist/assets/homepage/research-credit-feature.js.map +1 -1
  36. package/dist/assets/homepage/seamless-integration-feature.js.map +1 -1
  37. package/dist/assets/homepage/sloan.js.map +1 -1
  38. package/dist/assets/homepage/twitter.js.map +1 -1
  39. package/dist/assets/homepage/users.js.map +1 -1
  40. package/dist/assets/homepage/youtube.js.map +1 -1
  41. package/dist/assets/icons/AccessDataAnywhere.js.map +1 -1
  42. package/dist/assets/icons/AccessPending.js.map +1 -1
  43. package/dist/assets/icons/AccessPendingCloud.js.map +1 -1
  44. package/dist/assets/icons/AddAd.js.map +1 -1
  45. package/dist/assets/icons/AddToList.js.map +1 -1
  46. package/dist/assets/icons/Alert.js.map +1 -1
  47. package/dist/assets/icons/Arrow.js.map +1 -1
  48. package/dist/assets/icons/AwardScroll.js.map +1 -1
  49. package/dist/assets/icons/Baseline.js.map +1 -1
  50. package/dist/assets/icons/Cavatica.js.map +1 -1
  51. package/dist/assets/icons/CertifiedUser.js.map +1 -1
  52. package/dist/assets/icons/Challenge.js.map +1 -1
  53. package/dist/assets/icons/Checkbox/Checked.js.map +1 -1
  54. package/dist/assets/icons/Checkbox/Checked2.js.map +1 -1
  55. package/dist/assets/icons/Checkbox/Indeterminate.js.map +1 -1
  56. package/dist/assets/icons/Checkbox/Indeterminate2.js.map +1 -1
  57. package/dist/assets/icons/Checkbox/Unchecked.js.map +1 -1
  58. package/dist/assets/icons/Checkbox/Unchecked2.js.map +1 -1
  59. package/dist/assets/icons/ClappingHands.js.map +1 -1
  60. package/dist/assets/icons/CloudWarning.js.map +1 -1
  61. package/dist/assets/icons/CommunicateFindings.js.map +1 -1
  62. package/dist/assets/icons/CreateVersion.js.map +1 -1
  63. package/dist/assets/icons/DNA_Two.js.map +1 -1
  64. package/dist/assets/icons/Data2.js.map +1 -1
  65. package/dist/assets/icons/DoubleQuotes.js.map +1 -1
  66. package/dist/assets/icons/EmailAddressAdornment.js.map +1 -1
  67. package/dist/assets/icons/FileWithShield.js.map +1 -1
  68. package/dist/assets/icons/FileWithShield2.js.map +1 -1
  69. package/dist/assets/icons/FrontHand.js.map +1 -1
  70. package/dist/assets/icons/HandWithMoney.js.map +1 -1
  71. package/dist/assets/icons/IconCopy.js.map +1 -1
  72. package/dist/assets/icons/IconMinus.js.map +1 -1
  73. package/dist/assets/icons/IconPlus.js.map +1 -1
  74. package/dist/assets/icons/Java.js.map +1 -1
  75. package/dist/assets/icons/MintDoi.js.map +1 -1
  76. package/dist/assets/icons/MultiFile.js.map +1 -1
  77. package/dist/assets/icons/MultiFile2.js.map +1 -1
  78. package/dist/assets/icons/NoData.js.map +1 -1
  79. package/dist/assets/icons/NoSearchResults.js.map +1 -1
  80. package/dist/assets/icons/ORCIDIcon.js.map +1 -1
  81. package/dist/assets/icons/OpenBook.js.map +1 -1
  82. package/dist/assets/icons/Podium.js.map +1 -1
  83. package/dist/assets/icons/Python.js.map +1 -1
  84. package/dist/assets/icons/QueryStructuredData.js.map +1 -1
  85. package/dist/assets/icons/RLogo.js.map +1 -1
  86. package/dist/assets/icons/RecordProvenance.js.map +1 -1
  87. package/dist/assets/icons/RosetteRibbon.js.map +1 -1
  88. package/dist/assets/icons/SageFullLogo.js.map +1 -1
  89. package/dist/assets/icons/SearchImage.js.map +1 -1
  90. package/dist/assets/icons/ShareYourResearch.js.map +1 -1
  91. package/dist/assets/icons/Sort.js.map +1 -1
  92. package/dist/assets/icons/StarTrophy.js.map +1 -1
  93. package/dist/assets/icons/SynapseFullLogo.js.map +1 -1
  94. package/dist/assets/icons/SynapseIconWhite.js.map +1 -1
  95. package/dist/assets/icons/SynapseLogoName.js.map +1 -1
  96. package/dist/assets/icons/TasksIcon.js.map +1 -1
  97. package/dist/assets/icons/Terminal.js.map +1 -1
  98. package/dist/assets/icons/ThreeStars.js.map +1 -1
  99. package/dist/assets/icons/UnpackagableFile.js.map +1 -1
  100. package/dist/assets/icons/UnpackagableFile2.js.map +1 -1
  101. package/dist/assets/icons/ValidatedProfile.js.map +1 -1
  102. package/dist/assets/icons/account-certified.js.map +1 -1
  103. package/dist/assets/icons/account-enabled-mfa.js.map +1 -1
  104. package/dist/assets/icons/account-validated.js.map +1 -1
  105. package/dist/assets/icons/bioChemicalPhysical.js.map +1 -1
  106. package/dist/assets/icons/chart2.js.map +1 -1
  107. package/dist/assets/icons/columns.js.map +1 -1
  108. package/dist/assets/icons/columnsDarkTheme.js.map +1 -1
  109. package/dist/assets/icons/computationalTool.js.map +1 -1
  110. package/dist/assets/icons/dataReuse.js.map +1 -1
  111. package/dist/assets/icons/emailAddressAdornment2.js.map +1 -1
  112. package/dist/assets/icons/emailWithNotification.js.map +1 -1
  113. package/dist/assets/icons/error_page/maintenance.js.map +1 -1
  114. package/dist/assets/icons/error_page/no-access.js.map +1 -1
  115. package/dist/assets/icons/error_page/unavailable.js.map +1 -1
  116. package/dist/assets/icons/file.js.map +1 -1
  117. package/dist/assets/icons/inSilicoModel.js.map +1 -1
  118. package/dist/assets/icons/institution.js.map +1 -1
  119. package/dist/assets/icons/json-form-tool-no-submissions.js.map +1 -1
  120. package/dist/assets/icons/modelSystem.js.map +1 -1
  121. package/dist/assets/icons/mouse.js.map +1 -1
  122. package/dist/assets/icons/organizations.js.map +1 -1
  123. package/dist/assets/icons/person.js.map +1 -1
  124. package/dist/assets/icons/spatialProfiling.js.map +1 -1
  125. package/dist/assets/icons/standardDataModel.js.map +1 -1
  126. package/dist/assets/icons/study-active.js.map +1 -1
  127. package/dist/assets/icons/study-complete.js.map +1 -1
  128. package/dist/assets/icons/subscribe_plus.js.map +1 -1
  129. package/dist/assets/icons/synapse-logo.js.map +1 -1
  130. package/dist/assets/icons/terms/CheckIcon.js.map +1 -1
  131. package/dist/assets/icons/translational.js.map +1 -1
  132. package/dist/assets/icons/tree_horizontal.js.map +1 -1
  133. package/dist/assets/illustrations/acknowledgement_statements_illustration.js.map +1 -1
  134. package/dist/assets/illustrations/challenges_illustration.js.map +1 -1
  135. package/dist/assets/illustrations/cohort_builder_illustration.js.map +1 -1
  136. package/dist/assets/illustrations/data_access_management_illustration.js.map +1 -1
  137. package/dist/assets/illustrations/datasets_illustration.js.map +1 -1
  138. package/dist/assets/illustrations/diagonalLinePattern.js.map +1 -1
  139. package/dist/assets/illustrations/discussions_illustration.js.map +1 -1
  140. package/dist/assets/illustrations/docker_illustration.js.map +1 -1
  141. package/dist/assets/illustrations/donation_illustration.js.map +1 -1
  142. package/dist/assets/illustrations/favorites_illustration.js.map +1 -1
  143. package/dist/assets/illustrations/files_illustration.js.map +1 -1
  144. package/dist/assets/illustrations/following_illustration.js.map +1 -1
  145. package/dist/assets/illustrations/index.js.map +1 -1
  146. package/dist/assets/illustrations/left_dot_blob_dark_illustration.js.map +1 -1
  147. package/dist/assets/illustrations/left_dot_blob_illustration.js.map +1 -1
  148. package/dist/assets/illustrations/projects_illustration.js.map +1 -1
  149. package/dist/assets/illustrations/right_dot_blob_dark_illustration.js.map +1 -1
  150. package/dist/assets/illustrations/right_dot_blob_illustration.js.map +1 -1
  151. package/dist/assets/illustrations/tables_illustration.js.map +1 -1
  152. package/dist/assets/illustrations/teams_illustration.js.map +1 -1
  153. package/dist/assets/illustrations/trash_can_illustration.js.map +1 -1
  154. package/dist/assets/illustrations/underconstruction_illustration.js.map +1 -1
  155. package/dist/assets/illustrations/wikis_illustration.js.map +1 -1
  156. package/dist/assets/logos/other/ad-workbench-logo.js.map +1 -1
  157. package/dist/assets/logos/other/cavatica-logo.js.map +1 -1
  158. package/dist/assets/logos/other/pluto-logo.js.map +1 -1
  159. package/dist/assets/logos/other/terra-logo.js.map +1 -1
  160. package/dist/assets/mui_components/AccessManagement.js.map +1 -1
  161. package/dist/assets/mui_components/AccountCertified.js.map +1 -1
  162. package/dist/assets/mui_components/AccountRegistered.js.map +1 -1
  163. package/dist/assets/mui_components/AccountValidated.js.map +1 -1
  164. package/dist/assets/mui_components/ActionKey.js.map +1 -1
  165. package/dist/assets/mui_components/BioChemicalPhysical.js.map +1 -1
  166. package/dist/assets/mui_components/Chromatin.js.map +1 -1
  167. package/dist/assets/mui_components/Clinical.js.map +1 -1
  168. package/dist/assets/mui_components/ComputationalTool.js.map +1 -1
  169. package/dist/assets/mui_components/Data.js.map +1 -1
  170. package/dist/assets/mui_components/DataLocked.js.map +1 -1
  171. package/dist/assets/mui_components/DataReuse.js.map +1 -1
  172. package/dist/assets/mui_components/Dataset.js.map +1 -1
  173. package/dist/assets/mui_components/DatasetCollection.js.map +1 -1
  174. package/dist/assets/mui_components/Docker.js.map +1 -1
  175. package/dist/assets/mui_components/GeneExpression.js.map +1 -1
  176. package/dist/assets/mui_components/GeneVariants.js.map +1 -1
  177. package/dist/assets/mui_components/HelpChatBubble.js.map +1 -1
  178. package/dist/assets/mui_components/Imaging.js.map +1 -1
  179. package/dist/assets/mui_components/InSilicoModel.js.map +1 -1
  180. package/dist/assets/mui_components/Kinomics.js.map +1 -1
  181. package/dist/assets/mui_components/LineGraph.js.map +1 -1
  182. package/dist/assets/mui_components/ModelSystem.js.map +1 -1
  183. package/dist/assets/mui_components/Other.js.map +1 -1
  184. package/dist/assets/mui_components/PackagableFile.js.map +1 -1
  185. package/dist/assets/mui_components/PackagableFile2.js.map +1 -1
  186. package/dist/assets/mui_components/Proteomics.js.map +1 -1
  187. package/dist/assets/mui_components/Rat.js.map +1 -1
  188. package/dist/assets/mui_components/SpatialProfiling.js.map +1 -1
  189. package/dist/assets/sustainability/darkDialPosition1.js.map +1 -1
  190. package/dist/assets/sustainability/darkDialPosition2.js.map +1 -1
  191. package/dist/assets/sustainability/darkDialPosition3.js.map +1 -1
  192. package/dist/assets/sustainability/darkDialPosition4.js.map +1 -1
  193. package/dist/assets/sustainability/dialPosition1.js.map +1 -1
  194. package/dist/assets/sustainability/dialPosition2.js.map +1 -1
  195. package/dist/assets/sustainability/dialPosition3.js.map +1 -1
  196. package/dist/assets/sustainability/dialPosition4.js.map +1 -1
  197. package/dist/assets/themed_icons/Active.js.map +1 -1
  198. package/dist/assets/themed_icons/Chart.js.map +1 -1
  199. package/dist/assets/themed_icons/Close.js.map +1 -1
  200. package/dist/assets/themed_icons/Collapse.js.map +1 -1
  201. package/dist/assets/themed_icons/Columns.js.map +1 -1
  202. package/dist/assets/themed_icons/ColumnsDark.js.map +1 -1
  203. package/dist/assets/themed_icons/Database.js.map +1 -1
  204. package/dist/assets/themed_icons/Download.js.map +1 -1
  205. package/dist/assets/themed_icons/Expand.js.map +1 -1
  206. package/dist/assets/themed_icons/Explore.js.map +1 -1
  207. package/dist/assets/themed_icons/ExternalLink.js.map +1 -1
  208. package/dist/assets/themed_icons/Filter.js.map +1 -1
  209. package/dist/assets/themed_icons/Program.js.map +1 -1
  210. package/dist/assets/themed_icons/Project.js.map +1 -1
  211. package/dist/assets/themed_icons/Publication.js.map +1 -1
  212. package/dist/assets/themed_icons/Search.js.map +1 -1
  213. package/dist/assets/themed_icons/Settings.js.map +1 -1
  214. package/dist/assets/themed_icons/SortDown.js.map +1 -1
  215. package/dist/assets/themed_icons/SortUp.js.map +1 -1
  216. package/dist/assets/themed_icons/SqlEditorIcon.js.map +1 -1
  217. package/dist/assets/themed_icons/Study.js.map +1 -1
  218. package/dist/assets/themed_icons/ToolClinical.js.map +1 -1
  219. package/dist/assets/themed_icons/ToolComputational.js.map +1 -1
  220. package/dist/assets/themed_icons/ToolExperimental.js.map +1 -1
  221. package/dist/assets/themed_icons/VerticalDots.js.map +1 -1
  222. package/dist/components/AccessRequirement/AddConditionsForUseButton/AddConditionsForUseButton.js.map +1 -1
  223. package/dist/components/AccessRequirement/EntityActionsRequired.js.map +1 -1
  224. package/dist/components/AccessRequirement/ImposeRestrictionDialog/ImposeRestrictionDialog.js.map +1 -1
  225. package/dist/components/AccessRequirementAclEditor/AccessRequirementAclEditor.js.map +1 -1
  226. package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js +10 -11
  227. package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js.map +1 -1
  228. package/dist/components/AccessRequirementList/AccessRequirementList.js +73 -76
  229. package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
  230. package/dist/components/AccessRequirementList/AccessRequirementListItem.js.map +1 -1
  231. package/dist/components/AccessRequirementList/AccessRequirementListUtils.js.map +1 -1
  232. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/CancelRequestDataAccess.js.map +1 -1
  233. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
  234. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsFilesForm/DataAccessRequestAccessorsFilesForm.js.map +1 -1
  235. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DocumentTemplate.js.map +1 -1
  236. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementFormWikiWrapper.js.map +1 -1
  237. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItem.js.map +1 -1
  238. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ManagedACTAccessRequirementItemView.js.map +1 -1
  239. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/RequestDataAccessSuccess.js.map +1 -1
  240. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/ResearchProjectForm/ResearchProjectForm.js.map +1 -1
  241. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/UploadDocumentField.js.map +1 -1
  242. package/dist/components/AccessRequirementList/RequirementItem/AuthenticatedRequirement.js.map +1 -1
  243. package/dist/components/AccessRequirementList/RequirementItem/CertificationRequirement.js.map +1 -1
  244. package/dist/components/AccessRequirementList/RequirementItem/LockAccessRequirementItem.js.map +1 -1
  245. package/dist/components/AccessRequirementList/RequirementItem/RequirementItem.js.map +1 -1
  246. package/dist/components/AccessRequirementList/RequirementItem/SelfSignAccessRequirementItem.js.map +1 -1
  247. package/dist/components/AccessRequirementList/RequirementItem/TwoFactorAuthEnabledRequirement.js.map +1 -1
  248. package/dist/components/AccessRequirementList/RequirementItem/UnmanagedACTAccessRequirementItem.js.map +1 -1
  249. package/dist/components/AccessRequirementList/RequirementItem/ValidationRequirement.js.map +1 -1
  250. package/dist/components/AccessRequirementRelatedProjectsList/AccessRequirementRelatedProjectsList.js.map +1 -1
  251. package/dist/components/AccessTokenPage/AccessTokenCard/AccessTokenCard.js.map +1 -1
  252. package/dist/components/AccessTokenPage/AccessTokenPage.js.map +1 -1
  253. package/dist/components/AccessTokenPage/CreateAccessTokenModal.js.map +1 -1
  254. package/dist/components/AccountLevelBadge/AccountLevelBadge.js.map +1 -1
  255. package/dist/components/AccountLevelBadges/AccountLevelBadges.js.map +1 -1
  256. package/dist/components/AccountLevelBadges/useRevokeCertificationUI.js.map +1 -1
  257. package/dist/components/AcknowledgementsPage/AcknowledgementsDialog.js.map +1 -1
  258. package/dist/components/AcknowledgementsPage/AcknowledgementsPage.js.map +1 -1
  259. package/dist/components/AcknowledgementsPage/StudyAcknowledgement.js.map +1 -1
  260. package/dist/components/AcknowledgementsPage/StudyAcknowledgements.js.map +1 -1
  261. package/dist/components/AclEditor/AclEditor.js.map +1 -1
  262. package/dist/components/AclEditor/AclEditor.test-utils.js.map +1 -1
  263. package/dist/components/AclEditor/AclEditorSkeleton.js.map +1 -1
  264. package/dist/components/AclEditor/PermissionLevelMenu.js.map +1 -1
  265. package/dist/components/AclEditor/ReadOnlyPermissionLevel.js.map +1 -1
  266. package/dist/components/AclEditor/ResourceAccessAndUserGroupHeader.js +2 -4
  267. package/dist/components/AclEditor/ResourceAccessAndUserGroupHeader.js.map +1 -1
  268. package/dist/components/AclEditor/ResourceAccessItem.js.map +1 -1
  269. package/dist/components/AclEditor/useSortResourceAccessList.js.map +1 -1
  270. package/dist/components/AclEditor/useUpdateAcl.js.map +1 -1
  271. package/dist/components/AdaptiveTwoColumnLayout/AdaptiveTwoColumnLayout.js.map +1 -1
  272. package/dist/components/AddToDownloadListV2.js.map +1 -1
  273. package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
  274. package/dist/components/Aridhia/aridhiaAccessStatusUtils.js.map +1 -1
  275. package/dist/components/Authentication/AuthenticationMethodSelection.js.map +1 -1
  276. package/dist/components/Authentication/LastLoginInfo.js.map +1 -1
  277. package/dist/components/Authentication/LoginFlowBackButton.js.map +1 -1
  278. package/dist/components/Authentication/LoginForm.js.map +1 -1
  279. package/dist/components/Authentication/LoginMethod.js.map +1 -1
  280. package/dist/components/Authentication/LoginMethodButton.js.map +1 -1
  281. package/dist/components/Authentication/Logout.js.map +1 -1
  282. package/dist/components/Authentication/OneTimePasswordForm.js.map +1 -1
  283. package/dist/components/Authentication/PasswordField.js.map +1 -1
  284. package/dist/components/Authentication/RecoveryCodeForm.js.map +1 -1
  285. package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
  286. package/dist/components/Authentication/RegenerateBackupCodesWarning.js.map +1 -1
  287. package/dist/components/Authentication/Reset2FAWarning.js.map +1 -1
  288. package/dist/components/Authentication/StandaloneLoginForm.js.map +1 -1
  289. package/dist/components/Authentication/TOTPForm.js.map +1 -1
  290. package/dist/components/Authentication/TwoFactorAuthSettingsPanel.js.map +1 -1
  291. package/dist/components/Authentication/TwoFactorBackupCodes.js.map +1 -1
  292. package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
  293. package/dist/components/Authentication/TwoFactorSecretDialog.js.map +1 -1
  294. package/dist/components/Authentication/UsernamePasswordForm.js.map +1 -1
  295. package/dist/components/BasePortalCard/BasePortalCard.js.map +1 -1
  296. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js.map +1 -1
  297. package/dist/components/Breadcrumbs/Breadcrumbs.js.map +1 -1
  298. package/dist/components/CTASectionWrapper/CTASectionWrapper.js.map +1 -1
  299. package/dist/components/CannedRejectionDialog/CannedRejectionDialog.js.map +1 -1
  300. package/dist/components/CardContainer/CardContainer.js.map +1 -1
  301. package/dist/components/CardContainerLogic/CardContainerLogic.js.map +1 -1
  302. package/dist/components/CardDeck/CardDeck.Desktop.js.map +1 -1
  303. package/dist/components/CardDeck/CardDeck.Mobile.js.map +1 -1
  304. package/dist/components/CardDeck/CardDeck.js.map +1 -1
  305. package/dist/components/CardDeck/TableQueryCardDeck.js.map +1 -1
  306. package/dist/components/CardGridWithLinks/CardGridWithLinks.js.map +1 -1
  307. package/dist/components/CertificationQuiz/CertificationAnswer.js.map +1 -1
  308. package/dist/components/CertificationQuiz/CertificationQuiz.js.map +1 -1
  309. package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js.map +1 -1
  310. package/dist/components/ChallengeDetailPage/ChallengeDetailPage.js.map +1 -1
  311. package/dist/components/ChallengeRegisterButton/ChallengeRegisterButton.js.map +1 -1
  312. package/dist/components/ChallengeRequirementsModal/ChallengeRequirementsModal.js.map +1 -1
  313. package/dist/components/ChallengeSubmission/AddExternalRepo.js.map +1 -1
  314. package/dist/components/ChallengeSubmission/AvailableEvaluationQueueList.js.map +1 -1
  315. package/dist/components/ChallengeSubmission/ChallengeSubmission.js.map +1 -1
  316. package/dist/components/ChallengeSubmission/ChallengeSubmissionStepper.js +62 -64
  317. package/dist/components/ChallengeSubmission/ChallengeSubmissionStepper.js.map +1 -1
  318. package/dist/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.js.map +1 -1
  319. package/dist/components/ChallengeSubmission/EvaluationQueueList.js.map +1 -1
  320. package/dist/components/ChallengeSubmission/SubmissionCommitList.js.map +1 -1
  321. package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js.map +1 -1
  322. package/dist/components/ChallengeTeamWizard/ChallengeTeamSearch.js.map +1 -1
  323. package/dist/components/ChallengeTeamWizard/ChallengeTeamTable.js.map +1 -1
  324. package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js +96 -102
  325. package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js.map +1 -1
  326. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js.map +1 -1
  327. package/dist/components/ChallengeTeamWizard/MembershipRequestForm.js.map +1 -1
  328. package/dist/components/ChallengeTeamWizard/OpenMembershipInvitation.js.map +1 -1
  329. package/dist/components/ChallengeTeamWizard/RegistrationSuccessful.js.map +1 -1
  330. package/dist/components/ChallengeTeamWizard/SelectChallengeTeam.js.map +1 -1
  331. package/dist/components/ChallengeTeamWizard/useCreateAndRegisterChallengeTeam.js.map +1 -1
  332. package/dist/components/ChangePassword/ChangePassword.js.map +1 -1
  333. package/dist/components/ChangePassword/ChangePasswordWithToken.js.map +1 -1
  334. package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
  335. package/dist/components/CitationPopover/CitationPopover.js.map +1 -1
  336. package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
  337. package/dist/components/CitationPopover/CitationPopoverUtils.js.map +1 -1
  338. package/dist/components/CitationPopover/useCitation.js.map +1 -1
  339. package/dist/components/ColorGradient/ColorGradient.js.map +1 -1
  340. package/dist/components/ColoredBulletListItem/ColoredBulletListItem.js.map +1 -1
  341. package/dist/components/ColumnFilter/ColumnFilter.js.map +1 -1
  342. package/dist/components/ComponentCollapse.js.map +1 -1
  343. package/dist/components/ConfirmationDialog/ConfirmationDialog.js.map +1 -1
  344. package/dist/components/CookiesNotification/CookiePreferencesDialog.js.map +1 -1
  345. package/dist/components/CookiesNotification/CookiesNotification.d.ts.map +1 -1
  346. package/dist/components/CookiesNotification/CookiesNotification.js +9 -9
  347. package/dist/components/CookiesNotification/CookiesNotification.js.map +1 -1
  348. package/dist/components/CopyToClipboardIcon.js.map +1 -1
  349. package/dist/components/CopyToClipboardInput/CopyToClipboardInput.js.map +1 -1
  350. package/dist/components/CopyToClipboardString/CopyToClipboardString.js.map +1 -1
  351. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
  352. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizardUtils.js.map +1 -1
  353. package/dist/components/CreateProjectModal/CreateProjectModal.js.map +1 -1
  354. package/dist/components/CreateProjectModal/ProjectVisibilityRadioGroup.js.map +1 -1
  355. package/dist/components/CreateTableViewWizard/CreateTableViewWizard.js.map +1 -1
  356. package/dist/components/CreateTableViewWizard/CreateTableViewWizardUtils.js.map +1 -1
  357. package/dist/components/CreateTableViewWizard/TableNameForm.js.map +1 -1
  358. package/dist/components/CreateTableViewWizard/TableTypeSelection.js.map +1 -1
  359. package/dist/components/CreateTableViewWizard/ViewTypeSelection.js.map +1 -1
  360. package/dist/components/CrispChat/CrispChat.js.map +1 -1
  361. package/dist/components/DataExplorer/DataExplorer.css +1 -0
  362. package/dist/components/DataExplorer/DataExplorer.d.ts +13 -0
  363. package/dist/components/DataExplorer/DataExplorer.d.ts.map +1 -0
  364. package/dist/components/DataExplorer/DataExplorer.js +116 -0
  365. package/dist/components/DataExplorer/DataExplorer.js.map +1 -0
  366. package/dist/components/DataExplorer/DataExplorer.module.js +22 -0
  367. package/dist/components/DataExplorer/DataExplorer.module.js.map +1 -0
  368. package/dist/components/DataExplorer/DataExplorer.module.scss +156 -0
  369. package/dist/components/DataGrid/DataGrid.js +72 -72
  370. package/dist/components/DataGrid/DataGrid.js.map +1 -1
  371. package/dist/components/DataGrid/DataGridTypes.js.map +1 -1
  372. package/dist/components/DataGrid/DataGridWebSocket.d.ts +2 -0
  373. package/dist/components/DataGrid/DataGridWebSocket.d.ts.map +1 -1
  374. package/dist/components/DataGrid/DataGridWebSocket.js +9 -10
  375. package/dist/components/DataGrid/DataGridWebSocket.js.map +1 -1
  376. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js.map +1 -1
  377. package/dist/components/DataGrid/StartGridSession.js.map +1 -1
  378. package/dist/components/DataGrid/SynapseGrid.d.ts +3 -1
  379. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  380. package/dist/components/DataGrid/SynapseGrid.js +219 -211
  381. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  382. package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts.map +1 -1
  383. package/dist/components/DataGrid/columns/AutocompleteColumn.js +106 -102
  384. package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
  385. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.d.ts.map +1 -1
  386. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js +97 -89
  387. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js.map +1 -1
  388. package/dist/components/DataGrid/columns/DateTimeColumn.js.map +1 -1
  389. package/dist/components/DataGrid/columns/GridAutocompleteChip.js.map +1 -1
  390. package/dist/components/DataGrid/columns/useGridAutocompleteState.d.ts +19 -8
  391. package/dist/components/DataGrid/columns/useGridAutocompleteState.d.ts.map +1 -1
  392. package/dist/components/DataGrid/columns/useGridAutocompleteState.js +64 -43
  393. package/dist/components/DataGrid/columns/useGridAutocompleteState.js.map +1 -1
  394. package/dist/components/DataGrid/components/ColumnHeaderWithTooltip.js.map +1 -1
  395. package/dist/components/DataGrid/components/ExportCsvFromGridButton.js.map +1 -1
  396. package/dist/components/DataGrid/components/GridMenuButton/GridMenuButton.js.map +1 -1
  397. package/dist/components/DataGrid/components/GridSessionSelectionField.js.map +1 -1
  398. package/dist/components/DataGrid/components/UploadCsvToGridButton.js.map +1 -1
  399. package/dist/components/DataGrid/components/UploadCsvToGridDialog.d.ts.map +1 -1
  400. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js +9 -9
  401. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js.map +1 -1
  402. package/dist/components/DataGrid/components/ValidationAlert.js.map +1 -1
  403. package/dist/components/DataGrid/components/contextMenu.js.map +1 -1
  404. package/dist/components/DataGrid/hooks/useColumnResizeHandles.js +2 -0
  405. package/dist/components/DataGrid/hooks/useColumnResizeHandles.js.map +1 -1
  406. package/dist/components/DataGrid/hooks/useExportDataGridToCsv.js.map +1 -1
  407. package/dist/components/DataGrid/hooks/useGetSchemaForGrid.d.ts.map +1 -1
  408. package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js +8 -1
  409. package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js.map +1 -1
  410. package/dist/components/DataGrid/hooks/useGridReplicaUsers.js.map +1 -1
  411. package/dist/components/DataGrid/hooks/useGridUndoRedo.js.map +1 -1
  412. package/dist/components/DataGrid/hooks/useRemoteSelections.js.map +1 -1
  413. package/dist/components/DataGrid/hooks/useStack.js.map +1 -1
  414. package/dist/components/DataGrid/useCRDTModelView.js.map +1 -1
  415. package/dist/components/DataGrid/useDataGridWebsocket.d.ts +2 -0
  416. package/dist/components/DataGrid/useDataGridWebsocket.d.ts.map +1 -1
  417. package/dist/components/DataGrid/useDataGridWebsocket.js +12 -2
  418. package/dist/components/DataGrid/useDataGridWebsocket.js.map +1 -1
  419. package/dist/components/DataGrid/useInitializeGridConnection.js.map +1 -1
  420. package/dist/components/DataGrid/useMergeGridWithRecordSet.js.map +1 -1
  421. package/dist/components/DataGrid/useMergeGridWithSource.js.map +1 -1
  422. package/dist/components/DataGrid/useMergeGridWithTable.js.map +1 -1
  423. package/dist/components/DataGrid/utils/DataGridUtils.js.map +1 -1
  424. package/dist/components/DataGrid/utils/MessageCounter.js.map +1 -1
  425. package/dist/components/DataGrid/utils/applyModelChange.js.map +1 -1
  426. package/dist/components/DataGrid/utils/calculateColumnWidth.js.map +1 -1
  427. package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
  428. package/dist/components/DataGrid/utils/computeReplicaSelectionModel.js.map +1 -1
  429. package/dist/components/DataGrid/utils/convertActionToModelChange.js.map +1 -1
  430. package/dist/components/DataGrid/utils/createTestModel.js.map +1 -1
  431. package/dist/components/DataGrid/utils/enrichRowsWithChangeInfo.js.map +1 -1
  432. package/dist/components/DataGrid/utils/extractColumnValidationMessages.js.map +1 -1
  433. package/dist/components/DataGrid/utils/getCellAuthorSid.js.map +1 -1
  434. package/dist/components/DataGrid/utils/getCellClassName.js.map +1 -1
  435. package/dist/components/DataGrid/utils/getChangeTooltipText.js.map +1 -1
  436. package/dist/components/DataGrid/utils/getEmptyValue.js.map +1 -1
  437. package/dist/components/DataGrid/utils/getReplicaCategory.js.map +1 -1
  438. package/dist/components/DataGrid/utils/isValidationUpToDateForRow.js.map +1 -1
  439. package/dist/components/DataGrid/utils/json-rx/JsonRx.js.map +1 -1
  440. package/dist/components/DataGrid/utils/json-rx/JsonRxMessage.js.map +1 -1
  441. package/dist/components/DataGrid/utils/json-rx/JsonRxNotification.js.map +1 -1
  442. package/dist/components/DataGrid/utils/json-rx/JsonRxRequest.js.map +1 -1
  443. package/dist/components/DataGrid/utils/json-rx/JsonRxRequestComplete.js.map +1 -1
  444. package/dist/components/DataGrid/utils/json-rx/JsonRxResponse.js.map +1 -1
  445. package/dist/components/DataGrid/utils/json-rx/JsonRxResponseComplete.js.map +1 -1
  446. package/dist/components/DataGrid/utils/logicalTimestampToString.js.map +1 -1
  447. package/dist/components/DataGrid/utils/mapOperationsToModelChanges.js.map +1 -1
  448. package/dist/components/DataGrid/utils/modelColsToGrid.js.map +1 -1
  449. package/dist/components/DataGrid/utils/modelRowsToGrid.js.map +1 -1
  450. package/dist/components/DataGrid/utils/parseFreeTextUsingJsonSchemaType.js.map +1 -1
  451. package/dist/components/DataGrid/utils/replicaSelectionToGridSelection.js.map +1 -1
  452. package/dist/components/DataGrid/utils/schemaAwarePasteValue.js.map +1 -1
  453. package/dist/components/DataGrid/utils/splitPatch.js.map +1 -1
  454. package/dist/components/DatasetJsonLdScript.js.map +1 -1
  455. package/dist/components/DateTimePicker/DateTimePicker.js.map +1 -1
  456. package/dist/components/Dialog/ConfirmCloseWithoutSavingDialog.js.map +1 -1
  457. package/dist/components/DialogBase.js.map +1 -1
  458. package/dist/components/DirectDownload/DirectDownload.js.map +1 -1
  459. package/dist/components/DirectDownload/FileEntityDirectDownload.js.map +1 -1
  460. package/dist/components/DirectDownloadButton.js.map +1 -1
  461. package/dist/components/DownloadCart/ActionRequiredCard/ActionRequiredCard.js.map +1 -1
  462. package/dist/components/DownloadCart/ActionRequiredListItem.js.map +1 -1
  463. package/dist/components/DownloadCart/AvailableForDownloadTable.js.map +1 -1
  464. package/dist/components/DownloadCart/CreatePackageV2.js.map +1 -1
  465. package/dist/components/DownloadCart/DirectProgrammaticDownload.js.map +1 -1
  466. package/dist/components/DownloadCart/DownloadCartPage.js.map +1 -1
  467. package/dist/components/DownloadCart/DownloadDetails.js.map +1 -1
  468. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
  469. package/dist/components/DownloadCart/DownloadListActionsRequired.js.map +1 -1
  470. package/dist/components/DownloadCart/DownloadListStats.js.map +1 -1
  471. package/dist/components/DownloadCart/DownloadListTable.js.map +1 -1
  472. package/dist/components/DownloadCart/EnableTwoFaRequirementCard.js.map +1 -1
  473. package/dist/components/DownloadCart/MeetAccessRequirementCard.js.map +1 -1
  474. package/dist/components/DownloadCart/RequestDownloadCard.js.map +1 -1
  475. package/dist/components/DownloadCart/ShowDownloadV2.js.map +1 -1
  476. package/dist/components/DownloadCart/TableQueryActionsRequired.js.map +1 -1
  477. package/dist/components/DownloadCart/fileNameUtils.js.map +1 -1
  478. package/dist/components/DraggableDialog/DraggableDialog.js.map +1 -1
  479. package/dist/components/DropdownSelect/DropdownSelect.js.map +1 -1
  480. package/dist/components/DynamicForm/DynamicForm.js.map +1 -1
  481. package/dist/components/DynamicForm/DynamicFormModal.js.map +1 -1
  482. package/dist/components/Ecosystem/EcosystemCard.js.map +1 -1
  483. package/dist/components/Ecosystem/EcosystemLayout.js.map +1 -1
  484. package/dist/components/Ecosystem/EcosystemSkeleton.js.map +1 -1
  485. package/dist/components/Ecosystem/TableQueryEcosystem.js.map +1 -1
  486. package/dist/components/EntityAclEditor/CreateOrDeleteLocalSharingSettingsButton.js.map +1 -1
  487. package/dist/components/EntityAclEditor/EntityAclEditor.js.map +1 -1
  488. package/dist/components/EntityAclEditor/EntityAclEditorModal.js.map +1 -1
  489. package/dist/components/EntityAclEditor/InheritanceMessage.js.map +1 -1
  490. package/dist/components/EntityAclEditor/OpenData.js.map +1 -1
  491. package/dist/components/EntityAclEditor/useNotifyNewACLUsers.js.map +1 -1
  492. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js +68 -70
  493. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
  494. package/dist/components/EntityCitation/EntityCitation.js.map +1 -1
  495. package/dist/components/EntityCitation/EntityCitationUtils.js.map +1 -1
  496. package/dist/components/EntityDownloadButton/EntityDownloadButton.js +32 -35
  497. package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
  498. package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js.map +1 -1
  499. package/dist/components/EntityFinder/Breadcrumbs.js.map +1 -1
  500. package/dist/components/EntityFinder/EntityFinder.js +134 -136
  501. package/dist/components/EntityFinder/EntityFinder.js.map +1 -1
  502. package/dist/components/EntityFinder/EntityFinderModal.js.map +1 -1
  503. package/dist/components/EntityFinder/EntityIdTextField.js.map +1 -1
  504. package/dist/components/EntityFinder/VersionSelectionType.js.map +1 -1
  505. package/dist/components/EntityFinder/details/EntityDetailsList.js +20 -20
  506. package/dist/components/EntityFinder/details/EntityDetailsList.js.map +1 -1
  507. package/dist/components/EntityFinder/details/configurations/EntityChildrenDetails.js.map +1 -1
  508. package/dist/components/EntityFinder/details/configurations/FavoritesDetails.js.map +1 -1
  509. package/dist/components/EntityFinder/details/configurations/ProjectListDetails.js.map +1 -1
  510. package/dist/components/EntityFinder/details/configurations/ReferenceDetails.js.map +1 -1
  511. package/dist/components/EntityFinder/details/configurations/SearchDetails.js.map +1 -1
  512. package/dist/components/EntityFinder/details/view/DetailsView.js +67 -67
  513. package/dist/components/EntityFinder/details/view/DetailsView.js.map +1 -1
  514. package/dist/components/EntityFinder/details/view/VersionColumnHeader.js +1 -1
  515. package/dist/components/EntityFinder/details/view/VersionColumnHeader.js.map +1 -1
  516. package/dist/components/EntityFinder/details/view/table/AddToDownloadListCell.js.map +1 -1
  517. package/dist/components/EntityFinder/details/view/table/CreatedOnCell.js.map +1 -1
  518. package/dist/components/EntityFinder/details/view/table/DateCell.js.map +1 -1
  519. package/dist/components/EntityFinder/details/view/table/EntityBadgeIconsCell.js.map +1 -1
  520. package/dist/components/EntityFinder/details/view/table/EntityFinderCheckboxCell.js.map +1 -1
  521. package/dist/components/EntityFinder/details/view/table/EntityFinderVersionCell.js.map +1 -1
  522. package/dist/components/EntityFinder/details/view/table/EntityNameCell.js.map +1 -1
  523. package/dist/components/EntityFinder/details/view/table/EntityTypeCell.js.map +1 -1
  524. package/dist/components/EntityFinder/details/view/table/FileEntityDirectDownloadCell.js.map +1 -1
  525. package/dist/components/EntityFinder/details/view/table/FileEntityMD5Cell.js.map +1 -1
  526. package/dist/components/EntityFinder/details/view/table/FileEntitySizeCell.js.map +1 -1
  527. package/dist/components/EntityFinder/details/view/table/ModifiedByCell.js.map +1 -1
  528. package/dist/components/EntityFinder/details/view/table/ModifiedOnCell.js.map +1 -1
  529. package/dist/components/EntityFinder/details/view/table/ParentProjectCell.js.map +1 -1
  530. package/dist/components/EntityFinder/details/view/table/UserBadgeCell.js.map +1 -1
  531. package/dist/components/EntityFinder/tree/EntityTree.js +80 -80
  532. package/dist/components/EntityFinder/tree/EntityTree.js.map +1 -1
  533. package/dist/components/EntityFinder/tree/VirtualizedTree.js +31 -31
  534. package/dist/components/EntityFinder/tree/VirtualizedTree.js.map +1 -1
  535. package/dist/components/EntityFinder/useEntitySelection.js.map +1 -1
  536. package/dist/components/EntityForm/EntityForm.js.map +1 -1
  537. package/dist/components/EntityHeaderTable/DebouncedInput.js.map +1 -1
  538. package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
  539. package/dist/components/EntityHeaderTable/EntityHeaderTableCellRenderers.js.map +1 -1
  540. package/dist/components/EntityHeaderTable/Filter.js.map +1 -1
  541. package/dist/components/EntityHeaderTable/useEntityHeaderTableState.js.map +1 -1
  542. package/dist/components/EntityIcon.js.map +1 -1
  543. package/dist/components/EntityLink.js.map +1 -1
  544. package/dist/components/EntitySubjectsSelector/EntitySubjectsSelector.js.map +1 -1
  545. package/dist/components/EntityTreeTable/EntityTreeTable.js.map +1 -1
  546. package/dist/components/EntityTreeTable/components/AutoLoadMore.js.map +1 -1
  547. package/dist/components/EntityTreeTable/components/ColumnHeaders.js.map +1 -1
  548. package/dist/components/EntityTreeTable/components/EntityBadgeIconsCell.js.map +1 -1
  549. package/dist/components/EntityTreeTable/components/EntityNameCell.js.map +1 -1
  550. package/dist/components/EntityTreeTable/components/EntityTreeTableContext.js.map +1 -1
  551. package/dist/components/EntityTreeTable/components/EntityTreeTableRow.js.map +1 -1
  552. package/dist/components/EntityTreeTable/components/EntityTreeTableView.js.map +1 -1
  553. package/dist/components/EntityTreeTable/components/IdCell.js.map +1 -1
  554. package/dist/components/EntityTreeTable/components/IdColumnHeader.js.map +1 -1
  555. package/dist/components/EntityTreeTable/hooks/useEntityTreeState.js.map +1 -1
  556. package/dist/components/EntityTreeTable/hooks/useTableColumns.js.map +1 -1
  557. package/dist/components/EntityTreeTable/hooks/useTableData.js.map +1 -1
  558. package/dist/components/EntityTreeTable/hooks/useTreeOperationsWithDirectFetch.js.map +1 -1
  559. package/dist/components/EntityUpload/EntityUpload.js.map +1 -1
  560. package/dist/components/EntityUpload/EntityUploadModal.js +29 -31
  561. package/dist/components/EntityUpload/EntityUploadModal.js.map +1 -1
  562. package/dist/components/EntityUpload/EntityUploadPromptDialog.js.map +1 -1
  563. package/dist/components/EntityUpload/ExternalObjectStoreCredentialsForm.js.map +1 -1
  564. package/dist/components/EntityUpload/FileUploadProgress.js.map +1 -1
  565. package/dist/components/EntityUpload/LinkToURL.js.map +1 -1
  566. package/dist/components/EntityUpload/ProjectStorageLimitAlert.js.map +1 -1
  567. package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.js.map +1 -1
  568. package/dist/components/EntityViewScopeEditor/EntityViewScopeEditor.js.map +1 -1
  569. package/dist/components/EntityViewScopeEditor/EntityViewScopeEditorModal.js.map +1 -1
  570. package/dist/components/Evaluation/CreatedOnByUserDiv.js.map +1 -1
  571. package/dist/components/Evaluation/DeleteEvaluationQueueConfirmationDialog.js.map +1 -1
  572. package/dist/components/Evaluation/EvaluationCard.js.map +1 -1
  573. package/dist/components/Evaluation/EvaluationEditor.js.map +1 -1
  574. package/dist/components/Evaluation/EvaluationEditorPage.js.map +1 -1
  575. package/dist/components/Evaluation/EvaluationRoundEditor.js.map +1 -1
  576. package/dist/components/Evaluation/EvaluationRoundEditorDropdown.js.map +1 -1
  577. package/dist/components/Evaluation/EvaluationRoundEditorList.js.map +1 -1
  578. package/dist/components/Evaluation/input_models/models.js.map +1 -1
  579. package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptions.js.map +1 -1
  580. package/dist/components/Evaluation/round_limits/EvaluationRoundLimitOptionsList.js.map +1 -1
  581. package/dist/components/EvaluationFinder/EvaluationFinder.js.map +1 -1
  582. package/dist/components/ExperimentalMode/ExperimentalMode.d.ts.map +1 -1
  583. package/dist/components/ExperimentalMode/ExperimentalMode.js +24 -30
  584. package/dist/components/ExperimentalMode/ExperimentalMode.js.map +1 -1
  585. package/dist/components/ExternalFileHandleLink/ExternalFileHandleLink.js.map +1 -1
  586. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
  587. package/dist/components/FeaturedDataTabs/FacetPlotsCardGrid.js.map +1 -1
  588. package/dist/components/FeaturedDataTabs/FeaturedDataPlots.js.map +1 -1
  589. package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js.map +1 -1
  590. package/dist/components/FeaturedDataTabs/QueryPerFacetPlotsCard.js.map +1 -1
  591. package/dist/components/FeaturedDataTabs/SingleQueryFacetPlotsCards.js.map +1 -1
  592. package/dist/components/FeaturedResearch/FeaturedResearch.js +16 -18
  593. package/dist/components/FeaturedResearch/FeaturedResearch.js.map +1 -1
  594. package/dist/components/FeaturedToolsList/FeaturedToolCard.js.map +1 -1
  595. package/dist/components/FeaturedToolsList/FeaturedToolsList.js.map +1 -1
  596. package/dist/components/FilePreview/EntityPreview.js.map +1 -1
  597. package/dist/components/FilePreview/FileEntityPreview.js.map +1 -1
  598. package/dist/components/FilePreview/FileHandleContentRenderer.js.map +1 -1
  599. package/dist/components/FilePreview/HtmlPreview/HtmlPreview.js.map +1 -1
  600. package/dist/components/FilePreview/PdfPreview.js.map +1 -1
  601. package/dist/components/FilePreview/PreviewRendererType.js.map +1 -1
  602. package/dist/components/FilePreview/PreviewUtils.js.map +1 -1
  603. package/dist/components/FileUpload/FileUpload.js.map +1 -1
  604. package/dist/components/Forum/DiscussionReply.js.map +1 -1
  605. package/dist/components/Forum/DiscussionSearchResult.js.map +1 -1
  606. package/dist/components/Forum/DiscussionThread.js.map +1 -1
  607. package/dist/components/Forum/ForumPage.js.map +1 -1
  608. package/dist/components/Forum/ForumTable.js.map +1 -1
  609. package/dist/components/Forum/ForumThreadEditor.js.map +1 -1
  610. package/dist/components/Forum/SubscribersModal.js.map +1 -1
  611. package/dist/components/ForumSearch/ForumSearch.js.map +1 -1
  612. package/dist/components/FullTextSearch/FullTextSearch.js.map +1 -1
  613. package/dist/components/FullTextSearch/FullTextSearchUtils.js.map +1 -1
  614. package/dist/components/FullWidthAlert/FullWidthAlert.js.map +1 -1
  615. package/dist/components/GenericCard/BioregistryRules.js.map +1 -1
  616. package/dist/components/GenericCard/CardUtils.js.map +1 -1
  617. package/dist/components/GenericCard/CollapsibleDescription.js.map +1 -1
  618. package/dist/components/GenericCard/CroissantButton/CroissantButton.js.map +1 -1
  619. package/dist/components/GenericCard/GenericCard.js.map +1 -1
  620. package/dist/components/GenericCard/GenericCardActionButton.js.map +1 -1
  621. package/dist/components/GenericCard/GenericCardIcon.js.map +1 -1
  622. package/dist/components/GenericCard/GenericCardTitle.js.map +1 -1
  623. package/dist/components/GenericCard/LabelMaybeWithIcon.js.map +1 -1
  624. package/dist/components/GenericCard/Linkify.js.map +1 -1
  625. package/dist/components/GenericCard/PortalDOI/PortalDOI.js.map +1 -1
  626. package/dist/components/GenericCard/PortalDOI/PortalDOIUtils.js.map +1 -1
  627. package/dist/components/GenericCard/SynapseCardLabel.js +1 -1
  628. package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
  629. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  630. package/dist/components/GenericCard/useResolvedSynapseEntity.js.map +1 -1
  631. package/dist/components/Goals/Goals.Desktop.js.map +1 -1
  632. package/dist/components/Goals/Goals.Mobile.js.map +1 -1
  633. package/dist/components/Goals/Goals.js +25 -27
  634. package/dist/components/Goals/Goals.js.map +1 -1
  635. package/dist/components/GoalsV2/GoalsV2.Desktop.js.map +1 -1
  636. package/dist/components/GoalsV2/GoalsV2.Mobile.js.map +1 -1
  637. package/dist/components/GoalsV2/GoalsV2.js +14 -16
  638. package/dist/components/GoalsV2/GoalsV2.js.map +1 -1
  639. package/dist/components/GoalsV3/GoalsV3.Desktop.js.map +1 -1
  640. package/dist/components/GoalsV3/GoalsV3.Mobile.js.map +1 -1
  641. package/dist/components/GoalsV3/GoalsV3.js +14 -16
  642. package/dist/components/GoalsV3/GoalsV3.js.map +1 -1
  643. package/dist/components/GoogleAnalytics/GoogleAnalytics.js.map +1 -1
  644. package/dist/components/GoogleMap/GoogleMap.js.map +1 -1
  645. package/dist/components/GoogleMap/SynapseUserMarker.js.map +1 -1
  646. package/dist/components/HasAccess/AccessIcon.js +10 -10
  647. package/dist/components/HasAccess/AccessIcon.js.map +1 -1
  648. package/dist/components/HasAccess/HasAccessV2.js.map +1 -1
  649. package/dist/components/HasAccess/useHasAccess.js.map +1 -1
  650. package/dist/components/HeaderCard/HeaderCardV2.js.map +1 -1
  651. package/dist/components/HeaderCard.js.map +1 -1
  652. package/dist/components/HelpPopover/HelpPopover.js.map +1 -1
  653. package/dist/components/HexGrid/HexGrid.js.map +1 -1
  654. package/dist/components/IDUReport/IDUReport.js.map +1 -1
  655. package/dist/components/IDUReport/IDUReportSubmissionInfo.js.map +1 -1
  656. package/dist/components/Icon/Icon.js.map +1 -1
  657. package/dist/components/IconList.js.map +1 -1
  658. package/dist/components/IconSvg/IconSvg.js.map +1 -1
  659. package/dist/components/IconSvgButton.js.map +1 -1
  660. package/dist/components/ImageCardGridWithLinks/ImageCardGridWithLinks.js +7 -9
  661. package/dist/components/ImageCardGridWithLinks/ImageCardGridWithLinks.js.map +1 -1
  662. package/dist/components/ImageFromSynapseTable.js.map +1 -1
  663. package/dist/components/InteractiveCopyIdsIcon.js.map +1 -1
  664. package/dist/components/JSONArrayEditor/JSONArrayEditor.js.map +1 -1
  665. package/dist/components/JSONArrayEditor/JSONArrayEditorModal.js.map +1 -1
  666. package/dist/components/JSONArrayEditor/useParseCsv.js.map +1 -1
  667. package/dist/components/JsonLdScript.js.map +1 -1
  668. package/dist/components/JsonSchemaForm/JsonSchemaForm.js.map +1 -1
  669. package/dist/components/JsonSchemaForm/templates/ArrayFieldDescriptionTemplate.js.map +1 -1
  670. package/dist/components/JsonSchemaForm/templates/ArrayFieldItemButtonTemplate.js.map +1 -1
  671. package/dist/components/JsonSchemaForm/templates/ArrayFieldItemTemplate.js.map +1 -1
  672. package/dist/components/JsonSchemaForm/templates/ArrayFieldTemplate.js.map +1 -1
  673. package/dist/components/JsonSchemaForm/templates/ArrayFieldTitleTemplate.js.map +1 -1
  674. package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js.map +1 -1
  675. package/dist/components/JsonSchemaForm/templates/ButtonTemplate.js.map +1 -1
  676. package/dist/components/JsonSchemaForm/templates/DescriptionFieldTemplate.js.map +1 -1
  677. package/dist/components/JsonSchemaForm/templates/ErrorListTemplate.js.map +1 -1
  678. package/dist/components/JsonSchemaForm/templates/FieldDescriptionTable.js.map +1 -1
  679. package/dist/components/JsonSchemaForm/templates/FieldErrorTemplate.js.map +1 -1
  680. package/dist/components/JsonSchemaForm/templates/FieldTemplate.js.map +1 -1
  681. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js.map +1 -1
  682. package/dist/components/JsonSchemaForm/widgets/BooleanWidget.js.map +1 -1
  683. package/dist/components/JsonSchemaForm/widgets/DateTimeWidget.js.map +1 -1
  684. package/dist/components/JsonSchemaForm/widgets/SelectWidget.js.map +1 -1
  685. package/dist/components/LoadingScreen/LoadingScreen.js.map +1 -1
  686. package/dist/components/MailchimpSubscribeSection/MailchimpSubscribeSection.js.map +1 -1
  687. package/dist/components/Markdown/GovernanceMarkdownGithub.js.map +1 -1
  688. package/dist/components/Markdown/MarkdownCollapse.js.map +1 -1
  689. package/dist/components/Markdown/MarkdownEditor.js.map +1 -1
  690. package/dist/components/Markdown/MarkdownGithub.js.map +1 -1
  691. package/dist/components/Markdown/MarkdownPopover.js.map +1 -1
  692. package/dist/components/Markdown/MarkdownSynapse.d.ts.map +1 -1
  693. package/dist/components/Markdown/MarkdownSynapse.js +75 -106
  694. package/dist/components/Markdown/MarkdownSynapse.js.map +1 -1
  695. package/dist/components/Markdown/MarkdownUtils.d.ts +14 -4
  696. package/dist/components/Markdown/MarkdownUtils.d.ts.map +1 -1
  697. package/dist/components/Markdown/MarkdownUtils.js +38 -37
  698. package/dist/components/Markdown/MarkdownUtils.js.map +1 -1
  699. package/dist/components/Markdown/MarkdownWidget.js.map +1 -1
  700. package/dist/components/Markdown/SynapseWikiContext.js.map +1 -1
  701. package/dist/components/Markdown/UserMentionModal.js.map +1 -1
  702. package/dist/components/Markdown/widget/Bookmarks.js.map +1 -1
  703. package/dist/components/Markdown/widget/MarkdownButton.js.map +1 -1
  704. package/dist/components/Markdown/widget/MarkdownEntityPreview.js.map +1 -1
  705. package/dist/components/Markdown/widget/MarkdownIDUReport.js.map +1 -1
  706. package/dist/components/Markdown/widget/MarkdownProvenanceGraph.js.map +1 -1
  707. package/dist/components/Markdown/widget/MarkdownSynapseImage.js.map +1 -1
  708. package/dist/components/Markdown/widget/MarkdownSynapsePlot.js.map +1 -1
  709. package/dist/components/Markdown/widget/MarkdownSynapseTable.js.map +1 -1
  710. package/dist/components/Markdown/widget/MarkdownTableOfContents.js.map +1 -1
  711. package/dist/components/Markdown/widget/MarkdownUserOrTeamBadge.js.map +1 -1
  712. package/dist/components/Markdown/widget/MarkdownVideo.js.map +1 -1
  713. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
  714. package/dist/components/ModalDownload/ModalDownload.FormSchema.js.map +1 -1
  715. package/dist/components/ModalDownload/ModalDownload.js.map +1 -1
  716. package/dist/components/MuiContainer.js.map +1 -1
  717. package/dist/components/OAuthClientAclEditor/OAuthAclEditorModal.js.map +1 -1
  718. package/dist/components/OAuthClientAclEditor/OAuthClientAclEditor.js.map +1 -1
  719. package/dist/components/OAuthClientManagement/CreateOAuthClient.js.map +1 -1
  720. package/dist/components/OAuthClientManagement/OAuthManagement.js.map +1 -1
  721. package/dist/components/OrientationBanner/OrientationBanner.js.map +1 -1
  722. package/dist/components/PageProgress/PageProgress.js.map +1 -1
  723. package/dist/components/Plot/BarPlot.js.map +1 -1
  724. package/dist/components/Plot/DotPlot.js.map +1 -1
  725. package/dist/components/Plot/Plot.d.ts +12 -1
  726. package/dist/components/Plot/Plot.d.ts.map +1 -1
  727. package/dist/components/Plot/Plot.js +5 -1
  728. package/dist/components/Plot/Plot.js.map +1 -1
  729. package/dist/components/Plot/PlotPanelHeader.js.map +1 -1
  730. package/dist/components/Plot/SynapsePlot.js.map +1 -1
  731. package/dist/components/Plot/SynapseSankeyPlot.d.ts +12 -0
  732. package/dist/components/Plot/SynapseSankeyPlot.d.ts.map +1 -0
  733. package/dist/components/Plot/SynapseSankeyPlot.js +54 -0
  734. package/dist/components/Plot/SynapseSankeyPlot.js.map +1 -0
  735. package/dist/components/Plot/ThemesPlot.js.map +1 -1
  736. package/dist/components/Plot/UpsetPlot.js.map +1 -1
  737. package/dist/components/Plot/index.d.ts +3 -1
  738. package/dist/components/Plot/index.d.ts.map +1 -1
  739. package/dist/components/Plot/index.js +2 -1
  740. package/dist/components/Plot/safe-react-plotly-factory.js.map +1 -1
  741. package/dist/components/PortalAclEditor/PortalAclEditor.js.map +1 -1
  742. package/dist/components/PortalAclEditor/PortalAclEditorModal.js.map +1 -1
  743. package/dist/components/PortalFeatureHighlights/PortalFeatureHighlights.js.map +1 -1
  744. package/dist/components/PortalFeaturedPartners/PortalFeaturedPartners.js +4 -6
  745. package/dist/components/PortalFeaturedPartners/PortalFeaturedPartners.js.map +1 -1
  746. package/dist/components/PortalHomePageHeader/PortalHomePageHeader.js.map +1 -1
  747. package/dist/components/PortalList/CreatePortalModal.js.map +1 -1
  748. package/dist/components/PortalList/PortalCard.js.map +1 -1
  749. package/dist/components/PortalList/PortalList.js.map +1 -1
  750. package/dist/components/PortalSectionHeader/PortalSectionHeader.js.map +1 -1
  751. package/dist/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.js +69 -69
  752. package/dist/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.js.map +1 -1
  753. package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js.map +1 -1
  754. package/dist/components/Programs/Programs.Desktop.js.map +1 -1
  755. package/dist/components/Programs/Programs.Mobile.js.map +1 -1
  756. package/dist/components/Programs/Programs.js.map +1 -1
  757. package/dist/components/ProjectStorage/ProjectDataAvailability.js.map +1 -1
  758. package/dist/components/ProvenanceGraph/ActivityNodeLabel.js.map +1 -1
  759. package/dist/components/ProvenanceGraph/EntityNodeLabel.js.map +1 -1
  760. package/dist/components/ProvenanceGraph/EntityPlaceholderNodeLabel.js.map +1 -1
  761. package/dist/components/ProvenanceGraph/ExpandGraphNodeLabel.js.map +1 -1
  762. package/dist/components/ProvenanceGraph/ExternalGraphNodeLabel.js.map +1 -1
  763. package/dist/components/ProvenanceGraph/ProvenanceEntityIcon.js.map +1 -1
  764. package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js.map +1 -1
  765. package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
  766. package/dist/components/ProvenanceGraph/ProvenanceGraphUtils.js.map +1 -1
  767. package/dist/components/ProvenanceGraph/ProvenanceUtils.js +13 -13
  768. package/dist/components/ProvenanceGraph/ProvenanceUtils.js.map +1 -1
  769. package/dist/components/ProvenanceGraph/UndefinedNodeLabel.js.map +1 -1
  770. package/dist/components/QueryContext/QueryContext.js.map +1 -1
  771. package/dist/components/QueryCount/QueryCount.js.map +1 -1
  772. package/dist/components/QueryCountButton/QueryCountButton.js.map +1 -1
  773. package/dist/components/QuerySortSelector.js.map +1 -1
  774. package/dist/components/QueryVisualizationWrapper/NoContentPlaceholder.js.map +1 -1
  775. package/dist/components/QueryVisualizationWrapper/QueryVisualizationContext.js.map +1 -1
  776. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.d.ts.map +1 -1
  777. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js +67 -65
  778. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
  779. package/dist/components/QueryWrapper/QueryWrapper.js +27 -27
  780. package/dist/components/QueryWrapper/QueryWrapper.js.map +1 -1
  781. package/dist/components/QueryWrapper/QueryWrapperLoadingScreen.js.map +1 -1
  782. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js.map +1 -1
  783. package/dist/components/QueryWrapper/TableRowSelectionState.js.map +1 -1
  784. package/dist/components/QueryWrapper/ViewMoreQueryResultsButton.js.map +1 -1
  785. package/dist/components/QueryWrapper/generateEncodedPathAndQueryForSelectedFacetURL.js.map +1 -1
  786. package/dist/components/QueryWrapper/useComputeRowSelectionPrimaryKey.js.map +1 -1
  787. package/dist/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.js.map +1 -1
  788. package/dist/components/QueryWrapper/useGetQueryMetadata.js.map +1 -1
  789. package/dist/components/QueryWrapper/useHasFacetedSelectColumn.js.map +1 -1
  790. package/dist/components/QueryWrapper/useOnQueryDataChange.js.map +1 -1
  791. package/dist/components/QueryWrapperErrorBoundary.js.map +1 -1
  792. package/dist/components/QueryWrapperPlotNav/LastUpdatedOn.js.map +1 -1
  793. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts +1 -1
  794. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.d.ts.map +1 -1
  795. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js +1 -0
  796. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  797. package/dist/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.js.map +1 -1
  798. package/dist/components/QueryWrapperPlotNav/RowSetView.js.map +1 -1
  799. package/dist/components/QueryWrapperPlotNav/UseRowSet.js.map +1 -1
  800. package/dist/components/RORInstitutionField/RORInstitutionField.js.map +1 -1
  801. package/dist/components/RecentPublicationsGrid/RecentPublicationsGrid.js +6 -8
  802. package/dist/components/RecentPublicationsGrid/RecentPublicationsGrid.js.map +1 -1
  803. package/dist/components/RegisterPageLogoutPrompt/RegisterPageLogoutPrompt.js.map +1 -1
  804. package/dist/components/ReleaseCard/ReleaseCard.js.map +1 -1
  805. package/dist/components/ReleaseCard/ReleaseCardLarge.js.map +1 -1
  806. package/dist/components/ReleaseCard/ReleaseCardMedium.js.map +1 -1
  807. package/dist/components/ReleaseCard/ReleaseCardUtils.js.map +1 -1
  808. package/dist/components/RenderIfInView/RenderIfInView.js.map +1 -1
  809. package/dist/components/ResizableContainer/ResizableContainer.js.map +1 -1
  810. package/dist/components/ResizableContainer/hooks/useResizable.js.map +1 -1
  811. package/dist/components/Resources/Resources.Desktop.js.map +1 -1
  812. package/dist/components/Resources/Resources.Mobile.js.map +1 -1
  813. package/dist/components/Resources/Resources.js +8 -11
  814. package/dist/components/Resources/Resources.js.map +1 -1
  815. package/dist/components/RowDataTable/RowDataTable.js.map +1 -1
  816. package/dist/components/RowDataTable/RowDataTableWithQuery.js.map +1 -1
  817. package/dist/components/RssFeedCards/RssFeedCards.js.map +1 -1
  818. package/dist/components/SageResourcesPopover/SageResourcesPopover.js.map +1 -1
  819. package/dist/components/SchemaDrivenAnnotationEditor/AnnotationEditorUtils.js.map +1 -1
  820. package/dist/components/SchemaDrivenAnnotationEditor/SchemaDrivenAnnotationEditor.js.map +1 -1
  821. package/dist/components/SchemaDrivenAnnotationEditor/field/AdditionalPropertiesSchemaField.js.map +1 -1
  822. package/dist/components/SchemaDrivenAnnotationEditor/field/SynapseAnnotationsRJSFObjectField.js.map +1 -1
  823. package/dist/components/SchemaDrivenAnnotationEditor/template/AdditionalPropertyContext.js.map +1 -1
  824. package/dist/components/SchemaDrivenAnnotationEditor/template/ObjectFieldTemplate.js.map +1 -1
  825. package/dist/components/SchemaDrivenAnnotationEditor/template/SynapseAnnotationsWrapIfAdditionalTemplate.js.map +1 -1
  826. package/dist/components/SchemaDrivenAnnotationEditor/widget/TextWidget.js.map +1 -1
  827. package/dist/components/SearchQueryWrapper/SearchQueryUseQueryOptions.js.map +1 -1
  828. package/dist/components/SearchQueryWrapper/SearchQueryWrapper.js.map +1 -1
  829. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.d.ts +1 -1
  830. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.d.ts.map +1 -1
  831. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.js +1 -0
  832. package/dist/components/SearchQueryWrapperPlotNav/SearchQueryWrapperPlotNav.js.map +1 -1
  833. package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
  834. package/dist/components/SetBasicAccessRequirementFields/AccessRequirementTextInstructions.js.map +1 -1
  835. package/dist/components/SetBasicAccessRequirementFields/AccessRequirementWikiInstructions.js.map +1 -1
  836. package/dist/components/SetBasicAccessRequirementFields/AccessorRequirements.js.map +1 -1
  837. package/dist/components/SetBasicAccessRequirementFields/GovernanceUtils.js.map +1 -1
  838. package/dist/components/SetBasicAccessRequirementFields/SetBasicAccessRequirementFields.js.map +1 -1
  839. package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
  840. package/dist/components/ShareThisPage/ShareThisPage.js.map +1 -1
  841. package/dist/components/ShowMore/ShowMore.js.map +1 -1
  842. package/dist/components/SignInButton.js.map +1 -1
  843. package/dist/components/SignInRequiredModal/SignInRequiredModal.js.map +1 -1
  844. package/dist/components/Skeleton/SkeletonButton.js.map +1 -1
  845. package/dist/components/Skeleton/SkeletonInlineBlock.js.map +1 -1
  846. package/dist/components/Skeleton/SkeletonParagraph.js.map +1 -1
  847. package/dist/components/Skeleton/SkeletonTable.js.map +1 -1
  848. package/dist/components/SmartLink/SmartButton.js.map +1 -1
  849. package/dist/components/SmartLink/SmartLink.js.map +1 -1
  850. package/dist/components/SmartLink/useSmartLink.js.map +1 -1
  851. package/dist/components/SourceAppImage.js.map +1 -1
  852. package/dist/components/SpinnerButton/SpinnerButton.js.map +1 -1
  853. package/dist/components/SqlDefinedTableEditor/SqlDefinedTableEditor.js.map +1 -1
  854. package/dist/components/SqlDefinedTableEditor/SqlDefinedTableEditorModal.js.map +1 -1
  855. package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.d.ts +1 -1
  856. package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.d.ts.map +1 -1
  857. package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.js.map +1 -1
  858. package/dist/components/StatisticsPlot.js.map +1 -1
  859. package/dist/components/StepperDialog/StepperDialog.js.map +1 -1
  860. package/dist/components/StorybookComponentWrapper.js.map +1 -1
  861. package/dist/components/SubmissionViewScopeEditor/SubmissionViewScopeEditor.js.map +1 -1
  862. package/dist/components/SubmissionViewScopeEditor/SubmissionViewScopeEditorModal.js.map +1 -1
  863. package/dist/components/SubscriptionPage/ForumTopic.js.map +1 -1
  864. package/dist/components/SubscriptionPage/SubscriptionItem.js.map +1 -1
  865. package/dist/components/SubscriptionPage/SubscriptionPage.js.map +1 -1
  866. package/dist/components/SubscriptionPage/ThreadTopic.js.map +1 -1
  867. package/dist/components/SubscriptionPage/Topic.js.map +1 -1
  868. package/dist/components/SubsectionRowRenderer/SubsectionRowRenderer.js.map +1 -1
  869. package/dist/components/SustainabilityScorecard/Dial.js.map +1 -1
  870. package/dist/components/SustainabilityScorecard/DialLayout.js.map +1 -1
  871. package/dist/components/SustainabilityScorecard/SustainabilityScorecard.js.map +1 -1
  872. package/dist/components/SustainabilityScorecard/SustainabilityScorecardSummary.js.map +1 -1
  873. package/dist/components/SustainabilityScorecard/SustainabilityScorecardUtils.js.map +1 -1
  874. package/dist/components/SynapseChat/AccessLevelMenu.js.map +1 -1
  875. package/dist/components/SynapseChat/GridAgentChat.js.map +1 -1
  876. package/dist/components/SynapseChat/SynapseChat.js.map +1 -1
  877. package/dist/components/SynapseChat/SynapseChatDialog.js.map +1 -1
  878. package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
  879. package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
  880. package/dist/components/SynapseChat/SynapsePortalChatDialog.js.map +1 -1
  881. package/dist/components/SynapseChat/extractMessageFromTraceEvent.js.map +1 -1
  882. package/dist/components/SynapseChat/useChatState.js.map +1 -1
  883. package/dist/components/SynapseFooter/SynapseFooter.js.map +1 -1
  884. package/dist/components/SynapseFooter/SynapseLinksColumn.js.map +1 -1
  885. package/dist/components/SynapseForm/DataDebug.js.map +1 -1
  886. package/dist/components/SynapseForm/Header.js.map +1 -1
  887. package/dist/components/SynapseForm/NavButtons.js.map +1 -1
  888. package/dist/components/SynapseForm/StepsSideNav.js.map +1 -1
  889. package/dist/components/SynapseForm/SummaryTable.js.map +1 -1
  890. package/dist/components/SynapseForm/SynapseForm.js.map +1 -1
  891. package/dist/components/SynapseForm/SynapseFormCheckboxWidget.js.map +1 -1
  892. package/dist/components/SynapseForm/SynapseFormCheckboxesWidget.js.map +1 -1
  893. package/dist/components/SynapseForm/SynapseFormRadioWidget.js.map +1 -1
  894. package/dist/components/SynapseForm/SynapseFormSubmissionGrid.js.map +1 -1
  895. package/dist/components/SynapseForm/SynapseFormUtils.js.map +1 -1
  896. package/dist/components/SynapseForm/SynapseFormWrapper.js.map +1 -1
  897. package/dist/components/SynapseForm/WarningDialog.js.map +1 -1
  898. package/dist/components/SynapseForm/types.js.map +1 -1
  899. package/dist/components/SynapseForm/useGetFormPropsFromSearchParams.js.map +1 -1
  900. package/dist/components/SynapseHomepageV2/FloatingBlobsBackground.js.map +1 -1
  901. package/dist/components/SynapseHomepageV2/HomepageStyles.js.map +1 -1
  902. package/dist/components/SynapseHomepageV2/SynapseByTheNumbers.js.map +1 -1
  903. package/dist/components/SynapseHomepageV2/SynapseByTheNumbersItem.js.map +1 -1
  904. package/dist/components/SynapseHomepageV2/SynapseFeatureItem.js.map +1 -1
  905. package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasetItem.js.map +1 -1
  906. package/dist/components/SynapseHomepageV2/SynapseFeaturedDatasets.js.map +1 -1
  907. package/dist/components/SynapseHomepageV2/SynapseFeatures.js.map +1 -1
  908. package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js +18 -21
  909. package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js.map +1 -1
  910. package/dist/components/SynapseHomepageV2/SynapseHomepageNavBar.js.map +1 -1
  911. package/dist/components/SynapseHomepageV2/SynapseHomepageSearch.js.map +1 -1
  912. package/dist/components/SynapseHomepageV2/SynapseHomepageV2.js.map +1 -1
  913. package/dist/components/SynapseHomepageV2/SynapseHotdrops.js.map +1 -1
  914. package/dist/components/SynapseHomepageV2/SynapseHotdropsItem.js.map +1 -1
  915. package/dist/components/SynapseHomepageV2/SynapseInAction.js.map +1 -1
  916. package/dist/components/SynapseHomepageV2/SynapseInActionItem.js.map +1 -1
  917. package/dist/components/SynapseHomepageV2/SynapsePartners.js.map +1 -1
  918. package/dist/components/SynapseHomepageV2/SynapsePlan.js.map +1 -1
  919. package/dist/components/SynapseHomepageV2/SynapsePlanContent.js.map +1 -1
  920. package/dist/components/SynapseHomepageV2/SynapsePlans.js.map +1 -1
  921. package/dist/components/SynapseHomepageV2/SynapsePlansPage.js.map +1 -1
  922. package/dist/components/SynapseHomepageV2/SynapseSearchChips.js.map +1 -1
  923. package/dist/components/SynapseHomepageV2/SynapseTrendingProjects.js.map +1 -1
  924. package/dist/components/SynapseHomepageV2/SynapseTrendingProjectsItem.js.map +1 -1
  925. package/dist/components/SynapseHomepageV2/WordPressNews.js.map +1 -1
  926. package/dist/components/SynapseHomepageV2/WordPressNewsItem.js.map +1 -1
  927. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +78 -78
  928. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
  929. package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js.map +1 -1
  930. package/dist/components/SynapseSearchPageResults/HasAccessChip.js.map +1 -1
  931. package/dist/components/SynapseSearchPageResults/HighlightedTypography.js.map +1 -1
  932. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanel.js.map +1 -1
  933. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js.map +1 -1
  934. package/dist/components/SynapseSearchPageResults/SearchPagePortalBanners.js.map +1 -1
  935. package/dist/components/SynapseSearchPageResults/SynapseSearchPage.js.map +1 -1
  936. package/dist/components/SynapseSearchPageResults/SynapseSearchPageResults.js.map +1 -1
  937. package/dist/components/SynapseSearchPageResults/SynapseSearchPageRouter.js.map +1 -1
  938. package/dist/components/SynapseSearchPageResults/SynapseSearchResultsCard.js.map +1 -1
  939. package/dist/components/SynapseSearchPageResults/chipStyles.js.map +1 -1
  940. package/dist/components/SynapseTable/CustomControls/CustomControlButton.js.map +1 -1
  941. package/dist/components/SynapseTable/CustomControls/CustomControlPanel.js.map +1 -1
  942. package/dist/components/SynapseTable/CustomControls/CustomControls.js.map +1 -1
  943. package/dist/components/SynapseTable/EntityIDColumnCopyIcon.js.map +1 -1
  944. package/dist/components/SynapseTable/ExpandCollapseButton.js.map +1 -1
  945. package/dist/components/SynapseTable/ExpandableTableDataCell.js.map +1 -1
  946. package/dist/components/SynapseTable/NoContentAvailable.js.map +1 -1
  947. package/dist/components/SynapseTable/NoContentPlaceholderType.js.map +1 -1
  948. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js +4 -4
  949. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
  950. package/dist/components/SynapseTable/RowSelection/RowSelectionUI.js.map +1 -1
  951. package/dist/components/SynapseTable/SearchResultsNotFound.js.map +1 -1
  952. package/dist/components/SynapseTable/SearchV2.js.map +1 -1
  953. package/dist/components/SynapseTable/SqlEditor.js.map +1 -1
  954. package/dist/components/SynapseTable/SynapseTable.js.map +1 -1
  955. package/dist/components/SynapseTable/SynapseTableCell/EntityIdList.js.map +1 -1
  956. package/dist/components/SynapseTable/SynapseTableCell/EvaluationIdRenderer.js.map +1 -1
  957. package/dist/components/SynapseTable/SynapseTableCell/JSON/ComplexJSONRenderer.js.map +1 -1
  958. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONArrayRenderer.js.map +1 -1
  959. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONObjectRenderer.js.map +1 -1
  960. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONPrimitiveRenderer.js.map +1 -1
  961. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONRendererUtils.js.map +1 -1
  962. package/dist/components/SynapseTable/SynapseTableCell/JSON/JSONTableCellRenderer.js.map +1 -1
  963. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js.map +1 -1
  964. package/dist/components/SynapseTable/SynapseTableCell/UserIdList.js.map +1 -1
  965. package/dist/components/SynapseTable/SynapseTableConstants.js.map +1 -1
  966. package/dist/components/SynapseTable/SynapseTableContext.js.map +1 -1
  967. package/dist/components/SynapseTable/SynapseTableRenderers.js.map +1 -1
  968. package/dist/components/SynapseTable/SynapseTableUtils.js.map +1 -1
  969. package/dist/components/SynapseTable/TableIsEmpty.js.map +1 -1
  970. package/dist/components/SynapseTable/TablePagination.js.map +1 -1
  971. package/dist/components/SynapseTable/TopLevelControls/TopLevelControls.js.map +1 -1
  972. package/dist/components/SynapseTable/TopLevelControls/TopLevelControlsUtils.js.map +1 -1
  973. package/dist/components/SynapseTable/datasets/DatasetEditorCheckboxCell.js.map +1 -1
  974. package/dist/components/SynapseTable/datasets/DatasetEditorUtils.js.map +1 -1
  975. package/dist/components/SynapseTable/datasets/DatasetEditorVersionCell.js.map +1 -1
  976. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js +131 -133
  977. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
  978. package/dist/components/SynapseTable/datasets/EntityFetchErrorCell.js.map +1 -1
  979. package/dist/components/SynapseTable/export/ADDiscoveryPortalInstructions.js.map +1 -1
  980. package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js +48 -51
  981. package/dist/components/SynapseTable/export/ExportToAnalysisPlatformDialog.js.map +1 -1
  982. package/dist/components/SynapseTable/export/ExternalAnalysisPlatformInstructions.js.map +1 -1
  983. package/dist/components/SynapseTable/export/ExternalAnalysisPlatformsConstants.js.map +1 -1
  984. package/dist/components/SynapseTable/export/ExternalPlatformActionsRequiredPrecheck.js.map +1 -1
  985. package/dist/components/SynapseTable/export/ExternalPlatformDisclaimer.js.map +1 -1
  986. package/dist/components/SynapseTable/table-top/ColumnSelection.js.map +1 -1
  987. package/dist/components/SynapseTable/table-top/DownloadLoginModal.js.map +1 -1
  988. package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
  989. package/dist/components/SynapseTable/usePrefetchTableData.js.map +1 -1
  990. package/dist/components/SynapseTable/useTableSort.js.map +1 -1
  991. package/dist/components/SystemUseNotification/SystemUseNotification.js.map +1 -1
  992. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js +12 -12
  993. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js.map +1 -1
  994. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/DefaultValueField.js.map +1 -1
  995. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/FieldWithRecommendedMinimum.js.map +1 -1
  996. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/MultiValueField.js +4 -4
  997. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/MultiValueField.js.map +1 -1
  998. package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js.map +1 -1
  999. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditor.js.map +1 -1
  1000. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorTestUtils.js.map +1 -1
  1001. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js.map +1 -1
  1002. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js +32 -32
  1003. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
  1004. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormActions.js.map +1 -1
  1005. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormReducer.js.map +1 -1
  1006. package/dist/components/TableColumnSchemaEditor/Validators/BooleanSchema.js.map +1 -1
  1007. package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.js.map +1 -1
  1008. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js.map +1 -1
  1009. package/dist/components/TableColumnSchemaEditor/Validators/DefaultValueValidator.js.map +1 -1
  1010. package/dist/components/TableColumnSchemaEditor/Validators/DoubleSchema.js.map +1 -1
  1011. package/dist/components/TableColumnSchemaEditor/Validators/EntityIdSchema.js.map +1 -1
  1012. package/dist/components/TableColumnSchemaEditor/Validators/EnumValuesValidator.js.map +1 -1
  1013. package/dist/components/TableColumnSchemaEditor/Validators/IntegerSchema.js.map +1 -1
  1014. package/dist/components/TableColumnSchemaEditor/Validators/OptionalStringSchema.js.map +1 -1
  1015. package/dist/components/TableColumnSchemaEditor/Validators/getZodSchemaForColumnType.js.map +1 -1
  1016. package/dist/components/TableFeedCards/TableFeedCards.js.map +1 -1
  1017. package/dist/components/TanStackTable/ColumnHeader.js.map +1 -1
  1018. package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js.map +1 -1
  1019. package/dist/components/TanStackTable/StyledTanStackTable.js.map +1 -1
  1020. package/dist/components/TanStackTable/StyledVirtualTanStackTable.js.map +1 -1
  1021. package/dist/components/TanStackTable/TableBody.js.map +1 -1
  1022. package/dist/components/TanStackTable/TableCellRenderer.js.map +1 -1
  1023. package/dist/components/TanStackTable/TanStackTableUtils.js.map +1 -1
  1024. package/dist/components/TeamBadge.js.map +1 -1
  1025. package/dist/components/TeamSubjectsSelector/TeamBadgeOrError.js.map +1 -1
  1026. package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.js.map +1 -1
  1027. package/dist/components/TemplateComponent.js.map +1 -1
  1028. package/dist/components/TemporaryBanner/TemporaryBanner.js.map +1 -1
  1029. package/dist/components/TermsAndConditions/TermsAndConditions.js.map +1 -1
  1030. package/dist/components/TermsAndConditions/TermsAndConditionsItem.js.map +1 -1
  1031. package/dist/components/TextField/TextField.js.map +1 -1
  1032. package/dist/components/TextField/TextFieldWithWordLimit.js.map +1 -1
  1033. package/dist/components/TextToComponentCollapse.js.map +1 -1
  1034. package/dist/components/ThemeGallery/ThemeGallery.js.map +1 -1
  1035. package/dist/components/TimelinePlot/TimelineLegendItem.js.map +1 -1
  1036. package/dist/components/TimelinePlot/TimelinePhase.js.map +1 -1
  1037. package/dist/components/TimelinePlot/TimelinePlot.js.map +1 -1
  1038. package/dist/components/TimelinePlot/TimelinePlotSpeciesSelector.js.map +1 -1
  1039. package/dist/components/TimelinePlot/phasesQueryResponseData.js.map +1 -1
  1040. package/dist/components/ToastMessage/ToastMessage.js.map +1 -1
  1041. package/dist/components/TotalQueryResults.js.map +1 -1
  1042. package/dist/components/UserCard/Avatar.js.map +1 -1
  1043. package/dist/components/UserCard/UserBadge.js.map +1 -1
  1044. package/dist/components/UserCard/UserCard.js.map +1 -1
  1045. package/dist/components/UserCard/UserCardContextMenu.js.map +1 -1
  1046. package/dist/components/UserCard/UserCardLarge.js.map +1 -1
  1047. package/dist/components/UserCard/UserCardMedium.js.map +1 -1
  1048. package/dist/components/UserCardList/UserCardList.js.map +1 -1
  1049. package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.Desktop.js.map +1 -1
  1050. package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.Mobile.js.map +1 -1
  1051. package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.js.map +1 -1
  1052. package/dist/components/UserCardList/UserCardListRotate.js.map +1 -1
  1053. package/dist/components/UserOrTeamBadge/UserOrTeamBadge.js.map +1 -1
  1054. package/dist/components/UserOrTeamBadge/useUserOrTeam.js.map +1 -1
  1055. package/dist/components/UserProfileLinks/UserChallenges.js.map +1 -1
  1056. package/dist/components/UserProfileLinks/UserProfileLinks.js.map +1 -1
  1057. package/dist/components/UserProfileLinks/UserProjects.js.map +1 -1
  1058. package/dist/components/UserProfileLinks/UserTeams.js.map +1 -1
  1059. package/dist/components/UserSearchBox/UserSearchBox.js.map +1 -1
  1060. package/dist/components/Webhook/CreateWebhookModal.js.map +1 -1
  1061. package/dist/components/Webhook/WebhookDashboard.js.map +1 -1
  1062. package/dist/components/Webhook/WebhookVerificationDialog.js.map +1 -1
  1063. package/dist/components/WikiMarkdownEditor/WikiMarkdownEditor.js.map +1 -1
  1064. package/dist/components/WikiMarkdownEditorButton/WikiMarkdownEditorButton.js.map +1 -1
  1065. package/dist/components/WizardChoiceButton/WizardChoiceButton.js.map +1 -1
  1066. package/dist/components/WizardChoiceButton/WizardChoiceButtonDescription.js.map +1 -1
  1067. package/dist/components/WizardChoiceButton/WizardChoiceButtonGroup.js.map +1 -1
  1068. package/dist/components/WordPress/WordPressLatestPostChip.js.map +1 -1
  1069. package/dist/components/WordPress/useWordPressCategories.js.map +1 -1
  1070. package/dist/components/WordPress/useWordPressPosts.js.map +1 -1
  1071. package/dist/components/dataaccess/AccessApprovalsTable.js.map +1 -1
  1072. package/dist/components/dataaccess/AccessHistoryDashboard.js.map +1 -1
  1073. package/dist/components/dataaccess/AccessRequestSubmissionTable.js.map +1 -1
  1074. package/dist/components/dataaccess/AccessRequirementDashboard.js.map +1 -1
  1075. package/dist/components/dataaccess/AccessRequirementSearchBox/AccessRequirementSearchBox.js.map +1 -1
  1076. package/dist/components/dataaccess/AccessRequirementTable.js.map +1 -1
  1077. package/dist/components/dataaccess/AccessSubmissionDashboard.js.map +1 -1
  1078. package/dist/components/dataaccess/RejectDataAccessRequestModal.js.map +1 -1
  1079. package/dist/components/dataaccess/RejectProfileValidationRequestModal.js.map +1 -1
  1080. package/dist/components/dataaccess/ReviewerDashboard.js.map +1 -1
  1081. package/dist/components/dataaccess/SubmissionPage/ApproveSubmissionConfirmationModal.js.map +1 -1
  1082. package/dist/components/dataaccess/SubmissionPage/CancelDataAccessRequestConfirmationModal.js.map +1 -1
  1083. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js.map +1 -1
  1084. package/dist/components/dataaccess/UseAccessRequirementTable.js.map +1 -1
  1085. package/dist/components/dataaccess/UserAccessRequestHistory/SubmissionSortStateTranslator.js.map +1 -1
  1086. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPage.js.map +1 -1
  1087. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryPlace.js.map +1 -1
  1088. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryTable.js.map +1 -1
  1089. package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
  1090. package/dist/components/doi/DoiFormSchemas.js.map +1 -1
  1091. package/dist/components/doi/PrivateEntityDoiWarning.js.map +1 -1
  1092. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js.map +1 -1
  1093. package/dist/components/download_list/DownloadConfirmationUI.js +30 -32
  1094. package/dist/components/download_list/DownloadConfirmationUI.js.map +1 -1
  1095. package/dist/components/download_list/DownloadConfirmationUtils.js.map +1 -1
  1096. package/dist/components/download_list/DownloadDetails.js.map +1 -1
  1097. package/dist/components/download_list/index.js.map +1 -1
  1098. package/dist/components/entity/metadata/AnnotationsTable.js.map +1 -1
  1099. package/dist/components/entity/metadata/EntityAnnotationKey.js.map +1 -1
  1100. package/dist/components/entity/metadata/EntityModal.js.map +1 -1
  1101. package/dist/components/entity/metadata/MetadataTable.js.map +1 -1
  1102. package/dist/components/entity/page/CreatedByModifiedBy.js.map +1 -1
  1103. package/dist/components/entity/page/action_menu/EntityActionMenu.js.map +1 -1
  1104. package/dist/components/entity/page/breadcrumbs/EntityPageBreadcrumbs.js.map +1 -1
  1105. package/dist/components/entity/page/title_bar/CitationsDialog.js.map +1 -1
  1106. package/dist/components/entity/page/title_bar/EntityPageTitleBar.js.map +1 -1
  1107. package/dist/components/entity/page/title_bar/EntityTitleBarVersionInfo.js.map +1 -1
  1108. package/dist/components/entity/page/title_bar/TitleBarProperties.js.map +1 -1
  1109. package/dist/components/entity/page/title_bar/useDataCiteUsage.js.map +1 -1
  1110. package/dist/components/entity/page/title_bar/useGetEntityTitleBarProperties.js.map +1 -1
  1111. package/dist/components/entity/page/title_bar/useGetMentions.js.map +1 -1
  1112. package/dist/components/error/ErrorBanner.js.map +1 -1
  1113. package/dist/components/error/ErrorChip.js.map +1 -1
  1114. package/dist/components/error/ErrorPage.js +24 -24
  1115. package/dist/components/error/ErrorPage.js.map +1 -1
  1116. package/dist/components/error/RouteErrorBoundary.js.map +1 -1
  1117. package/dist/components/error/SendMessageToEntityOwnerDialog.js.map +1 -1
  1118. package/dist/components/error/SynapseObjectDOIInfo.js.map +1 -1
  1119. package/dist/components/favorites/FavoriteButton.js.map +1 -1
  1120. package/dist/components/favorites/FavoritesPage.js.map +1 -1
  1121. package/dist/components/file/upload/BasicFileHandleUpload.js.map +1 -1
  1122. package/dist/components/file/upload/MultiFileUploadProgress.js.map +1 -1
  1123. package/dist/components/file/upload/UploadFilePanel.js.map +1 -1
  1124. package/dist/components/form/RadioGroupWithOtherString.js.map +1 -1
  1125. package/dist/components/home_page/ExpandableContent.js.map +1 -1
  1126. package/dist/components/index.js +48 -47
  1127. package/dist/components/layout/InfiniteTableLayout.js.map +1 -1
  1128. package/dist/components/layout/SWCHeader.js.map +1 -1
  1129. package/dist/components/layout/SWCPageLayout.js.map +1 -1
  1130. package/dist/components/menu/ComplexMenu.js.map +1 -1
  1131. package/dist/components/menu/DropdownMenu.js.map +1 -1
  1132. package/dist/components/row_renderers/Dataset.js.map +1 -1
  1133. package/dist/components/row_renderers/Funder.js.map +1 -1
  1134. package/dist/components/row_renderers/ObservationCard.js.map +1 -1
  1135. package/dist/components/row_renderers/utils/CardFooter.js.map +1 -1
  1136. package/dist/components/row_renderers/utils/ChipContainer.js.map +1 -1
  1137. package/dist/components/styled/HoverPopover.js.map +1 -1
  1138. package/dist/components/styled/InlineBadge.js.map +1 -1
  1139. package/dist/components/styled/InputSizedButton.js.map +1 -1
  1140. package/dist/components/styled/LargeButton.js.map +1 -1
  1141. package/dist/components/styled/LeftRightPanel.js.map +1 -1
  1142. package/dist/components/styled/LightTooltip.js.map +1 -1
  1143. package/dist/components/styled/StyledFormControl.js.map +1 -1
  1144. package/dist/components/styled/StyledPopover.js.map +1 -1
  1145. package/dist/components/styled/StyledTableContainer.js.map +1 -1
  1146. package/dist/components/styled/WideButton.js.map +1 -1
  1147. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.d.ts +18 -0
  1148. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.d.ts.map +1 -0
  1149. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js +113 -0
  1150. package/dist/components/table/CsvPreview/CreateTableFromCsvDialog.js.map +1 -0
  1151. package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
  1152. package/dist/components/table/CsvPreview/CsvPreviewDialog.d.ts +5 -5
  1153. package/dist/components/table/CsvPreview/CsvPreviewDialog.d.ts.map +1 -1
  1154. package/dist/components/table/CsvPreview/CsvPreviewDialog.js +27 -76
  1155. package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
  1156. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.d.ts +19 -0
  1157. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.d.ts.map +1 -0
  1158. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js +41 -0
  1159. package/dist/components/table/CsvPreview/CsvPreviewWithOptions.js.map +1 -0
  1160. package/dist/components/table/CsvPreview/CsvUploadPreviewContent.d.ts +12 -0
  1161. package/dist/components/table/CsvPreview/CsvUploadPreviewContent.d.ts.map +1 -0
  1162. package/dist/components/table/CsvPreview/CsvUploadPreviewContent.js +25 -0
  1163. package/dist/components/table/CsvPreview/CsvUploadPreviewContent.js.map +1 -0
  1164. package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.d.ts +18 -0
  1165. package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.d.ts.map +1 -0
  1166. package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.js +55 -0
  1167. package/dist/components/table/CsvPreview/UpdateTableWithCsvDialog.js.map +1 -0
  1168. package/dist/components/table/CsvPreview/useCreateTableFromCsv.d.ts +19 -0
  1169. package/dist/components/table/CsvPreview/useCreateTableFromCsv.d.ts.map +1 -0
  1170. package/dist/components/table/CsvPreview/useCreateTableFromCsv.js +35 -0
  1171. package/dist/components/table/CsvPreview/useCreateTableFromCsv.js.map +1 -0
  1172. package/dist/components/table/CsvPreview/useCsvUploadPreview.d.ts +22 -0
  1173. package/dist/components/table/CsvPreview/useCsvUploadPreview.d.ts.map +1 -0
  1174. package/dist/components/table/CsvPreview/useCsvUploadPreview.js +32 -0
  1175. package/dist/components/table/CsvPreview/useCsvUploadPreview.js.map +1 -0
  1176. package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.d.ts +14 -0
  1177. package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.d.ts.map +1 -0
  1178. package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.js +23 -0
  1179. package/dist/components/table/CsvPreview/useUploadCsvToExistingTable.js.map +1 -0
  1180. package/dist/components/table/CsvTableDescriptorForm/CsvTableDescriptorForm.js.map +1 -1
  1181. package/dist/components/trash/TrashCanList.js.map +1 -1
  1182. package/dist/components/utils/Blocker.js.map +1 -1
  1183. package/dist/components/utils/ConditionalWrapper.js.map +1 -1
  1184. package/dist/components/utils/VisibilityObserver.js.map +1 -1
  1185. package/dist/components/widgets/ElementWithTooltip.js.map +1 -1
  1186. package/dist/components/widgets/EntityColumnImage.js.map +1 -1
  1187. package/dist/components/widgets/FileHandleLink.js.map +1 -1
  1188. package/dist/components/widgets/ImageFileHandle.js.map +1 -1
  1189. package/dist/components/widgets/LoginAwareButton.js.map +1 -1
  1190. package/dist/components/widgets/Range.js.map +1 -1
  1191. package/dist/components/widgets/RangeSlider/RangeSlider.js.map +1 -1
  1192. package/dist/components/widgets/SynapseImage.js.map +1 -1
  1193. package/dist/components/widgets/SynapseVideo.js.map +1 -1
  1194. package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
  1195. package/dist/components/widgets/facet-nav/FacetPlotLegendList.js.map +1 -1
  1196. package/dist/components/widgets/facet-nav/FacetPlotLegendTable.js.map +1 -1
  1197. package/dist/components/widgets/facet-nav/FacetPlotLegendUtils.js.map +1 -1
  1198. package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
  1199. package/dist/components/widgets/facet-nav/PlotsContainerSkeleton.js.map +1 -1
  1200. package/dist/components/widgets/facet-nav/SelectionCriteriaPill.js.map +1 -1
  1201. package/dist/components/widgets/facet-nav/SelectionCriteriaPills.js.map +1 -1
  1202. package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
  1203. package/dist/components/widgets/query-filter/CombinedRangeFacetFilter.js.map +1 -1
  1204. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
  1205. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterDropdown.js.map +1 -1
  1206. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterOption.js.map +1 -1
  1207. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterSkeleton.js.map +1 -1
  1208. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUI.js.map +1 -1
  1209. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilterUtils.js.map +1 -1
  1210. package/dist/components/widgets/query-filter/FacetChip.js.map +1 -1
  1211. package/dist/components/widgets/query-filter/FacetFilterControls.js.map +1 -1
  1212. package/dist/components/widgets/query-filter/FacetFilterHeader.js.map +1 -1
  1213. package/dist/components/widgets/query-filter/FacetFilterSkeleton.js.map +1 -1
  1214. package/dist/components/widgets/query-filter/FacetFilterUtils.js.map +1 -1
  1215. package/dist/components/widgets/query-filter/JsonColumnFacetFilters.js.map +1 -1
  1216. package/dist/components/widgets/query-filter/RangeFacetFilter.js +3 -3
  1217. package/dist/components/widgets/query-filter/RangeFacetFilter.js.map +1 -1
  1218. package/dist/components/widgets/query-filter/RangeFacetFilterUI.js +41 -41
  1219. package/dist/components/widgets/query-filter/RangeFacetFilterUI.js.map +1 -1
  1220. package/dist/features/curator/GridPage/GridPage.js.map +1 -1
  1221. package/dist/features/curator/GridPage/components/GridPageRouter.js.map +1 -1
  1222. package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
  1223. package/dist/features/curator/GridPage/components/UpdateGridPageSearchParamsForm.js.map +1 -1
  1224. package/dist/features/curator/dashboard/CuratorDashboard.js.map +1 -1
  1225. package/dist/features/curator/dashboard/components/CurationTaskCard.js.map +1 -1
  1226. package/dist/features/curator/dashboard/components/NextStepButton.js.map +1 -1
  1227. package/dist/features/curator/dashboard/components/UserOrTeamChip.js.map +1 -1
  1228. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts +5 -0
  1229. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.d.ts.map +1 -1
  1230. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js +227 -181
  1231. package/dist/features/entity/metadata-task/components/CreateOrUpdateCurationTaskDialog.js.map +1 -1
  1232. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts.map +1 -1
  1233. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +3 -0
  1234. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
  1235. package/dist/features/entity/metadata-task/components/MetadataTasksPage.d.ts.map +1 -1
  1236. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js +37 -34
  1237. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js.map +1 -1
  1238. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -1
  1239. package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.js.map +1 -1
  1240. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js.map +1 -1
  1241. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js.map +1 -1
  1242. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.d.ts.map +1 -1
  1243. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +1 -1
  1244. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js.map +1 -1
  1245. package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js.map +1 -1
  1246. package/dist/features/entity/metadata-task/utils/constants.d.ts +11 -3
  1247. package/dist/features/entity/metadata-task/utils/constants.d.ts.map +1 -1
  1248. package/dist/features/entity/metadata-task/utils/constants.js +2 -2
  1249. package/dist/features/entity/metadata-task/utils/constants.js.map +1 -1
  1250. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.js.map +1 -1
  1251. package/dist/features/entity/metadata-task/utils/getGridSourceIdForTask.js.map +1 -1
  1252. package/dist/features/entity/metadata-task/utils/getLatestGridSessionForSource.js.map +1 -1
  1253. package/dist/features/entity/metadata-task/utils/taskHasAssignee.js.map +1 -1
  1254. package/dist/features/team/invitation/components/OpenInvitationsToUserCard.js.map +1 -1
  1255. package/dist/index.js +54 -53
  1256. package/dist/index.js.map +1 -1
  1257. package/dist/mocks/MockAccessApprovals.js.map +1 -1
  1258. package/dist/mocks/MockSynapseContext.js.map +1 -1
  1259. package/dist/mocks/accessRequirement/mockAccessRequirementAcls.js.map +1 -1
  1260. package/dist/mocks/accessRequirement/mockAccessRequirements.js.map +1 -1
  1261. package/dist/mocks/applicationSessionContext/MockApplicationSessionContext.js.map +1 -1
  1262. package/dist/mocks/challenge/mockChallenge.js.map +1 -1
  1263. package/dist/mocks/chat/mockChat.js.map +1 -1
  1264. package/dist/mocks/curation/mockCurationTask.js.map +1 -1
  1265. package/dist/mocks/dataaccess/MockDataAccessRequest.js.map +1 -1
  1266. package/dist/mocks/dataaccess/MockResearchProject.js.map +1 -1
  1267. package/dist/mocks/dataaccess/MockSubmission.js.map +1 -1
  1268. package/dist/mocks/dataaccess/mockAccessRequest.js.map +1 -1
  1269. package/dist/mocks/discussion/mock_discussion.js.map +1 -1
  1270. package/dist/mocks/doi/MockDoi.js.map +1 -1
  1271. package/dist/mocks/entity/index.js.map +1 -1
  1272. package/dist/mocks/entity/mockDataset.js.map +1 -1
  1273. package/dist/mocks/entity/mockDatasetCollection.js.map +1 -1
  1274. package/dist/mocks/entity/mockEntity.js.map +1 -1
  1275. package/dist/mocks/entity/mockEvaluationQueue.js.map +1 -1
  1276. package/dist/mocks/entity/mockFileEntity.js.map +1 -1
  1277. package/dist/mocks/entity/mockFileEntityACLVariants.js.map +1 -1
  1278. package/dist/mocks/entity/mockFileView.js.map +1 -1
  1279. package/dist/mocks/entity/mockGeneratedEntityData.js.map +1 -1
  1280. package/dist/mocks/entity/mockProject.js.map +1 -1
  1281. package/dist/mocks/entity/mockProjectView.js.map +1 -1
  1282. package/dist/mocks/entity/mockReleaseCardsTable.js.map +1 -1
  1283. package/dist/mocks/entity/mockRootEntity.js.map +1 -1
  1284. package/dist/mocks/entity/mockTableEntity.js.map +1 -1
  1285. package/dist/mocks/faker/fakerUtils.js.map +1 -1
  1286. package/dist/mocks/faker/generateDiscussion.js.map +1 -1
  1287. package/dist/mocks/faker/generateEvaluation.js.map +1 -1
  1288. package/dist/mocks/faker/generateFakeEntity.js.map +1 -1
  1289. package/dist/mocks/faker/generateSubscription.js.map +1 -1
  1290. package/dist/mocks/mockAnnotationColumns.js.map +1 -1
  1291. package/dist/mocks/mockCertificationQuiz.js.map +1 -1
  1292. package/dist/mocks/mockDataCatalogQuery.js.map +1 -1
  1293. package/dist/mocks/mockFileViewQuery.js.map +1 -1
  1294. package/dist/mocks/mockOAuthClientAcls.js.map +1 -1
  1295. package/dist/mocks/mockQueryResponseData.js.map +1 -1
  1296. package/dist/mocks/mockQueryResponseDataWithManyEnumFacets.js.map +1 -1
  1297. package/dist/mocks/mockSchema.js.map +1 -1
  1298. package/dist/mocks/mockSearchQueryData.js.map +1 -1
  1299. package/dist/mocks/mockShortIo.js.map +1 -1
  1300. package/dist/mocks/mockSourceAppConfigQuery.js.map +1 -1
  1301. package/dist/mocks/mockSubscription.js.map +1 -1
  1302. package/dist/mocks/mockWiki.js.map +1 -1
  1303. package/dist/mocks/mockWikiPageKey.js.map +1 -1
  1304. package/dist/mocks/mock_drug_tool_data.js.map +1 -1
  1305. package/dist/mocks/mock_file_handle.js.map +1 -1
  1306. package/dist/mocks/mock_file_statistics.js.map +1 -1
  1307. package/dist/mocks/mock_has_access_data.js.map +1 -1
  1308. package/dist/mocks/mock_upload_destination.js.map +1 -1
  1309. package/dist/mocks/msw/handlers/accessRequirementAclHandlers.js.map +1 -1
  1310. package/dist/mocks/msw/handlers/accessRequirementHandlers.js.map +1 -1
  1311. package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
  1312. package/dist/mocks/msw/handlers/authHandlers.js.map +1 -1
  1313. package/dist/mocks/msw/handlers/challengeHandlers.js.map +1 -1
  1314. package/dist/mocks/msw/handlers/changePasswordHandlers.js.map +1 -1
  1315. package/dist/mocks/msw/handlers/chatHandlers.js.map +1 -1
  1316. package/dist/mocks/msw/handlers/dataAccessRequestHandlers.js.map +1 -1
  1317. package/dist/mocks/msw/handlers/dataciteHandlers.js.map +1 -1
  1318. package/dist/mocks/msw/handlers/discussionHandlers.js.map +1 -1
  1319. package/dist/mocks/msw/handlers/doiHandlers.js.map +1 -1
  1320. package/dist/mocks/msw/handlers/entityHandlers.js.map +1 -1
  1321. package/dist/mocks/msw/handlers/evaluationHandlers.js.map +1 -1
  1322. package/dist/mocks/msw/handlers/featureFlagHandlers.js.map +1 -1
  1323. package/dist/mocks/msw/handlers/fileHandlers.js.map +1 -1
  1324. package/dist/mocks/msw/handlers/gridHandlers.js.map +1 -1
  1325. package/dist/mocks/msw/handlers/messageHandlers.js.map +1 -1
  1326. package/dist/mocks/msw/handlers/oauthClientAclHandlers.js.map +1 -1
  1327. package/dist/mocks/msw/handlers/personalAccessTokenHandlers.js.map +1 -1
  1328. package/dist/mocks/msw/handlers/projectStorageHandlers.js.map +1 -1
  1329. package/dist/mocks/msw/handlers/realmHandlers.js.map +1 -1
  1330. package/dist/mocks/msw/handlers/researchProjectHandlers.js.map +1 -1
  1331. package/dist/mocks/msw/handlers/resetTwoFactorAuthHandlers.js.map +1 -1
  1332. package/dist/mocks/msw/handlers/schemaHandlers.js.map +1 -1
  1333. package/dist/mocks/msw/handlers/searchQueryHandlers.js.map +1 -1
  1334. package/dist/mocks/msw/handlers/shortIoHandlers.js.map +1 -1
  1335. package/dist/mocks/msw/handlers/subscriptionHandlers.js.map +1 -1
  1336. package/dist/mocks/msw/handlers/tableQueryHandlers.js.map +1 -1
  1337. package/dist/mocks/msw/handlers/tableQueryService.js.map +1 -1
  1338. package/dist/mocks/msw/handlers/teamHandlers.js.map +1 -1
  1339. package/dist/mocks/msw/handlers/termsOfServiceHandlers.js.map +1 -1
  1340. package/dist/mocks/msw/handlers/userProfileHandlers.js.map +1 -1
  1341. package/dist/mocks/msw/handlers/webhookHandlers.js.map +1 -1
  1342. package/dist/mocks/msw/handlers/wikiHandlers.js.map +1 -1
  1343. package/dist/mocks/msw/handlers.js.map +1 -1
  1344. package/dist/mocks/msw/server.d.ts +1 -1
  1345. package/dist/mocks/msw/server.d.ts.map +1 -1
  1346. package/dist/mocks/msw/server.js.map +1 -1
  1347. package/dist/mocks/msw/util/BasicMockedCrudService.js.map +1 -1
  1348. package/dist/mocks/oauth/MockClient.js.map +1 -1
  1349. package/dist/mocks/personalAccessToken/mockPersonalAccessToken.js.map +1 -1
  1350. package/dist/mocks/projectStorage/mockProjectStorageLimits.js.map +1 -1
  1351. package/dist/mocks/provenance/mockActivity.js.map +1 -1
  1352. package/dist/mocks/query/defaultFileViewColumnModels.js.map +1 -1
  1353. package/dist/mocks/query/mockFeaturedDataTabsQueryData.js.map +1 -1
  1354. package/dist/mocks/query/mockHomepageQueryResultData.js.map +1 -1
  1355. package/dist/mocks/query/mockProjectViewQueryResults.js.map +1 -1
  1356. package/dist/mocks/query/mockRejectionReasonsTableQueryResultBundle.js.map +1 -1
  1357. package/dist/mocks/query/mockReleaseCardsTableQueryResultBundle.js.map +1 -1
  1358. package/dist/mocks/query/mockUserCardTableQueryResultBundle.js.map +1 -1
  1359. package/dist/mocks/query/mock_query_data.js.map +1 -1
  1360. package/dist/mocks/query/syn16787123.js.map +1 -1
  1361. package/dist/mocks/query/syn17328596.js.map +1 -1
  1362. package/dist/mocks/query/syn51735464.js.map +1 -1
  1363. package/dist/mocks/query/syn51735464GroupBySpecies.js.map +1 -1
  1364. package/dist/mocks/realm/mockRealmPrincipal.js.map +1 -1
  1365. package/dist/mocks/team/mockTeam.js.map +1 -1
  1366. package/dist/mocks/termsOfService/mockTermsOfService.js.map +1 -1
  1367. package/dist/mocks/user/mock_user_profile.js.map +1 -1
  1368. package/dist/mocks/usergroup/mockUserGroup.js.map +1 -1
  1369. package/dist/ror-client/index.js.map +1 -1
  1370. package/dist/stories/ColorPaletteInspector.js.map +1 -1
  1371. package/dist/stories/ToastDemo.js.map +1 -1
  1372. package/dist/stories/stubs/Alert/MuiAlert.js.map +1 -1
  1373. package/dist/stories/stubs/Button/MuiButton.js.map +1 -1
  1374. package/dist/stories/stubs/Dialog/MuiDialog.js.map +1 -1
  1375. package/dist/stories/stubs/TextField/MuiTextField.js.map +1 -1
  1376. package/dist/stories/stubs/Tooltip/MuiTooltip.js.map +1 -1
  1377. package/dist/synapse-client/HttpClient.js.map +1 -1
  1378. package/dist/synapse-client/SynapseClient.d.ts.map +1 -1
  1379. package/dist/synapse-client/SynapseClient.js +61 -69
  1380. package/dist/synapse-client/SynapseClient.js.map +1 -1
  1381. package/dist/synapse-client/SynapseClientUtils.js.map +1 -1
  1382. package/dist/synapse-queries/InfiniteQueryUtils.js.map +1 -1
  1383. package/dist/synapse-queries/KeyFactory.js.map +1 -1
  1384. package/dist/synapse-queries/QueryFilterUtils.js.map +1 -1
  1385. package/dist/synapse-queries/QueryMatching.test-utils.js.map +1 -1
  1386. package/dist/synapse-queries/asynchronous/usePollAsynchronousJob.js.map +1 -1
  1387. package/dist/synapse-queries/auth/useChangePassword.js.map +1 -1
  1388. package/dist/synapse-queries/auth/useOIDC.js.map +1 -1
  1389. package/dist/synapse-queries/auth/useResetPassword.js.map +1 -1
  1390. package/dist/synapse-queries/auth/useTwoFactorEnrollment.js.map +1 -1
  1391. package/dist/synapse-queries/challenge/useChallenge.js.map +1 -1
  1392. package/dist/synapse-queries/chat/useChat.js.map +1 -1
  1393. package/dist/synapse-queries/croissant/useGetCroissantUrl.js.map +1 -1
  1394. package/dist/synapse-queries/curation/task/useCurationTask.d.ts +1 -0
  1395. package/dist/synapse-queries/curation/task/useCurationTask.d.ts.map +1 -1
  1396. package/dist/synapse-queries/curation/task/useCurationTask.js +12 -2
  1397. package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
  1398. package/dist/synapse-queries/dataaccess/useAccessApprovals.js.map +1 -1
  1399. package/dist/synapse-queries/dataaccess/useAccessRequirements.js.map +1 -1
  1400. package/dist/synapse-queries/dataaccess/useDataAccessSubmission.js.map +1 -1
  1401. package/dist/synapse-queries/dataaccess/useGetApprovedSubmissionInfo.js.map +1 -1
  1402. package/dist/synapse-queries/dataaccess/useRestrictionInformation.js.map +1 -1
  1403. package/dist/synapse-queries/docker/useGetDockerTag.js.map +1 -1
  1404. package/dist/synapse-queries/doi/useDOI.js.map +1 -1
  1405. package/dist/synapse-queries/download/useDownloadList.js.map +1 -1
  1406. package/dist/synapse-queries/entity/useActionsRequiredForTableQuery.js.map +1 -1
  1407. package/dist/synapse-queries/entity/useEntity.js.map +1 -1
  1408. package/dist/synapse-queries/entity/useEntityBoundSchema.js.map +1 -1
  1409. package/dist/synapse-queries/entity/useEntityBundle.js.map +1 -1
  1410. package/dist/synapse-queries/entity/useExportTableQueryToAnalysisPlatform.js.map +1 -1
  1411. package/dist/synapse-queries/entity/useExportToADWorkbench.js.map +1 -1
  1412. package/dist/synapse-queries/entity/useExportToCavatica.js.map +1 -1
  1413. package/dist/synapse-queries/entity/useExportToPluto.js.map +1 -1
  1414. package/dist/synapse-queries/entity/useExportToTerra.js.map +1 -1
  1415. package/dist/synapse-queries/entity/useGetEntityActionsRequired.js.map +1 -1
  1416. package/dist/synapse-queries/entity/useGetEntityChallenge.js.map +1 -1
  1417. package/dist/synapse-queries/entity/useGetEntityChildren.js.map +1 -1
  1418. package/dist/synapse-queries/entity/useGetEntityForum.js.map +1 -1
  1419. package/dist/synapse-queries/entity/useGetEntityHeaders.js.map +1 -1
  1420. package/dist/synapse-queries/entity/useGetQueryResultBundle.js.map +1 -1
  1421. package/dist/synapse-queries/entity/useProjectStorage.js.map +1 -1
  1422. package/dist/synapse-queries/entity/useSchema.js.map +1 -1
  1423. package/dist/synapse-queries/evaluation/useEvaluation.js.map +1 -1
  1424. package/dist/synapse-queries/featureflags/useGetFeatureFlag.js.map +1 -1
  1425. package/dist/synapse-queries/file/UploadToS3.js.map +1 -1
  1426. package/dist/synapse-queries/file/useDirectUploadToS3.js.map +1 -1
  1427. package/dist/synapse-queries/file/useFileHandle.js.map +1 -1
  1428. package/dist/synapse-queries/file/useFiles.js.map +1 -1
  1429. package/dist/synapse-queries/file/useSynapseMultipartUpload.js.map +1 -1
  1430. package/dist/synapse-queries/file/useUploadDestination.js.map +1 -1
  1431. package/dist/synapse-queries/forum/useForum.js.map +1 -1
  1432. package/dist/synapse-queries/forum/useReply.js.map +1 -1
  1433. package/dist/synapse-queries/forum/useThread.js.map +1 -1
  1434. package/dist/synapse-queries/github/useGithub.js.map +1 -1
  1435. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
  1436. package/dist/synapse-queries/grid/useExportGrid.js.map +1 -1
  1437. package/dist/synapse-queries/grid/useGridPresignedUrl.js.map +1 -1
  1438. package/dist/synapse-queries/grid/useGridSession.js.map +1 -1
  1439. package/dist/synapse-queries/grid/useImportCsvIntoGrid.js.map +1 -1
  1440. package/dist/synapse-queries/message/useMessage.js.map +1 -1
  1441. package/dist/synapse-queries/oauth/useOAuthClient.js.map +1 -1
  1442. package/dist/synapse-queries/portal/useListPortals.js.map +1 -1
  1443. package/dist/synapse-queries/portal/usePortal.js.map +1 -1
  1444. package/dist/synapse-queries/provenance/useGetActivityForEntity.js.map +1 -1
  1445. package/dist/synapse-queries/realm/useRealmPrincipals.js.map +1 -1
  1446. package/dist/synapse-queries/ror/index.js.map +1 -1
  1447. package/dist/synapse-queries/search/useSearch.js.map +1 -1
  1448. package/dist/synapse-queries/search/useSuggestion.js.map +1 -1
  1449. package/dist/synapse-queries/subscription/useSubscription.js.map +1 -1
  1450. package/dist/synapse-queries/table/useColumnModel.js.map +1 -1
  1451. package/dist/synapse-queries/table/useDefiningSql.js.map +1 -1
  1452. package/dist/synapse-queries/table/useDownloadTable.js.map +1 -1
  1453. package/dist/synapse-queries/table/useGetCsvPreview.js.map +1 -1
  1454. package/dist/synapse-queries/table/useTableUpdateTransaction.js.map +1 -1
  1455. package/dist/synapse-queries/team/useTeam.js.map +1 -1
  1456. package/dist/synapse-queries/team/useTeamList.js.map +1 -1
  1457. package/dist/synapse-queries/team/useTeamMembers.js.map +1 -1
  1458. package/dist/synapse-queries/termsOfService/useTermsOfService.js.map +1 -1
  1459. package/dist/synapse-queries/trash/useTrashCan.js.map +1 -1
  1460. package/dist/synapse-queries/user/useCertificationQuiz.js.map +1 -1
  1461. package/dist/synapse-queries/user/useFavorites.js.map +1 -1
  1462. package/dist/synapse-queries/user/useGetUserChallenges.js.map +1 -1
  1463. package/dist/synapse-queries/user/useGetUserProjects.js.map +1 -1
  1464. package/dist/synapse-queries/user/useGetUserTeams.js.map +1 -1
  1465. package/dist/synapse-queries/user/usePersonalAccessToken.js.map +1 -1
  1466. package/dist/synapse-queries/user/useProjects.js.map +1 -1
  1467. package/dist/synapse-queries/user/useRevokeCertification.js.map +1 -1
  1468. package/dist/synapse-queries/user/useUserBundle.js.map +1 -1
  1469. package/dist/synapse-queries/user/useUserGroupHeader.js.map +1 -1
  1470. package/dist/synapse-queries/verificationSubmission/useVerificationSubmission.js.map +1 -1
  1471. package/dist/synapse-queries/webhook/useWebhook.js.map +1 -1
  1472. package/dist/synapse-queries/wiki/useWiki.js.map +1 -1
  1473. package/dist/testutils/ComponentToBePassedPropsCustomMatcher.js.map +1 -1
  1474. package/dist/testutils/IsEditingStoreTestUtils.js +17 -0
  1475. package/dist/testutils/IsEditingStoreTestUtils.js.map +1 -0
  1476. package/dist/testutils/LocationTracker.js.map +1 -1
  1477. package/dist/testutils/MarkdownSynapseUtils.js.map +1 -1
  1478. package/dist/testutils/ReactQueryMockUtils.js.map +1 -1
  1479. package/dist/testutils/TestingLibraryUtils.js +18 -16
  1480. package/dist/testutils/TestingLibraryUtils.js.map +1 -1
  1481. package/dist/testutils/muiDatePickerMock.js.map +1 -1
  1482. package/dist/testutils/vitest.setup.js.map +1 -1
  1483. package/dist/theme/DefaultTheme.js.map +1 -1
  1484. package/dist/theme/ThemeProvider.js.map +1 -1
  1485. package/dist/theme/mergeTheme.js.map +1 -1
  1486. package/dist/theme/palette/Palettes.js.map +1 -1
  1487. package/dist/theme/spreadSx.js.map +1 -1
  1488. package/dist/theme/typography/Link.js.map +1 -1
  1489. package/dist/theme/typography/Typography.js.map +1 -1
  1490. package/dist/tsconfig.build.tsbuildinfo +1 -1
  1491. package/dist/utils/APIConstants.js.map +1 -1
  1492. package/dist/utils/AppUtils/AppUtils.d.ts.map +1 -1
  1493. package/dist/utils/AppUtils/AppUtils.js +11 -11
  1494. package/dist/utils/AppUtils/AppUtils.js.map +1 -1
  1495. package/dist/utils/AppUtils/session/ApplicationSessionContext.js.map +1 -1
  1496. package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
  1497. package/dist/utils/AppUtils/session/AuthenticationGuard.js.map +1 -1
  1498. package/dist/utils/AppUtils/session/SessionInitializedGuard.js.map +1 -1
  1499. package/dist/utils/AppUtils/session/SynapseSessionManager.js.map +1 -1
  1500. package/dist/utils/AppUtils/session/useSessionManager.js.map +1 -1
  1501. package/dist/utils/ContentTypeUtils.js.map +1 -1
  1502. package/dist/utils/OrientationBannerConstants.js.map +1 -1
  1503. package/dist/utils/PermissionLevelToAccessType.js.map +1 -1
  1504. package/dist/utils/SynapseConstants.js.map +1 -1
  1505. package/dist/utils/analytics/sendAnalyticsEvent.js.map +1 -1
  1506. package/dist/utils/analytics/sendSearchEvent.js.map +1 -1
  1507. package/dist/utils/analytics/useGoogleAnalytics.js.map +1 -1
  1508. package/dist/utils/appendFinalQueryParamKey.js.map +1 -1
  1509. package/dist/utils/challenge/evaluation/EvaluationUtils.js.map +1 -1
  1510. package/dist/utils/context/AridhiaContext.js.map +1 -1
  1511. package/dist/utils/context/DocumentMetadataContext.js.map +1 -1
  1512. package/dist/utils/context/FullContextProvider.js.map +1 -1
  1513. package/dist/utils/context/GlobalIsEditingContext.js.map +1 -1
  1514. package/dist/utils/context/SynapseContext.js.map +1 -1
  1515. package/dist/utils/featureflag/FeatureFlags.d.ts +2 -1
  1516. package/dist/utils/featureflag/FeatureFlags.d.ts.map +1 -1
  1517. package/dist/utils/featureflag/FeatureFlags.js +1 -1
  1518. package/dist/utils/featureflag/FeatureFlags.js.map +1 -1
  1519. package/dist/utils/functions/AccessControlListUtils.js.map +1 -1
  1520. package/dist/utils/functions/ArrayUtils.js.map +1 -1
  1521. package/dist/utils/functions/DateFormatter.js.map +1 -1
  1522. package/dist/utils/functions/DateTimeUtils.js.map +1 -1
  1523. package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
  1524. package/dist/utils/functions/FileHandleUtils.js.map +1 -1
  1525. package/dist/utils/functions/GridApiUtils.js.map +1 -1
  1526. package/dist/utils/functions/IsEqualTreatUndefinedAsMissing.js.map +1 -1
  1527. package/dist/utils/functions/IsExternalLink.js.map +1 -1
  1528. package/dist/utils/functions/ObjectUtils.js.map +1 -1
  1529. package/dist/utils/functions/QueryFilterUtils.js.map +1 -1
  1530. package/dist/utils/functions/RealmUtils.js.map +1 -1
  1531. package/dist/utils/functions/RegularExpressions.js.map +1 -1
  1532. package/dist/utils/functions/ResolveLinkEntity.js.map +1 -1
  1533. package/dist/utils/functions/SanitizeHtmlUtils.js.map +1 -1
  1534. package/dist/utils/functions/SanitizeHtmlUtils.test-utils.js.map +1 -1
  1535. package/dist/utils/functions/SqlFunctions.js.map +1 -1
  1536. package/dist/utils/functions/StringUtils.js.map +1 -1
  1537. package/dist/utils/functions/TableColumnSchemaUtils.js.map +1 -1
  1538. package/dist/utils/functions/calculateFriendlyFileSize.js.map +1 -1
  1539. package/dist/utils/functions/colorPalette.js.map +1 -1
  1540. package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
  1541. package/dist/utils/functions/dispatchDownloadListChangeEvent.js.map +1 -1
  1542. package/dist/utils/functions/generateCsrfToken.js.map +1 -1
  1543. package/dist/utils/functions/getDataFromFromStorage.js.map +1 -1
  1544. package/dist/utils/functions/getEndpoint.js +3 -3
  1545. package/dist/utils/functions/getEndpoint.js.map +1 -1
  1546. package/dist/utils/functions/getPrincipalDisplayName.js.map +1 -1
  1547. package/dist/utils/functions/getSynapseEntityUrl.js.map +1 -1
  1548. package/dist/utils/functions/getSynapseWebClientLink.js.map +1 -1
  1549. package/dist/utils/functions/getUserData.js.map +1 -1
  1550. package/dist/utils/functions/queryUtils.js.map +1 -1
  1551. package/dist/utils/functions/testDownloadSpeed.js.map +1 -1
  1552. package/dist/utils/functions/unCamelCase.js.map +1 -1
  1553. package/dist/utils/hooks/useConfirmItems.js.map +1 -1
  1554. package/dist/utils/hooks/useCookiePreferences.d.ts.map +1 -1
  1555. package/dist/utils/hooks/useCookiePreferences.js +24 -23
  1556. package/dist/utils/hooks/useCookiePreferences.js.map +1 -1
  1557. package/dist/utils/hooks/useCreateShortUrl.js.map +1 -1
  1558. package/dist/utils/hooks/useDebouncedEffect.js.map +1 -1
  1559. package/dist/utils/hooks/useDetectSSOCode.js.map +1 -1
  1560. package/dist/utils/hooks/useDirectDownloadHandler.js.map +1 -1
  1561. package/dist/utils/hooks/useGetEntityMetadata.js.map +1 -1
  1562. package/dist/utils/hooks/useGetGoalData.js +2 -4
  1563. package/dist/utils/hooks/useGetGoalData.js.map +1 -1
  1564. package/dist/utils/hooks/useGetInfoFromIds.js.map +1 -1
  1565. package/dist/utils/hooks/useGetIsAllSelectedInfiniteList.js.map +1 -1
  1566. package/dist/utils/hooks/useImageUrlUtils.js.map +1 -1
  1567. package/dist/utils/hooks/useImmutableTableQuery/TableQueryReducerActions.js.map +1 -1
  1568. package/dist/utils/hooks/useImmutableTableQuery/useImmutableTableQuery.js.map +1 -1
  1569. package/dist/utils/hooks/useImmutableTableQuery/useTableQueryReducer.js.map +1 -1
  1570. package/dist/utils/hooks/useIsBot.js.map +1 -1
  1571. package/dist/utils/hooks/useJsonLdScriptElement.js.map +1 -1
  1572. package/dist/utils/hooks/useListState.js.map +1 -1
  1573. package/dist/utils/hooks/useLogin.js.map +1 -1
  1574. package/dist/utils/hooks/useMediaPrintOnly.js.map +1 -1
  1575. package/dist/utils/hooks/useMutuallyExclusiveState.js.map +1 -1
  1576. package/dist/utils/hooks/useNativeSearchParams.js.map +1 -1
  1577. package/dist/utils/hooks/useOneSageURL.js.map +1 -1
  1578. package/dist/utils/hooks/useOverlay.js.map +1 -1
  1579. package/dist/utils/hooks/usePreFetchResource.js.map +1 -1
  1580. package/dist/utils/hooks/useQuerySearchParam.js.map +1 -1
  1581. package/dist/utils/hooks/useScrollFadeTransition.js.map +1 -1
  1582. package/dist/utils/hooks/useSet.js.map +1 -1
  1583. package/dist/utils/hooks/useShowDesktop.js.map +1 -1
  1584. package/dist/utils/hooks/useSourceAppConfigs.js.map +1 -1
  1585. package/dist/utils/hooks/useTableImageUrl.js.map +1 -1
  1586. package/dist/utils/hooks/useTraceUpdate.js.map +1 -1
  1587. package/dist/utils/hooks/useTrackTransientListItems.js.map +1 -1
  1588. package/dist/utils/hooks/useUploadFileEntity/getActiveUploadCount.js.map +1 -1
  1589. package/dist/utils/hooks/useUploadFileEntity/getFileEntityIdWithSameName.js.map +1 -1
  1590. package/dist/utils/hooks/useUploadFileEntity/useCreateFolderPath.js.map +1 -1
  1591. package/dist/utils/hooks/useUploadFileEntity/useCreatePathsAndGetParentId.js.map +1 -1
  1592. package/dist/utils/hooks/useUploadFileEntity/useLinkFileEntityToURL.js.map +1 -1
  1593. package/dist/utils/hooks/useUploadFileEntity/usePrepareFileEntityUpload.js.map +1 -1
  1594. package/dist/utils/hooks/useUploadFileEntity/useTrackFileUploads.js.map +1 -1
  1595. package/dist/utils/hooks/useUploadFileEntity/useUploadFileEntities.js.map +1 -1
  1596. package/dist/utils/hooks/useUploadFileEntity/useUploadFiles.js.map +1 -1
  1597. package/dist/utils/hooks/useUploadFileEntity/willUploadsExceedStorageLimit.js.map +1 -1
  1598. package/dist/utils/html/TargetEnum.js.map +1 -1
  1599. package/dist/utils/jsonschema/SchemaAnnotationUtils.js.map +1 -1
  1600. package/dist/utils/jsonschema/getEnumeratedValues.js.map +1 -1
  1601. package/dist/utils/jsonschema/getOnlyNonNullOneOfOption.js.map +1 -1
  1602. package/dist/utils/jsonschema/getRequiredAttributes.js.map +1 -1
  1603. package/dist/utils/jsonschema/getSchemaForProperty.js.map +1 -1
  1604. package/dist/utils/jsonschema/getSchemaPropertyInfo.js.map +1 -1
  1605. package/dist/utils/jsonschema/getType.js.map +1 -1
  1606. package/dist/utils/searchDefaults.js.map +1 -1
  1607. package/dist/utils/slots/SlotUtils.js.map +1 -1
  1608. package/dist/utils/types/IsType.js.map +1 -1
  1609. package/package.json +67 -66
@@ -1 +1 @@
1
- {"version":3,"file":"QueryWrapper.js","names":[],"sources":["../../../src/components/QueryWrapper/QueryWrapper.tsx"],"sourcesContent":["import { LockedColumn } from '@/utils/types/LockedColumn'\nimport { hasResettableFilters as hasResettableFiltersUtil } from '@/utils/functions/queryUtils'\nimport useImmutableTableQuery from '@/utils/hooks/useImmutableTableQuery/useImmutableTableQuery'\nimport {\n QueryBundleRequest,\n QueryResultBundle,\n} from '@sage-bionetworks/synapse-types'\nimport { Provider, useSetAtom } from 'jotai'\nimport noop from 'lodash-es/noop'\nimport { PropsWithChildren, useCallback, useEffect, useMemo } from 'react'\nimport { useDeepCompareMemoize } from 'use-deep-compare-effect'\nimport { ConfirmationDialog } from '../ConfirmationDialog'\nimport {\n CombineRangeFacetConfig,\n QueryContextProvider,\n QueryContextType,\n} from '../QueryContext/QueryContext'\nimport { useTableQueryUseQueryOptions } from './TableQueryUseQueryOptions'\nimport {\n isRowSelectionUIFloatingAtom,\n isRowSelectionVisibleAtom,\n rowSelectionPrimaryKeyAtom,\n selectedRowsAtom,\n useHasSelectedRowsAtomValue,\n} from './TableRowSelectionState'\nimport useComputeRowSelectionPrimaryKey from './useComputeRowSelectionPrimaryKey'\nimport useHasFacetedSelectColumn from './useHasFacetedSelectColumn'\nimport useOnQueryDataChange from './useOnQueryDataChange'\nimport { SessionInitializedGuard } from '@/utils/AppUtils/session/SessionInitializedGuard'\n\nexport type QueryWrapperProps = PropsWithChildren<{\n initQueryRequest: QueryBundleRequest\n componentIndex?: number //used for deep linking\n shouldDeepLink?: boolean\n onQueryChange?: (newQueryJson: string) => void\n /** Called when the query result rows change */\n onQueryResultBundleChange?: (newQueryResultBundleJson: string) => void\n lockedColumn?: LockedColumn\n onViewSharingSettingsClicked?: (benefactorId: string) => void\n isRowSelectionVisible?: boolean\n /** The set of columns that defines a uniqueness constraint on the table for the purposes of filtering based on row selection.\n * Note that Synapse tables have no internal concept of a primary key.\n */\n rowSelectionPrimaryKey?: string[]\n /** By default, the row selection UI will float at the bottom of the viewport. Set to false to make it inline */\n isRowSelectionUIFloating?: boolean\n isInfinite?: boolean\n combineRangeFacetConfig?: CombineRangeFacetConfig\n /** If provided, will use the value in this column instead of the rowID for the access column, download column, etc */\n fileIdColumnName?: string\n fileNameColumnName?: string\n /** If provided, will use the value in this column instead of the row version number for the access column, download column, etc */\n fileVersionColumnName?: string\n}>\n\n/**\n * Component that manages the state of a Synapse table query. Data can be accessed via QueryContext using\n * either `useQueryContext` or `QueryContextConsumer`.\n */\nfunction QueryWrapperInternal(props: QueryWrapperProps) {\n return (\n <SessionInitializedGuard>\n <QueryWrapperInternalWithSession {...props} />\n </SessionInitializedGuard>\n )\n}\n\n/**\n * Internal component that renders after session is initialized\n */\nfunction QueryWrapperInternalWithSession(props: QueryWrapperProps) {\n const {\n initQueryRequest,\n onQueryChange,\n onQueryResultBundleChange = noop,\n lockedColumn,\n componentIndex,\n shouldDeepLink,\n onViewSharingSettingsClicked,\n isRowSelectionVisible: isRowSelectionVisibleFromProps = false,\n isRowSelectionUIFloating: isRowSelectionUIFloatingFromProps = true,\n rowSelectionPrimaryKey: rowSelectionPrimaryKeyFromProps,\n isInfinite = false,\n combineRangeFacetConfig,\n fileIdColumnName,\n fileVersionColumnName,\n fileNameColumnName,\n } = props\n\n const hasSelectedRows = useHasSelectedRowsAtomValue()\n\n const immutableTableQueryResult = useImmutableTableQuery({\n initQueryRequest,\n shouldDeepLink,\n componentIndex,\n onQueryChange,\n requireConfirmationOnChange: hasSelectedRows,\n })\n const {\n entityId = '',\n versionNumber,\n getInitQueryRequest,\n getCurrentQueryRequest,\n setQuery,\n resetQuery,\n removeSelectedFacet,\n removeValueFromSelectedFacet,\n removeQueryFilter,\n removeValueFromQueryFilter,\n onConfirmChange,\n isConfirmingChange,\n onCancelChange,\n nextQueryRequest,\n currentQueryRequest,\n addValueToSelectedFacet,\n setRangeFacetValue,\n resetDebounceTimer,\n currentPage,\n goToPage,\n pageSize,\n setPageSize,\n } = immutableTableQueryResult\n\n const lastQueryRequest = useMemo(() => {\n return getCurrentQueryRequest()\n }, [getCurrentQueryRequest])\n\n const {\n rowDataQueryOptions,\n rowDataInfiniteQueryOptions,\n queryMetadataQueryOptions,\n } = useTableQueryUseQueryOptions(lastQueryRequest, lockedColumn)\n\n const hasFacetedSelectColumn = useHasFacetedSelectColumn(\n queryMetadataQueryOptions,\n )\n\n const hasResettableFilters = useMemo(() => {\n const request = getCurrentQueryRequest()\n return hasResettableFiltersUtil(request.query, lockedColumn)\n }, [getCurrentQueryRequest, lockedColumn])\n\n const setIsRowSelectionVisible = useSetAtom(isRowSelectionVisibleAtom)\n useEffect(() => {\n setIsRowSelectionVisible(isRowSelectionVisibleFromProps)\n }, [isRowSelectionVisibleFromProps, setIsRowSelectionVisible])\n\n const setIsRowSelectionUIFloating = useSetAtom(isRowSelectionUIFloatingAtom)\n useEffect(() => {\n setIsRowSelectionUIFloating(isRowSelectionUIFloatingFromProps)\n }, [isRowSelectionUIFloatingFromProps, setIsRowSelectionUIFloating])\n\n const rowSelectionPrimaryKey = useComputeRowSelectionPrimaryKey({\n entityId,\n versionNumber,\n rowSelectionPrimaryKeyFromProps,\n queryMetadataQueryOptions,\n })\n const setRowSelectionPrimaryKey = useSetAtom(rowSelectionPrimaryKeyAtom)\n useEffect(() => {\n setRowSelectionPrimaryKey(rowSelectionPrimaryKey)\n }, [rowSelectionPrimaryKey, setRowSelectionPrimaryKey])\n\n const setSelectedRows = useSetAtom(selectedRowsAtom)\n const onChangeCallback = useCallback(\n (data: QueryResultBundle) =>\n onQueryResultBundleChange(JSON.stringify(data)),\n [onQueryResultBundleChange],\n )\n // Track changes to the query row data and propagate to callback\n useOnQueryDataChange({\n queryBundleRequest: getCurrentQueryRequest(),\n onChange: onChangeCallback,\n })\n\n const context: QueryContextType = useDeepCompareMemoize({\n isInfinite,\n entityId,\n versionNumber,\n nextQueryRequest,\n currentQueryRequest,\n getCurrentQueryRequest: getCurrentQueryRequest,\n getInitQueryRequest,\n executeQueryRequest: setQuery,\n hasFacetedSelectColumn,\n hasResettableFilters,\n removeSelectedFacet,\n removeValueFromSelectedFacet,\n resetQuery,\n removeQueryFilter,\n removeValueFromQueryFilter,\n onViewSharingSettingsClicked,\n addValueToSelectedFacet,\n combineRangeFacetConfig,\n setRangeFacetValue,\n resetDebounceTimer,\n rowDataQueryOptions,\n rowDataInfiniteQueryOptions,\n queryMetadataQueryOptions,\n currentPage,\n goToPage,\n pageSize,\n setPageSize,\n lockedColumn,\n fileIdColumnName,\n fileVersionColumnName,\n fileNameColumnName,\n })\n\n /**\n * Render the children without any formatting\n */\n const { children } = props\n return (\n <QueryContextProvider queryContext={context}>\n <ConfirmationDialog\n open={isConfirmingChange}\n title={'Change Query and Clear Selection?'}\n content={\n 'Changing the current query will cause your current selection to be lost. Are you sure you want to proceed?'\n }\n confirmButtonProps={{\n children: 'Clear Selection and Update Query',\n }}\n onConfirm={() => {\n setSelectedRows([])\n onConfirmChange()\n }}\n onCancel={() => {\n onCancelChange()\n }}\n />\n {children}\n </QueryContextProvider>\n )\n}\n\nexport function QueryWrapper(props: QueryWrapperProps) {\n // Wrap in a Jotai provider to ensure the Jotai atomic state is unique to this component tree\n // i.e. other instances of QueryWrapper will not share state with this instance\n return (\n <Provider>\n <QueryWrapperInternal {...props} />\n </Provider>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AA2DA,SAAS,EAAqB,GAA0B;AACtD,QACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAiC,GAAI,GAAS,CAAA,EACtB,CAAA;;AAO9B,SAAS,EAAgC,GAA0B;CACjE,IAAM,EACJ,qBACA,kBACA,+BAA4B,GAC5B,iBACA,mBACA,mBACA,iCACA,uBAAuB,IAAiC,IACxD,0BAA0B,IAAoC,IAC9D,wBAAwB,GACxB,gBAAa,IACb,4BACA,qBACA,0BACA,0BACE,GAWE,EACJ,cAAW,IACX,kBACA,wBACA,2BACA,aACA,eACA,wBACA,iCACA,uBACA,+BACA,oBACA,uBACA,mBACA,qBACA,wBACA,4BACA,uBACA,uBACA,iBACA,cACA,cACA,oBA7BgC,GAAuB;EACvD;EACA;EACA;EACA;EACA,6BAPsB,GAOO;EAC9B,CAwBG,EAME,EACJ,yBACA,iCACA,iCACE,GARqB,QAChB,GAAwB,EAC9B,CAAC,EAAuB,CAMM,EAAkB,EAAa,EAE1D,KAAyB,EAC7B,EACD,EAEK,KAAuB,QAEpB,EADS,GACgB,CAAQ,OAAO,EAAa,EAC3D,CAAC,GAAwB,EAAa,CAAC,EAEpC,IAA2B,EAAW,EAA0B;AACtE,SAAgB;AACd,IAAyB,EAA+B;IACvD,CAAC,GAAgC,EAAyB,CAAC;CAE9D,IAAM,IAA8B,EAAW,EAA6B;AAC5E,SAAgB;AACd,IAA4B,EAAkC;IAC7D,CAAC,GAAmC,EAA4B,CAAC;CAEpE,IAAM,IAAyB,EAAiC;EAC9D;EACA;EACA;EACA;EACD,CAAC,EACI,IAA4B,EAAW,EAA2B;AACxE,SAAgB;AACd,IAA0B,EAAuB;IAChD,CAAC,GAAwB,EAA0B,CAAC;CAEvD,IAAM,KAAkB,EAAW,EAAiB,EAC9C,KAAmB,GACtB,MACC,EAA0B,KAAK,UAAU,EAAK,CAAC,EACjD,CAAC,EAA0B,CAC5B;AAED,GAAqB;EACnB,oBAAoB,GAAwB;EAC5C,UAAU;EACX,CAAC;CAEF,IAAM,KAA4B,GAAsB;EACtD;EACA;EACA;EACA;EACA;EACwB;EACxB;EACA,qBAAqB;EACrB;EACA,sBAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACD,CAAC,EAKI,EAAE,iBAAa;AACrB,QACE,mBAAC,IAAD;EAAsB,cAAc;YAApC,CACE,kBAAC,GAAD;GACE,MAAM;GACN,OAAO;GACP,SACE;GAEF,oBAAoB,EAClB,UAAU,oCACX;GACD,iBAAiB;AAEf,IADA,GAAgB,EAAE,CAAC,EACnB,GAAiB;;GAEnB,gBAAgB;AACd,OAAgB;;GAElB,CAAA,EACD,GACoB;;;AAI3B,SAAgB,EAAa,GAA0B;AAGrD,QACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAsB,GAAI,GAAS,CAAA,EAC1B,CAAA"}
1
+ {"version":3,"file":"QueryWrapper.js","names":[],"sources":["../../../src/components/QueryWrapper/QueryWrapper.tsx"],"sourcesContent":["import { LockedColumn } from '@/utils/types/LockedColumn'\nimport { hasResettableFilters as hasResettableFiltersUtil } from '@/utils/functions/queryUtils'\nimport useImmutableTableQuery from '@/utils/hooks/useImmutableTableQuery/useImmutableTableQuery'\nimport {\n QueryBundleRequest,\n QueryResultBundle,\n} from '@sage-bionetworks/synapse-types'\nimport { Provider, useSetAtom } from 'jotai'\nimport noop from 'lodash-es/noop'\nimport { PropsWithChildren, useCallback, useEffect, useMemo } from 'react'\nimport { useDeepCompareMemoize } from 'use-deep-compare-effect'\nimport { ConfirmationDialog } from '../ConfirmationDialog'\nimport {\n CombineRangeFacetConfig,\n QueryContextProvider,\n QueryContextType,\n} from '../QueryContext/QueryContext'\nimport { useTableQueryUseQueryOptions } from './TableQueryUseQueryOptions'\nimport {\n isRowSelectionUIFloatingAtom,\n isRowSelectionVisibleAtom,\n rowSelectionPrimaryKeyAtom,\n selectedRowsAtom,\n useHasSelectedRowsAtomValue,\n} from './TableRowSelectionState'\nimport useComputeRowSelectionPrimaryKey from './useComputeRowSelectionPrimaryKey'\nimport useHasFacetedSelectColumn from './useHasFacetedSelectColumn'\nimport useOnQueryDataChange from './useOnQueryDataChange'\nimport { SessionInitializedGuard } from '@/utils/AppUtils/session/SessionInitializedGuard'\n\nexport type QueryWrapperProps = PropsWithChildren<{\n initQueryRequest: QueryBundleRequest\n componentIndex?: number //used for deep linking\n shouldDeepLink?: boolean\n onQueryChange?: (newQueryJson: string) => void\n /** Called when the query result rows change */\n onQueryResultBundleChange?: (newQueryResultBundleJson: string) => void\n lockedColumn?: LockedColumn\n onViewSharingSettingsClicked?: (benefactorId: string) => void\n isRowSelectionVisible?: boolean\n /** The set of columns that defines a uniqueness constraint on the table for the purposes of filtering based on row selection.\n * Note that Synapse tables have no internal concept of a primary key.\n */\n rowSelectionPrimaryKey?: string[]\n /** By default, the row selection UI will float at the bottom of the viewport. Set to false to make it inline */\n isRowSelectionUIFloating?: boolean\n isInfinite?: boolean\n combineRangeFacetConfig?: CombineRangeFacetConfig\n /** If provided, will use the value in this column instead of the rowID for the access column, download column, etc */\n fileIdColumnName?: string\n fileNameColumnName?: string\n /** If provided, will use the value in this column instead of the row version number for the access column, download column, etc */\n fileVersionColumnName?: string\n}>\n\n/**\n * Component that manages the state of a Synapse table query. Data can be accessed via QueryContext using\n * either `useQueryContext` or `QueryContextConsumer`.\n */\nfunction QueryWrapperInternal(props: QueryWrapperProps) {\n return (\n <SessionInitializedGuard>\n <QueryWrapperInternalWithSession {...props} />\n </SessionInitializedGuard>\n )\n}\n\n/**\n * Internal component that renders after session is initialized\n */\nfunction QueryWrapperInternalWithSession(props: QueryWrapperProps) {\n const {\n initQueryRequest,\n onQueryChange,\n onQueryResultBundleChange = noop,\n lockedColumn,\n componentIndex,\n shouldDeepLink,\n onViewSharingSettingsClicked,\n isRowSelectionVisible: isRowSelectionVisibleFromProps = false,\n isRowSelectionUIFloating: isRowSelectionUIFloatingFromProps = true,\n rowSelectionPrimaryKey: rowSelectionPrimaryKeyFromProps,\n isInfinite = false,\n combineRangeFacetConfig,\n fileIdColumnName,\n fileVersionColumnName,\n fileNameColumnName,\n } = props\n\n const hasSelectedRows = useHasSelectedRowsAtomValue()\n\n const immutableTableQueryResult = useImmutableTableQuery({\n initQueryRequest,\n shouldDeepLink,\n componentIndex,\n onQueryChange,\n requireConfirmationOnChange: hasSelectedRows,\n })\n const {\n entityId = '',\n versionNumber,\n getInitQueryRequest,\n getCurrentQueryRequest,\n setQuery,\n resetQuery,\n removeSelectedFacet,\n removeValueFromSelectedFacet,\n removeQueryFilter,\n removeValueFromQueryFilter,\n onConfirmChange,\n isConfirmingChange,\n onCancelChange,\n nextQueryRequest,\n currentQueryRequest,\n addValueToSelectedFacet,\n setRangeFacetValue,\n resetDebounceTimer,\n currentPage,\n goToPage,\n pageSize,\n setPageSize,\n } = immutableTableQueryResult\n\n const lastQueryRequest = useMemo(() => {\n return getCurrentQueryRequest()\n }, [getCurrentQueryRequest])\n\n const {\n rowDataQueryOptions,\n rowDataInfiniteQueryOptions,\n queryMetadataQueryOptions,\n } = useTableQueryUseQueryOptions(lastQueryRequest, lockedColumn)\n\n const hasFacetedSelectColumn = useHasFacetedSelectColumn(\n queryMetadataQueryOptions,\n )\n\n const hasResettableFilters = useMemo(() => {\n const request = getCurrentQueryRequest()\n return hasResettableFiltersUtil(request.query, lockedColumn)\n }, [getCurrentQueryRequest, lockedColumn])\n\n const setIsRowSelectionVisible = useSetAtom(isRowSelectionVisibleAtom)\n useEffect(() => {\n setIsRowSelectionVisible(isRowSelectionVisibleFromProps)\n }, [isRowSelectionVisibleFromProps, setIsRowSelectionVisible])\n\n const setIsRowSelectionUIFloating = useSetAtom(isRowSelectionUIFloatingAtom)\n useEffect(() => {\n setIsRowSelectionUIFloating(isRowSelectionUIFloatingFromProps)\n }, [isRowSelectionUIFloatingFromProps, setIsRowSelectionUIFloating])\n\n const rowSelectionPrimaryKey = useComputeRowSelectionPrimaryKey({\n entityId,\n versionNumber,\n rowSelectionPrimaryKeyFromProps,\n queryMetadataQueryOptions,\n })\n const setRowSelectionPrimaryKey = useSetAtom(rowSelectionPrimaryKeyAtom)\n useEffect(() => {\n setRowSelectionPrimaryKey(rowSelectionPrimaryKey)\n }, [rowSelectionPrimaryKey, setRowSelectionPrimaryKey])\n\n const setSelectedRows = useSetAtom(selectedRowsAtom)\n const onChangeCallback = useCallback(\n (data: QueryResultBundle) =>\n onQueryResultBundleChange(JSON.stringify(data)),\n [onQueryResultBundleChange],\n )\n // Track changes to the query row data and propagate to callback\n useOnQueryDataChange({\n queryBundleRequest: getCurrentQueryRequest(),\n onChange: onChangeCallback,\n })\n\n const context: QueryContextType = useDeepCompareMemoize({\n isInfinite,\n entityId,\n versionNumber,\n nextQueryRequest,\n currentQueryRequest,\n getCurrentQueryRequest: getCurrentQueryRequest,\n getInitQueryRequest,\n executeQueryRequest: setQuery,\n hasFacetedSelectColumn,\n hasResettableFilters,\n removeSelectedFacet,\n removeValueFromSelectedFacet,\n resetQuery,\n removeQueryFilter,\n removeValueFromQueryFilter,\n onViewSharingSettingsClicked,\n addValueToSelectedFacet,\n combineRangeFacetConfig,\n setRangeFacetValue,\n resetDebounceTimer,\n rowDataQueryOptions,\n rowDataInfiniteQueryOptions,\n queryMetadataQueryOptions,\n currentPage,\n goToPage,\n pageSize,\n setPageSize,\n lockedColumn,\n fileIdColumnName,\n fileVersionColumnName,\n fileNameColumnName,\n })\n\n /**\n * Render the children without any formatting\n */\n const { children } = props\n return (\n <QueryContextProvider queryContext={context}>\n <ConfirmationDialog\n open={isConfirmingChange}\n title={'Change Query and Clear Selection?'}\n content={\n 'Changing the current query will cause your current selection to be lost. Are you sure you want to proceed?'\n }\n confirmButtonProps={{\n children: 'Clear Selection and Update Query',\n }}\n onConfirm={() => {\n setSelectedRows([])\n onConfirmChange()\n }}\n onCancel={() => {\n onCancelChange()\n }}\n />\n {children}\n </QueryContextProvider>\n )\n}\n\nexport function QueryWrapper(props: QueryWrapperProps) {\n // Wrap in a Jotai provider to ensure the Jotai atomic state is unique to this component tree\n // i.e. other instances of QueryWrapper will not share state with this instance\n return (\n <Provider>\n <QueryWrapperInternal {...props} />\n </Provider>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AA2DA,SAAS,EAAqB,GAA0B;CACtD,OACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAiC,GAAI,EAAQ,CAAA,EACtB,CAAA;AAE7B;AAKA,SAAS,EAAgC,GAA0B;CACjE,IAAM,EACJ,qBACA,kBACA,+BAA4B,IAC5B,iBACA,mBACA,mBACA,iCACA,uBAAuB,IAAiC,IACxD,0BAA0B,IAAoC,IAC9D,wBAAwB,GACxB,gBAAa,IACb,4BACA,qBACA,0BACA,0BACE,GAWE,EACJ,cAAW,IACX,kBACA,wBACA,2BACA,aACA,eACA,wBACA,iCACA,uBACA,+BACA,oBACA,uBACA,mBACA,qBACA,wBACA,4BACA,uBACA,uBACA,iBACA,cACA,cACA,oBA7BgC,GAAuB;EACvD;EACA;EACA;EACA;EACA,6BAPsB,EAOO;CAC/B,CAwBI,GAME,EACJ,yBACA,iCACA,iCACE,EARqB,QAChB,EAAuB,GAC7B,CAAC,CAAsB,CAMO,GAAkB,CAAY,GAEzD,KAAyB,EAC7B,CACF,GAEM,KAAuB,QAEpB,EADS,EACgB,EAAQ,OAAO,CAAY,GAC1D,CAAC,GAAwB,CAAY,CAAC,GAEnC,IAA2B,EAAW,CAAyB;CACrE,QAAgB;EACd,EAAyB,CAA8B;CACzD,GAAG,CAAC,GAAgC,CAAwB,CAAC;CAE7D,IAAM,IAA8B,EAAW,CAA4B;CAC3E,QAAgB;EACd,EAA4B,CAAiC;CAC/D,GAAG,CAAC,GAAmC,CAA2B,CAAC;CAEnE,IAAM,IAAyB,EAAiC;EAC9D;EACA;EACA;EACA;CACF,CAAC,GACK,IAA4B,EAAW,CAA0B;CACvE,QAAgB;EACd,EAA0B,CAAsB;CAClD,GAAG,CAAC,GAAwB,CAAyB,CAAC;CAEtD,IAAM,KAAkB,EAAW,CAAgB,GAC7C,KAAmB,GACtB,MACC,EAA0B,KAAK,UAAU,CAAI,CAAC,GAChD,CAAC,CAAyB,CAC5B;CAEA,EAAqB;EACnB,oBAAoB,EAAuB;EAC3C,UAAU;CACZ,CAAC;CAED,IAAM,KAA4B,GAAsB;EACtD;EACA;EACA;EACA;EACA;EACwB;EACxB;EACA,qBAAqB;EACrB;EACA,sBAAA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF,CAAC,GAKK,EAAE,iBAAa;CACrB,OACE,mBAAC,IAAD;EAAsB,cAAc;YAApC,CACE,kBAAC,GAAD;GACE,MAAM;GACN,OAAO;GACP,SACE;GAEF,oBAAoB,EAClB,UAAU,mCACZ;GACA,iBAAiB;IAEf,AADA,GAAgB,CAAC,CAAC,GAClB,EAAgB;GAClB;GACA,gBAAgB;IACd,EAAe;GACjB;EACD,CAAA,GACA,EACmB;;AAE1B;AAEA,SAAgB,EAAa,GAA0B;CAGrD,OACE,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD,EAAsB,GAAI,EAAQ,CAAA,EAC1B,CAAA;AAEd"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryWrapperLoadingScreen.js","names":[],"sources":["../../../src/components/QueryWrapper/QueryWrapperLoadingScreen.tsx"],"sourcesContent":["import { Box, LinearProgress, Typography } from '@mui/material'\n\ntype QueryWrapperLoadingScreenProps = { progressMessage?: string }\n\nexport default function QueryWrapperLoadingScreen(\n props: QueryWrapperLoadingScreenProps,\n) {\n const { progressMessage } = props\n return (\n <Box sx={{ my: 7.5, mx: 15 }}>\n <LinearProgress />\n {progressMessage && (\n <Typography\n variant={'smallText1'}\n sx={{\n color: 'grey.600',\n fontSize: '10px',\n textAlign: 'center',\n my: 1,\n }}\n >\n {progressMessage}\n </Typography>\n )}\n </Box>\n )\n}\n"],"mappings":";;;AAIA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,uBAAoB;AAC5B,QACE,kBAAC,GAAD;EAAK,IAAI;GAAE,IAAI;GAAK,IAAI;GAAI;YAA5B,CACE,kBAAC,GAAD,EAAkB,CAAA,EACjB,KACC,kBAAC,GAAD;GACE,SAAS;GACT,IAAI;IACF,OAAO;IACP,UAAU;IACV,WAAW;IACX,IAAI;IACL;aAEA;GACU,CAAA,CAEX"}
1
+ {"version":3,"file":"QueryWrapperLoadingScreen.js","names":[],"sources":["../../../src/components/QueryWrapper/QueryWrapperLoadingScreen.tsx"],"sourcesContent":["import { Box, LinearProgress, Typography } from '@mui/material'\n\ntype QueryWrapperLoadingScreenProps = { progressMessage?: string }\n\nexport default function QueryWrapperLoadingScreen(\n props: QueryWrapperLoadingScreenProps,\n) {\n const { progressMessage } = props\n return (\n <Box sx={{ my: 7.5, mx: 15 }}>\n <LinearProgress />\n {progressMessage && (\n <Typography\n variant={'smallText1'}\n sx={{\n color: 'grey.600',\n fontSize: '10px',\n textAlign: 'center',\n my: 1,\n }}\n >\n {progressMessage}\n </Typography>\n )}\n </Box>\n )\n}\n"],"mappings":";;;AAIA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,uBAAoB;CAC5B,OACE,kBAAC,GAAD;EAAK,IAAI;GAAE,IAAI;GAAK,IAAI;EAAG;YAA3B,CACE,kBAAC,GAAD,CAAiB,CAAA,GAChB,KACC,kBAAC,GAAD;GACE,SAAS;GACT,IAAI;IACF,OAAO;IACP,UAAU;IACV,WAAW;IACX,IAAI;GACN;aAEC;EACS,CAAA,CAEX;;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableQueryUseQueryOptions.js","names":[],"sources":["../../../src/components/QueryWrapper/TableQueryUseQueryOptions.ts"],"sourcesContent":["import * as SynapseClient from '@/synapse-client/SynapseClient'\nimport {\n getInfiniteQueryResultBundleOptions,\n KeyFactory,\n tableQueryUseQueryDefaults,\n} from '@/synapse-queries'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport {\n partitionQueryBundleRequestIntoRowsAndMetadata,\n removeLockedColumnFromFacetData,\n} from '@/utils/functions/queryUtils'\nimport { LockedColumn } from '@/utils/types/LockedColumn'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client'\nimport {\n AsynchronousJobStatus,\n QueryBundleRequest,\n QueryResultBundle,\n RowSet,\n} from '@sage-bionetworks/synapse-types'\nimport {\n InfiniteData,\n QueryKey,\n UseInfiniteQueryOptions,\n UseSuspenseQueryOptions,\n} from '@tanstack/react-query'\nimport { omit } from 'lodash-es'\nimport { useMemo } from 'react'\n\nexport type TableQueryUseQueryOptions = {\n rowDataQueryOptions: UseSuspenseQueryOptions<\n AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>,\n SynapseClientError,\n RowSet | undefined\n >\n\n rowDataInfiniteQueryOptions: UseInfiniteQueryOptions<\n AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>,\n SynapseClientError,\n InfiniteData<AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>>,\n QueryKey,\n string | number | undefined\n >\n\n queryMetadataQueryOptions: UseSuspenseQueryOptions<\n AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>,\n SynapseClientError,\n Omit<QueryResultBundle, 'queryResult'>\n >\n}\n\nexport function getTableQueryUseQueryOptions(\n queryBundleRequest: QueryBundleRequest,\n lockedColumn: LockedColumn | undefined,\n keyFactory: KeyFactory,\n accessToken: string | undefined,\n) {\n const { rowDataRequest, queryMetadataRequest } =\n partitionQueryBundleRequestIntoRowsAndMetadata(queryBundleRequest)\n const rowDataQueryOptions: TableQueryUseQueryOptions['rowDataQueryOptions'] =\n {\n ...tableQueryUseQueryDefaults,\n queryKey: keyFactory.getEntityTableQueryResultWithAsyncStatusQueryKey(\n rowDataRequest,\n false,\n ),\n queryFn: () =>\n SynapseClient.getQueryTableAsyncJobResults(rowDataRequest, accessToken),\n select: data => data.responseBody?.queryResult?.queryResults,\n }\n\n const rowDataInfiniteQueryOptions: TableQueryUseQueryOptions['rowDataInfiniteQueryOptions'] =\n {\n ...getInfiniteQueryResultBundleOptions(\n rowDataRequest,\n keyFactory,\n accessToken,\n ),\n }\n\n const queryMetadataQueryOptions: TableQueryUseQueryOptions['queryMetadataQueryOptions'] =\n {\n ...tableQueryUseQueryDefaults,\n queryKey: keyFactory.getEntityTableQueryResultWithAsyncStatusQueryKey(\n queryMetadataRequest,\n false,\n ),\n queryFn: () =>\n SynapseClient.getQueryTableAsyncJobResults(\n queryMetadataRequest,\n accessToken,\n ),\n\n select: data =>\n omit(\n removeLockedColumnFromFacetData(data.responseBody, lockedColumn),\n 'queryResults',\n ),\n }\n\n return {\n rowDataQueryOptions,\n rowDataInfiniteQueryOptions,\n queryMetadataQueryOptions,\n }\n}\n\n/**\n * Return the UseQueryOptions used to retrieve a table query's row data and query metadata.\n * @param queryBundleRequest\n * @param lockedColumn - remove a particular facet name (e.g. study) and all possible values based on the parameter\n * specified in the url this is to remove the facet from the charts, search and filter.\n */\nexport function useTableQueryUseQueryOptions(\n queryBundleRequest: QueryBundleRequest,\n lockedColumn?: LockedColumn,\n): TableQueryUseQueryOptions {\n const { keyFactory, accessToken } = useSynapseContext()\n\n return useMemo(\n () =>\n getTableQueryUseQueryOptions(\n queryBundleRequest,\n lockedColumn,\n keyFactory,\n accessToken,\n ),\n [keyFactory, accessToken, queryBundleRequest, lockedColumn],\n )\n}\n"],"mappings":";;;;;;;;AAkDA,SAAgB,EACd,GACA,GACA,GACA,GACA;CACA,IAAM,EAAE,mBAAgB,4BACtB,EAA+C,EAAmB;AA0CpE,QAAO;EACL,qBAAA;GAxCE,GAAG;GACH,UAAU,EAAW,iDACnB,GACA,GACD;GACD,eACE,EAA2C,GAAgB,EAAY;GACzE,SAAQ,MAAQ,EAAK,cAAc,aAAa;GAiClD;EACA,6BAAA,EA7BE,GAAG,EACD,GACA,GACA,EACD,EAyBH;EACA,2BAAA;GArBE,GAAG;GACH,UAAU,EAAW,iDACnB,GACA,GACD;GACD,eACE,EACE,GACA,EACD;GAEH,SAAQ,MACN,EACE,EAAgC,EAAK,cAAc,EAAa,EAChE,eACD;GAML;EACD;;AASH,SAAgB,EACd,GACA,GAC2B;CAC3B,IAAM,EAAE,eAAY,mBAAgB,GAAmB;AAEvD,QAAO,QAEH,EACE,GACA,GACA,GACA,EACD,EACH;EAAC;EAAY;EAAa;EAAoB;EAAa,CAC5D"}
1
+ {"version":3,"file":"TableQueryUseQueryOptions.js","names":[],"sources":["../../../src/components/QueryWrapper/TableQueryUseQueryOptions.ts"],"sourcesContent":["import * as SynapseClient from '@/synapse-client/SynapseClient'\nimport {\n getInfiniteQueryResultBundleOptions,\n KeyFactory,\n tableQueryUseQueryDefaults,\n} from '@/synapse-queries'\nimport { useSynapseContext } from '@/utils/context/SynapseContext'\nimport {\n partitionQueryBundleRequestIntoRowsAndMetadata,\n removeLockedColumnFromFacetData,\n} from '@/utils/functions/queryUtils'\nimport { LockedColumn } from '@/utils/types/LockedColumn'\nimport { SynapseClientError } from '@sage-bionetworks/synapse-client'\nimport {\n AsynchronousJobStatus,\n QueryBundleRequest,\n QueryResultBundle,\n RowSet,\n} from '@sage-bionetworks/synapse-types'\nimport {\n InfiniteData,\n QueryKey,\n UseInfiniteQueryOptions,\n UseSuspenseQueryOptions,\n} from '@tanstack/react-query'\nimport { omit } from 'lodash-es'\nimport { useMemo } from 'react'\n\nexport type TableQueryUseQueryOptions = {\n rowDataQueryOptions: UseSuspenseQueryOptions<\n AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>,\n SynapseClientError,\n RowSet | undefined\n >\n\n rowDataInfiniteQueryOptions: UseInfiniteQueryOptions<\n AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>,\n SynapseClientError,\n InfiniteData<AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>>,\n QueryKey,\n string | number | undefined\n >\n\n queryMetadataQueryOptions: UseSuspenseQueryOptions<\n AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>,\n SynapseClientError,\n Omit<QueryResultBundle, 'queryResult'>\n >\n}\n\nexport function getTableQueryUseQueryOptions(\n queryBundleRequest: QueryBundleRequest,\n lockedColumn: LockedColumn | undefined,\n keyFactory: KeyFactory,\n accessToken: string | undefined,\n) {\n const { rowDataRequest, queryMetadataRequest } =\n partitionQueryBundleRequestIntoRowsAndMetadata(queryBundleRequest)\n const rowDataQueryOptions: TableQueryUseQueryOptions['rowDataQueryOptions'] =\n {\n ...tableQueryUseQueryDefaults,\n queryKey: keyFactory.getEntityTableQueryResultWithAsyncStatusQueryKey(\n rowDataRequest,\n false,\n ),\n queryFn: () =>\n SynapseClient.getQueryTableAsyncJobResults(rowDataRequest, accessToken),\n select: data => data.responseBody?.queryResult?.queryResults,\n }\n\n const rowDataInfiniteQueryOptions: TableQueryUseQueryOptions['rowDataInfiniteQueryOptions'] =\n {\n ...getInfiniteQueryResultBundleOptions(\n rowDataRequest,\n keyFactory,\n accessToken,\n ),\n }\n\n const queryMetadataQueryOptions: TableQueryUseQueryOptions['queryMetadataQueryOptions'] =\n {\n ...tableQueryUseQueryDefaults,\n queryKey: keyFactory.getEntityTableQueryResultWithAsyncStatusQueryKey(\n queryMetadataRequest,\n false,\n ),\n queryFn: () =>\n SynapseClient.getQueryTableAsyncJobResults(\n queryMetadataRequest,\n accessToken,\n ),\n\n select: data =>\n omit(\n removeLockedColumnFromFacetData(data.responseBody, lockedColumn),\n 'queryResults',\n ),\n }\n\n return {\n rowDataQueryOptions,\n rowDataInfiniteQueryOptions,\n queryMetadataQueryOptions,\n }\n}\n\n/**\n * Return the UseQueryOptions used to retrieve a table query's row data and query metadata.\n * @param queryBundleRequest\n * @param lockedColumn - remove a particular facet name (e.g. study) and all possible values based on the parameter\n * specified in the url this is to remove the facet from the charts, search and filter.\n */\nexport function useTableQueryUseQueryOptions(\n queryBundleRequest: QueryBundleRequest,\n lockedColumn?: LockedColumn,\n): TableQueryUseQueryOptions {\n const { keyFactory, accessToken } = useSynapseContext()\n\n return useMemo(\n () =>\n getTableQueryUseQueryOptions(\n queryBundleRequest,\n lockedColumn,\n keyFactory,\n accessToken,\n ),\n [keyFactory, accessToken, queryBundleRequest, lockedColumn],\n )\n}\n"],"mappings":";;;;;;;;AAkDA,SAAgB,EACd,GACA,GACA,GACA,GACA;CACA,IAAM,EAAE,mBAAgB,4BACtB,EAA+C,CAAkB;CA0CnE,OAAO;EACL,qBAAA;GAxCE,GAAG;GACH,UAAU,EAAW,iDACnB,GACA,EACF;GACA,eACE,EAA2C,GAAgB,CAAW;GACxE,SAAQ,MAAQ,EAAK,cAAc,aAAa;EAiClD;EACA,6BAAA,EA7BE,GAAG,EACD,GACA,GACA,CACF,EAyBF;EACA,2BAAA;GArBE,GAAG;GACH,UAAU,EAAW,iDACnB,GACA,EACF;GACA,eACE,EACE,GACA,CACF;GAEF,SAAQ,MACN,EACE,EAAgC,EAAK,cAAc,CAAY,GAC/D,cACF;EAMJ;CACF;AACF;AAQA,SAAgB,EACd,GACA,GAC2B;CAC3B,IAAM,EAAE,eAAY,mBAAgB,EAAkB;CAEtD,OAAO,QAEH,EACE,GACA,GACA,GACA,CACF,GACF;EAAC;EAAY;EAAa;EAAoB;CAAY,CAC5D;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"TableRowSelectionState.js","names":[],"sources":["../../../src/components/QueryWrapper/TableRowSelectionState.ts"],"sourcesContent":["import { Row, SelectColumn } from '@sage-bionetworks/synapse-types'\nimport { atom, useAtomValue } from 'jotai'\nimport { isEqual } from 'lodash-es'\n\nexport function getRowSelectionEqualityComparator(\n row: Row,\n selectColumns?: SelectColumn[],\n rowSelectionPrimaryKey?: string[],\n): (r1: Row, r2: Row) => boolean {\n // Worst-case scenario, use deep equality to compare rows\n // This will fail from the user's perspective if any data changes in the rows since the last time the selection was updated.\n let comparator: (r1: Row, r2: Row) => boolean = isEqual\n if (rowSelectionPrimaryKey && selectColumns) {\n // If the `rowSelectionPrimaryKey` is defined, a row is selected if we have a PK match\n // Even this selection is not guaranteed to persist if data changes, e.g. if column order changes and the PK now has a different column index\n comparator = (r1: Row, r2: Row) => {\n const r1PrimaryKeyValues = rowSelectionPrimaryKey.map(\n key => r1.values[selectColumns.findIndex(cm => cm.name === key)]!,\n )\n const r2PrimaryKeyValues = rowSelectionPrimaryKey.map(\n key => r2.values[selectColumns.findIndex(cm => cm.name === key)]!,\n )\n return isEqual(r1PrimaryKeyValues, r2PrimaryKeyValues)\n }\n } else if (row.rowId) {\n // If there's a rowId, we can use that as a fallback\n comparator = (r1: Row, r2: Row) => r1.rowId === r2.rowId\n }\n\n return comparator\n}\n\n/**\n * Use Jotai atoms to manage table row selection state. We use Jotai instead of React context because subscribing to atoms\n * is more performant than subscribing to a frequently-changing context object, which causes undesirable re-renders.\n */\n\n/**\n * Whether row selection is visible for the current component\n */\nexport const isRowSelectionVisibleAtom = atom<boolean>(false)\n\n/**\n * Whether row selection UI should float or be shown inline\n */\nexport const isRowSelectionUIFloatingAtom = atom<boolean>(true)\n\n/**\n * A unique key that identifies a row. If two selected rows have the same key values, then they are considered equal and would both be selected/deselected together.\n */\nexport const rowSelectionPrimaryKeyAtom = atom<string[] | undefined>(undefined)\n/**\n * A unique key that identifies a row. If two selected rows have the same key values, then they are considered equal and would both be selected/deselected together.\n */\nexport function useRowSelectionPrimaryKeyAtomValue() {\n return useAtomValue(rowSelectionPrimaryKeyAtom)\n}\n\n/**\n * The set of selected rows\n */\nexport const selectedRowsAtom = atom<Row[]>([])\n/**\n * The set of selected rows\n */\nexport function useSelectedRowsAtomValue() {\n return useAtomValue(selectedRowsAtom)\n}\n\n/**\n * Can be used to determine if a row is selected. If a `rowSelectionPrimaryKey` is defined, then the row is selected if it has a matching PK.\n */\nexport const isRowSelectedAtom = atom(\n get => (row: Row, selectColumns: SelectColumn[]) => {\n const comparator = getRowSelectionEqualityComparator(\n row,\n selectColumns,\n get(rowSelectionPrimaryKeyAtom),\n )\n return get(selectedRowsAtom).some(selectedRow =>\n comparator(selectedRow, row),\n )\n },\n)\n\n/**\n * Whether rows are currently selected\n */\nexport const hasSelectedRowsAtom = atom(get => get(selectedRowsAtom).length > 0)\n/**\n * Whether rows are currently selected\n */\nexport function useHasSelectedRowsAtomValue() {\n return useAtomValue(hasSelectedRowsAtom)\n}\n"],"mappings":";;;AAIA,SAAgB,EACd,GACA,GACA,GAC+B;CAG/B,IAAI,IAA4C;AAkBhD,QAjBI,KAA0B,IAG5B,KAAc,GAAS,MAOd,EANoB,EAAuB,KAChD,MAAO,EAAG,OAAO,EAAc,WAAU,MAAM,EAAG,SAAS,EAAI,EAKlD,EAHY,EAAuB,KAChD,MAAO,EAAG,OAAO,EAAc,WAAU,MAAM,EAAG,SAAS,EAAI,EAE9B,CAAmB,GAE/C,EAAI,UAEb,KAAc,GAAS,MAAY,EAAG,UAAU,EAAG,QAG9C;;AAWT,IAAa,IAA4B,EAAc,GAAM,EAKhD,IAA+B,EAAc,GAAK,EAKlD,IAA6B,EAA2B,KAAA,EAAU;AAI/E,SAAgB,IAAqC;AACnD,QAAO,EAAa,EAA2B;;AAMjD,IAAa,IAAmB,EAAY,EAAE,CAAC;AAI/C,SAAgB,IAA2B;AACzC,QAAO,EAAa,EAAiB;;AAMvC,IAAa,IAAoB,GAC/B,OAAQ,GAAU,MAAkC;CAClD,IAAM,IAAa,EACjB,GACA,GACA,EAAI,EAA2B,CAChC;AACD,QAAO,EAAI,EAAiB,CAAC,MAAK,MAChC,EAAW,GAAa,EAAI,CAC7B;EAEJ,EAKY,IAAsB,GAAK,MAAO,EAAI,EAAiB,CAAC,SAAS,EAAE;AAIhF,SAAgB,IAA8B;AAC5C,QAAO,EAAa,EAAoB"}
1
+ {"version":3,"file":"TableRowSelectionState.js","names":[],"sources":["../../../src/components/QueryWrapper/TableRowSelectionState.ts"],"sourcesContent":["import { Row, SelectColumn } from '@sage-bionetworks/synapse-types'\nimport { atom, useAtomValue } from 'jotai'\nimport { isEqual } from 'lodash-es'\n\nexport function getRowSelectionEqualityComparator(\n row: Row,\n selectColumns?: SelectColumn[],\n rowSelectionPrimaryKey?: string[],\n): (r1: Row, r2: Row) => boolean {\n // Worst-case scenario, use deep equality to compare rows\n // This will fail from the user's perspective if any data changes in the rows since the last time the selection was updated.\n let comparator: (r1: Row, r2: Row) => boolean = isEqual\n if (rowSelectionPrimaryKey && selectColumns) {\n // If the `rowSelectionPrimaryKey` is defined, a row is selected if we have a PK match\n // Even this selection is not guaranteed to persist if data changes, e.g. if column order changes and the PK now has a different column index\n comparator = (r1: Row, r2: Row) => {\n const r1PrimaryKeyValues = rowSelectionPrimaryKey.map(\n key => r1.values[selectColumns.findIndex(cm => cm.name === key)]!,\n )\n const r2PrimaryKeyValues = rowSelectionPrimaryKey.map(\n key => r2.values[selectColumns.findIndex(cm => cm.name === key)]!,\n )\n return isEqual(r1PrimaryKeyValues, r2PrimaryKeyValues)\n }\n } else if (row.rowId) {\n // If there's a rowId, we can use that as a fallback\n comparator = (r1: Row, r2: Row) => r1.rowId === r2.rowId\n }\n\n return comparator\n}\n\n/**\n * Use Jotai atoms to manage table row selection state. We use Jotai instead of React context because subscribing to atoms\n * is more performant than subscribing to a frequently-changing context object, which causes undesirable re-renders.\n */\n\n/**\n * Whether row selection is visible for the current component\n */\nexport const isRowSelectionVisibleAtom = atom<boolean>(false)\n\n/**\n * Whether row selection UI should float or be shown inline\n */\nexport const isRowSelectionUIFloatingAtom = atom<boolean>(true)\n\n/**\n * A unique key that identifies a row. If two selected rows have the same key values, then they are considered equal and would both be selected/deselected together.\n */\nexport const rowSelectionPrimaryKeyAtom = atom<string[] | undefined>(undefined)\n/**\n * A unique key that identifies a row. If two selected rows have the same key values, then they are considered equal and would both be selected/deselected together.\n */\nexport function useRowSelectionPrimaryKeyAtomValue() {\n return useAtomValue(rowSelectionPrimaryKeyAtom)\n}\n\n/**\n * The set of selected rows\n */\nexport const selectedRowsAtom = atom<Row[]>([])\n/**\n * The set of selected rows\n */\nexport function useSelectedRowsAtomValue() {\n return useAtomValue(selectedRowsAtom)\n}\n\n/**\n * Can be used to determine if a row is selected. If a `rowSelectionPrimaryKey` is defined, then the row is selected if it has a matching PK.\n */\nexport const isRowSelectedAtom = atom(\n get => (row: Row, selectColumns: SelectColumn[]) => {\n const comparator = getRowSelectionEqualityComparator(\n row,\n selectColumns,\n get(rowSelectionPrimaryKeyAtom),\n )\n return get(selectedRowsAtom).some(selectedRow =>\n comparator(selectedRow, row),\n )\n },\n)\n\n/**\n * Whether rows are currently selected\n */\nexport const hasSelectedRowsAtom = atom(get => get(selectedRowsAtom).length > 0)\n/**\n * Whether rows are currently selected\n */\nexport function useHasSelectedRowsAtomValue() {\n return useAtomValue(hasSelectedRowsAtom)\n}\n"],"mappings":";;;AAIA,SAAgB,EACd,GACA,GACA,GAC+B;CAG/B,IAAI,IAA4C;CAkBhD,OAjBI,KAA0B,IAG5B,KAAc,GAAS,MAOd,EANoB,EAAuB,KAChD,MAAO,EAAG,OAAO,EAAc,WAAU,MAAM,EAAG,SAAS,CAAG,EAKjD,GAHY,EAAuB,KAChD,MAAO,EAAG,OAAO,EAAc,WAAU,MAAM,EAAG,SAAS,CAAG,EAE7B,CAAkB,IAE9C,EAAI,UAEb,KAAc,GAAS,MAAY,EAAG,UAAU,EAAG,QAG9C;AACT;AAUA,IAAa,IAA4B,EAAc,EAAK,GAK/C,IAA+B,EAAc,EAAI,GAKjD,IAA6B,EAA2B,KAAA,CAAS;AAI9E,SAAgB,IAAqC;CACnD,OAAO,EAAa,CAA0B;AAChD;AAKA,IAAa,IAAmB,EAAY,CAAC,CAAC;AAI9C,SAAgB,IAA2B;CACzC,OAAO,EAAa,CAAgB;AACtC;AAKA,IAAa,IAAoB,GAC/B,OAAQ,GAAU,MAAkC;CAClD,IAAM,IAAa,EACjB,GACA,GACA,EAAI,CAA0B,CAChC;CACA,OAAO,EAAI,CAAgB,EAAE,MAAK,MAChC,EAAW,GAAa,CAAG,CAC7B;AACF,CACF,GAKa,IAAsB,GAAK,MAAO,EAAI,CAAgB,EAAE,SAAS,CAAC;AAI/E,SAAgB,IAA8B;CAC5C,OAAO,EAAa,CAAmB;AACzC"}
@@ -1 +1 @@
1
- {"version":3,"file":"ViewMoreQueryResultsButton.js","names":[],"sources":["../../../src/components/QueryWrapper/ViewMoreQueryResultsButton.tsx"],"sourcesContent":["import WideButton from '@/components/styled/WideButton'\nimport { Box } from '@mui/material'\nimport { useEffect } from 'react'\nimport { SynapseSpinner } from '../LoadingScreen/LoadingScreen'\nimport { useIsBot } from '@/utils/hooks/useIsBot'\nimport { useSuspenseGetQueryMetadata } from './useGetQueryMetadata'\n\nexport type ViewMoreQueryResultsButtonProps = {\n hasNextPage: boolean\n fetchNextPage: () => void\n isFetchingNextPage: boolean\n initialLimit?: number\n initialLimitIsApplied?: boolean\n onRemoveInitialLimit?: () => void\n}\n\nexport function ViewMoreQueryResultsButton(\n props: ViewMoreQueryResultsButtonProps,\n) {\n const {\n hasNextPage,\n fetchNextPage,\n isFetchingNextPage,\n initialLimit,\n initialLimitIsApplied,\n onRemoveInitialLimit,\n } = props\n const {\n data: { queryCount },\n } = useSuspenseGetQueryMetadata()\n const isBot = useIsBot()\n\n useEffect(() => {\n if (\n initialLimitIsApplied &&\n initialLimit != null &&\n queryCount != null &&\n onRemoveInitialLimit != null\n ) {\n if (initialLimit >= queryCount)\n // The initial limit is not necessary, so remove it.\n onRemoveInitialLimit()\n }\n }, [initialLimitIsApplied, initialLimit, queryCount, onRemoveInitialLimit])\n\n // Automatically fetch all pages for bots\n useEffect(() => {\n if (isBot && hasNextPage && !isFetchingNextPage) {\n void fetchNextPage()\n }\n }, [isBot, hasNextPage, isFetchingNextPage, fetchNextPage])\n\n const showViewMoreButton = initialLimitIsApplied || hasNextPage\n\n if (!showViewMoreButton) {\n return null\n }\n\n return (\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'flex-start',\n }}\n >\n <WideButton\n variant=\"contained\"\n color=\"secondary\"\n size=\"large\"\n onClick={() => {\n if (initialLimitIsApplied && onRemoveInitialLimit != null) {\n onRemoveInitialLimit()\n } else {\n void fetchNextPage()\n }\n }}\n disabled={isFetchingNextPage}\n >\n {isFetchingNextPage ? <SynapseSpinner size={24} /> : 'View More'}\n </WideButton>\n </Box>\n )\n}\n"],"mappings":";;;;;;;;AAgBA,SAAgB,EACd,GACA;CACA,IAAM,EACJ,gBACA,kBACA,uBACA,iBACA,0BACA,4BACE,GACE,EACJ,MAAM,EAAE,oBACN,GAA6B,EAC3B,IAAQ,GAAU;AA4BxB,QA1BA,QAAgB;AACd,EACE,KACA,KAAgB,QAChB,KAAc,QACd,KAAwB,QAEpB,KAAgB,KAElB,GAAsB;IAEzB;EAAC;EAAuB;EAAc;EAAY;EAAqB,CAAC,EAG3E,QAAgB;AACd,EAAI,KAAS,KAAe,CAAC,KACtB,GAAe;IAErB;EAAC;EAAO;EAAa;EAAoB;EAAc,CAAC,EAEhC,KAAyB,IAOlD,kBAAC,GAAD;EACE,IAAI;GACF,SAAS;GACT,gBAAgB;GACjB;YAED,kBAAC,GAAD;GACE,SAAQ;GACR,OAAM;GACN,MAAK;GACL,eAAe;AACb,IAAI,KAAyB,KAAwB,OACnD,GAAsB,GAEjB,GAAe;;GAGxB,UAAU;aAET,IAAqB,kBAAC,GAAD,EAAgB,MAAM,IAAM,CAAA,GAAG;GAC1C,CAAA;EACT,CAAA,GAzBC"}
1
+ {"version":3,"file":"ViewMoreQueryResultsButton.js","names":[],"sources":["../../../src/components/QueryWrapper/ViewMoreQueryResultsButton.tsx"],"sourcesContent":["import WideButton from '@/components/styled/WideButton'\nimport { Box } from '@mui/material'\nimport { useEffect } from 'react'\nimport { SynapseSpinner } from '../LoadingScreen/LoadingScreen'\nimport { useIsBot } from '@/utils/hooks/useIsBot'\nimport { useSuspenseGetQueryMetadata } from './useGetQueryMetadata'\n\nexport type ViewMoreQueryResultsButtonProps = {\n hasNextPage: boolean\n fetchNextPage: () => void\n isFetchingNextPage: boolean\n initialLimit?: number\n initialLimitIsApplied?: boolean\n onRemoveInitialLimit?: () => void\n}\n\nexport function ViewMoreQueryResultsButton(\n props: ViewMoreQueryResultsButtonProps,\n) {\n const {\n hasNextPage,\n fetchNextPage,\n isFetchingNextPage,\n initialLimit,\n initialLimitIsApplied,\n onRemoveInitialLimit,\n } = props\n const {\n data: { queryCount },\n } = useSuspenseGetQueryMetadata()\n const isBot = useIsBot()\n\n useEffect(() => {\n if (\n initialLimitIsApplied &&\n initialLimit != null &&\n queryCount != null &&\n onRemoveInitialLimit != null\n ) {\n if (initialLimit >= queryCount)\n // The initial limit is not necessary, so remove it.\n onRemoveInitialLimit()\n }\n }, [initialLimitIsApplied, initialLimit, queryCount, onRemoveInitialLimit])\n\n // Automatically fetch all pages for bots\n useEffect(() => {\n if (isBot && hasNextPage && !isFetchingNextPage) {\n void fetchNextPage()\n }\n }, [isBot, hasNextPage, isFetchingNextPage, fetchNextPage])\n\n const showViewMoreButton = initialLimitIsApplied || hasNextPage\n\n if (!showViewMoreButton) {\n return null\n }\n\n return (\n <Box\n sx={{\n display: 'flex',\n justifyContent: 'flex-start',\n }}\n >\n <WideButton\n variant=\"contained\"\n color=\"secondary\"\n size=\"large\"\n onClick={() => {\n if (initialLimitIsApplied && onRemoveInitialLimit != null) {\n onRemoveInitialLimit()\n } else {\n void fetchNextPage()\n }\n }}\n disabled={isFetchingNextPage}\n >\n {isFetchingNextPage ? <SynapseSpinner size={24} /> : 'View More'}\n </WideButton>\n </Box>\n )\n}\n"],"mappings":";;;;;;;;AAgBA,SAAgB,EACd,GACA;CACA,IAAM,EACJ,gBACA,kBACA,uBACA,iBACA,0BACA,4BACE,GACE,EACJ,MAAM,EAAE,oBACN,EAA4B,GAC1B,IAAQ,EAAS;CA4BvB,OA1BA,QAAgB;EACd,AACE,KACA,KAAgB,QAChB,KAAc,QACd,KAAwB,QAEpB,KAAgB,KAElB,EAAqB;CAE3B,GAAG;EAAC;EAAuB;EAAc;EAAY;CAAoB,CAAC,GAG1E,QAAgB;EACd,AAAI,KAAS,KAAe,CAAC,KAC3B,EAAmB;CAEvB,GAAG;EAAC;EAAO;EAAa;EAAoB;CAAa,CAAC,GAE/B,KAAyB,IAOlD,kBAAC,GAAD;EACE,IAAI;GACF,SAAS;GACT,gBAAgB;EAClB;YAEA,kBAAC,GAAD;GACE,SAAQ;GACR,OAAM;GACN,MAAK;GACL,eAAe;IACb,AAAI,KAAyB,KAAwB,OACnD,EAAqB,IAErB,EAAmB;GAEvB;GACA,UAAU;aAET,IAAqB,kBAAC,GAAD,EAAgB,MAAM,GAAK,CAAA,IAAI;EAC3C,CAAA;CACT,CAAA,IAzBE;AA2BX"}
@@ -1 +1 @@
1
- {"version":3,"file":"generateEncodedPathAndQueryForSelectedFacetURL.js","names":[],"sources":["../../../src/components/QueryWrapper/generateEncodedPathAndQueryForSelectedFacetURL.ts"],"sourcesContent":["import {\n FacetColumnValuesRequest,\n Query,\n} from '@sage-bionetworks/synapse-types'\nimport { generateCompressedQueryURL } from '../../utils/functions/deepLinkingUtils'\n\nexport type SelectedFacet = {\n facet: string\n facetValue: string\n}\n\nconst formatSelectedFacetsRequest = (\n selectedFacets: SelectedFacet[],\n): FacetColumnValuesRequest[] => {\n return selectedFacets.map(selectedFacet => {\n return {\n concreteType:\n 'org.sagebionetworks.repo.model.table.FacetColumnValuesRequest',\n columnName: selectedFacet.facet,\n facetValues: [selectedFacet.facetValue],\n }\n })\n}\n\nexport const generateEncodedPathAndQueryForSelectedFacetURL = async (\n path: string,\n sql: string,\n selectedFacets: SelectedFacet[],\n): Promise<string> => {\n const currentQuery: Query = {\n sql,\n selectedFacets: formatSelectedFacetsRequest(selectedFacets),\n }\n\n const initQuery: Query = {\n sql,\n }\n\n return generateCompressedQueryURL(path, 0, currentQuery, initQuery)\n}\n"],"mappings":";;AAWA,IAAM,KACJ,MAEO,EAAe,KAAI,OACjB;CACL,cACE;CACF,YAAY,EAAc;CAC1B,aAAa,CAAC,EAAc,WAAW;CACxC,EACD,EAGS,IAAiD,OAC5D,GACA,GACA,MAWO,EAA2B,GAAM,GAAG;CARzC;CACA,gBAAgB,EAA4B,EAAe;CAOlB,EAAc,EAHvD,QAGuD,CAAU"}
1
+ {"version":3,"file":"generateEncodedPathAndQueryForSelectedFacetURL.js","names":[],"sources":["../../../src/components/QueryWrapper/generateEncodedPathAndQueryForSelectedFacetURL.ts"],"sourcesContent":["import {\n FacetColumnValuesRequest,\n Query,\n} from '@sage-bionetworks/synapse-types'\nimport { generateCompressedQueryURL } from '../../utils/functions/deepLinkingUtils'\n\nexport type SelectedFacet = {\n facet: string\n facetValue: string\n}\n\nconst formatSelectedFacetsRequest = (\n selectedFacets: SelectedFacet[],\n): FacetColumnValuesRequest[] => {\n return selectedFacets.map(selectedFacet => {\n return {\n concreteType:\n 'org.sagebionetworks.repo.model.table.FacetColumnValuesRequest',\n columnName: selectedFacet.facet,\n facetValues: [selectedFacet.facetValue],\n }\n })\n}\n\nexport const generateEncodedPathAndQueryForSelectedFacetURL = async (\n path: string,\n sql: string,\n selectedFacets: SelectedFacet[],\n): Promise<string> => {\n const currentQuery: Query = {\n sql,\n selectedFacets: formatSelectedFacetsRequest(selectedFacets),\n }\n\n const initQuery: Query = {\n sql,\n }\n\n return generateCompressedQueryURL(path, 0, currentQuery, initQuery)\n}\n"],"mappings":";;AAWA,IAAM,KACJ,MAEO,EAAe,KAAI,OACjB;CACL,cACE;CACF,YAAY,EAAc;CAC1B,aAAa,CAAC,EAAc,UAAU;AACxC,EACD,GAGU,IAAiD,OAC5D,GACA,GACA,MAWO,EAA2B,GAAM,GAAG;CARzC;CACA,gBAAgB,EAA4B,CAAc;AAOjB,GAAc,EAHvD,OAGuD,CAAS"}
@@ -1 +1 @@
1
- {"version":3,"file":"useComputeRowSelectionPrimaryKey.js","names":[],"sources":["../../../src/components/QueryWrapper/useComputeRowSelectionPrimaryKey.ts"],"sourcesContent":["import { useGetEntity } from '@/synapse-queries'\nimport { Table } from '@sage-bionetworks/synapse-types'\nimport { useQuery } from '@tanstack/react-query'\nimport { useMemo } from 'react'\nimport { QueryContextType } from '../QueryContext'\nimport { getDefaultPrimaryKey } from '../SynapseTable/SynapseTableUtils'\n\ntype UseComputeRowSelectionPrimaryKeyOptions = {\n entityId: string\n versionNumber?: number\n rowSelectionPrimaryKeyFromProps?: string[]\n queryMetadataQueryOptions: QueryContextType['queryMetadataQueryOptions']\n}\n\nexport default function useComputeRowSelectionPrimaryKey(\n options: UseComputeRowSelectionPrimaryKeyOptions,\n) {\n const {\n rowSelectionPrimaryKeyFromProps,\n entityId,\n versionNumber,\n queryMetadataQueryOptions,\n } = options\n const { data: entity } = useGetEntity<Table>(entityId, versionNumber)\n const { data: queryMetadata } = useQuery(queryMetadataQueryOptions)\n\n return useMemo(() => {\n if (rowSelectionPrimaryKeyFromProps) {\n return rowSelectionPrimaryKeyFromProps\n } else if (entity && queryMetadata?.columnModels) {\n return getDefaultPrimaryKey(entity, queryMetadata.columnModels)\n }\n return undefined\n }, [rowSelectionPrimaryKeyFromProps, entity, queryMetadata?.columnModels])\n}\n"],"mappings":";;;;;;AAcA,SAAwB,EACtB,GACA;CACA,IAAM,EACJ,oCACA,aACA,kBACA,iCACE,GACE,EAAE,MAAM,MAAW,EAAoB,GAAU,EAAc,EAC/D,EAAE,MAAM,MAAkB,EAAS,EAA0B;AAEnE,QAAO,QAAc;AACnB,MAAI,EACF,QAAO;MACE,KAAU,GAAe,aAClC,QAAO,EAAqB,GAAQ,EAAc,aAAa;IAGhE;EAAC;EAAiC;EAAQ,GAAe;EAAa,CAAC"}
1
+ {"version":3,"file":"useComputeRowSelectionPrimaryKey.js","names":[],"sources":["../../../src/components/QueryWrapper/useComputeRowSelectionPrimaryKey.ts"],"sourcesContent":["import { useGetEntity } from '@/synapse-queries'\nimport { Table } from '@sage-bionetworks/synapse-types'\nimport { useQuery } from '@tanstack/react-query'\nimport { useMemo } from 'react'\nimport { QueryContextType } from '../QueryContext'\nimport { getDefaultPrimaryKey } from '../SynapseTable/SynapseTableUtils'\n\ntype UseComputeRowSelectionPrimaryKeyOptions = {\n entityId: string\n versionNumber?: number\n rowSelectionPrimaryKeyFromProps?: string[]\n queryMetadataQueryOptions: QueryContextType['queryMetadataQueryOptions']\n}\n\nexport default function useComputeRowSelectionPrimaryKey(\n options: UseComputeRowSelectionPrimaryKeyOptions,\n) {\n const {\n rowSelectionPrimaryKeyFromProps,\n entityId,\n versionNumber,\n queryMetadataQueryOptions,\n } = options\n const { data: entity } = useGetEntity<Table>(entityId, versionNumber)\n const { data: queryMetadata } = useQuery(queryMetadataQueryOptions)\n\n return useMemo(() => {\n if (rowSelectionPrimaryKeyFromProps) {\n return rowSelectionPrimaryKeyFromProps\n } else if (entity && queryMetadata?.columnModels) {\n return getDefaultPrimaryKey(entity, queryMetadata.columnModels)\n }\n return undefined\n }, [rowSelectionPrimaryKeyFromProps, entity, queryMetadata?.columnModels])\n}\n"],"mappings":";;;;;;AAcA,SAAwB,EACtB,GACA;CACA,IAAM,EACJ,oCACA,aACA,kBACA,iCACE,GACE,EAAE,MAAM,MAAW,EAAoB,GAAU,CAAa,GAC9D,EAAE,MAAM,MAAkB,EAAS,CAAyB;CAElE,OAAO,QAAc;EACnB,IAAI,GACF,OAAO;EACF,IAAI,KAAU,GAAe,cAClC,OAAO,EAAqB,GAAQ,EAAc,YAAY;CAGlE,GAAG;EAAC;EAAiC;EAAQ,GAAe;CAAY,CAAC;AAC3E"}
@@ -1 +1 @@
1
- {"version":3,"file":"useGetAddToDownloadListRequestForCurrentQuery.js","names":[],"sources":["../../../src/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.ts"],"sourcesContent":["import { useQueryContext } from '@/components/QueryContext'\nimport {\n useHasSelectedRowsAtomValue,\n useRowSelectionPrimaryKeyAtomValue,\n useSelectedRowsAtomValue,\n} from '@/components/QueryWrapper/TableRowSelectionState'\nimport { useSuspenseGetQueryMetadata } from '@/components/QueryWrapper/useGetQueryMetadata'\nimport { getFileColumnModelId } from '@/components/SynapseTable/SynapseTableUtils'\nimport { getPrimaryKeyINFilter } from '@/utils/functions/QueryFilterUtils'\nimport {\n AddToDownloadListRequest,\n TableQuery,\n} from '@sage-bionetworks/synapse-client'\nimport { useMemo } from 'react'\n\n/**\n * Returns an AddToDownloadListRequest object configured to add the current fileview/dataset result set to the download list\n * (loads data using QueryWrapper)\n */\nexport function useGetAddToDownloadListRequestForCurrentQuery(): AddToDownloadListRequest {\n const { getCurrentQueryRequest, fileIdColumnName, fileVersionColumnName } =\n useQueryContext()\n const { data: originalQueryMetadata } = useSuspenseGetQueryMetadata()\n\n const hasSelectedRows = useHasSelectedRowsAtomValue()\n const selectedRows = useSelectedRowsAtomValue()\n const rowSelectionPrimaryKey = useRowSelectionPrimaryKeyAtomValue()\n\n return useMemo(() => {\n const query = getCurrentQueryRequest().query\n // set the query.selectFileColumn\n if (fileIdColumnName && fileVersionColumnName) {\n // find the column model ID and set the parameters\n const fileIdColumnModel = originalQueryMetadata.columnModels?.find(\n col => col.name == fileIdColumnName,\n )\n const fileVersionColumnModel = originalQueryMetadata.columnModels?.find(\n col => col.name == fileVersionColumnName,\n )\n\n query.selectFileColumn = fileIdColumnModel\n ? Number(fileIdColumnModel.id)\n : undefined\n query.selectFileVersionColumn = fileVersionColumnModel\n ? Number(fileVersionColumnModel.id)\n : undefined\n } else {\n const fileColumnId = getFileColumnModelId(\n originalQueryMetadata.columnModels,\n )\n if (fileColumnId) {\n query.selectFileColumn = Number(fileColumnId)\n }\n }\n\n if (\n hasSelectedRows &&\n rowSelectionPrimaryKey &&\n originalQueryMetadata.selectColumns\n ) {\n const primaryKeyINFilter = getPrimaryKeyINFilter(\n rowSelectionPrimaryKey,\n selectedRows,\n originalQueryMetadata.selectColumns,\n )\n query.additionalFilters = [\n ...(query.additionalFilters || []),\n primaryKeyINFilter,\n ]\n }\n return {\n concreteType:\n 'org.sagebionetworks.repo.model.download.AddToDownloadListRequest',\n query: query as TableQuery,\n }\n }, [\n originalQueryMetadata.columnModels,\n originalQueryMetadata.selectColumns,\n getCurrentQueryRequest,\n hasSelectedRows,\n rowSelectionPrimaryKey,\n selectedRows,\n fileIdColumnName,\n fileVersionColumnName,\n ])\n}\n"],"mappings":";;;;;;;;AAmBA,SAAgB,IAA0E;CACxF,IAAM,EAAE,2BAAwB,qBAAkB,6BAChD,GAAiB,EACb,EAAE,MAAM,MAA0B,GAA6B,EAE/D,IAAkB,GAA6B,EAC/C,IAAe,GAA0B,EACzC,IAAyB,GAAoC;AAEnE,QAAO,QAAc;EACnB,IAAM,IAAQ,GAAwB,CAAC;AAEvC,MAAI,KAAoB,GAAuB;GAE7C,IAAM,IAAoB,EAAsB,cAAc,MAC5D,MAAO,EAAI,QAAQ,EACpB,EACK,IAAyB,EAAsB,cAAc,MACjE,MAAO,EAAI,QAAQ,EACpB;AAKD,GAHA,EAAM,mBAAmB,IACrB,OAAO,EAAkB,GAAG,GAC5B,KAAA,GACJ,EAAM,0BAA0B,IAC5B,OAAO,EAAuB,GAAG,GACjC,KAAA;SACC;GACL,IAAM,IAAe,EACnB,EAAsB,aACvB;AACD,GAAI,MACF,EAAM,mBAAmB,OAAO,EAAa;;AAIjD,MACE,KACA,KACA,EAAsB,eACtB;GACA,IAAM,IAAqB,EACzB,GACA,GACA,EAAsB,cACvB;AACD,KAAM,oBAAoB,CACxB,GAAI,EAAM,qBAAqB,EAAE,EACjC,EACD;;AAEH,SAAO;GACL,cACE;GACK;GACR;IACA;EACD,EAAsB;EACtB,EAAsB;EACtB;EACA;EACA;EACA;EACA;EACA;EACD,CAAC"}
1
+ {"version":3,"file":"useGetAddToDownloadListRequestForCurrentQuery.js","names":[],"sources":["../../../src/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery.ts"],"sourcesContent":["import { useQueryContext } from '@/components/QueryContext'\nimport {\n useHasSelectedRowsAtomValue,\n useRowSelectionPrimaryKeyAtomValue,\n useSelectedRowsAtomValue,\n} from '@/components/QueryWrapper/TableRowSelectionState'\nimport { useSuspenseGetQueryMetadata } from '@/components/QueryWrapper/useGetQueryMetadata'\nimport { getFileColumnModelId } from '@/components/SynapseTable/SynapseTableUtils'\nimport { getPrimaryKeyINFilter } from '@/utils/functions/QueryFilterUtils'\nimport {\n AddToDownloadListRequest,\n TableQuery,\n} from '@sage-bionetworks/synapse-client'\nimport { useMemo } from 'react'\n\n/**\n * Returns an AddToDownloadListRequest object configured to add the current fileview/dataset result set to the download list\n * (loads data using QueryWrapper)\n */\nexport function useGetAddToDownloadListRequestForCurrentQuery(): AddToDownloadListRequest {\n const { getCurrentQueryRequest, fileIdColumnName, fileVersionColumnName } =\n useQueryContext()\n const { data: originalQueryMetadata } = useSuspenseGetQueryMetadata()\n\n const hasSelectedRows = useHasSelectedRowsAtomValue()\n const selectedRows = useSelectedRowsAtomValue()\n const rowSelectionPrimaryKey = useRowSelectionPrimaryKeyAtomValue()\n\n return useMemo(() => {\n const query = getCurrentQueryRequest().query\n // set the query.selectFileColumn\n if (fileIdColumnName && fileVersionColumnName) {\n // find the column model ID and set the parameters\n const fileIdColumnModel = originalQueryMetadata.columnModels?.find(\n col => col.name == fileIdColumnName,\n )\n const fileVersionColumnModel = originalQueryMetadata.columnModels?.find(\n col => col.name == fileVersionColumnName,\n )\n\n query.selectFileColumn = fileIdColumnModel\n ? Number(fileIdColumnModel.id)\n : undefined\n query.selectFileVersionColumn = fileVersionColumnModel\n ? Number(fileVersionColumnModel.id)\n : undefined\n } else {\n const fileColumnId = getFileColumnModelId(\n originalQueryMetadata.columnModels,\n )\n if (fileColumnId) {\n query.selectFileColumn = Number(fileColumnId)\n }\n }\n\n if (\n hasSelectedRows &&\n rowSelectionPrimaryKey &&\n originalQueryMetadata.selectColumns\n ) {\n const primaryKeyINFilter = getPrimaryKeyINFilter(\n rowSelectionPrimaryKey,\n selectedRows,\n originalQueryMetadata.selectColumns,\n )\n query.additionalFilters = [\n ...(query.additionalFilters || []),\n primaryKeyINFilter,\n ]\n }\n return {\n concreteType:\n 'org.sagebionetworks.repo.model.download.AddToDownloadListRequest',\n query: query as TableQuery,\n }\n }, [\n originalQueryMetadata.columnModels,\n originalQueryMetadata.selectColumns,\n getCurrentQueryRequest,\n hasSelectedRows,\n rowSelectionPrimaryKey,\n selectedRows,\n fileIdColumnName,\n fileVersionColumnName,\n ])\n}\n"],"mappings":";;;;;;;;AAmBA,SAAgB,IAA0E;CACxF,IAAM,EAAE,2BAAwB,qBAAkB,6BAChD,EAAgB,GACZ,EAAE,MAAM,MAA0B,EAA4B,GAE9D,IAAkB,EAA4B,GAC9C,IAAe,EAAyB,GACxC,IAAyB,EAAmC;CAElE,OAAO,QAAc;EACnB,IAAM,IAAQ,EAAuB,EAAE;EAEvC,IAAI,KAAoB,GAAuB;GAE7C,IAAM,IAAoB,EAAsB,cAAc,MAC5D,MAAO,EAAI,QAAQ,CACrB,GACM,IAAyB,EAAsB,cAAc,MACjE,MAAO,EAAI,QAAQ,CACrB;GAKA,AAHA,EAAM,mBAAmB,IACrB,OAAO,EAAkB,EAAE,IAC3B,KAAA,GACJ,EAAM,0BAA0B,IAC5B,OAAO,EAAuB,EAAE,IAChC,KAAA;EACN,OAAO;GACL,IAAM,IAAe,EACnB,EAAsB,YACxB;GACA,AAAI,MACF,EAAM,mBAAmB,OAAO,CAAY;EAEhD;EAEA,IACE,KACA,KACA,EAAsB,eACtB;GACA,IAAM,IAAqB,EACzB,GACA,GACA,EAAsB,aACxB;GACA,EAAM,oBAAoB,CACxB,GAAI,EAAM,qBAAqB,CAAC,GAChC,CACF;EACF;EACA,OAAO;GACL,cACE;GACK;EACT;CACF,GAAG;EACD,EAAsB;EACtB,EAAsB;EACtB;EACA;EACA;EACA;EACA;EACA;CACF,CAAC;AACH"}
@@ -1 +1 @@
1
- {"version":3,"file":"useGetQueryMetadata.js","names":[],"sources":["../../../src/components/QueryWrapper/useGetQueryMetadata.ts"],"sourcesContent":["import { SynapseClientError } from '@sage-bionetworks/synapse-client'\nimport {\n AsynchronousJobStatus,\n QueryBundleRequest,\n QueryResultBundle,\n} from '@sage-bionetworks/synapse-types'\nimport {\n useQuery,\n UseQueryOptions,\n useSuspenseQuery,\n UseSuspenseQueryOptions,\n} from '@tanstack/react-query'\nimport { useQueryContext } from '../QueryContext/index'\n\n/**\n * Get the metadata (columns, count, i.e. not row data) for the query in the current QueryContext (provided by\n * QueryWrapper)\n */\nexport function useGetQueryMetadata<\n TSelect = Omit<QueryResultBundle, 'queryResult'>,\n>(\n optionsOverrides?: Partial<\n UseQueryOptions<\n AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>,\n SynapseClientError,\n TSelect\n >\n >,\n) {\n const { queryMetadataQueryOptions } = useQueryContext()\n\n const mergedOptions = {\n ...queryMetadataQueryOptions,\n ...optionsOverrides,\n } as UseQueryOptions<\n AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>,\n SynapseClientError,\n TSelect\n >\n\n return useQuery(mergedOptions)\n}\n\n/**\n * Get the metadata (columns, count, i.e. not row data) for the query in the current QueryContext (provided by\n * QueryWrapper). Suspends the component tree if the query data is not yet loaded.\n */\nexport function useSuspenseGetQueryMetadata<\n TSelect = Omit<QueryResultBundle, 'queryResult'>,\n>(\n optionsOverrides?: Partial<\n UseSuspenseQueryOptions<\n AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>,\n SynapseClientError,\n TSelect\n >\n >,\n) {\n const { queryMetadataQueryOptions } = useQueryContext()\n\n const mergedOptions = {\n ...queryMetadataQueryOptions,\n ...optionsOverrides,\n } as UseSuspenseQueryOptions<\n AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>,\n SynapseClientError,\n TSelect\n >\n\n return useSuspenseQuery<\n AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>,\n SynapseClientError,\n TSelect\n >(mergedOptions)\n}\n"],"mappings":";;;;AAkBA,SAAgB,EAGd,GAOA;CACA,IAAM,EAAE,iCAA8B,GAAiB;AAWvD,QAAO,EAAS;EARd,GAAG;EACH,GAAG;EAOW,CAAc;;AAOhC,SAAgB,EAGd,GAOA;CACA,IAAM,EAAE,iCAA8B,GAAiB;AAWvD,QAAO,EAIL;EAZA,GAAG;EACH,GAAG;EAWH,CAAc"}
1
+ {"version":3,"file":"useGetQueryMetadata.js","names":[],"sources":["../../../src/components/QueryWrapper/useGetQueryMetadata.ts"],"sourcesContent":["import { SynapseClientError } from '@sage-bionetworks/synapse-client'\nimport {\n AsynchronousJobStatus,\n QueryBundleRequest,\n QueryResultBundle,\n} from '@sage-bionetworks/synapse-types'\nimport {\n useQuery,\n UseQueryOptions,\n useSuspenseQuery,\n UseSuspenseQueryOptions,\n} from '@tanstack/react-query'\nimport { useQueryContext } from '../QueryContext/index'\n\n/**\n * Get the metadata (columns, count, i.e. not row data) for the query in the current QueryContext (provided by\n * QueryWrapper)\n */\nexport function useGetQueryMetadata<\n TSelect = Omit<QueryResultBundle, 'queryResult'>,\n>(\n optionsOverrides?: Partial<\n UseQueryOptions<\n AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>,\n SynapseClientError,\n TSelect\n >\n >,\n) {\n const { queryMetadataQueryOptions } = useQueryContext()\n\n const mergedOptions = {\n ...queryMetadataQueryOptions,\n ...optionsOverrides,\n } as UseQueryOptions<\n AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>,\n SynapseClientError,\n TSelect\n >\n\n return useQuery(mergedOptions)\n}\n\n/**\n * Get the metadata (columns, count, i.e. not row data) for the query in the current QueryContext (provided by\n * QueryWrapper). Suspends the component tree if the query data is not yet loaded.\n */\nexport function useSuspenseGetQueryMetadata<\n TSelect = Omit<QueryResultBundle, 'queryResult'>,\n>(\n optionsOverrides?: Partial<\n UseSuspenseQueryOptions<\n AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>,\n SynapseClientError,\n TSelect\n >\n >,\n) {\n const { queryMetadataQueryOptions } = useQueryContext()\n\n const mergedOptions = {\n ...queryMetadataQueryOptions,\n ...optionsOverrides,\n } as UseSuspenseQueryOptions<\n AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>,\n SynapseClientError,\n TSelect\n >\n\n return useSuspenseQuery<\n AsynchronousJobStatus<QueryBundleRequest, QueryResultBundle>,\n SynapseClientError,\n TSelect\n >(mergedOptions)\n}\n"],"mappings":";;;;AAkBA,SAAgB,EAGd,GAOA;CACA,IAAM,EAAE,iCAA8B,EAAgB;CAWtD,OAAO,EAAS;EARd,GAAG;EACH,GAAG;CAOW,CAAa;AAC/B;AAMA,SAAgB,EAGd,GAOA;CACA,IAAM,EAAE,iCAA8B,EAAgB;CAWtD,OAAO,EAIL;EAZA,GAAG;EACH,GAAG;CAWH,CAAa;AACjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"useHasFacetedSelectColumn.js","names":[],"sources":["../../../src/components/QueryWrapper/useHasFacetedSelectColumn.ts"],"sourcesContent":["import { hasFacetedSelectColumn as hasFacetedSelectColumnUtil } from '@/utils/functions/queryUtils'\nimport { useQuery } from '@tanstack/react-query'\nimport { QueryContextType } from '../QueryContext/index'\n\nexport default function useHasFacetedSelectColumn(\n queryMetadataQueryOptions: QueryContextType['queryMetadataQueryOptions'],\n): boolean {\n const { data: queryMetadata, isLoading } = useQuery(queryMetadataQueryOptions)\n\n if (!queryMetadata) {\n // if loading, return true - the facet UI will be shown in a loading state\n return isLoading\n }\n\n return hasFacetedSelectColumnUtil(\n queryMetadata.facets,\n queryMetadata.selectColumns,\n )\n}\n"],"mappings":";;;AAIA,SAAwB,EACtB,GACS;CACT,IAAM,EAAE,MAAM,GAAe,iBAAc,EAAS,EAA0B;AAO9E,QALK,IAKE,EACL,EAAc,QACd,EAAc,cACf,GANQ"}
1
+ {"version":3,"file":"useHasFacetedSelectColumn.js","names":[],"sources":["../../../src/components/QueryWrapper/useHasFacetedSelectColumn.ts"],"sourcesContent":["import { hasFacetedSelectColumn as hasFacetedSelectColumnUtil } from '@/utils/functions/queryUtils'\nimport { useQuery } from '@tanstack/react-query'\nimport { QueryContextType } from '../QueryContext/index'\n\nexport default function useHasFacetedSelectColumn(\n queryMetadataQueryOptions: QueryContextType['queryMetadataQueryOptions'],\n): boolean {\n const { data: queryMetadata, isLoading } = useQuery(queryMetadataQueryOptions)\n\n if (!queryMetadata) {\n // if loading, return true - the facet UI will be shown in a loading state\n return isLoading\n }\n\n return hasFacetedSelectColumnUtil(\n queryMetadata.facets,\n queryMetadata.selectColumns,\n )\n}\n"],"mappings":";;;AAIA,SAAwB,EACtB,GACS;CACT,IAAM,EAAE,MAAM,GAAe,iBAAc,EAAS,CAAyB;CAO7E,OALK,IAKE,EACL,EAAc,QACd,EAAc,aAChB,IANS;AAOX"}
@@ -1 +1 @@
1
- {"version":3,"file":"useOnQueryDataChange.js","names":[],"sources":["../../../src/components/QueryWrapper/useOnQueryDataChange.ts"],"sourcesContent":["import { useDeepCompareEffectNoCheck } from 'use-deep-compare-effect'\nimport { useQuery } from '@tanstack/react-query'\nimport {\n QueryBundleRequest,\n QueryResultBundle,\n} from '@sage-bionetworks/synapse-types'\nimport { useTableQueryUseQueryOptions } from './TableQueryUseQueryOptions'\nimport { useEffect, useRef, useState } from 'react'\n\ntype UseOnQueryDataChangeOptions = {\n queryBundleRequest: QueryBundleRequest\n onChange: (data: QueryResultBundle) => void\n}\n\n/**\n * Calls the onChange callback with the current QueryResultBundle when the data for the passed query changes\n * @param options\n */\nexport default function useOnQueryDataChange(\n options: UseOnQueryDataChangeOptions,\n) {\n const { queryBundleRequest, onChange } = options\n const { rowDataQueryOptions, queryMetadataQueryOptions } =\n useTableQueryUseQueryOptions(queryBundleRequest)\n\n const { data: rowData, isLoading: rowDataIsLoading } = useQuery({\n ...rowDataQueryOptions,\n select: asyncJobResponse => asyncJobResponse.responseBody,\n })\n const { data: queryMetadata, isLoading: queryMetadataIsLoading } = useQuery(\n queryMetadataQueryOptions,\n )\n\n // SWC requires the entire QueryResultBundle to enable editing table data, so merge the data back into one object before\n // passing it to the onChange callback\n const [mergedData, setMergedData] = useState<QueryResultBundle>()\n useEffect(() => {\n if (\n rowData &&\n queryMetadata &&\n !rowDataIsLoading &&\n !queryMetadataIsLoading\n ) {\n setMergedData({\n ...queryMetadata,\n ...rowData,\n })\n }\n }, [queryMetadata, queryMetadataIsLoading, rowData, rowDataIsLoading])\n\n // Use a ref so we always call the latest onChange without including it in the\n // effect dependency array. Including a frequently-recreated callback in deps\n // causes the effect to re-fire on every render, creating an infinite loop when\n // the parent updates state inside the callback.\n const onChangeRef = useRef(onChange)\n onChangeRef.current = onChange\n\n // mergedData is sometimes undefined, which useDeepCompareEffect doesn't like, so use useDeepCompareEffectNoCheck instead\n useDeepCompareEffectNoCheck(() => {\n if (mergedData) {\n onChangeRef.current(mergedData)\n }\n }, [mergedData])\n}\n"],"mappings":";;;;;AAkBA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,uBAAoB,gBAAa,GACnC,EAAE,wBAAqB,iCAC3B,EAA6B,EAAmB,EAE5C,EAAE,MAAM,GAAS,WAAW,MAAqB,EAAS;EAC9D,GAAG;EACH,SAAQ,MAAoB,EAAiB;EAC9C,CAAC,EACI,EAAE,MAAM,GAAe,WAAW,MAA2B,EACjE,EACD,EAIK,CAAC,GAAY,KAAiB,GAA6B;AACjE,SAAgB;AACd,EACE,KACA,KACA,CAAC,KACD,CAAC,KAED,EAAc;GACZ,GAAG;GACH,GAAG;GACJ,CAAC;IAEH;EAAC;EAAe;EAAwB;EAAS;EAAiB,CAAC;CAMtE,IAAM,IAAc,EAAO,EAAS;AAIpC,CAHA,EAAY,UAAU,GAGtB,QAAkC;AAChC,EAAI,KACF,EAAY,QAAQ,EAAW;IAEhC,CAAC,EAAW,CAAC"}
1
+ {"version":3,"file":"useOnQueryDataChange.js","names":[],"sources":["../../../src/components/QueryWrapper/useOnQueryDataChange.ts"],"sourcesContent":["import { useDeepCompareEffectNoCheck } from 'use-deep-compare-effect'\nimport { useQuery } from '@tanstack/react-query'\nimport {\n QueryBundleRequest,\n QueryResultBundle,\n} from '@sage-bionetworks/synapse-types'\nimport { useTableQueryUseQueryOptions } from './TableQueryUseQueryOptions'\nimport { useEffect, useRef, useState } from 'react'\n\ntype UseOnQueryDataChangeOptions = {\n queryBundleRequest: QueryBundleRequest\n onChange: (data: QueryResultBundle) => void\n}\n\n/**\n * Calls the onChange callback with the current QueryResultBundle when the data for the passed query changes\n * @param options\n */\nexport default function useOnQueryDataChange(\n options: UseOnQueryDataChangeOptions,\n) {\n const { queryBundleRequest, onChange } = options\n const { rowDataQueryOptions, queryMetadataQueryOptions } =\n useTableQueryUseQueryOptions(queryBundleRequest)\n\n const { data: rowData, isLoading: rowDataIsLoading } = useQuery({\n ...rowDataQueryOptions,\n select: asyncJobResponse => asyncJobResponse.responseBody,\n })\n const { data: queryMetadata, isLoading: queryMetadataIsLoading } = useQuery(\n queryMetadataQueryOptions,\n )\n\n // SWC requires the entire QueryResultBundle to enable editing table data, so merge the data back into one object before\n // passing it to the onChange callback\n const [mergedData, setMergedData] = useState<QueryResultBundle>()\n useEffect(() => {\n if (\n rowData &&\n queryMetadata &&\n !rowDataIsLoading &&\n !queryMetadataIsLoading\n ) {\n setMergedData({\n ...queryMetadata,\n ...rowData,\n })\n }\n }, [queryMetadata, queryMetadataIsLoading, rowData, rowDataIsLoading])\n\n // Use a ref so we always call the latest onChange without including it in the\n // effect dependency array. Including a frequently-recreated callback in deps\n // causes the effect to re-fire on every render, creating an infinite loop when\n // the parent updates state inside the callback.\n const onChangeRef = useRef(onChange)\n onChangeRef.current = onChange\n\n // mergedData is sometimes undefined, which useDeepCompareEffect doesn't like, so use useDeepCompareEffectNoCheck instead\n useDeepCompareEffectNoCheck(() => {\n if (mergedData) {\n onChangeRef.current(mergedData)\n }\n }, [mergedData])\n}\n"],"mappings":";;;;;AAkBA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,uBAAoB,gBAAa,GACnC,EAAE,wBAAqB,iCAC3B,EAA6B,CAAkB,GAE3C,EAAE,MAAM,GAAS,WAAW,MAAqB,EAAS;EAC9D,GAAG;EACH,SAAQ,MAAoB,EAAiB;CAC/C,CAAC,GACK,EAAE,MAAM,GAAe,WAAW,MAA2B,EACjE,CACF,GAIM,CAAC,GAAY,KAAiB,EAA4B;CAChE,QAAgB;EACd,AACE,KACA,KACA,CAAC,KACD,CAAC,KAED,EAAc;GACZ,GAAG;GACH,GAAG;EACL,CAAC;CAEL,GAAG;EAAC;EAAe;EAAwB;EAAS;CAAgB,CAAC;CAMrE,IAAM,IAAc,EAAO,CAAQ;CAInC,AAHA,EAAY,UAAU,GAGtB,QAAkC;EAChC,AAAI,KACF,EAAY,QAAQ,CAAU;CAElC,GAAG,CAAC,CAAU,CAAC;AACjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryWrapperErrorBoundary.js","names":[],"sources":["../../src/components/QueryWrapperErrorBoundary.tsx"],"sourcesContent":["import { SynapseClientError, useSynapseContext } from '@/utils'\nimport { PropsWithChildren, useCallback, useMemo } from 'react'\nimport {\n ErrorBoundary,\n ErrorBoundaryPropsWithComponent,\n} from 'react-error-boundary'\nimport { EntityActionsRequired } from './AccessRequirement/EntityActionsRequired'\nimport { ErrorBanner } from './error/ErrorBanner'\nimport { useQueryContext } from './QueryContext/QueryContext'\nimport SqlEditor from './SynapseTable/SqlEditor'\n\n/**\n * Error boundary that automatically pulls the error from QueryContext. If 403, shows entity actions required\n */\nexport function QueryWrapperErrorBoundary({\n children,\n}: PropsWithChildren<Record<never, never>>) {\n const { getCurrentQueryRequest, onViewSharingSettingsClicked } =\n useQueryContext()\n const { entityId } = useMemo(\n () => getCurrentQueryRequest(),\n [getCurrentQueryRequest],\n )\n const { isAuthenticated } = useSynapseContext()\n\n const FallbackComponent: ErrorBoundaryPropsWithComponent['FallbackComponent'] =\n useCallback(\n props => {\n if (\n props.error instanceof SynapseClientError &&\n props.error.status === 403 &&\n isAuthenticated\n ) {\n return (\n <div className={`ErrorBannerWrapper`}>\n <EntityActionsRequired\n entityId={entityId}\n onViewSharingSettingsClicked={onViewSharingSettingsClicked}\n />\n </div>\n )\n }\n return (\n <div className={`ErrorBannerWrapper`}>\n <SqlEditor resetErrorBoundary={props.resetErrorBoundary} />\n <ErrorBanner {...props} />\n </div>\n )\n },\n [entityId, isAuthenticated, onViewSharingSettingsClicked],\n )\n\n return (\n <ErrorBoundary FallbackComponent={FallbackComponent}>\n {children}\n </ErrorBoundary>\n )\n}\n"],"mappings":";;;;;;;;;;AAcA,SAAgB,EAA0B,EACxC,eAC0C;CAC1C,IAAM,EAAE,2BAAwB,oCAC9B,GAAiB,EACb,EAAE,gBAAa,QACb,GAAwB,EAC9B,CAAC,EAAuB,CACzB,EACK,EAAE,uBAAoB,GAAmB;AA6B/C,QACE,kBAAC,GAAD;EAAkC,mBA3BlC,GACE,MAEI,EAAM,iBAAiB,KACvB,EAAM,MAAM,WAAW,OACvB,IAGE,kBAAC,OAAD;GAAK,WAAW;aACd,kBAAC,GAAD;IACY;IACoB;IAC9B,CAAA;GACE,CAAA,GAIR,kBAAC,OAAD;GAAK,WAAW;aAAhB,CACE,kBAAC,GAAD,EAAW,oBAAoB,EAAM,oBAAsB,CAAA,EAC3D,kBAAC,GAAD,EAAa,GAAI,GAAS,CAAA,CACtB;MAGV;GAAC;GAAU;GAAiB;GAA6B,CAIzB;EAC/B;EACa,CAAA"}
1
+ {"version":3,"file":"QueryWrapperErrorBoundary.js","names":[],"sources":["../../src/components/QueryWrapperErrorBoundary.tsx"],"sourcesContent":["import { SynapseClientError, useSynapseContext } from '@/utils'\nimport { PropsWithChildren, useCallback, useMemo } from 'react'\nimport {\n ErrorBoundary,\n ErrorBoundaryPropsWithComponent,\n} from 'react-error-boundary'\nimport { EntityActionsRequired } from './AccessRequirement/EntityActionsRequired'\nimport { ErrorBanner } from './error/ErrorBanner'\nimport { useQueryContext } from './QueryContext/QueryContext'\nimport SqlEditor from './SynapseTable/SqlEditor'\n\n/**\n * Error boundary that automatically pulls the error from QueryContext. If 403, shows entity actions required\n */\nexport function QueryWrapperErrorBoundary({\n children,\n}: PropsWithChildren<Record<never, never>>) {\n const { getCurrentQueryRequest, onViewSharingSettingsClicked } =\n useQueryContext()\n const { entityId } = useMemo(\n () => getCurrentQueryRequest(),\n [getCurrentQueryRequest],\n )\n const { isAuthenticated } = useSynapseContext()\n\n const FallbackComponent: ErrorBoundaryPropsWithComponent['FallbackComponent'] =\n useCallback(\n props => {\n if (\n props.error instanceof SynapseClientError &&\n props.error.status === 403 &&\n isAuthenticated\n ) {\n return (\n <div className={`ErrorBannerWrapper`}>\n <EntityActionsRequired\n entityId={entityId}\n onViewSharingSettingsClicked={onViewSharingSettingsClicked}\n />\n </div>\n )\n }\n return (\n <div className={`ErrorBannerWrapper`}>\n <SqlEditor resetErrorBoundary={props.resetErrorBoundary} />\n <ErrorBanner {...props} />\n </div>\n )\n },\n [entityId, isAuthenticated, onViewSharingSettingsClicked],\n )\n\n return (\n <ErrorBoundary FallbackComponent={FallbackComponent}>\n {children}\n </ErrorBoundary>\n )\n}\n"],"mappings":";;;;;;;;;;AAcA,SAAgB,EAA0B,EACxC,eAC0C;CAC1C,IAAM,EAAE,2BAAwB,oCAC9B,EAAgB,GACZ,EAAE,gBAAa,QACb,EAAuB,GAC7B,CAAC,CAAsB,CACzB,GACM,EAAE,uBAAoB,EAAkB;CA6B9C,OACE,kBAAC,GAAD;EAAkC,mBA3BlC,GACE,MAEI,EAAM,iBAAiB,KACvB,EAAM,MAAM,WAAW,OACvB,IAGE,kBAAC,OAAD;GAAK,WAAW;aACd,kBAAC,GAAD;IACY;IACoB;GAC/B,CAAA;EACE,CAAA,IAIP,kBAAC,OAAD;GAAK,WAAW;aAAhB,CACE,kBAAC,GAAD,EAAW,oBAAoB,EAAM,mBAAqB,CAAA,GAC1D,kBAAC,GAAD,EAAa,GAAI,EAAQ,CAAA,CACtB;MAGT;GAAC;GAAU;GAAiB;EAA4B,CAIxB;EAC/B;CACY,CAAA;AAEnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"LastUpdatedOn.js","names":[],"sources":["../../../src/components/QueryWrapperPlotNav/LastUpdatedOn.tsx"],"sourcesContent":["import { formatDate } from '@/utils/functions/DateFormatter'\nimport { Skeleton, Typography } from '@mui/material'\nimport dayjs from 'dayjs'\nimport { Suspense } from 'react'\nimport { useQueryVisualizationContext } from '../QueryVisualizationWrapper'\nimport { useSuspenseGetQueryMetadata } from '../QueryWrapper/useGetQueryMetadata'\n\nfunction LastUpdatedOn() {\n const { showLastUpdatedOn } = useQueryVisualizationContext()\n const { data: queryMetadata } = useSuspenseGetQueryMetadata()\n\n return showLastUpdatedOn && queryMetadata && queryMetadata.lastUpdatedOn ? (\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-end',\n }}\n >\n <Typography variant=\"body1Italic\">\n Last updated on {formatDate(dayjs(queryMetadata.lastUpdatedOn))}\n </Typography>\n </div>\n ) : (\n <></>\n )\n}\n\nexport default function LastUpdatedOnWithSuspense() {\n const { showLastUpdatedOn } = useQueryVisualizationContext()\n if (!showLastUpdatedOn) {\n return <></>\n }\n return (\n <Suspense fallback={<Skeleton width={100}></Skeleton>}>\n <LastUpdatedOn />\n </Suspense>\n )\n}\n"],"mappings":";;;;;;;;;AAOA,SAAS,IAAgB;CACvB,IAAM,EAAE,yBAAsB,GAA8B,EACtD,EAAE,MAAM,MAAkB,GAA6B;AAE7D,QAAO,KAAqB,KAAiB,EAAc,gBACzD,kBAAC,OAAD;EACE,OAAO;GACL,SAAS;GACT,eAAe;GACf,YAAY;GACb;YAED,kBAAC,GAAD;GAAY,SAAQ;aAApB,CAAkC,oBACf,EAAW,EAAM,EAAc,cAAc,CAAC,CACpD;;EACT,CAAA,GAEN,kBAAA,GAAA,EAAK,CAAA;;AAIT,SAAwB,IAA4B;CAClD,IAAM,EAAE,yBAAsB,GAA8B;AAI5D,QAHK,IAIH,kBAAC,GAAD;EAAU,UAAU,kBAAC,GAAD,EAAU,OAAO,KAAgB,CAAA;YACnD,kBAAC,GAAD,EAAiB,CAAA;EACR,CAAA,GALJ,kBAAA,GAAA,EAAK,CAAA"}
1
+ {"version":3,"file":"LastUpdatedOn.js","names":[],"sources":["../../../src/components/QueryWrapperPlotNav/LastUpdatedOn.tsx"],"sourcesContent":["import { formatDate } from '@/utils/functions/DateFormatter'\nimport { Skeleton, Typography } from '@mui/material'\nimport dayjs from 'dayjs'\nimport { Suspense } from 'react'\nimport { useQueryVisualizationContext } from '../QueryVisualizationWrapper'\nimport { useSuspenseGetQueryMetadata } from '../QueryWrapper/useGetQueryMetadata'\n\nfunction LastUpdatedOn() {\n const { showLastUpdatedOn } = useQueryVisualizationContext()\n const { data: queryMetadata } = useSuspenseGetQueryMetadata()\n\n return showLastUpdatedOn && queryMetadata && queryMetadata.lastUpdatedOn ? (\n <div\n style={{\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'flex-end',\n }}\n >\n <Typography variant=\"body1Italic\">\n Last updated on {formatDate(dayjs(queryMetadata.lastUpdatedOn))}\n </Typography>\n </div>\n ) : (\n <></>\n )\n}\n\nexport default function LastUpdatedOnWithSuspense() {\n const { showLastUpdatedOn } = useQueryVisualizationContext()\n if (!showLastUpdatedOn) {\n return <></>\n }\n return (\n <Suspense fallback={<Skeleton width={100}></Skeleton>}>\n <LastUpdatedOn />\n </Suspense>\n )\n}\n"],"mappings":";;;;;;;;;AAOA,SAAS,IAAgB;CACvB,IAAM,EAAE,yBAAsB,EAA6B,GACrD,EAAE,MAAM,MAAkB,EAA4B;CAE5D,OAAO,KAAqB,KAAiB,EAAc,gBACzD,kBAAC,OAAD;EACE,OAAO;GACL,SAAS;GACT,eAAe;GACf,YAAY;EACd;YAEA,kBAAC,GAAD;GAAY,SAAQ;aAApB,CAAkC,oBACf,EAAW,EAAM,EAAc,aAAa,CAAC,CACpD;;CACT,CAAA,IAEL,kBAAA,GAAA,CAAI,CAAA;AAER;AAEA,SAAwB,IAA4B;CAClD,IAAM,EAAE,yBAAsB,EAA6B;CAI3D,OAHK,IAIH,kBAAC,GAAD;EAAU,UAAU,kBAAC,GAAD,EAAU,OAAO,IAAe,CAAA;YAClD,kBAAC,GAAD,CAAgB,CAAA;CACR,CAAA,IALH,kBAAA,GAAA,CAAI,CAAA;AAOf"}
@@ -38,7 +38,7 @@ type QueryWrapperPlotNavOwnProps = {
38
38
  onViewSharingSettingsClicked?: (benefactorId: string) => void;
39
39
  initialLimit?: number;
40
40
  hideTopLevelControls?: boolean;
41
- } & Omit<TopLevelControlsProps, 'entityId'> & Pick<QueryWrapperPlotNavCustomPlotParams, 'onCustomPlotClick'> & Pick<QueryWrapperProps, 'isRowSelectionVisible' | 'rowSelectionPrimaryKey' | 'isRowSelectionUIFloating' | 'fileIdColumnName' | 'fileNameColumnName' | 'fileVersionColumnName'> & Pick<QueryVisualizationWrapperProps, 'defaultShowPlots' | 'visibleColumnCount' | 'columnAliases' | 'rgbIndex' | 'showLastUpdatedOn' | 'noContentPlaceholderType' | 'unitDescription' | 'additionalFiltersSessionStorageKey' | 'helpConfiguration' | 'hideCopyToClipboard' | 'hideSearchBarControl' | 'hideVisualizationsControl' | 'enabledExternalAnalysisPlatforms' | 'lockTextMatchesQueryFilterPill'> & Pick<QueryContextType, 'combineRangeFacetConfig'>;
41
+ } & Omit<TopLevelControlsProps, 'entityId'> & Pick<QueryWrapperPlotNavCustomPlotParams, 'onCustomPlotClick'> & Pick<QueryWrapperProps, 'isRowSelectionVisible' | 'rowSelectionPrimaryKey' | 'isRowSelectionUIFloating' | 'fileIdColumnName' | 'fileNameColumnName' | 'fileVersionColumnName'> & Pick<QueryVisualizationWrapperProps, 'defaultShowPlots' | 'visibleColumnCount' | 'hiddenColumns' | 'columnAliases' | 'rgbIndex' | 'showLastUpdatedOn' | 'noContentPlaceholderType' | 'unitDescription' | 'additionalFiltersSessionStorageKey' | 'helpConfiguration' | 'hideCopyToClipboard' | 'hideSearchBarControl' | 'hideVisualizationsControl' | 'enabledExternalAnalysisPlatforms' | 'lockTextMatchesQueryFilterPill'> & Pick<QueryContextType, 'combineRangeFacetConfig'>;
42
42
  export type QueryWrapperPlotNavProps = QueryOrDeprecatedSearchParams & PlotsContainerProps & QueryWrapperPlotNavOwnProps;
43
43
  export type QueryWrapperPlotNavContentsProps = Pick<QueryWrapperPlotNavProps, 'tableConfiguration' | 'name' | 'cardConfiguration' | 'facetsToPlot' | 'availableFacets' | 'initialExpandedFacetControls' | 'hideDownload' | 'hideQueryCount' | 'hideSqlEditorControl' | 'hideVisualizationsControl' | 'searchConfiguration' | 'enabledExternalAnalysisPlatforms' | 'cavaticaConnectAccountURL' | 'customControls' | 'customPlots' | 'fileIdColumnName' | 'fileNameColumnName' | 'fileVersionColumnName' | 'initialLimit' | 'initialPlotTypeByFacetColumnName' | 'hideTopLevelControls'> & {
44
44
  isFullTextSearchEnabled: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"QueryWrapperPlotNav.d.ts","sourceRoot":"","sources":["../../../src/components/QueryWrapperPlotNav/QueryWrapperPlotNav.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAA;AAiBlG,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAItE,OAAO,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,iBAAiB,CAAA;AACnE,OAAO,EAGL,8BAA8B,EAC/B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAgB,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAGjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAiB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAElE,OAAyB,EACvB,qBAAqB,EACrB,aAAa,EACd,MAAM,mDAAmD,CAAA;AAG1D,OAAuB,EACrB,mBAAmB,EACpB,MAAM,qCAAqC,CAAA;AAC5C,OAA4B,EAC1B,wBAAwB,EACzB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAA;AAIxE,eAAO,MAAM,0BAA0B,EAAE,MAAgC,CAAA;AACzE,eAAO,MAAM,2BAA2B,EAAE,MAA+B,CAAA;AAEzE,eAAO,MAAM,qBAAqB,EAAE,MAA0B,CAAA;AAE9D,KAAK,2BAA2B,GAAG;IACjC,2HAA2H;IAC3H,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,iLAAiL;IACjL,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,mFAAmF;IACnF,aAAa,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,2GAA2G;IAC3G,yBAAyB,CAAC,EAAE,CAAC,wBAAwB,EAAE,MAAM,KAAK,IAAI,CAAA;IACtE,2FAA2F;IAC3F,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kBAAkB,CAAC,EAAE,yBAAyB,CAAA;IAC9C,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,mBAAmB,CAAC,EAAE,IAAI,CACxB,aAAa,EACb,cAAc,GAAG,2BAA2B,CAC7C,CAAA;IACD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,eAAe,CAAC,EAAE,wBAAwB,CAAC,iBAAiB,CAAC,CAAA;IAC7D,4BAA4B,CAAC,EAAE,wBAAwB,CAAC,8BAA8B,CAAC,CAAA;IACvF,WAAW,CAAC,EAAE,4BAA4B,EAAE,CAAA;IAC5C,cAAc,CAAC,EAAE,aAAa,EAAE,CAAA;IAChC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,YAAY,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAA;IAChD,4BAA4B,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B,GAAG,IAAI,CAAC,qBAAqB,EAAE,UAAU,CAAC,GACzC,IAAI,CAAC,mCAAmC,EAAE,mBAAmB,CAAC,GAC9D,IAAI,CACF,iBAAiB,EACf,uBAAuB,GACvB,wBAAwB,GACxB,0BAA0B,GAC1B,kBAAkB,GAClB,oBAAoB,GACpB,uBAAuB,CAC1B,GACD,IAAI,CACF,8BAA8B,EAC5B,kBAAkB,GAClB,oBAAoB,GACpB,eAAe,GACf,UAAU,GACV,mBAAmB,GACnB,0BAA0B,GAC1B,iBAAiB,GACjB,oCAAoC,GACpC,mBAAmB,GACnB,qBAAqB,GACrB,sBAAsB,GACtB,2BAA2B,GAC3B,kCAAkC,GAClC,gCAAgC,CACnC,GACD,IAAI,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAA;AAEnD,MAAM,MAAM,wBAAwB,GAAG,6BAA6B,GAClE,mBAAmB,GACnB,2BAA2B,CAAA;AAE7B,MAAM,MAAM,gCAAgC,GAAG,IAAI,CACjD,wBAAwB,EACtB,oBAAoB,GACpB,MAAM,GACN,mBAAmB,GACnB,cAAc,GACd,iBAAiB,GACjB,8BAA8B,GAC9B,cAAc,GACd,gBAAgB,GAChB,sBAAsB,GACtB,2BAA2B,GAC3B,qBAAqB,GACrB,kCAAkC,GAClC,2BAA2B,GAC3B,gBAAgB,GAChB,aAAa,GACb,kBAAkB,GAClB,oBAAoB,GACpB,uBAAuB,GACvB,cAAc,GACd,kCAAkC,GAClC,sBAAsB,CACzB,GAAG;IACF,uBAAuB,EAAE,OAAO,CAAA;IAChC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,gCAAgC,2CAsJxC;AAED,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,2CAoH1E"}
1
+ {"version":3,"file":"QueryWrapperPlotNav.d.ts","sourceRoot":"","sources":["../../../src/components/QueryWrapperPlotNav/QueryWrapperPlotNav.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAA;AAiBlG,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAA;AAItE,OAAO,EAAE,mCAAmC,EAAE,MAAM,qBAAqB,CAAA;AACzE,OAAO,EAAE,gBAAgB,EAAmB,MAAM,iBAAiB,CAAA;AACnE,OAAO,EAGL,8BAA8B,EAC/B,MAAM,8BAA8B,CAAA;AACrC,OAAO,EAAgB,iBAAiB,EAAE,MAAM,iBAAiB,CAAA;AAGjE,OAAO,EAAE,yBAAyB,EAAE,MAAM,iBAAiB,CAAA;AAC3D,OAAiB,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;AAElE,OAAyB,EACvB,qBAAqB,EACrB,aAAa,EACd,MAAM,mDAAmD,CAAA;AAG1D,OAAuB,EACrB,mBAAmB,EACpB,MAAM,qCAAqC,CAAA;AAC5C,OAA4B,EAC1B,wBAAwB,EACzB,MAAM,6CAA6C,CAAA;AACpD,OAAO,EAAE,4BAA4B,EAAE,MAAM,2BAA2B,CAAA;AAIxE,eAAO,MAAM,0BAA0B,EAAE,MAAgC,CAAA;AACzE,eAAO,MAAM,2BAA2B,EAAE,MAA+B,CAAA;AAEzE,eAAO,MAAM,qBAAqB,EAAE,MAA0B,CAAA;AAE9D,KAAK,2BAA2B,GAAG;IACjC,2HAA2H;IAC3H,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,iLAAiL;IACjL,cAAc,CAAC,EAAE,OAAO,CAAA;IACxB,mFAAmF;IACnF,aAAa,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IAC9C,2GAA2G;IAC3G,yBAAyB,CAAC,EAAE,CAAC,wBAAwB,EAAE,MAAM,KAAK,IAAI,CAAA;IACtE,2FAA2F;IAC3F,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,kBAAkB,CAAC,EAAE,yBAAyB,CAAA;IAC9C,iBAAiB,CAAC,EAAE,iBAAiB,CAAA;IACrC,mBAAmB,CAAC,EAAE,IAAI,CACxB,aAAa,EACb,cAAc,GAAG,2BAA2B,CAC7C,CAAA;IACD,YAAY,CAAC,EAAE,MAAM,EAAE,CAAA;IACvB,eAAe,CAAC,EAAE,wBAAwB,CAAC,iBAAiB,CAAC,CAAA;IAC7D,4BAA4B,CAAC,EAAE,wBAAwB,CAAC,8BAA8B,CAAC,CAAA;IACvF,WAAW,CAAC,EAAE,4BAA4B,EAAE,CAAA;IAC5C,cAAc,CAAC,EAAE,aAAa,EAAE,CAAA;IAChC,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,oBAAoB,CAAC,EAAE,OAAO,CAAA;IAC9B,YAAY,CAAC,EAAE,iBAAiB,CAAC,cAAc,CAAC,CAAA;IAChD,4BAA4B,CAAC,EAAE,CAAC,YAAY,EAAE,MAAM,KAAK,IAAI,CAAA;IAC7D,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,oBAAoB,CAAC,EAAE,OAAO,CAAA;CAC/B,GAAG,IAAI,CAAC,qBAAqB,EAAE,UAAU,CAAC,GACzC,IAAI,CAAC,mCAAmC,EAAE,mBAAmB,CAAC,GAC9D,IAAI,CACF,iBAAiB,EACf,uBAAuB,GACvB,wBAAwB,GACxB,0BAA0B,GAC1B,kBAAkB,GAClB,oBAAoB,GACpB,uBAAuB,CAC1B,GACD,IAAI,CACF,8BAA8B,EAC5B,kBAAkB,GAClB,oBAAoB,GACpB,eAAe,GACf,eAAe,GACf,UAAU,GACV,mBAAmB,GACnB,0BAA0B,GAC1B,iBAAiB,GACjB,oCAAoC,GACpC,mBAAmB,GACnB,qBAAqB,GACrB,sBAAsB,GACtB,2BAA2B,GAC3B,kCAAkC,GAClC,gCAAgC,CACnC,GACD,IAAI,CAAC,gBAAgB,EAAE,yBAAyB,CAAC,CAAA;AAEnD,MAAM,MAAM,wBAAwB,GAAG,6BAA6B,GAClE,mBAAmB,GACnB,2BAA2B,CAAA;AAE7B,MAAM,MAAM,gCAAgC,GAAG,IAAI,CACjD,wBAAwB,EACtB,oBAAoB,GACpB,MAAM,GACN,mBAAmB,GACnB,cAAc,GACd,iBAAiB,GACjB,8BAA8B,GAC9B,cAAc,GACd,gBAAgB,GAChB,sBAAsB,GACtB,2BAA2B,GAC3B,qBAAqB,GACrB,kCAAkC,GAClC,2BAA2B,GAC3B,gBAAgB,GAChB,aAAa,GACb,kBAAkB,GAClB,oBAAoB,GACpB,uBAAuB,GACvB,cAAc,GACd,kCAAkC,GAClC,sBAAsB,CACzB,GAAG;IACF,uBAAuB,EAAE,OAAO,CAAA;IAChC,OAAO,CAAC,EAAE,MAAM,IAAI,CAAA;CACrB,CAAA;AAED,wBAAgB,2BAA2B,CACzC,KAAK,EAAE,gCAAgC,2CAsJxC;AAED,MAAM,CAAC,OAAO,UAAU,mBAAmB,CAAC,KAAK,EAAE,wBAAwB,2CAqH1E"}
@@ -137,6 +137,7 @@ function z(r) {
137
137
  columnAliases: r.columnAliases,
138
138
  helpConfiguration: h,
139
139
  visibleColumnCount: r.visibleColumnCount,
140
+ hiddenColumns: r.hiddenColumns,
140
141
  defaultShowPlots: r.defaultShowPlots,
141
142
  hideCopyToClipboard: r.hideCopyToClipboard,
142
143
  defaultShowSearchBar: (r.defaultShowSearchBox || M) && !r.hideSearchBarControl,
@@ -1 +1 @@
1
- {"version":3,"file":"QueryWrapperPlotNav.js","names":[],"sources":["../../../src/components/QueryWrapperPlotNav/QueryWrapperPlotNav.tsx"],"sourcesContent":["import { QueryOrDeprecatedSearchParams } from '@/components/CardContainerLogic/CardContainerLogic'\nimport AddToDownloadListConfirmationAlert from '@/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert'\nimport { useGetAddToDownloadListRequestForCurrentQuery } from '@/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery'\nimport { NoContentPlaceholderType } from '@/components/SynapseTable/NoContentPlaceholderType'\nimport { useGetEntity } from '@/synapse-queries'\nimport { SynapseConstants } from '@/utils'\nimport {\n getAdditionalFilters,\n parseEntityIdAndVersionFromSqlStatement,\n} from '@/utils/functions'\nimport { isTable } from '@/utils/functions/EntityTypeUtils'\nimport { DEFAULT_PAGE_SIZE } from '@/utils/SynapseConstants'\nimport { Box } from '@mui/material'\nimport { Query, QueryBundleRequest } from '@sage-bionetworks/synapse-types'\nimport { useQuery } from '@tanstack/react-query'\nimport { useAtomValue } from 'jotai'\nimport { Suspense, useMemo, useState } from 'react'\nimport { CardConfiguration } from '../CardContainer/CardConfiguration'\nimport { SynapseErrorBoundary } from '../error'\nimport FullTextSearch from '../FullTextSearch/FullTextSearch'\nimport ModalDownload from '../ModalDownload/ModalDownload'\nimport { QueryWrapperPlotNavCustomPlotParams } from '../Plot/SynapsePlot'\nimport { QueryContextType, useQueryContext } from '../QueryContext'\nimport {\n QueryVisualizationContextConsumer,\n QueryVisualizationWrapper,\n QueryVisualizationWrapperProps,\n} from '../QueryVisualizationWrapper'\nimport { QueryWrapper, QueryWrapperProps } from '../QueryWrapper'\nimport { isRowSelectionVisibleAtom } from '../QueryWrapper/TableRowSelectionState'\nimport { QueryWrapperErrorBoundary } from '../QueryWrapperErrorBoundary'\nimport { SynapseTableConfiguration } from '../SynapseTable'\nimport SearchV2, { SearchV2Props } from '../SynapseTable/SearchV2'\nimport SqlEditor from '../SynapseTable/SqlEditor'\nimport TopLevelControls, {\n TopLevelControlsProps,\n CustomControl,\n} from '../SynapseTable/TopLevelControls/TopLevelControls'\nimport { CustomControls } from '../SynapseTable/CustomControls/CustomControls'\nimport TotalQueryResults from '../TotalQueryResults'\nimport PlotsContainer, {\n PlotsContainerProps,\n} from '../widgets/facet-nav/PlotsContainer'\nimport FacetFilterControls, {\n FacetFilterControlsProps,\n} from '../widgets/query-filter/FacetFilterControls'\nimport { QueryWrapperSynapsePlotProps } from './QueryWrapperSynapsePlot'\nimport { RowSetView } from './RowSetView'\nimport QueryWrapperLoadingScreen from '../QueryWrapper/QueryWrapperLoadingScreen'\n\nexport const QUERY_FILTERS_EXPANDED_CSS: string = 'isShowingFacetFilters'\nexport const QUERY_FILTERS_COLLAPSED_CSS: string = 'isHidingFacetFilters'\n\nexport const HAS_SELECTED_ROWS_CSS: string = 'hasSelectedRows'\n\ntype QueryWrapperPlotNavOwnProps = {\n /** Whether the displayed results should be paginated or infinite. Default for cards is true, default for table is false */\n isInfinite?: boolean\n /** Set to true when you want the query to be saved in the URL search parameters. If you are controlling the view (such as in PortalSearch), you'll want to set this to false */\n shouldDeepLink?: boolean\n /** If onQueryChange is set, the callback will be invoked when the Query changes */\n onQueryChange?: (newQueryJson: string) => void\n /** If onQueryResultBundleChange is set, the callback will be invoked when the QueryResultBundle changes */\n onQueryResultBundleChange?: (newQueryResultBundleJson: string) => void\n /** If initQueryJson is set, it will be the Query used in the initial QueryBundleRequest */\n initQueryJson?: string\n tableConfiguration?: SynapseTableConfiguration\n cardConfiguration?: CardConfiguration\n searchConfiguration?: Omit<\n SearchV2Props,\n 'queryContext' | 'queryVisualizationContext'\n >\n facetsToPlot?: string[]\n availableFacets?: FacetFilterControlsProps['availableFacets']\n initialExpandedFacetControls?: FacetFilterControlsProps['initialExpandedFacetControls']\n customPlots?: QueryWrapperSynapsePlotProps[]\n customControls?: CustomControl[]\n defaultColumn?: string\n defaultShowSearchBox?: boolean\n lockedColumn?: QueryWrapperProps['lockedColumn']\n onViewSharingSettingsClicked?: (benefactorId: string) => void\n initialLimit?: number\n hideTopLevelControls?: boolean\n} & Omit<TopLevelControlsProps, 'entityId'> &\n Pick<QueryWrapperPlotNavCustomPlotParams, 'onCustomPlotClick'> &\n Pick<\n QueryWrapperProps,\n | 'isRowSelectionVisible'\n | 'rowSelectionPrimaryKey'\n | 'isRowSelectionUIFloating'\n | 'fileIdColumnName'\n | 'fileNameColumnName'\n | 'fileVersionColumnName'\n > &\n Pick<\n QueryVisualizationWrapperProps,\n | 'defaultShowPlots'\n | 'visibleColumnCount'\n | 'columnAliases'\n | 'rgbIndex'\n | 'showLastUpdatedOn'\n | 'noContentPlaceholderType'\n | 'unitDescription'\n | 'additionalFiltersSessionStorageKey'\n | 'helpConfiguration'\n | 'hideCopyToClipboard'\n | 'hideSearchBarControl'\n | 'hideVisualizationsControl'\n | 'enabledExternalAnalysisPlatforms'\n | 'lockTextMatchesQueryFilterPill'\n > &\n Pick<QueryContextType, 'combineRangeFacetConfig'>\n\nexport type QueryWrapperPlotNavProps = QueryOrDeprecatedSearchParams &\n PlotsContainerProps &\n QueryWrapperPlotNavOwnProps\n\nexport type QueryWrapperPlotNavContentsProps = Pick<\n QueryWrapperPlotNavProps,\n | 'tableConfiguration'\n | 'name'\n | 'cardConfiguration'\n | 'facetsToPlot'\n | 'availableFacets'\n | 'initialExpandedFacetControls'\n | 'hideDownload'\n | 'hideQueryCount'\n | 'hideSqlEditorControl'\n | 'hideVisualizationsControl'\n | 'searchConfiguration'\n | 'enabledExternalAnalysisPlatforms'\n | 'cavaticaConnectAccountURL'\n | 'customControls'\n | 'customPlots'\n | 'fileIdColumnName'\n | 'fileNameColumnName'\n | 'fileVersionColumnName'\n | 'initialLimit'\n | 'initialPlotTypeByFacetColumnName'\n | 'hideTopLevelControls'\n> & {\n isFullTextSearchEnabled: boolean\n remount?: () => void\n}\n\nexport function QueryWrapperPlotNavContents(\n props: QueryWrapperPlotNavContentsProps,\n) {\n const {\n tableConfiguration,\n name,\n cardConfiguration,\n facetsToPlot,\n availableFacets,\n initialExpandedFacetControls,\n hideDownload,\n hideQueryCount,\n hideSqlEditorControl,\n hideVisualizationsControl,\n searchConfiguration,\n cavaticaConnectAccountURL,\n customControls,\n remount = () => {},\n isFullTextSearchEnabled,\n customPlots,\n initialLimit,\n initialPlotTypeByFacetColumnName,\n hideTopLevelControls,\n } = props\n const queryContext = useQueryContext()\n const [showExportMetadata, setShowExportMetadata] = useState(false)\n const { hasFacetedSelectColumn: isFaceted, queryMetadataQueryOptions } =\n queryContext\n const { isLoading: isLoadingQueryMetadata } = useQuery(\n queryMetadataQueryOptions,\n )\n\n const isRowSelectionVisible = useAtomValue(isRowSelectionVisibleAtom)\n\n const currentQueryRequest = queryContext.currentQueryRequest\n\n const hasFacetsOrFilters =\n (currentQueryRequest?.query.selectedFacets !== undefined &&\n currentQueryRequest.query.selectedFacets.length > 0) ||\n (currentQueryRequest?.query.additionalFilters !== undefined &&\n currentQueryRequest?.query.additionalFilters.length > 0)\n\n const addToDownloadListRequest =\n useGetAddToDownloadListRequestForCurrentQuery()\n\n return (\n <QueryVisualizationContextConsumer>\n {queryVisualizationContext => {\n if (queryVisualizationContext === undefined) {\n throw new Error(\n 'No queryVisualizationContext found when using QueryVisualizationContextConsumer',\n )\n }\n\n return (\n <Box\n className={`QueryWrapperPlotNav ${\n queryVisualizationContext.showFacetFilter\n ? QUERY_FILTERS_EXPANDED_CSS\n : QUERY_FILTERS_COLLAPSED_CSS\n } ${isRowSelectionVisible ? HAS_SELECTED_ROWS_CSS : ''} ${\n hideTopLevelControls ? 'isHidingTopLevelControls' : ''\n }`}\n sx={{\n '*': {\n cursor: isLoadingQueryMetadata ? 'wait' : undefined,\n },\n }}\n >\n <QueryWrapperErrorBoundary>\n {isFullTextSearchEnabled ? (\n <FullTextSearch ftsConfig={searchConfiguration?.ftsConfig} />\n ) : (\n <SearchV2\n {...searchConfiguration}\n queryContext={queryContext}\n queryVisualizationContext={queryVisualizationContext}\n />\n )}\n <SqlEditor />\n {queryVisualizationContext.showDownloadConfirmation && (\n <AddToDownloadListConfirmationAlert\n addToDownloadListRequest={addToDownloadListRequest}\n onClose={() =>\n queryVisualizationContext.setShowDownloadConfirmation(false)\n }\n />\n )}\n {!hideTopLevelControls && (\n <SynapseErrorBoundary>\n <TopLevelControls\n showColumnSelection={tableConfiguration !== undefined}\n name={name}\n hideDownload={hideDownload}\n hideQueryCount={hideQueryCount}\n hideFacetFilterControl={!isFaceted}\n hideVisualizationsControl={\n !isFaceted || hideVisualizationsControl\n }\n hideSqlEditorControl={hideSqlEditorControl}\n cavaticaConnectAccountURL={cavaticaConnectAccountURL}\n remount={remount}\n customControls={customControls}\n />\n </SynapseErrorBoundary>\n )}\n {isFaceted && (\n <>\n <FacetFilterControls\n availableFacets={availableFacets}\n initialExpandedFacetControls={initialExpandedFacetControls}\n />\n </>\n )}\n {/* Isolated Suspense so that metadata loading does not hide the table */}\n <Suspense fallback={null}>\n <TotalQueryResults\n frontText={''}\n endText={hasFacetsOrFilters ? 'filtered by' : ''}\n hideIfUnfiltered={true}\n />\n </Suspense>\n <CustomControls\n customControls={customControls}\n remount={remount}\n />\n <PlotsContainer\n facetsToPlot={facetsToPlot}\n customPlots={customPlots}\n initialPlotTypeByFacetColumnName={\n initialPlotTypeByFacetColumnName\n }\n />\n <RowSetView\n tableConfiguration={tableConfiguration}\n hideDownload={hideDownload}\n cardConfiguration={cardConfiguration}\n initialLimit={initialLimit}\n />\n {showExportMetadata && (\n <ModalDownload\n getLastQueryRequest={queryContext?.getCurrentQueryRequest}\n onClose={() => setShowExportMetadata(false)}\n />\n )}\n </QueryWrapperErrorBoundary>\n </Box>\n )\n }}\n </QueryVisualizationContextConsumer>\n )\n}\n\nexport default function QueryWrapperPlotNav(props: QueryWrapperPlotNavProps) {\n const {\n sql: deprecatedSql,\n tableConfiguration,\n isInfinite = !tableConfiguration,\n limit = DEFAULT_PAGE_SIZE,\n showLastUpdatedOn,\n unitDescription,\n additionalFiltersSessionStorageKey,\n helpConfiguration,\n customPlots,\n enabledExternalAnalysisPlatforms,\n } = props\n\n const sql = props.query?.sql ?? deprecatedSql ?? ''\n const { entityId, versionNumber } =\n parseEntityIdAndVersionFromSqlStatement(sql)\n\n const query: Query = useMemo(() => {\n if (props.query) {\n // use query if set\n return props.query\n } else if (props.initQueryJson) {\n // Otherwise use initQueryJson\n return JSON.parse(props.initQueryJson) as Query\n } else {\n // use the deprecated sql, searchParams, and sqlOperator\n const additionalFilters = getAdditionalFilters(\n props.searchParams,\n props.sqlOperator,\n additionalFiltersSessionStorageKey,\n )\n return {\n sql: deprecatedSql!,\n additionalFilters,\n limit: limit,\n offset: 0,\n }\n }\n }, [\n props.query,\n props.initQueryJson,\n props.searchParams,\n props.sqlOperator,\n additionalFiltersSessionStorageKey,\n deprecatedSql,\n limit,\n ])\n\n const [componentKey, setComponentKey] = useState(1)\n const remount = () => {\n setComponentKey(componentKey + 1)\n }\n\n const { data: entity } = useGetEntity(entityId, versionNumber)\n const initQueryRequest: QueryBundleRequest = {\n entityId: entityId ?? '',\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n partMask:\n SynapseConstants.BUNDLE_MASK_QUERY_RESULTS |\n SynapseConstants.BUNDLE_MASK_QUERY_COUNT |\n SynapseConstants.BUNDLE_MASK_QUERY_SELECT_COLUMNS |\n SynapseConstants.BUNDLE_MASK_QUERY_MAX_ROWS_PER_PAGE |\n SynapseConstants.BUNDLE_MASK_QUERY_COLUMN_MODELS |\n SynapseConstants.BUNDLE_MASK_QUERY_FACETS |\n SynapseConstants.BUNDLE_MASK_SUM_FILES_SIZE_BYTES |\n SynapseConstants.BUNDLE_MASK_LAST_UPDATED_ON,\n query,\n }\n const isFullTextSearchEnabled =\n (entity && isTable(entity) && entity.isSearchEnabled) ?? false\n\n /**\n * Fully re-render the uncontrolled QueryWrapper component when the initial query changes. This eliminates a class of\n * bugs where our 'derived' state (the current query), which should be reset, is out of sync with props.\n *\n * See https://legacy.reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html#recommendation-fully-uncontrolled-component-with-a-key\n */\n const queryWrapperKey = `${JSON.stringify(initQueryRequest)}-${componentKey}`\n\n return (\n <QueryWrapper\n {...props}\n initQueryRequest={initQueryRequest}\n key={queryWrapperKey}\n isInfinite={isInfinite}\n >\n <Suspense fallback={<QueryWrapperLoadingScreen />}>\n <QueryVisualizationWrapper\n unitDescription={unitDescription}\n rgbIndex={props.rgbIndex}\n columnAliases={props.columnAliases}\n helpConfiguration={helpConfiguration}\n visibleColumnCount={props.visibleColumnCount}\n defaultShowPlots={props.defaultShowPlots}\n hideCopyToClipboard={props.hideCopyToClipboard}\n defaultShowSearchBar={\n (props.defaultShowSearchBox || isFullTextSearchEnabled) &&\n !props.hideSearchBarControl\n }\n lockTextMatchesQueryFilterPill={props.lockTextMatchesQueryFilterPill}\n hideSearchBarControl={props.hideSearchBarControl}\n showLastUpdatedOn={showLastUpdatedOn}\n noContentPlaceholderType={NoContentPlaceholderType.INTERACTIVE}\n hasCustomPlots={Array.isArray(customPlots) && customPlots.length > 0}\n enabledExternalAnalysisPlatforms={enabledExternalAnalysisPlatforms}\n >\n <QueryWrapperPlotNavContents\n {...props}\n isFullTextSearchEnabled={isFullTextSearchEnabled}\n remount={remount}\n />\n </QueryVisualizationWrapper>\n </Suspense>\n </QueryWrapper>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDA,IAAa,IAAqC,yBACrC,IAAsC,wBAEtC,IAAgC;AA4F7C,SAAgB,EACd,GACA;CACA,IAAM,EACJ,uBACA,SACA,sBACA,iBACA,oBACA,iCACA,iBACA,mBACA,yBACA,8BACA,wBACA,8BACA,mBACA,mBAAgB,IAChB,4BACA,iBACA,iBACA,qCACA,4BACE,GACE,IAAe,GAAiB,EAChC,CAAC,GAAoB,KAAyB,EAAS,GAAM,EAC7D,EAAE,wBAAwB,GAAW,iCACzC,GACI,EAAE,WAAW,MAA2B,EAC5C,EACD,EAEK,KAAwB,EAAa,EAA0B,EAE/D,IAAsB,EAAa,qBAEnC,KACH,GAAqB,MAAM,mBAAmB,KAAA,KAC7C,EAAoB,MAAM,eAAe,SAAS,KACnD,GAAqB,MAAM,sBAAsB,KAAA,KAChD,GAAqB,MAAM,kBAAkB,SAAS,GAEpD,KACJ,GAA+C;AAEjD,QACE,kBAAC,GAAD,EAAA,WACG,MAA6B;AAC5B,MAAI,MAA8B,KAAA,EAChC,OAAU,MACR,kFACD;AAGH,SACE,kBAAC,GAAD;GACE,WAAW,uBACT,EAA0B,kBACtB,IACA,EACL,GAAG,KAAwB,IAAwB,GAAG,GACrD,IAAuB,6BAA6B;GAEtD,IAAI,EACF,KAAK,EACH,QAAQ,IAAyB,SAAS,KAAA,GAC3C,EACF;aAED,kBAAC,GAAD,EAAA,UAAA;IACG,IACC,kBAAC,GAAD,EAAgB,WAAW,GAAqB,WAAa,CAAA,GAE7D,kBAAC,GAAD;KACE,GAAI;KACU;KACa;KAC3B,CAAA;IAEJ,kBAAC,GAAD,EAAa,CAAA;IACZ,EAA0B,4BACzB,kBAAC,GAAD;KAC4B;KAC1B,eACE,EAA0B,4BAA4B,GAAM;KAE9D,CAAA;IAEH,CAAC,KACA,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;KACE,qBAAqB,MAAuB,KAAA;KACtC;KACQ;KACE;KAChB,wBAAwB,CAAC;KACzB,2BACE,CAAC,KAAa;KAEM;KACK;KAClB;KACO;KAChB,CAAA,EACmB,CAAA;IAExB,KACC,kBAAA,GAAA,EAAA,UACE,kBAAC,GAAD;KACmB;KACa;KAC9B,CAAA,EACD,CAAA;IAGL,kBAAC,GAAD;KAAU,UAAU;eAClB,kBAAC,GAAD;MACE,WAAW;MACX,SAAS,KAAqB,gBAAgB;MAC9C,kBAAkB;MAClB,CAAA;KACO,CAAA;IACX,kBAAC,GAAD;KACkB;KACP;KACT,CAAA;IACF,kBAAC,GAAD;KACgB;KACD;KAEX;KAEF,CAAA;IACF,kBAAC,GAAD;KACsB;KACN;KACK;KACL;KACd,CAAA;IACD,KACC,kBAAC,GAAD;KACE,qBAAqB,GAAc;KACnC,eAAe,EAAsB,GAAM;KAC3C,CAAA;IAEsB,EAAA,CAAA;GACxB,CAAA;IAGwB,CAAA;;AAIxC,SAAwB,EAAoB,GAAiC;CAC3E,IAAM,EACJ,KAAK,GACL,uBACA,gBAAa,CAAC,GACd,WAAA,IACA,sBACA,oBACA,uCACA,sBACA,gBACA,wCACE,GAGE,EAAE,aAAU,qBAChB,EAFU,EAAM,OAAO,OAAO,KAAiB,GAEH,EAExC,IAAe,QACf,EAAM,QAED,EAAM,QACJ,EAAM,gBAER,KAAK,MAAM,EAAM,cAAc,GAQ/B;EACL,KAAK;EACL,mBAPwB,EACxB,EAAM,cACN,EAAM,aACN,EAIA;EACO;EACP,QAAQ;EACT,EAEF;EACD,EAAM;EACN,EAAM;EACN,EAAM;EACN,EAAM;EACN;EACA;EACA;EACD,CAAC,EAEI,CAAC,GAAc,KAAmB,EAAS,EAAE,EAC7C,UAAgB;AACpB,IAAgB,IAAe,EAAE;IAG7B,EAAE,MAAM,MAAW,EAAa,GAAU,EAAc,EACxD,IAAuC;EAC3C,UAAU,KAAY;EACtB,cAAc;EACd,UACE;EAQF;EACD,EACK,KACH,KAAU,EAAQ,EAAO,IAAI,EAAO,oBAAoB,IAQrD,IAAkB,GAAG,KAAK,UAAU,EAAiB,CAAC,GAAG;AAE/D,QACE,kBAAC,GAAD;EACE,GAAI;EACc;EAClB,KAAK;EACO;EA6BC,EA3Bb,kBAAC,GAAD;EAAU,UAAU,kBAAC,GAAD,EAA6B,CAAA;YAC/C,kBAAC,GAAD;GACmB;GACjB,UAAU,EAAM;GAChB,eAAe,EAAM;GACF;GACnB,oBAAoB,EAAM;GAC1B,kBAAkB,EAAM;GACxB,qBAAqB,EAAM;GAC3B,uBACG,EAAM,wBAAwB,MAC/B,CAAC,EAAM;GAET,gCAAgC,EAAM;GACtC,sBAAsB,EAAM;GACT;GACnB,0BAA0B,EAAyB;GACnD,gBAAgB,MAAM,QAAQ,EAAY,IAAI,EAAY,SAAS;GACjC;aAElC,kBAAC,GAAD;IACE,GAAI;IACqB;IAChB;IACT,CAAA;GACwB,CAAA;EACnB,CAAA,CACE"}
1
+ {"version":3,"file":"QueryWrapperPlotNav.js","names":[],"sources":["../../../src/components/QueryWrapperPlotNav/QueryWrapperPlotNav.tsx"],"sourcesContent":["import { QueryOrDeprecatedSearchParams } from '@/components/CardContainerLogic/CardContainerLogic'\nimport AddToDownloadListConfirmationAlert from '@/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert'\nimport { useGetAddToDownloadListRequestForCurrentQuery } from '@/components/QueryWrapper/useGetAddToDownloadListRequestForCurrentQuery'\nimport { NoContentPlaceholderType } from '@/components/SynapseTable/NoContentPlaceholderType'\nimport { useGetEntity } from '@/synapse-queries'\nimport { SynapseConstants } from '@/utils'\nimport {\n getAdditionalFilters,\n parseEntityIdAndVersionFromSqlStatement,\n} from '@/utils/functions'\nimport { isTable } from '@/utils/functions/EntityTypeUtils'\nimport { DEFAULT_PAGE_SIZE } from '@/utils/SynapseConstants'\nimport { Box } from '@mui/material'\nimport { Query, QueryBundleRequest } from '@sage-bionetworks/synapse-types'\nimport { useQuery } from '@tanstack/react-query'\nimport { useAtomValue } from 'jotai'\nimport { Suspense, useMemo, useState } from 'react'\nimport { CardConfiguration } from '../CardContainer/CardConfiguration'\nimport { SynapseErrorBoundary } from '../error'\nimport FullTextSearch from '../FullTextSearch/FullTextSearch'\nimport ModalDownload from '../ModalDownload/ModalDownload'\nimport { QueryWrapperPlotNavCustomPlotParams } from '../Plot/SynapsePlot'\nimport { QueryContextType, useQueryContext } from '../QueryContext'\nimport {\n QueryVisualizationContextConsumer,\n QueryVisualizationWrapper,\n QueryVisualizationWrapperProps,\n} from '../QueryVisualizationWrapper'\nimport { QueryWrapper, QueryWrapperProps } from '../QueryWrapper'\nimport { isRowSelectionVisibleAtom } from '../QueryWrapper/TableRowSelectionState'\nimport { QueryWrapperErrorBoundary } from '../QueryWrapperErrorBoundary'\nimport { SynapseTableConfiguration } from '../SynapseTable'\nimport SearchV2, { SearchV2Props } from '../SynapseTable/SearchV2'\nimport SqlEditor from '../SynapseTable/SqlEditor'\nimport TopLevelControls, {\n TopLevelControlsProps,\n CustomControl,\n} from '../SynapseTable/TopLevelControls/TopLevelControls'\nimport { CustomControls } from '../SynapseTable/CustomControls/CustomControls'\nimport TotalQueryResults from '../TotalQueryResults'\nimport PlotsContainer, {\n PlotsContainerProps,\n} from '../widgets/facet-nav/PlotsContainer'\nimport FacetFilterControls, {\n FacetFilterControlsProps,\n} from '../widgets/query-filter/FacetFilterControls'\nimport { QueryWrapperSynapsePlotProps } from './QueryWrapperSynapsePlot'\nimport { RowSetView } from './RowSetView'\nimport QueryWrapperLoadingScreen from '../QueryWrapper/QueryWrapperLoadingScreen'\n\nexport const QUERY_FILTERS_EXPANDED_CSS: string = 'isShowingFacetFilters'\nexport const QUERY_FILTERS_COLLAPSED_CSS: string = 'isHidingFacetFilters'\n\nexport const HAS_SELECTED_ROWS_CSS: string = 'hasSelectedRows'\n\ntype QueryWrapperPlotNavOwnProps = {\n /** Whether the displayed results should be paginated or infinite. Default for cards is true, default for table is false */\n isInfinite?: boolean\n /** Set to true when you want the query to be saved in the URL search parameters. If you are controlling the view (such as in PortalSearch), you'll want to set this to false */\n shouldDeepLink?: boolean\n /** If onQueryChange is set, the callback will be invoked when the Query changes */\n onQueryChange?: (newQueryJson: string) => void\n /** If onQueryResultBundleChange is set, the callback will be invoked when the QueryResultBundle changes */\n onQueryResultBundleChange?: (newQueryResultBundleJson: string) => void\n /** If initQueryJson is set, it will be the Query used in the initial QueryBundleRequest */\n initQueryJson?: string\n tableConfiguration?: SynapseTableConfiguration\n cardConfiguration?: CardConfiguration\n searchConfiguration?: Omit<\n SearchV2Props,\n 'queryContext' | 'queryVisualizationContext'\n >\n facetsToPlot?: string[]\n availableFacets?: FacetFilterControlsProps['availableFacets']\n initialExpandedFacetControls?: FacetFilterControlsProps['initialExpandedFacetControls']\n customPlots?: QueryWrapperSynapsePlotProps[]\n customControls?: CustomControl[]\n defaultColumn?: string\n defaultShowSearchBox?: boolean\n lockedColumn?: QueryWrapperProps['lockedColumn']\n onViewSharingSettingsClicked?: (benefactorId: string) => void\n initialLimit?: number\n hideTopLevelControls?: boolean\n} & Omit<TopLevelControlsProps, 'entityId'> &\n Pick<QueryWrapperPlotNavCustomPlotParams, 'onCustomPlotClick'> &\n Pick<\n QueryWrapperProps,\n | 'isRowSelectionVisible'\n | 'rowSelectionPrimaryKey'\n | 'isRowSelectionUIFloating'\n | 'fileIdColumnName'\n | 'fileNameColumnName'\n | 'fileVersionColumnName'\n > &\n Pick<\n QueryVisualizationWrapperProps,\n | 'defaultShowPlots'\n | 'visibleColumnCount'\n | 'hiddenColumns'\n | 'columnAliases'\n | 'rgbIndex'\n | 'showLastUpdatedOn'\n | 'noContentPlaceholderType'\n | 'unitDescription'\n | 'additionalFiltersSessionStorageKey'\n | 'helpConfiguration'\n | 'hideCopyToClipboard'\n | 'hideSearchBarControl'\n | 'hideVisualizationsControl'\n | 'enabledExternalAnalysisPlatforms'\n | 'lockTextMatchesQueryFilterPill'\n > &\n Pick<QueryContextType, 'combineRangeFacetConfig'>\n\nexport type QueryWrapperPlotNavProps = QueryOrDeprecatedSearchParams &\n PlotsContainerProps &\n QueryWrapperPlotNavOwnProps\n\nexport type QueryWrapperPlotNavContentsProps = Pick<\n QueryWrapperPlotNavProps,\n | 'tableConfiguration'\n | 'name'\n | 'cardConfiguration'\n | 'facetsToPlot'\n | 'availableFacets'\n | 'initialExpandedFacetControls'\n | 'hideDownload'\n | 'hideQueryCount'\n | 'hideSqlEditorControl'\n | 'hideVisualizationsControl'\n | 'searchConfiguration'\n | 'enabledExternalAnalysisPlatforms'\n | 'cavaticaConnectAccountURL'\n | 'customControls'\n | 'customPlots'\n | 'fileIdColumnName'\n | 'fileNameColumnName'\n | 'fileVersionColumnName'\n | 'initialLimit'\n | 'initialPlotTypeByFacetColumnName'\n | 'hideTopLevelControls'\n> & {\n isFullTextSearchEnabled: boolean\n remount?: () => void\n}\n\nexport function QueryWrapperPlotNavContents(\n props: QueryWrapperPlotNavContentsProps,\n) {\n const {\n tableConfiguration,\n name,\n cardConfiguration,\n facetsToPlot,\n availableFacets,\n initialExpandedFacetControls,\n hideDownload,\n hideQueryCount,\n hideSqlEditorControl,\n hideVisualizationsControl,\n searchConfiguration,\n cavaticaConnectAccountURL,\n customControls,\n remount = () => {},\n isFullTextSearchEnabled,\n customPlots,\n initialLimit,\n initialPlotTypeByFacetColumnName,\n hideTopLevelControls,\n } = props\n const queryContext = useQueryContext()\n const [showExportMetadata, setShowExportMetadata] = useState(false)\n const { hasFacetedSelectColumn: isFaceted, queryMetadataQueryOptions } =\n queryContext\n const { isLoading: isLoadingQueryMetadata } = useQuery(\n queryMetadataQueryOptions,\n )\n\n const isRowSelectionVisible = useAtomValue(isRowSelectionVisibleAtom)\n\n const currentQueryRequest = queryContext.currentQueryRequest\n\n const hasFacetsOrFilters =\n (currentQueryRequest?.query.selectedFacets !== undefined &&\n currentQueryRequest.query.selectedFacets.length > 0) ||\n (currentQueryRequest?.query.additionalFilters !== undefined &&\n currentQueryRequest?.query.additionalFilters.length > 0)\n\n const addToDownloadListRequest =\n useGetAddToDownloadListRequestForCurrentQuery()\n\n return (\n <QueryVisualizationContextConsumer>\n {queryVisualizationContext => {\n if (queryVisualizationContext === undefined) {\n throw new Error(\n 'No queryVisualizationContext found when using QueryVisualizationContextConsumer',\n )\n }\n\n return (\n <Box\n className={`QueryWrapperPlotNav ${\n queryVisualizationContext.showFacetFilter\n ? QUERY_FILTERS_EXPANDED_CSS\n : QUERY_FILTERS_COLLAPSED_CSS\n } ${isRowSelectionVisible ? HAS_SELECTED_ROWS_CSS : ''} ${\n hideTopLevelControls ? 'isHidingTopLevelControls' : ''\n }`}\n sx={{\n '*': {\n cursor: isLoadingQueryMetadata ? 'wait' : undefined,\n },\n }}\n >\n <QueryWrapperErrorBoundary>\n {isFullTextSearchEnabled ? (\n <FullTextSearch ftsConfig={searchConfiguration?.ftsConfig} />\n ) : (\n <SearchV2\n {...searchConfiguration}\n queryContext={queryContext}\n queryVisualizationContext={queryVisualizationContext}\n />\n )}\n <SqlEditor />\n {queryVisualizationContext.showDownloadConfirmation && (\n <AddToDownloadListConfirmationAlert\n addToDownloadListRequest={addToDownloadListRequest}\n onClose={() =>\n queryVisualizationContext.setShowDownloadConfirmation(false)\n }\n />\n )}\n {!hideTopLevelControls && (\n <SynapseErrorBoundary>\n <TopLevelControls\n showColumnSelection={tableConfiguration !== undefined}\n name={name}\n hideDownload={hideDownload}\n hideQueryCount={hideQueryCount}\n hideFacetFilterControl={!isFaceted}\n hideVisualizationsControl={\n !isFaceted || hideVisualizationsControl\n }\n hideSqlEditorControl={hideSqlEditorControl}\n cavaticaConnectAccountURL={cavaticaConnectAccountURL}\n remount={remount}\n customControls={customControls}\n />\n </SynapseErrorBoundary>\n )}\n {isFaceted && (\n <>\n <FacetFilterControls\n availableFacets={availableFacets}\n initialExpandedFacetControls={initialExpandedFacetControls}\n />\n </>\n )}\n {/* Isolated Suspense so that metadata loading does not hide the table */}\n <Suspense fallback={null}>\n <TotalQueryResults\n frontText={''}\n endText={hasFacetsOrFilters ? 'filtered by' : ''}\n hideIfUnfiltered={true}\n />\n </Suspense>\n <CustomControls\n customControls={customControls}\n remount={remount}\n />\n <PlotsContainer\n facetsToPlot={facetsToPlot}\n customPlots={customPlots}\n initialPlotTypeByFacetColumnName={\n initialPlotTypeByFacetColumnName\n }\n />\n <RowSetView\n tableConfiguration={tableConfiguration}\n hideDownload={hideDownload}\n cardConfiguration={cardConfiguration}\n initialLimit={initialLimit}\n />\n {showExportMetadata && (\n <ModalDownload\n getLastQueryRequest={queryContext?.getCurrentQueryRequest}\n onClose={() => setShowExportMetadata(false)}\n />\n )}\n </QueryWrapperErrorBoundary>\n </Box>\n )\n }}\n </QueryVisualizationContextConsumer>\n )\n}\n\nexport default function QueryWrapperPlotNav(props: QueryWrapperPlotNavProps) {\n const {\n sql: deprecatedSql,\n tableConfiguration,\n isInfinite = !tableConfiguration,\n limit = DEFAULT_PAGE_SIZE,\n showLastUpdatedOn,\n unitDescription,\n additionalFiltersSessionStorageKey,\n helpConfiguration,\n customPlots,\n enabledExternalAnalysisPlatforms,\n } = props\n\n const sql = props.query?.sql ?? deprecatedSql ?? ''\n const { entityId, versionNumber } =\n parseEntityIdAndVersionFromSqlStatement(sql)\n\n const query: Query = useMemo(() => {\n if (props.query) {\n // use query if set\n return props.query\n } else if (props.initQueryJson) {\n // Otherwise use initQueryJson\n return JSON.parse(props.initQueryJson) as Query\n } else {\n // use the deprecated sql, searchParams, and sqlOperator\n const additionalFilters = getAdditionalFilters(\n props.searchParams,\n props.sqlOperator,\n additionalFiltersSessionStorageKey,\n )\n return {\n sql: deprecatedSql!,\n additionalFilters,\n limit: limit,\n offset: 0,\n }\n }\n }, [\n props.query,\n props.initQueryJson,\n props.searchParams,\n props.sqlOperator,\n additionalFiltersSessionStorageKey,\n deprecatedSql,\n limit,\n ])\n\n const [componentKey, setComponentKey] = useState(1)\n const remount = () => {\n setComponentKey(componentKey + 1)\n }\n\n const { data: entity } = useGetEntity(entityId, versionNumber)\n const initQueryRequest: QueryBundleRequest = {\n entityId: entityId ?? '',\n concreteType: 'org.sagebionetworks.repo.model.table.QueryBundleRequest',\n partMask:\n SynapseConstants.BUNDLE_MASK_QUERY_RESULTS |\n SynapseConstants.BUNDLE_MASK_QUERY_COUNT |\n SynapseConstants.BUNDLE_MASK_QUERY_SELECT_COLUMNS |\n SynapseConstants.BUNDLE_MASK_QUERY_MAX_ROWS_PER_PAGE |\n SynapseConstants.BUNDLE_MASK_QUERY_COLUMN_MODELS |\n SynapseConstants.BUNDLE_MASK_QUERY_FACETS |\n SynapseConstants.BUNDLE_MASK_SUM_FILES_SIZE_BYTES |\n SynapseConstants.BUNDLE_MASK_LAST_UPDATED_ON,\n query,\n }\n const isFullTextSearchEnabled =\n (entity && isTable(entity) && entity.isSearchEnabled) ?? false\n\n /**\n * Fully re-render the uncontrolled QueryWrapper component when the initial query changes. This eliminates a class of\n * bugs where our 'derived' state (the current query), which should be reset, is out of sync with props.\n *\n * See https://legacy.reactjs.org/blog/2018/06/07/you-probably-dont-need-derived-state.html#recommendation-fully-uncontrolled-component-with-a-key\n */\n const queryWrapperKey = `${JSON.stringify(initQueryRequest)}-${componentKey}`\n\n return (\n <QueryWrapper\n {...props}\n initQueryRequest={initQueryRequest}\n key={queryWrapperKey}\n isInfinite={isInfinite}\n >\n <Suspense fallback={<QueryWrapperLoadingScreen />}>\n <QueryVisualizationWrapper\n unitDescription={unitDescription}\n rgbIndex={props.rgbIndex}\n columnAliases={props.columnAliases}\n helpConfiguration={helpConfiguration}\n visibleColumnCount={props.visibleColumnCount}\n hiddenColumns={props.hiddenColumns}\n defaultShowPlots={props.defaultShowPlots}\n hideCopyToClipboard={props.hideCopyToClipboard}\n defaultShowSearchBar={\n (props.defaultShowSearchBox || isFullTextSearchEnabled) &&\n !props.hideSearchBarControl\n }\n lockTextMatchesQueryFilterPill={props.lockTextMatchesQueryFilterPill}\n hideSearchBarControl={props.hideSearchBarControl}\n showLastUpdatedOn={showLastUpdatedOn}\n noContentPlaceholderType={NoContentPlaceholderType.INTERACTIVE}\n hasCustomPlots={Array.isArray(customPlots) && customPlots.length > 0}\n enabledExternalAnalysisPlatforms={enabledExternalAnalysisPlatforms}\n >\n <QueryWrapperPlotNavContents\n {...props}\n isFullTextSearchEnabled={isFullTextSearchEnabled}\n remount={remount}\n />\n </QueryVisualizationWrapper>\n </Suspense>\n </QueryWrapper>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAkDA,IAAa,IAAqC,yBACrC,IAAsC,wBAEtC,IAAgC;AA6F7C,SAAgB,EACd,GACA;CACA,IAAM,EACJ,uBACA,SACA,sBACA,iBACA,oBACA,iCACA,iBACA,mBACA,yBACA,8BACA,wBACA,8BACA,mBACA,mBAAgB,CAAC,GACjB,4BACA,iBACA,iBACA,qCACA,4BACE,GACE,IAAe,EAAgB,GAC/B,CAAC,GAAoB,KAAyB,EAAS,EAAK,GAC5D,EAAE,wBAAwB,GAAW,iCACzC,GACI,EAAE,WAAW,MAA2B,EAC5C,CACF,GAEM,KAAwB,EAAa,CAAyB,GAE9D,IAAsB,EAAa,qBAEnC,KACH,GAAqB,MAAM,mBAAmB,KAAA,KAC7C,EAAoB,MAAM,eAAe,SAAS,KACnD,GAAqB,MAAM,sBAAsB,KAAA,KAChD,GAAqB,MAAM,kBAAkB,SAAS,GAEpD,KACJ,EAA8C;CAEhD,OACE,kBAAC,GAAD,EAAA,WACG,MAA6B;EAC5B,IAAI,MAA8B,KAAA,GAChC,MAAU,MACR,iFACF;EAGF,OACE,kBAAC,GAAD;GACE,WAAW,uBACT,EAA0B,kBACtB,IACA,EACL,GAAG,KAAwB,IAAwB,GAAG,GACrD,IAAuB,6BAA6B;GAEtD,IAAI,EACF,KAAK,EACH,QAAQ,IAAyB,SAAS,KAAA,EAC5C,EACF;aAEA,kBAAC,GAAD,EAAA,UAAA;IACG,IACC,kBAAC,GAAD,EAAgB,WAAW,GAAqB,UAAY,CAAA,IAE5D,kBAAC,GAAD;KACE,GAAI;KACU;KACa;IAC5B,CAAA;IAEH,kBAAC,GAAD,CAAY,CAAA;IACX,EAA0B,4BACzB,kBAAC,GAAD;KAC4B;KAC1B,eACE,EAA0B,4BAA4B,EAAK;IAE9D,CAAA;IAEF,CAAC,KACA,kBAAC,GAAD,EAAA,UACE,kBAAC,GAAD;KACE,qBAAqB,MAAuB,KAAA;KACtC;KACQ;KACE;KAChB,wBAAwB,CAAC;KACzB,2BACE,CAAC,KAAa;KAEM;KACK;KAClB;KACO;IACjB,CAAA,EACmB,CAAA;IAEvB,KACC,kBAAA,GAAA,EAAA,UACE,kBAAC,GAAD;KACmB;KACa;IAC/B,CAAA,EACD,CAAA;IAGJ,kBAAC,GAAD;KAAU,UAAU;eAClB,kBAAC,GAAD;MACE,WAAW;MACX,SAAS,KAAqB,gBAAgB;MAC9C,kBAAkB;KACnB,CAAA;IACO,CAAA;IACV,kBAAC,GAAD;KACkB;KACP;IACV,CAAA;IACD,kBAAC,GAAD;KACgB;KACD;KAEX;IAEH,CAAA;IACD,kBAAC,GAAD;KACsB;KACN;KACK;KACL;IACf,CAAA;IACA,KACC,kBAAC,GAAD;KACE,qBAAqB,GAAc;KACnC,eAAe,EAAsB,EAAK;IAC3C,CAAA;GAEsB,EAAA,CAAA;EACxB,CAAA;CAET,EACiC,CAAA;AAEvC;AAEA,SAAwB,EAAoB,GAAiC;CAC3E,IAAM,EACJ,KAAK,GACL,uBACA,gBAAa,CAAC,GACd,WAAA,IACA,sBACA,oBACA,uCACA,sBACA,gBACA,wCACE,GAGE,EAAE,aAAU,qBAChB,EAFU,EAAM,OAAO,OAAO,KAAiB,EAEJ,GAEvC,IAAe,QACf,EAAM,QAED,EAAM,QACJ,EAAM,gBAER,KAAK,MAAM,EAAM,aAAa,IAQ9B;EACL,KAAK;EACL,mBAPwB,EACxB,EAAM,cACN,EAAM,aACN,CAIA;EACO;EACP,QAAQ;CACV,GAED;EACD,EAAM;EACN,EAAM;EACN,EAAM;EACN,EAAM;EACN;EACA;EACA;CACF,CAAC,GAEK,CAAC,GAAc,KAAmB,EAAS,CAAC,GAC5C,UAAgB;EACpB,EAAgB,IAAe,CAAC;CAClC,GAEM,EAAE,MAAM,MAAW,EAAa,GAAU,CAAa,GACvD,IAAuC;EAC3C,UAAU,KAAY;EACtB,cAAc;EACd,UACE;EAQF;CACF,GACM,KACH,KAAU,EAAQ,CAAM,KAAK,EAAO,oBAAoB,IAQrD,IAAkB,GAAG,KAAK,UAAU,CAAgB,EAAE,GAAG;CAE/D,OACE,kBAAC,GAAD;EACE,GAAI;EACc;EAClB,KAAK;EACO;CA8BA,GA5BZ,kBAAC,GAAD;EAAU,UAAU,kBAAC,GAAD,CAA4B,CAAA;YAC9C,kBAAC,GAAD;GACmB;GACjB,UAAU,EAAM;GAChB,eAAe,EAAM;GACF;GACnB,oBAAoB,EAAM;GAC1B,eAAe,EAAM;GACrB,kBAAkB,EAAM;GACxB,qBAAqB,EAAM;GAC3B,uBACG,EAAM,wBAAwB,MAC/B,CAAC,EAAM;GAET,gCAAgC,EAAM;GACtC,sBAAsB,EAAM;GACT;GACnB,0BAA0B,EAAyB;GACnD,gBAAgB,MAAM,QAAQ,CAAW,KAAK,EAAY,SAAS;GACjC;aAElC,kBAAC,GAAD;IACE,GAAI;IACqB;IAChB;GACV,CAAA;EACwB,CAAA;CACnB,CAAA,CACE;AAElB"}
@@ -1 +1 @@
1
- {"version":3,"file":"QueryWrapperSynapsePlot.js","names":[],"sources":["../../../src/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { SynapsePlot } from '../Plot'\nimport { QueryContextType, useQueryContext } from '../QueryContext'\nimport {\n QueryWrapperPlotNavCustomPlotParams,\n SynapsePlotWidgetParams,\n} from '../Plot/SynapsePlot'\nimport {\n FacetColumnRequest,\n QueryFilter,\n Row,\n} from '@sage-bionetworks/synapse-types'\nimport { useQueryVisualizationContext } from '../QueryVisualizationWrapper'\nimport PlotPanelHeader from '../Plot/PlotPanelHeader'\nexport type QueryWrapperSynapsePlotProps = Pick<\n QueryWrapperPlotNavCustomPlotParams,\n 'onCustomPlotClick'\n> &\n Omit<SynapsePlotWidgetParams, 'selectedFacets' | 'additionalFilters'>\ntype QueryWrapperSynapsePlotInternalProps = {\n onHide: () => void\n}\nexport type QueryWrapperSynapsePlotRowClickEvent = {\n row: Row\n queryContext?: QueryContextType\n}\n\n/**\n * This component wraps a SynapsePlot. It passes in the current query context, and has a custom\n * \"title\" style so that it looks like it belongs in the QueryWrapperPlotNav plots.\n * @param props\n * @returns\n */\nexport default function QueryWrapperSynapsePlot(\n props: QueryWrapperSynapsePlotProps & QueryWrapperSynapsePlotInternalProps,\n) {\n const queryContext = useQueryContext()\n const { currentQueryRequest } = queryContext\n const { title, onCustomPlotClick, onHide } = props\n const { showPlots } = useQueryVisualizationContext()\n\n const widgetParamsMapped: SynapsePlotWidgetParams = useMemo(() => {\n return {\n ...props,\n title: undefined, // we are handling the plot title here in this component\n showlegend: false,\n displayModebar: false,\n }\n }, [props])\n\n const customPlotParams: QueryWrapperPlotNavCustomPlotParams = useMemo(() => {\n const { selectedFacets, additionalFilters } = currentQueryRequest.query\n return {\n selectedFacets: selectedFacets as FacetColumnRequest[],\n additionalFilters: additionalFilters as QueryFilter[],\n onCustomPlotClick,\n queryContext,\n }\n }, [currentQueryRequest.query, onCustomPlotClick, queryContext])\n return (\n <div role=\"figure\" className=\"SynapsePlot\">\n {showPlots && (\n <>\n {title && <PlotPanelHeader title={title} onHide={onHide} />}\n <SynapsePlot\n synapsePlotWidgetParams={widgetParamsMapped}\n customPlotParams={customPlotParams}\n />\n </>\n )}\n </div>\n )\n}\n"],"mappings":";;;;;;;;;;AAiCA,SAAwB,EACtB,GACA;CACA,IAAM,IAAe,GAAiB,EAChC,EAAE,2BAAwB,GAC1B,EAAE,UAAO,sBAAmB,cAAW,GACvC,EAAE,iBAAc,GAA8B,EAE9C,IAA8C,SAC3C;EACL,GAAG;EACH,OAAO,KAAA;EACP,YAAY;EACZ,gBAAgB;EACjB,GACA,CAAC,EAAM,CAAC,EAEL,IAAwD,QAAc;EAC1E,IAAM,EAAE,mBAAgB,yBAAsB,EAAoB;AAClE,SAAO;GACW;GACG;GACnB;GACA;GACD;IACA;EAAC,EAAoB;EAAO;EAAmB;EAAa,CAAC;AAChE,QACE,kBAAC,OAAD;EAAK,MAAK;EAAS,WAAU;YAC1B,KACC,kBAAA,GAAA,EAAA,UAAA,CACG,KAAS,kBAAC,GAAD;GAAwB;GAAe;GAAU,CAAA,EAC3D,kBAAC,GAAD;GACE,yBAAyB;GACP;GAClB,CAAA,CACD,EAAA,CAAA;EAED,CAAA"}
1
+ {"version":3,"file":"QueryWrapperSynapsePlot.js","names":[],"sources":["../../../src/components/QueryWrapperPlotNav/QueryWrapperSynapsePlot.tsx"],"sourcesContent":["import { useMemo } from 'react'\nimport { SynapsePlot } from '../Plot'\nimport { QueryContextType, useQueryContext } from '../QueryContext'\nimport {\n QueryWrapperPlotNavCustomPlotParams,\n SynapsePlotWidgetParams,\n} from '../Plot/SynapsePlot'\nimport {\n FacetColumnRequest,\n QueryFilter,\n Row,\n} from '@sage-bionetworks/synapse-types'\nimport { useQueryVisualizationContext } from '../QueryVisualizationWrapper'\nimport PlotPanelHeader from '../Plot/PlotPanelHeader'\nexport type QueryWrapperSynapsePlotProps = Pick<\n QueryWrapperPlotNavCustomPlotParams,\n 'onCustomPlotClick'\n> &\n Omit<SynapsePlotWidgetParams, 'selectedFacets' | 'additionalFilters'>\ntype QueryWrapperSynapsePlotInternalProps = {\n onHide: () => void\n}\nexport type QueryWrapperSynapsePlotRowClickEvent = {\n row: Row\n queryContext?: QueryContextType\n}\n\n/**\n * This component wraps a SynapsePlot. It passes in the current query context, and has a custom\n * \"title\" style so that it looks like it belongs in the QueryWrapperPlotNav plots.\n * @param props\n * @returns\n */\nexport default function QueryWrapperSynapsePlot(\n props: QueryWrapperSynapsePlotProps & QueryWrapperSynapsePlotInternalProps,\n) {\n const queryContext = useQueryContext()\n const { currentQueryRequest } = queryContext\n const { title, onCustomPlotClick, onHide } = props\n const { showPlots } = useQueryVisualizationContext()\n\n const widgetParamsMapped: SynapsePlotWidgetParams = useMemo(() => {\n return {\n ...props,\n title: undefined, // we are handling the plot title here in this component\n showlegend: false,\n displayModebar: false,\n }\n }, [props])\n\n const customPlotParams: QueryWrapperPlotNavCustomPlotParams = useMemo(() => {\n const { selectedFacets, additionalFilters } = currentQueryRequest.query\n return {\n selectedFacets: selectedFacets as FacetColumnRequest[],\n additionalFilters: additionalFilters as QueryFilter[],\n onCustomPlotClick,\n queryContext,\n }\n }, [currentQueryRequest.query, onCustomPlotClick, queryContext])\n return (\n <div role=\"figure\" className=\"SynapsePlot\">\n {showPlots && (\n <>\n {title && <PlotPanelHeader title={title} onHide={onHide} />}\n <SynapsePlot\n synapsePlotWidgetParams={widgetParamsMapped}\n customPlotParams={customPlotParams}\n />\n </>\n )}\n </div>\n )\n}\n"],"mappings":";;;;;;;;;;AAiCA,SAAwB,EACtB,GACA;CACA,IAAM,IAAe,EAAgB,GAC/B,EAAE,2BAAwB,GAC1B,EAAE,UAAO,sBAAmB,cAAW,GACvC,EAAE,iBAAc,EAA6B,GAE7C,IAA8C,SAC3C;EACL,GAAG;EACH,OAAO,KAAA;EACP,YAAY;EACZ,gBAAgB;CAClB,IACC,CAAC,CAAK,CAAC,GAEJ,IAAwD,QAAc;EAC1E,IAAM,EAAE,mBAAgB,yBAAsB,EAAoB;EAClE,OAAO;GACW;GACG;GACnB;GACA;EACF;CACF,GAAG;EAAC,EAAoB;EAAO;EAAmB;CAAY,CAAC;CAC/D,OACE,kBAAC,OAAD;EAAK,MAAK;EAAS,WAAU;YAC1B,KACC,kBAAA,GAAA,EAAA,UAAA,CACG,KAAS,kBAAC,GAAD;GAAwB;GAAe;EAAS,CAAA,GAC1D,kBAAC,GAAD;GACE,yBAAyB;GACP;EACnB,CAAA,CACD,EAAA,CAAA;CAED,CAAA;AAET"}
@@ -1 +1 @@
1
- {"version":3,"file":"RowSetView.js","names":[],"sources":["../../../src/components/QueryWrapperPlotNav/RowSetView.tsx"],"sourcesContent":["import { Suspense, useState } from 'react'\nimport { CardContainer } from '../CardContainer/CardContainer'\nimport { SynapseTable, SynapseTableConfiguration } from '../SynapseTable'\nimport { CardConfiguration } from '../CardContainer/CardConfiguration'\nimport LastUpdatedOn from './LastUpdatedOn'\nimport { useDeepCompareMemoize } from 'use-deep-compare-effect'\nimport QueryWrapperLoadingScreen from '../QueryWrapper/QueryWrapperLoadingScreen'\nimport { SynapseErrorBoundary } from '../error'\nimport { useQueryContext } from '../QueryContext'\nimport { Box } from '@mui/material'\nimport { TablePagination } from '../SynapseTable/TablePagination'\nimport { ViewMoreQueryResultsButton } from '../QueryWrapper/ViewMoreQueryResultsButton'\nimport { useRowSet } from './UseRowSet'\n\nexport type RowSetViewProps = {\n tableConfiguration?: SynapseTableConfiguration\n cardConfiguration?: CardConfiguration\n initialLimit?: number\n hideDownload?: boolean\n multiCardList?: boolean\n}\n\n/**\n * Renders a table or cards representing the RowSet. Also displays appropriate pagination controls\n * depending on the value of QueryContext.isInfinite.\n * @param props\n * @constructor\n */\nexport function RowSetView(props: RowSetViewProps) {\n const { cardConfiguration, hideDownload, initialLimit, multiCardList } = props\n\n const [initialLimitIsApplied, setInitialLimitIsApplied] = useState(\n initialLimit != null,\n )\n\n const { isInfinite } = useQueryContext()\n const tableConfiguration = useDeepCompareMemoize(\n props.tableConfiguration\n ? {\n ...props.tableConfiguration,\n hideDownload,\n }\n : undefined,\n )\n\n const {\n rowSet,\n progressMessage,\n isLoading,\n isLoadingNewPage,\n fetchNextPageOfInfiniteData,\n hasNextPageOfInfiniteData,\n } = useRowSet(initialLimitIsApplied ? initialLimit : undefined)\n\n return (\n <SynapseErrorBoundary>\n <div className={`RowSetView`}>\n {isLoading && (\n <QueryWrapperLoadingScreen progressMessage={progressMessage} />\n )}\n {!isLoading &&\n rowSet && (\n // even after the rowSet is loaded, a child component may suspend\n <Suspense\n fallback={\n <QueryWrapperLoadingScreen progressMessage={progressMessage} />\n }\n >\n {tableConfiguration && (\n <SynapseTable\n {...tableConfiguration}\n rowSet={rowSet}\n isLoadingNewPage={isLoadingNewPage}\n />\n )}\n {cardConfiguration && (\n <CardContainer\n {...cardConfiguration}\n rowSet={rowSet}\n multiCardList={multiCardList}\n />\n )}\n </Suspense>\n )}\n <Suspense fallback={<></>}>\n {!isInfinite && (\n <Box sx={{ mt: 2, textAlign: 'right' }}>\n <TablePagination />\n </Box>\n )}\n {isInfinite && (\n <ViewMoreQueryResultsButton\n initialLimit={initialLimit}\n initialLimitIsApplied={initialLimitIsApplied}\n onRemoveInitialLimit={() => {\n setInitialLimitIsApplied(false)\n }}\n fetchNextPage={() => {\n void fetchNextPageOfInfiniteData()\n }}\n hasNextPage={hasNextPageOfInfiniteData}\n isFetchingNextPage={isLoadingNewPage}\n />\n )}\n </Suspense>\n <LastUpdatedOn />\n </div>\n </SynapseErrorBoundary>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AA4BA,SAAgB,EAAW,GAAwB;CACjD,IAAM,EAAE,sBAAmB,iBAAc,iBAAc,qBAAkB,GAEnE,CAAC,GAAuB,KAA4B,EACxD,KAAgB,KACjB,EAEK,EAAE,kBAAe,GAAiB,EAClC,IAAqB,EACzB,EAAM,qBACF;EACE,GAAG,EAAM;EACT;EACD,GACD,KAAA,EACL,EAEK,EACJ,WACA,oBACA,cACA,qBACA,gCACA,iCACE,EAAU,IAAwB,IAAe,KAAA,EAAU;AAE/D,QACE,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;EAAK,WAAW;YAAhB;GACG,KACC,kBAAC,GAAD,EAA4C,oBAAmB,CAAA;GAEhE,CAAC,KACA,KAEE,kBAAC,GAAD;IACE,UACE,kBAAC,GAAD,EAA4C,oBAAmB,CAAA;cAFnE,CAKG,KACC,kBAAC,GAAD;KACE,GAAI;KACI;KACU;KAClB,CAAA,EAEH,KACC,kBAAC,GAAD;KACE,GAAI;KACI;KACO;KACf,CAAA,CAEK;;GAEf,kBAAC,GAAD;IAAU,UAAU,kBAAA,GAAA,EAAK,CAAA;cAAzB,CACG,CAAC,KACA,kBAAC,GAAD;KAAK,IAAI;MAAE,IAAI;MAAG,WAAW;MAAS;eACpC,kBAAC,GAAD,EAAmB,CAAA;KACf,CAAA,EAEP,KACC,kBAAC,GAAD;KACgB;KACS;KACvB,4BAA4B;AAC1B,QAAyB,GAAM;;KAEjC,qBAAqB;AACd,SAA6B;;KAEpC,aAAa;KACb,oBAAoB;KACpB,CAAA,CAEK;;GACX,kBAAC,GAAD,EAAiB,CAAA;GACb;KACe,CAAA"}
1
+ {"version":3,"file":"RowSetView.js","names":[],"sources":["../../../src/components/QueryWrapperPlotNav/RowSetView.tsx"],"sourcesContent":["import { Suspense, useState } from 'react'\nimport { CardContainer } from '../CardContainer/CardContainer'\nimport { SynapseTable, SynapseTableConfiguration } from '../SynapseTable'\nimport { CardConfiguration } from '../CardContainer/CardConfiguration'\nimport LastUpdatedOn from './LastUpdatedOn'\nimport { useDeepCompareMemoize } from 'use-deep-compare-effect'\nimport QueryWrapperLoadingScreen from '../QueryWrapper/QueryWrapperLoadingScreen'\nimport { SynapseErrorBoundary } from '../error'\nimport { useQueryContext } from '../QueryContext'\nimport { Box } from '@mui/material'\nimport { TablePagination } from '../SynapseTable/TablePagination'\nimport { ViewMoreQueryResultsButton } from '../QueryWrapper/ViewMoreQueryResultsButton'\nimport { useRowSet } from './UseRowSet'\n\nexport type RowSetViewProps = {\n tableConfiguration?: SynapseTableConfiguration\n cardConfiguration?: CardConfiguration\n initialLimit?: number\n hideDownload?: boolean\n multiCardList?: boolean\n}\n\n/**\n * Renders a table or cards representing the RowSet. Also displays appropriate pagination controls\n * depending on the value of QueryContext.isInfinite.\n * @param props\n * @constructor\n */\nexport function RowSetView(props: RowSetViewProps) {\n const { cardConfiguration, hideDownload, initialLimit, multiCardList } = props\n\n const [initialLimitIsApplied, setInitialLimitIsApplied] = useState(\n initialLimit != null,\n )\n\n const { isInfinite } = useQueryContext()\n const tableConfiguration = useDeepCompareMemoize(\n props.tableConfiguration\n ? {\n ...props.tableConfiguration,\n hideDownload,\n }\n : undefined,\n )\n\n const {\n rowSet,\n progressMessage,\n isLoading,\n isLoadingNewPage,\n fetchNextPageOfInfiniteData,\n hasNextPageOfInfiniteData,\n } = useRowSet(initialLimitIsApplied ? initialLimit : undefined)\n\n return (\n <SynapseErrorBoundary>\n <div className={`RowSetView`}>\n {isLoading && (\n <QueryWrapperLoadingScreen progressMessage={progressMessage} />\n )}\n {!isLoading &&\n rowSet && (\n // even after the rowSet is loaded, a child component may suspend\n <Suspense\n fallback={\n <QueryWrapperLoadingScreen progressMessage={progressMessage} />\n }\n >\n {tableConfiguration && (\n <SynapseTable\n {...tableConfiguration}\n rowSet={rowSet}\n isLoadingNewPage={isLoadingNewPage}\n />\n )}\n {cardConfiguration && (\n <CardContainer\n {...cardConfiguration}\n rowSet={rowSet}\n multiCardList={multiCardList}\n />\n )}\n </Suspense>\n )}\n <Suspense fallback={<></>}>\n {!isInfinite && (\n <Box sx={{ mt: 2, textAlign: 'right' }}>\n <TablePagination />\n </Box>\n )}\n {isInfinite && (\n <ViewMoreQueryResultsButton\n initialLimit={initialLimit}\n initialLimitIsApplied={initialLimitIsApplied}\n onRemoveInitialLimit={() => {\n setInitialLimitIsApplied(false)\n }}\n fetchNextPage={() => {\n void fetchNextPageOfInfiniteData()\n }}\n hasNextPage={hasNextPageOfInfiniteData}\n isFetchingNextPage={isLoadingNewPage}\n />\n )}\n </Suspense>\n <LastUpdatedOn />\n </div>\n </SynapseErrorBoundary>\n )\n}\n"],"mappings":";;;;;;;;;;;;;;;;;AA4BA,SAAgB,EAAW,GAAwB;CACjD,IAAM,EAAE,sBAAmB,iBAAc,iBAAc,qBAAkB,GAEnE,CAAC,GAAuB,KAA4B,EACxD,KAAgB,IAClB,GAEM,EAAE,kBAAe,EAAgB,GACjC,IAAqB,EACzB,EAAM,qBACF;EACE,GAAG,EAAM;EACT;CACF,IACA,KAAA,CACN,GAEM,EACJ,WACA,oBACA,cACA,qBACA,gCACA,iCACE,EAAU,IAAwB,IAAe,KAAA,CAAS;CAE9D,OACE,kBAAC,GAAD,EAAA,UACE,kBAAC,OAAD;EAAK,WAAW;YAAhB;GACG,KACC,kBAAC,GAAD,EAA4C,mBAAkB,CAAA;GAE/D,CAAC,KACA,KAEE,kBAAC,GAAD;IACE,UACE,kBAAC,GAAD,EAA4C,mBAAkB,CAAA;cAFlE,CAKG,KACC,kBAAC,GAAD;KACE,GAAI;KACI;KACU;IACnB,CAAA,GAEF,KACC,kBAAC,GAAD;KACE,GAAI;KACI;KACO;IAChB,CAAA,CAEK;;GAEd,kBAAC,GAAD;IAAU,UAAU,kBAAA,GAAA,CAAI,CAAA;cAAxB,CACG,CAAC,KACA,kBAAC,GAAD;KAAK,IAAI;MAAE,IAAI;MAAG,WAAW;KAAQ;eACnC,kBAAC,GAAD,CAAkB,CAAA;IACf,CAAA,GAEN,KACC,kBAAC,GAAD;KACgB;KACS;KACvB,4BAA4B;MAC1B,EAAyB,EAAK;KAChC;KACA,qBAAqB;MACnB,EAAiC;KACnC;KACA,aAAa;KACb,oBAAoB;IACrB,CAAA,CAEK;;GACV,kBAAC,GAAD,CAAgB,CAAA;EACb;IACe,CAAA;AAE1B"}
@@ -1 +1 @@
1
- {"version":3,"file":"UseRowSet.js","names":[],"sources":["../../../src/components/QueryWrapperPlotNav/UseRowSet.ts"],"sourcesContent":["import { queryRequestsHaveSameTotalResults } from '@/utils/functions/queryUtils'\nimport { RowSet } from '@sage-bionetworks/synapse-types'\nimport { useInfiniteQuery, useQuery } from '@tanstack/react-query'\nimport { cloneDeep } from 'lodash-es'\nimport { useMemo } from 'react'\nimport { useQueryContext } from '../QueryContext'\n\nfunction useGetInfiniteRowSet() {\n const { isInfinite, rowDataInfiniteQueryOptions } = useQueryContext()\n const infiniteQuery = useInfiniteQuery({\n ...rowDataInfiniteQueryOptions,\n enabled: isInfinite,\n })\n\n const infiniteQueryProgressMessage = useInfiniteQuery({\n ...rowDataInfiniteQueryOptions,\n select: asyncJob => asyncJob.pages[0].progressMessage,\n enabled: isInfinite,\n })\n\n const infiniteQueryRowSet: RowSet | undefined = useMemo(() => {\n const rowSet = cloneDeep(\n infiniteQuery.data?.pages[0]?.responseBody?.queryResult?.queryResults,\n )\n if (rowSet) {\n rowSet.rows =\n infiniteQuery.data?.pages.flatMap(\n page => page.responseBody?.queryResult?.queryResults.rows || [],\n ) || []\n }\n return rowSet\n }, [infiniteQuery.data?.pages])\n\n return {\n infiniteQuery,\n infiniteQueryRowSet,\n infiniteQueryProgressMessage,\n }\n}\n\nfunction useGetPaginatedRowSet() {\n const { isInfinite, rowDataQueryOptions, getCurrentQueryRequest } =\n useQueryContext()\n const paginatedQuery = useQuery({\n ...rowDataQueryOptions,\n enabled: !isInfinite,\n // Keep the previous data when fetching a new page. We will use `UseQueryResult.isPlaceholderData` to trigger a showing placeholder UI\n placeholderData: prevData => {\n if (prevData) {\n const prevQuery = prevData.requestBody?.query\n // Check that only the page/sort changed; if the filters/sql changed, then don't hold on to the old data\n // prevQuery may be undefined when the requestBody is not a QueryBundleRequest (e.g. SearchQueryWrapper)\n if (\n prevQuery &&\n queryRequestsHaveSameTotalResults(\n prevQuery,\n getCurrentQueryRequest().query,\n )\n ) {\n return prevData\n }\n }\n return undefined\n },\n })\n const paginatedQueryProgressMessage = useQuery({\n ...rowDataQueryOptions,\n select: asyncJob => asyncJob.progressMessage,\n enabled: !isInfinite,\n // Keep the previous data when fetching a new page. We will use `isPlaceholderData` to trigger a showing placeholder UI\n placeholderData: prevData => prevData,\n })\n\n return { paginatedQuery, paginatedQueryProgressMessage }\n}\n\n/**\n * Fetches the row data for a query and returns a RowSet that can be rendered as cards or a table. Respects the value of\n * QueryContext.isInfinite.\n * @param initialLimit\n */\nexport function useRowSet(initialLimit?: number) {\n const { isInfinite } = useQueryContext()\n\n const { paginatedQuery, paginatedQueryProgressMessage } =\n useGetPaginatedRowSet()\n const { infiniteQuery, infiniteQueryRowSet, infiniteQueryProgressMessage } =\n useGetInfiniteRowSet()\n\n const rowSet = useMemo(() => {\n let rowSet: RowSet | undefined\n if (isInfinite) {\n rowSet = infiniteQueryRowSet\n } else {\n rowSet = paginatedQuery.data\n }\n if (rowSet && initialLimit != null) {\n rowSet = { ...rowSet, rows: rowSet.rows.slice(0, initialLimit) }\n }\n return rowSet\n }, [infiniteQueryRowSet, initialLimit, isInfinite, paginatedQuery.data])\n\n const progressMessage: string | undefined = isInfinite\n ? infiniteQueryProgressMessage.data\n : paginatedQueryProgressMessage.data\n\n const isLoading = isInfinite\n ? infiniteQuery.isLoading\n : paginatedQuery.isLoading\n\n const isLoadingNewPage = isInfinite\n ? infiniteQuery.isFetchingNextPage\n : paginatedQuery.isPlaceholderData\n\n return {\n rowSet,\n progressMessage,\n isLoading,\n isLoadingNewPage,\n fetchNextPageOfInfiniteData: infiniteQuery.fetchNextPage,\n hasNextPageOfInfiniteData: infiniteQuery.hasNextPage,\n }\n}\n"],"mappings":";;;;;;;AAOA,SAAS,IAAuB;CAC9B,IAAM,EAAE,eAAY,mCAAgC,GAAiB,EAC/D,IAAgB,EAAiB;EACrC,GAAG;EACH,SAAS;EACV,CAAC,EAEI,IAA+B,EAAiB;EACpD,GAAG;EACH,SAAQ,MAAY,EAAS,MAAM,GAAG;EACtC,SAAS;EACV,CAAC;AAeF,QAAO;EACL;EACA,qBAf8C,QAAc;GAC5D,IAAM,IAAS,EACb,EAAc,MAAM,MAAM,IAAI,cAAc,aAAa,aAC1D;AAOD,UANI,MACF,EAAO,OACL,EAAc,MAAM,MAAM,SACxB,MAAQ,EAAK,cAAc,aAAa,aAAa,QAAQ,EAAE,CAChE,IAAI,EAAE,GAEJ;KACN,CAAC,EAAc,MAAM,MAAM,CAI5B;EACA;EACD;;AAGH,SAAS,IAAwB;CAC/B,IAAM,EAAE,eAAY,wBAAqB,8BACvC,GAAiB;AA+BnB,QAAO;EAAE,gBA9Bc,EAAS;GAC9B,GAAG;GACH,SAAS,CAAC;GAEV,kBAAiB,MAAY;AAC3B,QAAI,GAAU;KACZ,IAAM,IAAY,EAAS,aAAa;AAGxC,SACE,KACA,EACE,GACA,GAAwB,CAAC,MAC1B,CAED,QAAO;;;GAKd,CASQ;EAAgB,+BARa,EAAS;GAC7C,GAAG;GACH,SAAQ,MAAY,EAAS;GAC7B,SAAS,CAAC;GAEV,kBAAiB,MAAY;GAC9B,CAEwB;EAA+B;;AAQ1D,SAAgB,EAAU,GAAuB;CAC/C,IAAM,EAAE,kBAAe,GAAiB,EAElC,EAAE,mBAAgB,qCACtB,GAAuB,EACnB,EAAE,kBAAe,wBAAqB,oCAC1C,GAAsB;AA2BxB,QAAO;EACL,QA1Ba,QAAc;GAC3B,IAAI;AASJ,UARA,AAGE,IAHE,IACO,IAEA,EAAe,MAEtB,KAAU,KAAgB,SAC5B,IAAS;IAAE,GAAG;IAAQ,MAAM,EAAO,KAAK,MAAM,GAAG,EAAa;IAAE,GAE3D;KACN;GAAC;GAAqB;GAAc;GAAY,EAAe;GAAK,CAerE;EACA,iBAd0C,IACxC,EAA6B,OAC7B,EAA8B;EAahC,WAXgB,IACd,EAAc,YACd,EAAe;EAUjB,kBARuB,IACrB,EAAc,qBACd,EAAe;EAOjB,6BAA6B,EAAc;EAC3C,2BAA2B,EAAc;EAC1C"}
1
+ {"version":3,"file":"UseRowSet.js","names":[],"sources":["../../../src/components/QueryWrapperPlotNav/UseRowSet.ts"],"sourcesContent":["import { queryRequestsHaveSameTotalResults } from '@/utils/functions/queryUtils'\nimport { RowSet } from '@sage-bionetworks/synapse-types'\nimport { useInfiniteQuery, useQuery } from '@tanstack/react-query'\nimport { cloneDeep } from 'lodash-es'\nimport { useMemo } from 'react'\nimport { useQueryContext } from '../QueryContext'\n\nfunction useGetInfiniteRowSet() {\n const { isInfinite, rowDataInfiniteQueryOptions } = useQueryContext()\n const infiniteQuery = useInfiniteQuery({\n ...rowDataInfiniteQueryOptions,\n enabled: isInfinite,\n })\n\n const infiniteQueryProgressMessage = useInfiniteQuery({\n ...rowDataInfiniteQueryOptions,\n select: asyncJob => asyncJob.pages[0].progressMessage,\n enabled: isInfinite,\n })\n\n const infiniteQueryRowSet: RowSet | undefined = useMemo(() => {\n const rowSet = cloneDeep(\n infiniteQuery.data?.pages[0]?.responseBody?.queryResult?.queryResults,\n )\n if (rowSet) {\n rowSet.rows =\n infiniteQuery.data?.pages.flatMap(\n page => page.responseBody?.queryResult?.queryResults.rows || [],\n ) || []\n }\n return rowSet\n }, [infiniteQuery.data?.pages])\n\n return {\n infiniteQuery,\n infiniteQueryRowSet,\n infiniteQueryProgressMessage,\n }\n}\n\nfunction useGetPaginatedRowSet() {\n const { isInfinite, rowDataQueryOptions, getCurrentQueryRequest } =\n useQueryContext()\n const paginatedQuery = useQuery({\n ...rowDataQueryOptions,\n enabled: !isInfinite,\n // Keep the previous data when fetching a new page. We will use `UseQueryResult.isPlaceholderData` to trigger a showing placeholder UI\n placeholderData: prevData => {\n if (prevData) {\n const prevQuery = prevData.requestBody?.query\n // Check that only the page/sort changed; if the filters/sql changed, then don't hold on to the old data\n // prevQuery may be undefined when the requestBody is not a QueryBundleRequest (e.g. SearchQueryWrapper)\n if (\n prevQuery &&\n queryRequestsHaveSameTotalResults(\n prevQuery,\n getCurrentQueryRequest().query,\n )\n ) {\n return prevData\n }\n }\n return undefined\n },\n })\n const paginatedQueryProgressMessage = useQuery({\n ...rowDataQueryOptions,\n select: asyncJob => asyncJob.progressMessage,\n enabled: !isInfinite,\n // Keep the previous data when fetching a new page. We will use `isPlaceholderData` to trigger a showing placeholder UI\n placeholderData: prevData => prevData,\n })\n\n return { paginatedQuery, paginatedQueryProgressMessage }\n}\n\n/**\n * Fetches the row data for a query and returns a RowSet that can be rendered as cards or a table. Respects the value of\n * QueryContext.isInfinite.\n * @param initialLimit\n */\nexport function useRowSet(initialLimit?: number) {\n const { isInfinite } = useQueryContext()\n\n const { paginatedQuery, paginatedQueryProgressMessage } =\n useGetPaginatedRowSet()\n const { infiniteQuery, infiniteQueryRowSet, infiniteQueryProgressMessage } =\n useGetInfiniteRowSet()\n\n const rowSet = useMemo(() => {\n let rowSet: RowSet | undefined\n if (isInfinite) {\n rowSet = infiniteQueryRowSet\n } else {\n rowSet = paginatedQuery.data\n }\n if (rowSet && initialLimit != null) {\n rowSet = { ...rowSet, rows: rowSet.rows.slice(0, initialLimit) }\n }\n return rowSet\n }, [infiniteQueryRowSet, initialLimit, isInfinite, paginatedQuery.data])\n\n const progressMessage: string | undefined = isInfinite\n ? infiniteQueryProgressMessage.data\n : paginatedQueryProgressMessage.data\n\n const isLoading = isInfinite\n ? infiniteQuery.isLoading\n : paginatedQuery.isLoading\n\n const isLoadingNewPage = isInfinite\n ? infiniteQuery.isFetchingNextPage\n : paginatedQuery.isPlaceholderData\n\n return {\n rowSet,\n progressMessage,\n isLoading,\n isLoadingNewPage,\n fetchNextPageOfInfiniteData: infiniteQuery.fetchNextPage,\n hasNextPageOfInfiniteData: infiniteQuery.hasNextPage,\n }\n}\n"],"mappings":";;;;;;;AAOA,SAAS,IAAuB;CAC9B,IAAM,EAAE,eAAY,mCAAgC,EAAgB,GAC9D,IAAgB,EAAiB;EACrC,GAAG;EACH,SAAS;CACX,CAAC,GAEK,IAA+B,EAAiB;EACpD,GAAG;EACH,SAAQ,MAAY,EAAS,MAAM,GAAG;EACtC,SAAS;CACX,CAAC;CAeD,OAAO;EACL;EACA,qBAf8C,QAAc;GAC5D,IAAM,IAAS,EACb,EAAc,MAAM,MAAM,IAAI,cAAc,aAAa,YAC3D;GAOA,OANI,MACF,EAAO,OACL,EAAc,MAAM,MAAM,SACxB,MAAQ,EAAK,cAAc,aAAa,aAAa,QAAQ,CAAC,CAChE,KAAK,CAAC,IAEH;EACT,GAAG,CAAC,EAAc,MAAM,KAAK,CAI3B;EACA;CACF;AACF;AAEA,SAAS,IAAwB;CAC/B,IAAM,EAAE,eAAY,wBAAqB,8BACvC,EAAgB;CA+BlB,OAAO;EAAE,gBA9Bc,EAAS;GAC9B,GAAG;GACH,SAAS,CAAC;GAEV,kBAAiB,MAAY;IAC3B,IAAI,GAAU;KACZ,IAAM,IAAY,EAAS,aAAa;KAGxC,IACE,KACA,EACE,GACA,EAAuB,EAAE,KAC3B,GAEA,OAAO;IAEX;GAEF;EACF,CASS;EAAgB,+BARa,EAAS;GAC7C,GAAG;GACH,SAAQ,MAAY,EAAS;GAC7B,SAAS,CAAC;GAEV,kBAAiB,MAAY;EAC/B,CAEyB;CAA8B;AACzD;AAOA,SAAgB,EAAU,GAAuB;CAC/C,IAAM,EAAE,kBAAe,EAAgB,GAEjC,EAAE,mBAAgB,qCACtB,EAAsB,GAClB,EAAE,kBAAe,wBAAqB,oCAC1C,EAAqB;CA2BvB,OAAO;EACL,QA1Ba,QAAc;GAC3B,IAAI;GASJ,OARA,AAGE,IAHE,IACO,IAEA,EAAe,MAEtB,KAAU,KAAgB,SAC5B,IAAS;IAAE,GAAG;IAAQ,MAAM,EAAO,KAAK,MAAM,GAAG,CAAY;GAAE,IAE1D;EACT,GAAG;GAAC;GAAqB;GAAc;GAAY,EAAe;EAAI,CAepE;EACA,iBAd0C,IACxC,EAA6B,OAC7B,EAA8B;EAahC,WAXgB,IACd,EAAc,YACd,EAAe;EAUjB,kBARuB,IACrB,EAAc,qBACd,EAAe;EAOjB,6BAA6B,EAAc;EAC3C,2BAA2B,EAAc;CAC3C;AACF"}
@@ -1 +1 @@
1
- {"version":3,"file":"RORInstitutionField.js","names":[],"sources":["../../../src/components/RORInstitutionField/RORInstitutionField.tsx"],"sourcesContent":["import { ROROrganization } from '@/ror-client/types/ROROrganization'\nimport { useSearchRegistry } from '@/synapse-queries/ror'\nimport {\n Autocomplete,\n Box,\n TextField,\n TextFieldProps,\n Typography,\n} from '@mui/material'\nimport { useDebouncedEffect } from '@react-hookz/web'\nimport noop from 'lodash-es/noop'\nimport { useState } from 'react'\n\nexport type RORLinkedInstitutionFieldProps = {\n value?: string\n onChange?: (value: string | undefined, rorIdentifier?: string) => void\n error?: TextFieldProps['error']\n}\n\nfunction getOrganizationDisplayName(organization: ROROrganization) {\n return organization.names.find(name => name.types.includes('ror_display'))!\n}\n\n/**\n * Provides a text field for entering an organization name with an autocomplete dropdown of ROR organizations, fetched from the\n * ROR API.\n * @param props\n * @constructor\n */\nexport default function RORInstitutionField(\n props: RORLinkedInstitutionFieldProps,\n) {\n const { value: valueFromProps, onChange = noop, error } = props\n\n const isControlled = valueFromProps !== undefined\n\n const [internalInputValue, setInternalInputValue] = useState('')\n const [searchValue, setSearchValue] = useState('')\n\n useDebouncedEffect(\n () => {\n if (isControlled) {\n setSearchValue(valueFromProps || '')\n } else {\n setSearchValue(internalInputValue)\n }\n },\n [valueFromProps, internalInputValue, isControlled],\n 500,\n )\n\n const { data: searchResults, isLoading: isLoadingSearch } = useSearchRegistry(\n `${searchValue}`,\n {\n enabled: searchValue.length > 0,\n },\n )\n\n return (\n <Autocomplete\n freeSolo\n loading={isLoadingSearch}\n onInputChange={(_event, newValue) => {\n if (!isControlled) {\n setInternalInputValue(newValue)\n }\n onChange(newValue)\n }}\n renderInput={params => (\n <TextField\n {...params}\n label=\"Current Affiliation\"\n placeholder={'Type to search, or enter free text.'}\n error={error}\n />\n )}\n inputValue={isControlled ? valueFromProps : internalInputValue}\n getOptionLabel={option =>\n typeof option === 'string'\n ? option\n : getOrganizationDisplayName(option).value\n }\n renderOption={(props, option) => {\n const displayName = getOrganizationDisplayName(option).value\n const otherNames = option.names.filter(\n name => !name.types.includes('ror_display'),\n )\n return (\n <Box component=\"li\" {...props}>\n <div>\n <Typography variant={'body1'}>{displayName}</Typography>\n <Typography\n variant={'smallText1'}\n sx={{\n color: 'grey.700',\n fontStyle: 'italic',\n fontSize: '11px',\n }}\n >\n {otherNames.map(name => name.value).join(', ')}\n </Typography>\n </div>\n </Box>\n )\n }}\n filterOptions={x => x}\n options={searchResults?.items || []}\n />\n )\n}\n"],"mappings":";;;;;;;AAmBA,SAAS,EAA2B,GAA+B;AACjE,QAAO,EAAa,MAAM,MAAK,MAAQ,EAAK,MAAM,SAAS,cAAc,CAAC;;AAS5E,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,OAAO,GAAgB,cAAW,GAAM,aAAU,GAEpD,IAAe,MAAmB,KAAA,GAElC,CAAC,GAAoB,KAAyB,EAAS,GAAG,EAC1D,CAAC,GAAa,KAAkB,EAAS,GAAG;AAElD,SACQ;AACJ,EACE,EADE,IACa,KAAkB,KAElB,EAAmB;IAGtC;EAAC;EAAgB;EAAoB;EAAa,EAClD,IACD;CAED,IAAM,EAAE,MAAM,GAAe,WAAW,MAAoB,EAC1D,GAAG,KACH,EACE,SAAS,EAAY,SAAS,GAC/B,CACF;AAED,QACE,kBAAC,GAAD;EACE,UAAA;EACA,SAAS;EACT,gBAAgB,GAAQ,MAAa;AAInC,GAHK,KACH,EAAsB,EAAS,EAEjC,EAAS,EAAS;;EAEpB,cAAa,MACX,kBAAC,GAAD;GACE,GAAI;GACJ,OAAM;GACN,aAAa;GACN;GACP,CAAA;EAEJ,YAAY,IAAe,IAAiB;EAC5C,iBAAgB,MACd,OAAO,KAAW,WACd,IACA,EAA2B,EAAO,CAAC;EAEzC,eAAe,GAAO,MAAW;GAC/B,IAAM,IAAc,EAA2B,EAAO,CAAC,OACjD,IAAa,EAAO,MAAM,QAC9B,MAAQ,CAAC,EAAK,MAAM,SAAS,cAAc,CAC5C;AACD,UACE,kBAAC,GAAD;IAAK,WAAU;IAAK,GAAI;cACtB,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,GAAD;KAAY,SAAS;eAAU;KAAyB,CAAA,EACxD,kBAAC,GAAD;KACE,SAAS;KACT,IAAI;MACF,OAAO;MACP,WAAW;MACX,UAAU;MACX;eAEA,EAAW,KAAI,MAAQ,EAAK,MAAM,CAAC,KAAK,KAAK;KACnC,CAAA,CACT,EAAA,CAAA;IACF,CAAA;;EAGV,gBAAe,MAAK;EACpB,SAAS,GAAe,SAAS,EAAE;EACnC,CAAA"}
1
+ {"version":3,"file":"RORInstitutionField.js","names":[],"sources":["../../../src/components/RORInstitutionField/RORInstitutionField.tsx"],"sourcesContent":["import { ROROrganization } from '@/ror-client/types/ROROrganization'\nimport { useSearchRegistry } from '@/synapse-queries/ror'\nimport {\n Autocomplete,\n Box,\n TextField,\n TextFieldProps,\n Typography,\n} from '@mui/material'\nimport { useDebouncedEffect } from '@react-hookz/web'\nimport noop from 'lodash-es/noop'\nimport { useState } from 'react'\n\nexport type RORLinkedInstitutionFieldProps = {\n value?: string\n onChange?: (value: string | undefined, rorIdentifier?: string) => void\n error?: TextFieldProps['error']\n}\n\nfunction getOrganizationDisplayName(organization: ROROrganization) {\n return organization.names.find(name => name.types.includes('ror_display'))!\n}\n\n/**\n * Provides a text field for entering an organization name with an autocomplete dropdown of ROR organizations, fetched from the\n * ROR API.\n * @param props\n * @constructor\n */\nexport default function RORInstitutionField(\n props: RORLinkedInstitutionFieldProps,\n) {\n const { value: valueFromProps, onChange = noop, error } = props\n\n const isControlled = valueFromProps !== undefined\n\n const [internalInputValue, setInternalInputValue] = useState('')\n const [searchValue, setSearchValue] = useState('')\n\n useDebouncedEffect(\n () => {\n if (isControlled) {\n setSearchValue(valueFromProps || '')\n } else {\n setSearchValue(internalInputValue)\n }\n },\n [valueFromProps, internalInputValue, isControlled],\n 500,\n )\n\n const { data: searchResults, isLoading: isLoadingSearch } = useSearchRegistry(\n `${searchValue}`,\n {\n enabled: searchValue.length > 0,\n },\n )\n\n return (\n <Autocomplete\n freeSolo\n loading={isLoadingSearch}\n onInputChange={(_event, newValue) => {\n if (!isControlled) {\n setInternalInputValue(newValue)\n }\n onChange(newValue)\n }}\n renderInput={params => (\n <TextField\n {...params}\n label=\"Current Affiliation\"\n placeholder={'Type to search, or enter free text.'}\n error={error}\n />\n )}\n inputValue={isControlled ? valueFromProps : internalInputValue}\n getOptionLabel={option =>\n typeof option === 'string'\n ? option\n : getOrganizationDisplayName(option).value\n }\n renderOption={(props, option) => {\n const displayName = getOrganizationDisplayName(option).value\n const otherNames = option.names.filter(\n name => !name.types.includes('ror_display'),\n )\n return (\n <Box component=\"li\" {...props}>\n <div>\n <Typography variant={'body1'}>{displayName}</Typography>\n <Typography\n variant={'smallText1'}\n sx={{\n color: 'grey.700',\n fontStyle: 'italic',\n fontSize: '11px',\n }}\n >\n {otherNames.map(name => name.value).join(', ')}\n </Typography>\n </div>\n </Box>\n )\n }}\n filterOptions={x => x}\n options={searchResults?.items || []}\n />\n )\n}\n"],"mappings":";;;;;;;AAmBA,SAAS,EAA2B,GAA+B;CACjE,OAAO,EAAa,MAAM,MAAK,MAAQ,EAAK,MAAM,SAAS,aAAa,CAAC;AAC3E;AAQA,SAAwB,EACtB,GACA;CACA,IAAM,EAAE,OAAO,GAAgB,cAAW,GAAM,aAAU,GAEpD,IAAe,MAAmB,KAAA,GAElC,CAAC,GAAoB,KAAyB,EAAS,EAAE,GACzD,CAAC,GAAa,KAAkB,EAAS,EAAE;CAEjD,QACQ;EACJ,AACE,EADE,IACa,KAAkB,KAElB,CAAkB;CAErC,GACA;EAAC;EAAgB;EAAoB;CAAY,GACjD,GACF;CAEA,IAAM,EAAE,MAAM,GAAe,WAAW,MAAoB,EAC1D,GAAG,KACH,EACE,SAAS,EAAY,SAAS,EAChC,CACF;CAEA,OACE,kBAAC,GAAD;EACE,UAAA;EACA,SAAS;EACT,gBAAgB,GAAQ,MAAa;GAInC,AAHK,KACH,EAAsB,CAAQ,GAEhC,EAAS,CAAQ;EACnB;EACA,cAAa,MACX,kBAAC,GAAD;GACE,GAAI;GACJ,OAAM;GACN,aAAa;GACN;EACR,CAAA;EAEH,YAAY,IAAe,IAAiB;EAC5C,iBAAgB,MACd,OAAO,KAAW,WACd,IACA,EAA2B,CAAM,EAAE;EAEzC,eAAe,GAAO,MAAW;GAC/B,IAAM,IAAc,EAA2B,CAAM,EAAE,OACjD,IAAa,EAAO,MAAM,QAC9B,MAAQ,CAAC,EAAK,MAAM,SAAS,aAAa,CAC5C;GACA,OACE,kBAAC,GAAD;IAAK,WAAU;IAAK,GAAI;cACtB,kBAAC,OAAD,EAAA,UAAA,CACE,kBAAC,GAAD;KAAY,SAAS;eAAU;IAAwB,CAAA,GACvD,kBAAC,GAAD;KACE,SAAS;KACT,IAAI;MACF,OAAO;MACP,WAAW;MACX,UAAU;KACZ;eAEC,EAAW,KAAI,MAAQ,EAAK,KAAK,EAAE,KAAK,IAAI;IACnC,CAAA,CACT,EAAA,CAAA;GACF,CAAA;EAET;EACA,gBAAe,MAAK;EACpB,SAAS,GAAe,SAAS,CAAC;CACnC,CAAA;AAEL"}
@@ -102,9 +102,7 @@ function g(e) {
102
102
  concreteType: "org.sagebionetworks.repo.model.table.QueryBundleRequest",
103
103
  entityId: t(i),
104
104
  query: { sql: i }
105
- }), m = u?.queryResult.queryResults.rows ?? [], g = /* @__PURE__ */ function(e) {
106
- return e.CATEGORY = "Category", e.JOURNAL = "Journal", e.TITLE = "Title", e.PUBLICATION_DATE = "publicationDate", e.DOI = "DOI", e;
107
- }({}), _ = n(g.CATEGORY, u), v = n(g.JOURNAL, u), y = n(g.TITLE, u), b = n(g.PUBLICATION_DATE, u), x = n(g.DOI, u);
105
+ }), m = u?.queryResult.queryResults.rows ?? [], g = n("Category", u), _ = n("Journal", u), v = n("Title", u), y = n("publicationDate", u), b = n("DOI", u);
108
106
  return /* @__PURE__ */ f(o, {
109
107
  sx: {
110
108
  display: "grid",
@@ -145,11 +143,11 @@ function g(e) {
145
143
  children: m.map((e) => /* @__PURE__ */ d(h, {
146
144
  pub: e,
147
145
  isLoading: p,
148
- categoryColIndex: _,
149
- titleColIndex: y,
150
- journalColIndex: v,
151
- publicationDateColIndex: b,
152
- doiColIndex: x
146
+ categoryColIndex: g,
147
+ titleColIndex: v,
148
+ journalColIndex: _,
149
+ publicationDateColIndex: y,
150
+ doiColIndex: b
153
151
  }, e.rowId))
154
152
  })
155
153
  }), /* @__PURE__ */ d(o, {