synapse-react-client 4.0.9 → 4.0.11

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 (613) hide show
  1. package/dist/SWC.index.d.ts +1 -0
  2. package/dist/SWC.index.d.ts.map +1 -1
  3. package/dist/SWC.index.js +2 -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/icons/CloudWarning.d.ts +5 -0
  8. package/dist/assets/icons/CloudWarning.d.ts.map +1 -0
  9. package/dist/assets/icons/CloudWarning.js +47 -0
  10. package/dist/assets/icons/CloudWarning.js.map +1 -0
  11. package/dist/assets/icons/TasksIcon.d.ts.map +1 -1
  12. package/dist/assets/icons/TasksIcon.js +6 -10
  13. package/dist/assets/icons/TasksIcon.js.map +1 -1
  14. package/dist/components/AccessRequirementAclEditor/AccessRequirementAclEditor.d.ts.map +1 -1
  15. package/dist/components/AccessRequirementAclEditor/AccessRequirementAclEditor.js +69 -63
  16. package/dist/components/AccessRequirementAclEditor/AccessRequirementAclEditor.js.map +1 -1
  17. package/dist/components/AccessRequirementList/AccessApprovalCheckMark.js.map +1 -1
  18. package/dist/components/AccessRequirementList/AccessRequirementList.js.map +1 -1
  19. package/dist/components/AccessRequirementList/AccessRequirementListUtils.js.map +1 -1
  20. package/dist/components/AccessRequirementList/ManagedACTAccessRequirementRequestFlow/DataAccessRequestAccessorsEditor.js.map +1 -1
  21. package/dist/components/AccessRequirementList/RequirementItem/SelfSignAccessRequirementItem.js.map +1 -1
  22. package/dist/components/AccessRequirementRelatedProjectsList/AccessRequirementRelatedProjectsList.js.map +1 -1
  23. package/dist/components/AccessTokenPage/AccessTokenCard/AccessTokenCard.js.map +1 -1
  24. package/dist/components/AcknowledgementsPage/StudyAcknowledgements.js.map +1 -1
  25. package/dist/components/AclEditor/PermissionLevelMenu.js.map +1 -1
  26. package/dist/components/AclEditor/ResourceAccessAndUserGroupHeader.js.map +1 -1
  27. package/dist/components/AclEditor/useSortResourceAccessList.js.map +1 -1
  28. package/dist/components/AclEditor/useUpdateAcl.js.map +1 -1
  29. package/dist/components/Aridhia/AridhiaAccessStatus.js.map +1 -1
  30. package/dist/components/Authentication/AuthenticationMethodSelection.d.ts.map +1 -1
  31. package/dist/components/Authentication/AuthenticationMethodSelection.js +38 -37
  32. package/dist/components/Authentication/AuthenticationMethodSelection.js.map +1 -1
  33. package/dist/components/Authentication/Constants.d.ts +1 -0
  34. package/dist/components/Authentication/Constants.d.ts.map +1 -1
  35. package/dist/components/Authentication/Constants.js +2 -2
  36. package/dist/components/Authentication/Constants.js.map +1 -1
  37. package/dist/components/Authentication/LastLoginInfo.js.map +1 -1
  38. package/dist/components/Authentication/RecoveryCodeForm.js.map +1 -1
  39. package/dist/components/Authentication/RecoveryCodeGrid.js.map +1 -1
  40. package/dist/components/Authentication/RegenerateBackupCodesWarning.js.map +1 -1
  41. package/dist/components/Authentication/Reset2FAWarning.js.map +1 -1
  42. package/dist/components/Authentication/StandaloneLoginForm.js +1 -1
  43. package/dist/components/Authentication/TwoFactorBackupCodes.js.map +1 -1
  44. package/dist/components/Authentication/TwoFactorEnrollmentForm.d.ts.map +1 -1
  45. package/dist/components/Authentication/TwoFactorEnrollmentForm.js +2 -1
  46. package/dist/components/Authentication/TwoFactorEnrollmentForm.js.map +1 -1
  47. package/dist/components/BasePortalCard/ColorfulPortalCardWithChips/ColorfulPortalCardWithChips.js.map +1 -1
  48. package/dist/components/CardContainer/CardContainer.js.map +1 -1
  49. package/dist/components/CardDeck/CardDeck.Mobile.js.map +1 -1
  50. package/dist/components/CardDeck/TableQueryCardDeck.js.map +1 -1
  51. package/dist/components/CertificationQuiz/CertificationQuiz.js.map +1 -1
  52. package/dist/components/ChallengeDataDownload/ChallengeDataDownload.js.map +1 -1
  53. package/dist/components/ChallengeSubmission/ChallengeSubmission.js.map +1 -1
  54. package/dist/components/ChallengeSubmission/ChallengeSubmissionStepper.js.map +1 -1
  55. package/dist/components/ChallengeSubmission/EvaluationQueueCurrentRoundInfo.js.map +1 -1
  56. package/dist/components/ChallengeSubmission/EvaluationQueueList.js.map +1 -1
  57. package/dist/components/ChallengeSubmission/SubmissionDirectoryList.d.ts.map +1 -1
  58. package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js +143 -140
  59. package/dist/components/ChallengeSubmission/SubmissionDirectoryList.js.map +1 -1
  60. package/dist/components/ChallengeTeamWizard/ChallengeTeamWizard.js.map +1 -1
  61. package/dist/components/ChallengeTeamWizard/CreateChallengeTeam.js.map +1 -1
  62. package/dist/components/ChangePassword/ChangePassword.js.map +1 -1
  63. package/dist/components/ChangePassword/ChangePasswordWithToken.js.map +1 -1
  64. package/dist/components/ChangePassword/useChangePasswordFormState.js +1 -1
  65. package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
  66. package/dist/components/CitationPopover/CitationPopoverContent.js.map +1 -1
  67. package/dist/components/ColumnFilter/ColumnFilter.js.map +1 -1
  68. package/dist/components/ComponentCollapse.js.map +1 -1
  69. package/dist/components/CookiesNotification/CookiesNotification.js.map +1 -1
  70. package/dist/components/CreateProjectModal/CreateProjectModal.js.map +1 -1
  71. package/dist/components/CreateTableViewWizard/CreateTableViewWizardUtils.js.map +1 -1
  72. package/dist/components/DataGrid/DataGrid.d.ts +0 -1
  73. package/dist/components/DataGrid/DataGrid.d.ts.map +1 -1
  74. package/dist/components/DataGrid/DataGrid.js +72 -72
  75. package/dist/components/DataGrid/DataGrid.js.map +1 -1
  76. package/dist/components/DataGrid/DataGridWebSocket.d.ts +4 -0
  77. package/dist/components/DataGrid/DataGridWebSocket.d.ts.map +1 -1
  78. package/dist/components/DataGrid/DataGridWebSocket.js +9 -8
  79. package/dist/components/DataGrid/DataGridWebSocket.js.map +1 -1
  80. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  81. package/dist/components/DataGrid/SynapseGrid.js +326 -268
  82. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  83. package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts +2 -0
  84. package/dist/components/DataGrid/columns/AutocompleteColumn.d.ts.map +1 -1
  85. package/dist/components/DataGrid/columns/AutocompleteColumn.js +124 -67
  86. package/dist/components/DataGrid/columns/AutocompleteColumn.js.map +1 -1
  87. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.d.ts +2 -1
  88. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.d.ts.map +1 -1
  89. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js +126 -122
  90. package/dist/components/DataGrid/columns/AutocompleteMultipleEnumColumn.js.map +1 -1
  91. package/dist/components/DataGrid/columns/useGridAutocompleteState.d.ts +58 -0
  92. package/dist/components/DataGrid/columns/useGridAutocompleteState.d.ts.map +1 -0
  93. package/dist/components/DataGrid/columns/useGridAutocompleteState.js +52 -0
  94. package/dist/components/DataGrid/columns/useGridAutocompleteState.js.map +1 -0
  95. package/dist/components/DataGrid/components/ValidationAlert.d.ts +5 -2
  96. package/dist/components/DataGrid/components/ValidationAlert.d.ts.map +1 -1
  97. package/dist/components/DataGrid/components/ValidationAlert.js +429 -24
  98. package/dist/components/DataGrid/components/ValidationAlert.js.map +1 -1
  99. package/dist/components/DataGrid/hooks/useColumnResizeHandles.js.map +1 -1
  100. package/dist/components/DataGrid/hooks/useGetSchemaForGrid.js.map +1 -1
  101. package/dist/components/DataGrid/hooks/useGridUndoRedo.js.map +1 -1
  102. package/dist/components/DataGrid/hooks/useStack.js.map +1 -1
  103. package/dist/components/DataGrid/useCRDTModelView.js.map +1 -1
  104. package/dist/components/DataGrid/useDataGridWebsocket.d.ts +7 -0
  105. package/dist/components/DataGrid/useDataGridWebsocket.d.ts.map +1 -1
  106. package/dist/components/DataGrid/useDataGridWebsocket.js +16 -2
  107. package/dist/components/DataGrid/useDataGridWebsocket.js.map +1 -1
  108. package/dist/components/DataGrid/useInitializeGridConnection.js.map +1 -1
  109. package/dist/components/DataGrid/useMergeGridWithRecordSet.js.map +1 -1
  110. package/dist/components/DataGrid/useMergeGridWithSource.js.map +1 -1
  111. package/dist/components/DataGrid/useMergeGridWithTable.js.map +1 -1
  112. package/dist/components/DataGrid/utils/DataGridUtils.js.map +1 -1
  113. package/dist/components/DataGrid/utils/applyModelChange.d.ts +1 -1
  114. package/dist/components/DataGrid/utils/applyModelChange.d.ts.map +1 -1
  115. package/dist/components/DataGrid/utils/applyModelChange.js +27 -24
  116. package/dist/components/DataGrid/utils/applyModelChange.js.map +1 -1
  117. package/dist/components/DataGrid/utils/columnFactory.d.ts +8 -0
  118. package/dist/components/DataGrid/utils/columnFactory.d.ts.map +1 -1
  119. package/dist/components/DataGrid/utils/columnFactory.js +47 -44
  120. package/dist/components/DataGrid/utils/columnFactory.js.map +1 -1
  121. package/dist/components/DataGrid/utils/computeReplicaSelectionModel.js.map +1 -1
  122. package/dist/components/DataGrid/utils/extractColumnValidationMessages.js.map +1 -1
  123. package/dist/components/DataGrid/utils/getCellClassName.d.ts.map +1 -1
  124. package/dist/components/DataGrid/utils/getCellClassName.js +8 -8
  125. package/dist/components/DataGrid/utils/getCellClassName.js.map +1 -1
  126. package/dist/components/DataGrid/utils/getEmptyValue.d.ts +2 -0
  127. package/dist/components/DataGrid/utils/getEmptyValue.d.ts.map +1 -0
  128. package/dist/components/DataGrid/utils/getEmptyValue.js +8 -0
  129. package/dist/components/DataGrid/utils/getEmptyValue.js.map +1 -0
  130. package/dist/components/DataGrid/utils/json-rx/JsonRx.js.map +1 -1
  131. package/dist/components/DataGrid/utils/modelColsToGrid.d.ts.map +1 -1
  132. package/dist/components/DataGrid/utils/modelColsToGrid.js +2 -1
  133. package/dist/components/DataGrid/utils/modelColsToGrid.js.map +1 -1
  134. package/dist/components/DataGrid/utils/modelRowsToGrid.js.map +1 -1
  135. package/dist/components/DataGrid/utils/parseFreeTextUsingJsonSchemaType.js.map +1 -1
  136. package/dist/components/DataGrid/utils/schemaAwarePasteValue.d.ts +32 -0
  137. package/dist/components/DataGrid/utils/schemaAwarePasteValue.d.ts.map +1 -0
  138. package/dist/components/DataGrid/utils/schemaAwarePasteValue.js +22 -0
  139. package/dist/components/DataGrid/utils/schemaAwarePasteValue.js.map +1 -0
  140. package/dist/components/DataGrid/utils/splitPatch.js.map +1 -1
  141. package/dist/components/DateTimePicker/DateTimePicker.js.map +1 -1
  142. package/dist/components/DirectDownload/DirectDownload.js.map +1 -1
  143. package/dist/components/DirectDownloadButton.js.map +1 -1
  144. package/dist/components/DownloadCart/CreatePackageV2.js.map +1 -1
  145. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.css +1 -0
  146. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.d.ts.map +1 -1
  147. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js +199 -132
  148. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.js.map +1 -1
  149. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.module.js +22 -0
  150. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.module.js.map +1 -0
  151. package/dist/components/DownloadCart/DownloadIneligibleForPackagingFilesFromListButton.module.scss +170 -0
  152. package/dist/components/DownloadCart/DownloadListActionsRequired.js.map +1 -1
  153. package/dist/components/DownloadCart/DownloadListTable.js.map +1 -1
  154. package/dist/components/DownloadCart/fileNameUtils.js.map +1 -1
  155. package/dist/components/DraggableDialog/DraggableDialog.js.map +1 -1
  156. package/dist/components/DynamicForm/DynamicFormModal.js.map +1 -1
  157. package/dist/components/Ecosystem/TableQueryEcosystem.js.map +1 -1
  158. package/dist/components/EntityAclEditor/EntityAclEditor.d.ts.map +1 -1
  159. package/dist/components/EntityAclEditor/EntityAclEditor.js +103 -103
  160. package/dist/components/EntityAclEditor/EntityAclEditor.js.map +1 -1
  161. package/dist/components/EntityAclEditor/useNotifyNewACLUsers.js.map +1 -1
  162. package/dist/components/EntityBadgeIcons/EntityBadgeIcons.js.map +1 -1
  163. package/dist/components/EntityCitation/EntityCitation.js.map +1 -1
  164. package/dist/components/EntityDownloadButton/EntityDownloadButton.d.ts.map +1 -1
  165. package/dist/components/EntityDownloadButton/EntityDownloadButton.js +1 -0
  166. package/dist/components/EntityDownloadButton/EntityDownloadButton.js.map +1 -1
  167. package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.d.ts.map +1 -1
  168. package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js +36 -30
  169. package/dist/components/EntityDownloadConfirmation/EntityDownloadConfirmation.js.map +1 -1
  170. package/dist/components/EntityFinder/EntityFinder.js.map +1 -1
  171. package/dist/components/EntityFinder/VersionSelectionType.js.map +1 -1
  172. package/dist/components/EntityFinder/details/configurations/EntityChildrenDetails.js.map +1 -1
  173. package/dist/components/EntityFinder/details/configurations/FavoritesDetails.js.map +1 -1
  174. package/dist/components/EntityFinder/details/configurations/ProjectListDetails.js.map +1 -1
  175. package/dist/components/EntityFinder/details/view/DetailsView.js.map +1 -1
  176. package/dist/components/EntityFinder/tree/EntityTree.js.map +1 -1
  177. package/dist/components/EntityFinder/tree/VirtualizedTree.js.map +1 -1
  178. package/dist/components/EntityFinder/useEntitySelection.js.map +1 -1
  179. package/dist/components/EntityForm/EntityForm.js.map +1 -1
  180. package/dist/components/EntityHeaderTable/EntityHeaderTable.js.map +1 -1
  181. package/dist/components/EntityHeaderTable/Filter.js.map +1 -1
  182. package/dist/components/EntityHeaderTable/useEntityHeaderTableState.js.map +1 -1
  183. package/dist/components/EntitySubjectsSelector/EntitySubjectsSelector.js.map +1 -1
  184. package/dist/components/EntityTreeTable/components/IdColumnHeader.js.map +1 -1
  185. package/dist/components/EntityTreeTable/hooks/useEntityTreeState.js.map +1 -1
  186. package/dist/components/EntityTreeTable/hooks/useTableColumns.js.map +1 -1
  187. package/dist/components/EntityTreeTable/hooks/useTableData.js.map +1 -1
  188. package/dist/components/EntityTreeTable/hooks/useTreeOperationsWithDirectFetch.js.map +1 -1
  189. package/dist/components/EntityUpload/EntityUpload.js.map +1 -1
  190. package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.d.ts.map +1 -1
  191. package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.js +15 -14
  192. package/dist/components/EntityViewScopeEditor/EntityViewMaskEditor.js.map +1 -1
  193. package/dist/components/ExperimentalMode/ExperimentalMode.js.map +1 -1
  194. package/dist/components/ExternalFileHandleLink/ExternalFileHandleLink.js.map +1 -1
  195. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
  196. package/dist/components/FeaturedDataTabs/QueryPerFacetPlotsCard.js.map +1 -1
  197. package/dist/components/FeaturedDataTabs/SingleQueryFacetPlotsCards.js.map +1 -1
  198. package/dist/components/FeaturedResearch/FeaturedResearch.js.map +1 -1
  199. package/dist/components/FeaturedToolsList/FeaturedToolsList.js.map +1 -1
  200. package/dist/components/FilePreview/FileHandleContentRenderer.js.map +1 -1
  201. package/dist/components/FilePreview/HtmlPreview/HtmlPreview.js.map +1 -1
  202. package/dist/components/FilePreview/PreviewRendererType.js.map +1 -1
  203. package/dist/components/Forum/DiscussionReply.d.ts +1 -0
  204. package/dist/components/Forum/DiscussionReply.d.ts.map +1 -1
  205. package/dist/components/Forum/DiscussionReply.js +19 -19
  206. package/dist/components/Forum/DiscussionReply.js.map +1 -1
  207. package/dist/components/Forum/DiscussionSearchResult.js.map +1 -1
  208. package/dist/components/Forum/DiscussionThread.d.ts +1 -0
  209. package/dist/components/Forum/DiscussionThread.d.ts.map +1 -1
  210. package/dist/components/Forum/DiscussionThread.js +73 -72
  211. package/dist/components/Forum/DiscussionThread.js.map +1 -1
  212. package/dist/components/Forum/ForumTable.js.map +1 -1
  213. package/dist/components/Forum/ForumThreadEditor.js.map +1 -1
  214. package/dist/components/FullTextSearch/FullTextSearchUtils.js.map +1 -1
  215. package/dist/components/GenericCard/BioregistryRules.d.ts.map +1 -1
  216. package/dist/components/GenericCard/BioregistryRules.js +7 -3
  217. package/dist/components/GenericCard/BioregistryRules.js.map +1 -1
  218. package/dist/components/GenericCard/GenericCard.d.ts.map +1 -1
  219. package/dist/components/GenericCard/GenericCard.js +12 -7
  220. package/dist/components/GenericCard/GenericCard.js.map +1 -1
  221. package/dist/components/GenericCard/Linkify.js.map +1 -1
  222. package/dist/components/GenericCard/SynapseCardLabel.js.map +1 -1
  223. package/dist/components/GenericCard/TableRowGenericCard.js +105 -105
  224. package/dist/components/GenericCard/TableRowGenericCard.js.map +1 -1
  225. package/dist/components/Goals/Goals.Mobile.js.map +1 -1
  226. package/dist/components/Goals/Goals.js.map +1 -1
  227. package/dist/components/GoalsV2/GoalsV2.Mobile.js.map +1 -1
  228. package/dist/components/GoalsV2/GoalsV2.js.map +1 -1
  229. package/dist/components/GoalsV3/GoalsV3.Mobile.js.map +1 -1
  230. package/dist/components/GoalsV3/GoalsV3.js.map +1 -1
  231. package/dist/components/GoogleMap/SynapseUserMarker.js.map +1 -1
  232. package/dist/components/HasAccess/AccessIcon.js.map +1 -1
  233. package/dist/components/HasAccess/useHasAccess.js.map +1 -1
  234. package/dist/components/HeaderCard/HeaderCardV2.js.map +1 -1
  235. package/dist/components/HeaderCard.d.ts +6 -1
  236. package/dist/components/HeaderCard.d.ts.map +1 -1
  237. package/dist/components/HeaderCard.js +107 -76
  238. package/dist/components/HeaderCard.js.map +1 -1
  239. package/dist/components/HexGrid/HexGrid.js.map +1 -1
  240. package/dist/components/IconList.js.map +1 -1
  241. package/dist/components/IconSvg/IconSvg.d.ts.map +1 -1
  242. package/dist/components/IconSvg/IconSvg.js +2 -1
  243. package/dist/components/IconSvg/IconSvg.js.map +1 -1
  244. package/dist/components/ImageCardGridWithLinks/ImageCardGridWithLinks.js.map +1 -1
  245. package/dist/components/ImageFromSynapseTable.js.map +1 -1
  246. package/dist/components/JSONArrayEditor/useParseCsv.js.map +1 -1
  247. package/dist/components/JsonSchemaForm/templates/ArrayFieldDescriptionTemplate.js.map +1 -1
  248. package/dist/components/JsonSchemaForm/templates/ArrayFieldItemTemplate.js.map +1 -1
  249. package/dist/components/JsonSchemaForm/templates/BaseInputTemplate.js.map +1 -1
  250. package/dist/components/JsonSchemaForm/templates/FieldTemplate.js.map +1 -1
  251. package/dist/components/JsonSchemaForm/templates/RJSFInputLabel.js.map +1 -1
  252. package/dist/components/Markdown/MarkdownGithub.js.map +1 -1
  253. package/dist/components/Markdown/MarkdownSynapse.js.map +1 -1
  254. package/dist/components/Markdown/MarkdownUtils.js.map +1 -1
  255. package/dist/components/Markdown/SynapseWikiContext.js.map +1 -1
  256. package/dist/components/Markdown/UserMentionModal.js.map +1 -1
  257. package/dist/components/Markdown/widget/MarkdownProvenanceGraph.js.map +1 -1
  258. package/dist/components/MissingQueryResultsWarning/MissingQueryResultsWarning.js.map +1 -1
  259. package/dist/components/ModalDownload/ModalDownload.js.map +1 -1
  260. package/dist/components/OAuthClientAclEditor/OAuthClientAclEditor.d.ts.map +1 -1
  261. package/dist/components/OAuthClientAclEditor/OAuthClientAclEditor.js +45 -39
  262. package/dist/components/OAuthClientAclEditor/OAuthClientAclEditor.js.map +1 -1
  263. package/dist/components/OAuthClientManagement/OAuthManagement.js.map +1 -1
  264. package/dist/components/PageProgress/PageProgress.js.map +1 -1
  265. package/dist/components/Plot/DotPlot.js.map +1 -1
  266. package/dist/components/Plot/Plot.js.map +1 -1
  267. package/dist/components/Plot/SynapsePlot.js.map +1 -1
  268. package/dist/components/Plot/ThemesPlot.js.map +1 -1
  269. package/dist/components/Plot/UpsetPlot.js.map +1 -1
  270. package/dist/components/PortalAclEditor/PortalAclEditor.d.ts.map +1 -1
  271. package/dist/components/PortalAclEditor/PortalAclEditor.js +43 -41
  272. package/dist/components/PortalAclEditor/PortalAclEditor.js.map +1 -1
  273. package/dist/components/PortalFeaturedPartners/PortalFeaturedPartners.js.map +1 -1
  274. package/dist/components/PortalList/CreatePortalModal.js.map +1 -1
  275. package/dist/components/ProgrammaticInstructionsModal/ProgrammaticInstructionsModal.js.map +1 -1
  276. package/dist/components/ProgrammaticTableDownload/ProgrammaticTableDownload.js.map +1 -1
  277. package/dist/components/Programs/Programs.Mobile.js.map +1 -1
  278. package/dist/components/Programs/Programs.js.map +1 -1
  279. package/dist/components/ProvenanceGraph/ProvenanceExternalIcon.js.map +1 -1
  280. package/dist/components/ProvenanceGraph/ProvenanceGraph.js.map +1 -1
  281. package/dist/components/ProvenanceGraph/ProvenanceGraphUtils.js.map +1 -1
  282. package/dist/components/ProvenanceGraph/ProvenanceUtils.js.map +1 -1
  283. package/dist/components/QueryCount/QueryCount.js.map +1 -1
  284. package/dist/components/QueryCountButton/QueryCountButton.js.map +1 -1
  285. package/dist/components/QueryVisualizationWrapper/QueryVisualizationWrapper.js.map +1 -1
  286. package/dist/components/QueryWrapper/QueryWrapper.js.map +1 -1
  287. package/dist/components/QueryWrapper/TableQueryUseQueryOptions.js.map +1 -1
  288. package/dist/components/QueryWrapper/TableRowSelectionState.js.map +1 -1
  289. package/dist/components/QueryWrapper/generateEncodedPathAndQueryForSelectedFacetURL.js.map +1 -1
  290. package/dist/components/QueryWrapper/useGetQueryMetadata.js.map +1 -1
  291. package/dist/components/QueryWrapperErrorBoundary.js.map +1 -1
  292. package/dist/components/QueryWrapperPlotNav/QueryWrapperPlotNav.js.map +1 -1
  293. package/dist/components/QueryWrapperPlotNav/UseRowSet.js.map +1 -1
  294. package/dist/components/RecentPublicationsGrid/RecentPublicationsGrid.js.map +1 -1
  295. package/dist/components/ReleaseCard/ReleaseCardUtils.js.map +1 -1
  296. package/dist/components/ResizableContainer/hooks/useResizable.js.map +1 -1
  297. package/dist/components/Resources/Resources.Mobile.js.map +1 -1
  298. package/dist/components/Resources/Resources.js.map +1 -1
  299. package/dist/components/RowDataTable/RowDataTableWithQuery.js.map +1 -1
  300. package/dist/components/SageResourcesPopover/SageResourcesPopover.js.map +1 -1
  301. package/dist/components/SchemaDrivenAnnotationEditor/AnnotationEditorUtils.js.map +1 -1
  302. package/dist/components/SetAccessRequirementCommonFields/SetAccessRequirementCommonFields.js.map +1 -1
  303. package/dist/components/SetManagedAccessRequirementFields/SetManagedAccessRequirementFields.js.map +1 -1
  304. package/dist/components/SmartLink/SmartButton.js.map +1 -1
  305. package/dist/components/SmartLink/SmartLink.js.map +1 -1
  306. package/dist/components/SourceAppImage.js.map +1 -1
  307. package/dist/components/StandaloneQueryWrapper/StandaloneQueryWrapper.js.map +1 -1
  308. package/dist/components/StatisticsPlot.js.map +1 -1
  309. package/dist/components/StorybookComponentWrapper.js.map +1 -1
  310. package/dist/components/SubsectionRowRenderer/SubsectionRowRenderer.js.map +1 -1
  311. package/dist/components/SustainabilityScorecard/SustainabilityScorecard.js.map +1 -1
  312. package/dist/components/SynapseChat/GridAgentChat.js.map +1 -1
  313. package/dist/components/SynapseChat/SynapseChatInteraction.js.map +1 -1
  314. package/dist/components/SynapseChat/SynapseChatMessage.js.map +1 -1
  315. package/dist/components/SynapseChat/extractMessageFromTraceEvent.js.map +1 -1
  316. package/dist/components/SynapseForm/StepsSideNav.js.map +1 -1
  317. package/dist/components/SynapseForm/SummaryTable.js.map +1 -1
  318. package/dist/components/SynapseForm/SynapseForm.js +4 -2
  319. package/dist/components/SynapseForm/SynapseForm.js.map +1 -1
  320. package/dist/components/SynapseForm/SynapseFormWrapper.js.map +1 -1
  321. package/dist/components/SynapseHomepageV2/SynapseByTheNumbersItem.js.map +1 -1
  322. package/dist/components/SynapseHomepageV2/SynapseFeatureItem.js.map +1 -1
  323. package/dist/components/SynapseHomepageV2/SynapseHomepageChatSearch.js.map +1 -1
  324. package/dist/components/SynapseHomepageV2/SynapseHomepageSearch.js.map +1 -1
  325. package/dist/components/SynapseHomepageV2/SynapseInActionItem.js.map +1 -1
  326. package/dist/components/SynapseHomepageV2/SynapsePlans.js.map +1 -1
  327. package/dist/components/SynapseHomepageV2/SynapseTrendingProjects.js.map +1 -1
  328. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.d.ts +8 -7
  329. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.d.ts.map +1 -1
  330. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js +173 -164
  331. package/dist/components/SynapseNavDrawer/SynapseNavDrawer.js.map +1 -1
  332. package/dist/components/SynapsePortalBanners/SynapsePortalBanners.js.map +1 -1
  333. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanel.js.map +1 -1
  334. package/dist/components/SynapseSearchPageResults/SearchFacetPanel/SearchFacetPanelUtils.js.map +1 -1
  335. package/dist/components/SynapseSearchPageResults/SynapseSearchPageResults.js.map +1 -1
  336. package/dist/components/SynapseTable/EntityIDColumnCopyIcon.js.map +1 -1
  337. package/dist/components/SynapseTable/NoContentPlaceholderType.js.map +1 -1
  338. package/dist/components/SynapseTable/RowSelection/RowSelectionControls.js.map +1 -1
  339. package/dist/components/SynapseTable/SynapseTableCell/SynapseTableCell.js.map +1 -1
  340. package/dist/components/SynapseTable/SynapseTableRenderers.js.map +1 -1
  341. package/dist/components/SynapseTable/datasets/DatasetItemsEditor.js.map +1 -1
  342. package/dist/components/SynapseTable/table-top/ColumnSelection.js.map +1 -1
  343. package/dist/components/SynapseTable/table-top/DownloadOptions.js.map +1 -1
  344. package/dist/components/SynapseTable/usePrefetchTableData.js.map +1 -1
  345. package/dist/components/TableColumnSchemaEditor/ColumnModelForm.js.map +1 -1
  346. package/dist/components/TableColumnSchemaEditor/ColumnModelFormFields/DefaultValueField.js.map +1 -1
  347. package/dist/components/TableColumnSchemaEditor/ImportTableColumnsButton.js.map +1 -1
  348. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.d.ts +1 -1
  349. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.d.ts.map +1 -1
  350. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaEditorUtils.js.map +1 -1
  351. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaForm.js.map +1 -1
  352. package/dist/components/TableColumnSchemaEditor/TableColumnSchemaFormReducer.js.map +1 -1
  353. package/dist/components/TableColumnSchemaEditor/Validators/ColumnModelValidator.js.map +1 -1
  354. package/dist/components/TableColumnSchemaEditor/Validators/DatetimeSchema.js.map +1 -1
  355. package/dist/components/TanStackTable/ColumnHeader.d.ts +1 -0
  356. package/dist/components/TanStackTable/ColumnHeader.d.ts.map +1 -1
  357. package/dist/components/TanStackTable/ColumnHeader.js +8 -8
  358. package/dist/components/TanStackTable/ColumnHeader.js.map +1 -1
  359. package/dist/components/TanStackTable/ColumnHeaderEnumFilter.js.map +1 -1
  360. package/dist/components/TanStackTable/TableBody.js.map +1 -1
  361. package/dist/components/TeamSubjectsSelector/TeamSubjectsSelector.js.map +1 -1
  362. package/dist/components/TextField/TextField.js.map +1 -1
  363. package/dist/components/TimelinePlot/TimelinePhase.js.map +1 -1
  364. package/dist/components/TimelinePlot/TimelinePlot.js.map +1 -1
  365. package/dist/components/TimelinePlot/TimelinePlotSpeciesSelector.js.map +1 -1
  366. package/dist/components/UserCard/Avatar.js.map +1 -1
  367. package/dist/components/UserCardList/UserCardList.js.map +1 -1
  368. package/dist/components/UserCardList/UserCardListGroups/UserCardListGroups.Mobile.js.map +1 -1
  369. package/dist/components/UserCardList/UserCardListRotate.js.map +1 -1
  370. package/dist/components/UserOrTeamBadge/useUserOrTeam.js.map +1 -1
  371. package/dist/components/UserProfileLinks/UserProjects.js.map +1 -1
  372. package/dist/components/UserSearchBox/UserSearchBox.js.map +1 -1
  373. package/dist/components/Webhook/WebhookDashboard.js.map +1 -1
  374. package/dist/components/WikiMarkdownEditor/WikiMarkdownEditor.js.map +1 -1
  375. package/dist/components/WikiMarkdownEditorButton/WikiMarkdownEditorButton.js.map +1 -1
  376. package/dist/components/dataaccess/AccessApprovalsTable.js.map +1 -1
  377. package/dist/components/dataaccess/AccessRequestSubmissionTable.js.map +1 -1
  378. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.d.ts.map +1 -1
  379. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js +157 -148
  380. package/dist/components/dataaccess/SubmissionPage/SubmissionPage.js.map +1 -1
  381. package/dist/components/dataaccess/UseAccessRequirementTable.js.map +1 -1
  382. package/dist/components/dataaccess/UserAccessRequestHistory/UserAccessRequestHistoryTable.js.map +1 -1
  383. package/dist/components/doi/CreateOrUpdateDoiModal.d.ts.map +1 -1
  384. package/dist/components/doi/CreateOrUpdateDoiModal.js +20 -19
  385. package/dist/components/doi/CreateOrUpdateDoiModal.js.map +1 -1
  386. package/dist/components/entity/page/CreatedByModifiedBy.js.map +1 -1
  387. package/dist/components/entity/page/action_menu/EntityActionMenu.js.map +1 -1
  388. package/dist/components/entity/page/title_bar/useDataCiteUsage.js.map +1 -1
  389. package/dist/components/entity/page/title_bar/useGetMentions.js.map +1 -1
  390. package/dist/components/error/ErrorPage.js.map +1 -1
  391. package/dist/components/favorites/FavoritesPage.js.map +1 -1
  392. package/dist/components/file/upload/BasicFileHandleUpload.js.map +1 -1
  393. package/dist/components/layout/SWCHeader.d.ts +9 -0
  394. package/dist/components/layout/SWCHeader.d.ts.map +1 -0
  395. package/dist/components/layout/SWCHeader.js +19 -0
  396. package/dist/components/layout/SWCHeader.js.map +1 -0
  397. package/dist/components/layout/SWCPageLayout.d.ts +9 -0
  398. package/dist/components/layout/SWCPageLayout.d.ts.map +1 -0
  399. package/dist/components/layout/SWCPageLayout.js +14 -0
  400. package/dist/components/layout/SWCPageLayout.js.map +1 -0
  401. package/dist/components/menu/ComplexMenu.js.map +1 -1
  402. package/dist/components/row_renderers/utils/ChipContainer.js.map +1 -1
  403. package/dist/components/styled/StyledPopover.js.map +1 -1
  404. package/dist/components/table/CsvPreview/CsvPreview.js +2 -1
  405. package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
  406. package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
  407. package/dist/components/trash/TrashCanList.js.map +1 -1
  408. package/dist/components/widgets/FileHandleLink.js.map +1 -1
  409. package/dist/components/widgets/RangeSlider/RangeSlider.js.map +1 -1
  410. package/dist/components/widgets/SynapseVideo.js.map +1 -1
  411. package/dist/components/widgets/facet-nav/FacetNavPanel.js.map +1 -1
  412. package/dist/components/widgets/facet-nav/PlotsContainer.js.map +1 -1
  413. package/dist/components/widgets/facet-nav/SelectionCriteriaPills.js.map +1 -1
  414. package/dist/components/widgets/facet-nav/useFacetPlots.js.map +1 -1
  415. package/dist/components/widgets/query-filter/CombinedRangeFacetFilter.js.map +1 -1
  416. package/dist/components/widgets/query-filter/EnumFacetFilter/EnumFacetFilter.js.map +1 -1
  417. package/dist/components/widgets/query-filter/FacetFilterControls.js.map +1 -1
  418. package/dist/components/widgets/query-filter/RangeFacetFilter.js.map +1 -1
  419. package/dist/components/widgets/query-filter/RangeFacetFilterUI.js.map +1 -1
  420. package/dist/features/curator/GridPage/components/GridPageTitle.d.ts.map +1 -1
  421. package/dist/features/curator/GridPage/components/GridPageTitle.js +23 -30
  422. package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
  423. package/dist/features/curator/dashboard/CuratorDashboard.d.ts +2 -0
  424. package/dist/features/curator/dashboard/CuratorDashboard.d.ts.map +1 -0
  425. package/dist/features/curator/dashboard/CuratorDashboard.js +45 -0
  426. package/dist/features/curator/dashboard/CuratorDashboard.js.map +1 -0
  427. package/dist/features/curator/dashboard/components/CurationTaskCard.css +1 -0
  428. package/dist/features/curator/dashboard/components/CurationTaskCard.d.ts +9 -0
  429. package/dist/features/curator/dashboard/components/CurationTaskCard.d.ts.map +1 -0
  430. package/dist/features/curator/dashboard/components/CurationTaskCard.js +106 -0
  431. package/dist/features/curator/dashboard/components/CurationTaskCard.js.map +1 -0
  432. package/dist/features/curator/dashboard/components/CurationTaskCard.module.js +12 -0
  433. package/dist/features/curator/dashboard/components/CurationTaskCard.module.js.map +1 -0
  434. package/dist/features/curator/dashboard/components/CurationTaskCard.module.scss +52 -0
  435. package/dist/features/curator/dashboard/components/NextStepButton.css +1 -0
  436. package/dist/features/curator/dashboard/components/NextStepButton.d.ts +14 -0
  437. package/dist/features/curator/dashboard/components/NextStepButton.d.ts.map +1 -0
  438. package/dist/features/curator/dashboard/components/NextStepButton.js +35 -0
  439. package/dist/features/curator/dashboard/components/NextStepButton.js.map +1 -0
  440. package/dist/features/curator/dashboard/components/NextStepButton.module.js +11 -0
  441. package/dist/features/curator/dashboard/components/NextStepButton.module.js.map +1 -0
  442. package/dist/features/curator/dashboard/components/NextStepButton.module.scss +57 -0
  443. package/dist/features/curator/dashboard/components/UserOrTeamChip.css +1 -1
  444. package/dist/features/curator/dashboard/components/UserOrTeamChip.module.js +1 -1
  445. package/dist/features/curator/dashboard/components/UserOrTeamChip.module.js.map +1 -1
  446. package/dist/features/curator/dashboard/components/UserOrTeamChip.module.scss +5 -5
  447. package/dist/features/curator/dashboard/components/shared.css +1 -0
  448. package/dist/features/curator/dashboard/components/shared.module.js +5 -0
  449. package/dist/features/curator/dashboard/components/shared.module.js.map +1 -0
  450. package/dist/features/curator/dashboard/components/shared.module.scss +8 -0
  451. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts +0 -2
  452. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts.map +1 -1
  453. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +16 -34
  454. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
  455. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.d.ts.map +1 -1
  456. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js +1 -1
  457. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -1
  458. package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.js.map +1 -1
  459. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js.map +1 -1
  460. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js.map +1 -1
  461. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +1 -1
  462. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js.map +1 -1
  463. package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.d.ts +10 -0
  464. package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.d.ts.map +1 -0
  465. package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js +37 -0
  466. package/dist/features/entity/metadata-task/hooks/useOpenCuratorButton.js.map +1 -0
  467. package/dist/features/entity/metadata-task/utils/constants.d.ts +5 -0
  468. package/dist/features/entity/metadata-task/utils/constants.d.ts.map +1 -0
  469. package/dist/features/entity/metadata-task/utils/constants.js +6 -0
  470. package/dist/features/entity/metadata-task/utils/constants.js.map +1 -0
  471. package/dist/mocks/challenge/mockChallenge.js.map +1 -1
  472. package/dist/mocks/entity/mockDataset.js.map +1 -1
  473. package/dist/mocks/entity/mockDatasetCollection.js.map +1 -1
  474. package/dist/mocks/entity/mockFileEntity.js.map +1 -1
  475. package/dist/mocks/entity/mockFileView.js.map +1 -1
  476. package/dist/mocks/entity/mockGeneratedEntityData.js.map +1 -1
  477. package/dist/mocks/entity/mockProject.js.map +1 -1
  478. package/dist/mocks/entity/mockProjectView.js.map +1 -1
  479. package/dist/mocks/entity/mockRootEntity.js.map +1 -1
  480. package/dist/mocks/entity/mockTableEntity.js.map +1 -1
  481. package/dist/mocks/mockWiki.js.map +1 -1
  482. package/dist/mocks/msw/handlers/asyncJobHandlers.js.map +1 -1
  483. package/dist/mocks/msw/handlers/challengeHandlers.js.map +1 -1
  484. package/dist/mocks/msw/handlers/changePasswordHandlers.js.map +1 -1
  485. package/dist/mocks/msw/handlers/discussionHandlers.js.map +1 -1
  486. package/dist/mocks/msw/handlers/entityHandlers.js.map +1 -1
  487. package/dist/mocks/msw/handlers/fileHandlers.js.map +1 -1
  488. package/dist/mocks/msw/handlers/gridHandlers.js.map +1 -1
  489. package/dist/mocks/msw/handlers/personalAccessTokenHandlers.js.map +1 -1
  490. package/dist/mocks/msw/handlers/subscriptionHandlers.js.map +1 -1
  491. package/dist/mocks/msw/handlers/teamHandlers.js.map +1 -1
  492. package/dist/mocks/msw/handlers/userProfileHandlers.js.map +1 -1
  493. package/dist/mocks/msw/handlers/wikiHandlers.js.map +1 -1
  494. package/dist/mocks/provenance/mockActivity.js.map +1 -1
  495. package/dist/mocks/query/mockReleaseCardsTableQueryResultBundle.js.map +1 -1
  496. package/dist/ror-client/index.js.map +1 -1
  497. package/dist/style/components/_cards.scss +4 -0
  498. package/dist/style/components/_data-grid-extra.css +1 -1
  499. package/dist/style/components/_data-grid-extra.scss +2 -0
  500. package/dist/style/main.css +1 -1
  501. package/dist/synapse-client/HttpClient.js.map +1 -1
  502. package/dist/synapse-client/SynapseClient.js.map +1 -1
  503. package/dist/synapse-queries/KeyFactory.d.ts +1 -0
  504. package/dist/synapse-queries/KeyFactory.d.ts.map +1 -1
  505. package/dist/synapse-queries/KeyFactory.js +3 -0
  506. package/dist/synapse-queries/KeyFactory.js.map +1 -1
  507. package/dist/synapse-queries/QueryMatching.test-utils.js.map +1 -1
  508. package/dist/synapse-queries/auth/useTwoFactorEnrollment.js.map +1 -1
  509. package/dist/synapse-queries/curation/task/useCurationTask.d.ts +1 -1
  510. package/dist/synapse-queries/curation/task/useCurationTask.d.ts.map +1 -1
  511. package/dist/synapse-queries/curation/task/useCurationTask.js +1 -1
  512. package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
  513. package/dist/synapse-queries/dataaccess/useRestrictionInformation.js.map +1 -1
  514. package/dist/synapse-queries/doi/useDOI.js.map +1 -1
  515. package/dist/synapse-queries/download/useDownloadList.js.map +1 -1
  516. package/dist/synapse-queries/entity/useEntity.js.map +1 -1
  517. package/dist/synapse-queries/entity/useEntityBundle.js.map +1 -1
  518. package/dist/synapse-queries/entity/useExportTableQueryToAnalysisPlatform.js.map +1 -1
  519. package/dist/synapse-queries/entity/useExportToTerra.js.map +1 -1
  520. package/dist/synapse-queries/entity/useGetQueryResultBundle.js.map +1 -1
  521. package/dist/synapse-queries/entity/useSchema.js.map +1 -1
  522. package/dist/synapse-queries/file/UploadToS3.js.map +1 -1
  523. package/dist/synapse-queries/file/useDirectUploadToS3.js.map +1 -1
  524. package/dist/synapse-queries/file/useFiles.js.map +1 -1
  525. package/dist/synapse-queries/forum/useReply.js.map +1 -1
  526. package/dist/synapse-queries/forum/useThread.d.ts +1 -0
  527. package/dist/synapse-queries/forum/useThread.d.ts.map +1 -1
  528. package/dist/synapse-queries/forum/useThread.js +19 -12
  529. package/dist/synapse-queries/forum/useThread.js.map +1 -1
  530. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.d.ts +2 -0
  531. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.d.ts.map +1 -1
  532. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
  533. package/dist/synapse-queries/grid/useExportGrid.js.map +1 -1
  534. package/dist/synapse-queries/grid/useGridSession.js.map +1 -1
  535. package/dist/synapse-queries/grid/useImportCsvIntoGrid.js.map +1 -1
  536. package/dist/synapse-queries/subscription/useSubscription.js.map +1 -1
  537. package/dist/synapse-queries/table/useGetCsvPreview.js.map +1 -1
  538. package/dist/synapse-queries/table/useTableUpdateTransaction.js.map +1 -1
  539. package/dist/synapse-queries/team/useTeamMembers.js.map +1 -1
  540. package/dist/synapse-queries/user/useGetUserChallenges.js.map +1 -1
  541. package/dist/synapse-queries/user/useUserBundle.js.map +1 -1
  542. package/dist/synapse-queries/user/useUserGroupHeader.js.map +1 -1
  543. package/dist/testutils/ReactQueryMockUtils.js.map +1 -1
  544. package/dist/theme/ThemeProvider.js.map +1 -1
  545. package/dist/tsconfig.build.tsbuildinfo +1 -1
  546. package/dist/utils/APIConstants.d.ts +1 -0
  547. package/dist/utils/APIConstants.d.ts.map +1 -1
  548. package/dist/utils/APIConstants.js +2 -2
  549. package/dist/utils/APIConstants.js.map +1 -1
  550. package/dist/utils/AppUtils/session/ApplicationSessionManager.d.ts.map +1 -1
  551. package/dist/utils/AppUtils/session/ApplicationSessionManager.js +7 -4
  552. package/dist/utils/AppUtils/session/ApplicationSessionManager.js.map +1 -1
  553. package/dist/utils/AppUtils/session/SynapseSessionManager.js.map +1 -1
  554. package/dist/utils/AppUtils/session/useSessionManager.js.map +1 -1
  555. package/dist/utils/PermissionLevelToAccessType.js.map +1 -1
  556. package/dist/utils/challenge/evaluation/EvaluationUtils.js.map +1 -1
  557. package/dist/utils/context/SynapseContext.js.map +1 -1
  558. package/dist/utils/functions/AccessControlListUtils.d.ts +4 -0
  559. package/dist/utils/functions/AccessControlListUtils.d.ts.map +1 -1
  560. package/dist/utils/functions/AccessControlListUtils.js +12 -1
  561. package/dist/utils/functions/AccessControlListUtils.js.map +1 -1
  562. package/dist/utils/functions/EntityTypeUtils.d.ts.map +1 -1
  563. package/dist/utils/functions/EntityTypeUtils.js +15 -4
  564. package/dist/utils/functions/EntityTypeUtils.js.map +1 -1
  565. package/dist/utils/functions/GridApiUtils.js.map +1 -1
  566. package/dist/utils/functions/QueryFilterUtils.js.map +1 -1
  567. package/dist/utils/functions/RealmUtils.d.ts +4 -0
  568. package/dist/utils/functions/RealmUtils.d.ts.map +1 -1
  569. package/dist/utils/functions/RealmUtils.js +9 -3
  570. package/dist/utils/functions/RealmUtils.js.map +1 -1
  571. package/dist/utils/functions/SanitizeHtmlUtils.js.map +1 -1
  572. package/dist/utils/functions/SanitizeHtmlUtils.test-utils.js.map +1 -1
  573. package/dist/utils/functions/SqlFunctions.js.map +1 -1
  574. package/dist/utils/functions/StringUtils.js.map +1 -1
  575. package/dist/utils/functions/deepLinkingUtils.js.map +1 -1
  576. package/dist/utils/functions/getDataFromFromStorage.js.map +1 -1
  577. package/dist/utils/functions/getEndpoint.js.map +1 -1
  578. package/dist/utils/functions/getUserData.js.map +1 -1
  579. package/dist/utils/functions/queryUtils.js.map +1 -1
  580. package/dist/utils/functions/testDownloadSpeed.js.map +1 -1
  581. package/dist/utils/hooks/useConfirmItems.js.map +1 -1
  582. package/dist/utils/hooks/useCookiePreferences.js.map +1 -1
  583. package/dist/utils/hooks/useCreateShortUrl.js.map +1 -1
  584. package/dist/utils/hooks/useDetectSSOCode.js.map +1 -1
  585. package/dist/utils/hooks/useDirectDownloadHandler.js.map +1 -1
  586. package/dist/utils/hooks/useGetGoalData.js.map +1 -1
  587. package/dist/utils/hooks/useGetInfoFromIds.js.map +1 -1
  588. package/dist/utils/hooks/useImageUrlUtils.js.map +1 -1
  589. package/dist/utils/hooks/useImmutableTableQuery/useImmutableTableQuery.js.map +1 -1
  590. package/dist/utils/hooks/useImmutableTableQuery/useTableQueryReducer.js.map +1 -1
  591. package/dist/utils/hooks/useIsBot.js.map +1 -1
  592. package/dist/utils/hooks/useListState.js.map +1 -1
  593. package/dist/utils/hooks/useLogin.d.ts.map +1 -1
  594. package/dist/utils/hooks/useLogin.js +53 -52
  595. package/dist/utils/hooks/useLogin.js.map +1 -1
  596. package/dist/utils/hooks/useMutuallyExclusiveState.js.map +1 -1
  597. package/dist/utils/hooks/useOverlay.js.map +1 -1
  598. package/dist/utils/hooks/usePreFetchResource.js.map +1 -1
  599. package/dist/utils/hooks/useQuerySearchParam.js.map +1 -1
  600. package/dist/utils/hooks/useScrollFadeTransition.js.map +1 -1
  601. package/dist/utils/hooks/useSet.js.map +1 -1
  602. package/dist/utils/hooks/useSourceAppConfigs.js.map +1 -1
  603. package/dist/utils/hooks/useTableImageUrl.js.map +1 -1
  604. package/dist/utils/hooks/useUploadFileEntity/useCreatePathsAndGetParentId.js.map +1 -1
  605. package/dist/utils/hooks/useUploadFileEntity/useLinkFileEntityToURL.js.map +1 -1
  606. package/dist/utils/hooks/useUploadFileEntity/usePrepareFileEntityUpload.js.map +1 -1
  607. package/dist/utils/hooks/useUploadFileEntity/useTrackFileUploads.js.map +1 -1
  608. package/dist/utils/hooks/useUploadFileEntity/useUploadFileEntities.js.map +1 -1
  609. package/dist/utils/hooks/useUploadFileEntity/useUploadFiles.js.map +1 -1
  610. package/dist/utils/hooks/useUploadFileEntity/willUploadsExceedStorageLimit.js.map +1 -1
  611. package/dist/utils/html/TargetEnum.js.map +1 -1
  612. package/dist/utils/jsonschema/SchemaAnnotationUtils.js.map +1 -1
  613. package/package.json +5 -5
@@ -1,33 +1,438 @@
1
- import e from "../../FullWidthAlert/FullWidthAlert.js";
2
- import { jsx as t } from "react/jsx-runtime";
3
- import { c as n } from "react/compiler-runtime";
1
+ import { SynapseSpinner as e } from "../../LoadingScreen/LoadingScreen.js";
2
+ import { Fragment as t, useState as n } from "react";
3
+ import { Box as r, Chip as i, Collapse as a, Divider as o, Link as s, Stack as c, Tab as l, Tabs as u, Typography as d } from "@mui/material";
4
+ import { Fragment as f, jsx as p, jsxs as m } from "react/jsx-runtime";
5
+ import { c as h } from "react/compiler-runtime";
4
6
  //#region src/components/DataGrid/components/ValidationAlert.tsx
5
- var r = (r) => {
6
- let a = n(7), { selectedRowIndex: o, rowValues: s } = r;
7
- if (o === null) return null;
8
- let c = s[o];
9
- if (!c) return null;
10
- let l = c.__validationResults?.allValidationMessages;
11
- if (!Array.isArray(l) || l.length === 0) return null;
7
+ function g(e, t, n) {
8
+ return n.findIndex((n) => t[n] === e);
9
+ }
10
+ function _(e) {
11
+ return e === "_row" ? "Row-level" : e;
12
+ }
13
+ function ee(e) {
14
+ let t = h(14), { columnName: n, message: i, rowIndex: a } = e, o = ` (Row ${a + 1})`;
15
+ if (n === "_row") {
16
+ let e;
17
+ t[0] === Symbol.for("react.memo_cache_sentinel") ? (e = { fontWeight: "normal" }, t[0] = e) : e = t[0];
18
+ let n;
19
+ return t[1] !== i || t[2] !== o ? (n = /* @__PURE__ */ p(f, { children: /* @__PURE__ */ m(r, {
20
+ component: "span",
21
+ sx: e,
22
+ children: [i, o]
23
+ }) }), t[1] = i, t[2] = o, t[3] = n) : n = t[3], n;
24
+ }
25
+ let s;
26
+ t[4] === Symbol.for("react.memo_cache_sentinel") ? (s = { fontWeight: "bold" }, t[4] = s) : s = t[4];
27
+ let c;
28
+ t[5] === n ? c = t[6] : (c = /* @__PURE__ */ p(r, {
29
+ component: "span",
30
+ sx: s,
31
+ children: n
32
+ }), t[5] = n, t[6] = c);
33
+ let l;
34
+ t[7] === Symbol.for("react.memo_cache_sentinel") ? (l = { fontWeight: "normal" }, t[7] = l) : l = t[7];
12
35
  let u;
13
- a[0] === l ? u = a[1] : (u = l.map(i), a[0] = l, a[1] = u);
36
+ t[8] !== i || t[9] !== o ? (u = /* @__PURE__ */ m(r, {
37
+ component: "span",
38
+ sx: l,
39
+ children: [
40
+ " — ",
41
+ i,
42
+ o
43
+ ]
44
+ }), t[8] = i, t[9] = o, t[10] = u) : u = t[10];
14
45
  let d;
15
- a[2] === u ? d = a[3] : (d = /* @__PURE__ */ t("ul", { children: u }), a[2] = u, a[3] = d);
46
+ return t[11] !== c || t[12] !== u ? (d = /* @__PURE__ */ m(f, { children: [c, u] }), t[11] = c, t[12] = u, t[13] = d) : d = t[13], d;
47
+ }
48
+ var te = {
49
+ textDecoration: "none",
50
+ cursor: "pointer",
51
+ "&:hover": { textDecoration: "underline" }
52
+ }, ne = {
53
+ border: "1px solid",
54
+ borderLeft: "4px solid",
55
+ borderRadius: 1,
56
+ mb: 1
57
+ }, v = {
58
+ minHeight: 36,
59
+ py: .5
60
+ }, y = {
61
+ display: "flex",
62
+ alignItems: "center",
63
+ gap: .5,
64
+ mb: .25
65
+ }, b = {
66
+ pl: 2,
67
+ display: "flex",
68
+ alignItems: "baseline",
69
+ flexWrap: "wrap",
70
+ gap: .5,
71
+ py: .25
72
+ };
73
+ function x(e) {
74
+ let n = h(9), { rows: i, navCol: a, onNavigateToCell: o } = e, c;
75
+ if (n[0] !== a || n[1] !== o || n[2] !== i) {
76
+ let e;
77
+ n[4] !== a || n[5] !== o ? (e = (e, n) => {
78
+ let { rowIndex: i, pending: c } = e;
79
+ return /* @__PURE__ */ m(t, { children: [n > 0 && /* @__PURE__ */ p(r, {
80
+ component: "span",
81
+ "aria-hidden": !0,
82
+ sx: {
83
+ color: "text.disabled",
84
+ userSelect: "none"
85
+ },
86
+ children: "·"
87
+ }), /* @__PURE__ */ p(s, {
88
+ component: "button",
89
+ variant: "body1",
90
+ color: "text.secondary",
91
+ onClick: () => o(i, a),
92
+ sx: {
93
+ ...te,
94
+ opacity: c ? .5 : 1
95
+ },
96
+ children: n === 0 ? `Row ${i + 1}` : i + 1
97
+ })] }, i);
98
+ }, n[4] = a, n[5] = o, n[6] = e) : e = n[6], c = i.map(e), n[0] = a, n[1] = o, n[2] = i, n[3] = c;
99
+ } else c = n[3];
100
+ let l;
101
+ return n[7] === c ? l = n[8] : (l = /* @__PURE__ */ p(f, { children: c }), n[7] = c, n[8] = l), l;
102
+ }
103
+ function re(e) {
104
+ let t = h(6), { groups: n, columnNames: a, columnOrder: s, onNavigateToCell: l } = e, u;
105
+ t[0] === Symbol.for("react.memo_cache_sentinel") ? (u = /* @__PURE__ */ p(o, {}), t[0] = u) : u = t[0];
16
106
  let f;
17
- a[4] === Symbol.for("react.memo_cache_sentinel") ? (f = { marginTop: "12px" }, a[4] = f) : f = a[4];
18
- let p;
19
- return a[5] === d ? p = a[6] : (p = /* @__PURE__ */ t(e, {
20
- variant: "warning",
21
- title: "Validation Messages For Selected Row:",
22
- isGlobal: !1,
23
- description: d,
24
- sx: f
25
- }), a[5] = d, a[6] = p), p;
107
+ return t[1] !== a || t[2] !== s || t[3] !== n || t[4] !== l ? (f = /* @__PURE__ */ p(c, {
108
+ divider: u,
109
+ spacing: 1,
110
+ children: Array.from(n.entries()).map((e) => {
111
+ let [t, n] = e, o = Array.from(n.values()).reduce(ie, 0), c = Math.max(0, g(t, a, s));
112
+ return /* @__PURE__ */ m(r, { children: [/* @__PURE__ */ m(r, {
113
+ sx: y,
114
+ children: [/* @__PURE__ */ p(d, {
115
+ variant: "body1",
116
+ fontWeight: "bold",
117
+ children: _(t)
118
+ }), /* @__PURE__ */ p(i, {
119
+ label: o,
120
+ color: "error",
121
+ size: "small"
122
+ })]
123
+ }), Array.from(n.entries()).map((e) => {
124
+ let [t, n] = e;
125
+ return /* @__PURE__ */ m(r, {
126
+ sx: b,
127
+ children: [/* @__PURE__ */ p(d, {
128
+ variant: "body1",
129
+ color: "text.secondary",
130
+ sx: { mr: .5 },
131
+ children: t
132
+ }), /* @__PURE__ */ p(x, {
133
+ rows: n,
134
+ navCol: c,
135
+ onNavigateToCell: l
136
+ })]
137
+ }, t);
138
+ })] }, t);
139
+ })
140
+ }), t[1] = a, t[2] = s, t[3] = n, t[4] = l, t[5] = f) : f = t[5], f;
141
+ }
142
+ function ie(e, t) {
143
+ return e + t.length;
144
+ }
145
+ function ae(e) {
146
+ let t = h(6), { groups: n, columnNames: a, columnOrder: s, onNavigateToCell: l } = e, u;
147
+ t[0] === Symbol.for("react.memo_cache_sentinel") ? (u = /* @__PURE__ */ p(o, {}), t[0] = u) : u = t[0];
148
+ let f;
149
+ return t[1] !== a || t[2] !== s || t[3] !== n || t[4] !== l ? (f = /* @__PURE__ */ p(c, {
150
+ divider: u,
151
+ spacing: 1,
152
+ children: Array.from(n.entries()).map((e) => {
153
+ let [t, n] = e, o = Array.from(n.values()).reduce(oe, 0);
154
+ return /* @__PURE__ */ m(r, { children: [/* @__PURE__ */ m(r, {
155
+ sx: y,
156
+ children: [/* @__PURE__ */ p(d, {
157
+ variant: "body1",
158
+ fontWeight: "bold",
159
+ children: t
160
+ }), /* @__PURE__ */ p(i, {
161
+ label: o,
162
+ color: "error",
163
+ size: "small"
164
+ })]
165
+ }), Array.from(n.entries()).map((e) => {
166
+ let [t, n] = e, i = Math.max(0, g(t, a, s));
167
+ return /* @__PURE__ */ m(r, {
168
+ sx: b,
169
+ children: [/* @__PURE__ */ p(d, {
170
+ variant: "body1",
171
+ color: "text.secondary",
172
+ sx: {
173
+ mr: .5,
174
+ fontStyle: "italic"
175
+ },
176
+ children: _(t)
177
+ }), /* @__PURE__ */ p(x, {
178
+ rows: n,
179
+ navCol: i,
180
+ onNavigateToCell: l
181
+ })]
182
+ }, t);
183
+ })] }, t);
184
+ })
185
+ }), t[1] = a, t[2] = s, t[3] = n, t[4] = l, t[5] = f) : f = t[5], f;
186
+ }
187
+ function oe(e, t) {
188
+ return e + t.length;
189
+ }
190
+ var se = (t) => {
191
+ let f = h(65), { rowValues: _, columnNames: y, columnOrder: b, onNavigateToCell: x, isLoading: ie } = t, oe = ie === void 0 ? !1 : ie, [se, le] = n(!1), [S, ue] = n("row"), C;
192
+ f[0] === _ ? C = f[1] : (C = [], _.forEach((e, t) => {
193
+ let n = e.__validationStatus;
194
+ if (n !== "invalid" && n !== "pending") return;
195
+ let r = n === "pending";
196
+ e.__cellValidationResults?.forEach((e, n) => {
197
+ e.forEach((e) => C.push({
198
+ rowIndex: t,
199
+ columnName: n,
200
+ message: e,
201
+ pending: r
202
+ }));
203
+ });
204
+ }), f[0] = _, f[1] = C);
205
+ let w = C, T;
206
+ f[2] === w ? T = f[3] : (T = /* @__PURE__ */ new Map(), w.forEach((e) => {
207
+ let { rowIndex: t, columnName: n, message: r, pending: i } = e;
208
+ T.has(n) || T.set(n, /* @__PURE__ */ new Map());
209
+ let a = T.get(n);
210
+ a.has(r) || a.set(r, []), a.get(r).push({
211
+ rowIndex: t,
212
+ pending: i
213
+ });
214
+ }), f[2] = w, f[3] = T);
215
+ let de = T, E;
216
+ f[4] === w ? E = f[5] : (E = /* @__PURE__ */ new Map(), w.forEach((e) => {
217
+ let { rowIndex: t, columnName: n, message: r, pending: i } = e;
218
+ E.has(r) || E.set(r, /* @__PURE__ */ new Map());
219
+ let a = E.get(r);
220
+ a.has(n) || a.set(n, []), a.get(n).push({
221
+ rowIndex: t,
222
+ pending: i
223
+ });
224
+ }), f[4] = w, f[5] = E);
225
+ let D = E, O = se && w.length > 0, k = w[0];
226
+ if (oe) {
227
+ let t;
228
+ return f[6] === Symbol.for("react.memo_cache_sentinel") ? (t = /* @__PURE__ */ m(r, {
229
+ sx: {
230
+ ...ne,
231
+ borderColor: "divider",
232
+ borderLeftColor: "divider",
233
+ px: 2,
234
+ py: 2,
235
+ display: "flex",
236
+ alignItems: "center",
237
+ gap: 1
238
+ },
239
+ children: [/* @__PURE__ */ p(e, {
240
+ size: 14,
241
+ margin: "0"
242
+ }), /* @__PURE__ */ p(d, {
243
+ variant: "body1",
244
+ color: "text.secondary",
245
+ children: "Loading validation errors…"
246
+ })]
247
+ }), f[6] = t) : t = f[6], t;
248
+ }
249
+ if (w.length === 0) {
250
+ let e;
251
+ return f[7] === Symbol.for("react.memo_cache_sentinel") ? (e = /* @__PURE__ */ p(r, {
252
+ sx: {
253
+ ...ne,
254
+ borderColor: "success.main",
255
+ borderLeftColor: "success.main",
256
+ px: 2,
257
+ py: 2
258
+ },
259
+ children: /* @__PURE__ */ p(d, {
260
+ variant: "body1",
261
+ color: "success.main",
262
+ children: "No validation errors"
263
+ })
264
+ }), f[7] = e) : e = f[7], e;
265
+ }
266
+ let A;
267
+ f[8] === Symbol.for("react.memo_cache_sentinel") ? (A = {
268
+ ...ne,
269
+ borderColor: "error.main",
270
+ borderLeftColor: "error.main"
271
+ }, f[8] = A) : A = f[8];
272
+ let j, M;
273
+ f[9] === Symbol.for("react.memo_cache_sentinel") ? (j = {
274
+ display: "flex",
275
+ alignItems: "center",
276
+ px: 2,
277
+ py: 2,
278
+ gap: 1
279
+ }, M = /* @__PURE__ */ p(d, {
280
+ variant: "body1",
281
+ fontWeight: "bold",
282
+ children: "Validation errors"
283
+ }), f[9] = j, f[10] = M) : (j = f[9], M = f[10]);
284
+ let N;
285
+ f[11] === w.length ? N = f[12] : (N = /* @__PURE__ */ p(i, {
286
+ label: w.length,
287
+ color: "error",
288
+ size: "small"
289
+ }), f[11] = w.length, f[12] = N);
290
+ let P, F;
291
+ f[13] === Symbol.for("react.memo_cache_sentinel") ? (P = () => le(ce), F = {
292
+ cursor: "pointer",
293
+ flexShrink: 0,
294
+ fontWeight: "normal"
295
+ }, f[13] = P, f[14] = F) : (P = f[13], F = f[14]);
296
+ let I = O ? "Collapse" : "Expand", L;
297
+ f[15] === I ? L = f[16] : (L = /* @__PURE__ */ p(s, {
298
+ component: "button",
299
+ variant: "body1",
300
+ onClick: P,
301
+ sx: F,
302
+ children: I
303
+ }), f[15] = I, f[16] = L);
304
+ let R;
305
+ f[17] !== y || f[18] !== b || f[19] !== k || f[20] !== x || f[21] !== O ? (R = !O && /* @__PURE__ */ p(s, {
306
+ component: "button",
307
+ variant: "body1",
308
+ color: "text.secondary",
309
+ onClick: () => x(k.rowIndex, Math.max(0, g(k.columnName, y, b))),
310
+ noWrap: !0,
311
+ sx: {
312
+ textAlign: "left",
313
+ ml: "auto",
314
+ ...te,
315
+ opacity: k.pending ? .5 : 1
316
+ },
317
+ children: /* @__PURE__ */ p(ee, {
318
+ columnName: k.columnName,
319
+ message: k.message,
320
+ rowIndex: k.rowIndex
321
+ })
322
+ }), f[17] = y, f[18] = b, f[19] = k, f[20] = x, f[21] = O, f[22] = R) : R = f[22];
323
+ let z;
324
+ f[23] !== R || f[24] !== N || f[25] !== L ? (z = /* @__PURE__ */ m(r, {
325
+ sx: j,
326
+ children: [
327
+ M,
328
+ N,
329
+ L,
330
+ R
331
+ ]
332
+ }), f[23] = R, f[24] = N, f[25] = L, f[26] = z) : z = f[26];
333
+ let B;
334
+ f[27] === Symbol.for("react.memo_cache_sentinel") ? (B = (e, t) => ue(t), f[27] = B) : B = f[27];
335
+ let V, H, U, W, G;
336
+ f[28] === Symbol.for("react.memo_cache_sentinel") ? (V = {
337
+ px: 2,
338
+ minHeight: 36,
339
+ borderTop: "1px solid",
340
+ borderColor: "divider"
341
+ }, H = { style: { height: 2 } }, U = /* @__PURE__ */ p(l, {
342
+ label: "By row",
343
+ value: "row",
344
+ sx: v
345
+ }), W = /* @__PURE__ */ p(l, {
346
+ label: "By column",
347
+ value: "column",
348
+ sx: v
349
+ }), G = /* @__PURE__ */ p(l, {
350
+ label: "By message",
351
+ value: "message",
352
+ sx: v
353
+ }), f[28] = V, f[29] = H, f[30] = U, f[31] = W, f[32] = G) : (V = f[28], H = f[29], U = f[30], W = f[31], G = f[32]);
354
+ let K;
355
+ f[33] === S ? K = f[34] : (K = /* @__PURE__ */ m(u, {
356
+ value: S,
357
+ onChange: B,
358
+ textColor: "inherit",
359
+ sx: V,
360
+ TabIndicatorProps: H,
361
+ children: [
362
+ U,
363
+ W,
364
+ G
365
+ ]
366
+ }), f[33] = S, f[34] = K);
367
+ let q;
368
+ f[35] === Symbol.for("react.memo_cache_sentinel") ? (q = {
369
+ px: 2,
370
+ py: 1,
371
+ maxHeight: 200,
372
+ overflowY: "auto"
373
+ }, f[35] = q) : q = f[35];
374
+ let J;
375
+ f[36] !== w || f[37] !== y || f[38] !== b || f[39] !== S || f[40] !== x ? (J = S === "row" && /* @__PURE__ */ p(c, {
376
+ divider: /* @__PURE__ */ p(o, {}),
377
+ children: w.map((e, t) => {
378
+ let n = Math.max(0, g(e.columnName, y, b));
379
+ return /* @__PURE__ */ p(s, {
380
+ component: "button",
381
+ variant: "body1",
382
+ color: "text.secondary",
383
+ onClick: () => x(e.rowIndex, n),
384
+ sx: {
385
+ textAlign: "left",
386
+ py: .5,
387
+ ...te,
388
+ opacity: e.pending ? .5 : 1
389
+ },
390
+ children: /* @__PURE__ */ p(ee, {
391
+ columnName: e.columnName,
392
+ message: e.message,
393
+ rowIndex: e.rowIndex
394
+ })
395
+ }, t);
396
+ })
397
+ }), f[36] = w, f[37] = y, f[38] = b, f[39] = S, f[40] = x, f[41] = J) : J = f[41];
398
+ let Y;
399
+ f[42] !== de || f[43] !== y || f[44] !== b || f[45] !== S || f[46] !== x ? (Y = S === "column" && /* @__PURE__ */ p(re, {
400
+ groups: de,
401
+ columnNames: y,
402
+ columnOrder: b,
403
+ onNavigateToCell: x
404
+ }), f[42] = de, f[43] = y, f[44] = b, f[45] = S, f[46] = x, f[47] = Y) : Y = f[47];
405
+ let X;
406
+ f[48] !== D || f[49] !== y || f[50] !== b || f[51] !== S || f[52] !== x ? (X = S === "message" && /* @__PURE__ */ p(ae, {
407
+ groups: D,
408
+ columnNames: y,
409
+ columnOrder: b,
410
+ onNavigateToCell: x
411
+ }), f[48] = D, f[49] = y, f[50] = b, f[51] = S, f[52] = x, f[53] = X) : X = f[53];
412
+ let Z;
413
+ f[54] !== J || f[55] !== Y || f[56] !== X ? (Z = /* @__PURE__ */ m(r, {
414
+ sx: q,
415
+ children: [
416
+ J,
417
+ Y,
418
+ X
419
+ ]
420
+ }), f[54] = J, f[55] = Y, f[56] = X, f[57] = Z) : Z = f[57];
421
+ let Q;
422
+ f[58] !== O || f[59] !== K || f[60] !== Z ? (Q = /* @__PURE__ */ m(a, {
423
+ in: O,
424
+ children: [K, Z]
425
+ }), f[58] = O, f[59] = K, f[60] = Z, f[61] = Q) : Q = f[61];
426
+ let $;
427
+ return f[62] !== z || f[63] !== Q ? ($ = /* @__PURE__ */ m(r, {
428
+ sx: A,
429
+ children: [z, Q]
430
+ }), f[62] = z, f[63] = Q, f[64] = $) : $ = f[64], $;
26
431
  };
27
- function i(e) {
28
- return /* @__PURE__ */ t("li", { children: e }, e);
432
+ function ce(e) {
433
+ return !e;
29
434
  }
30
435
  //#endregion
31
- export { r as ValidationAlert };
436
+ export { se as ValidationAlert };
32
437
 
33
438
  //# sourceMappingURL=ValidationAlert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ValidationAlert.js","names":["FullWidthAlert","DataGridRow","ValidationAlertProps","selectedRowIndex","rowValues","ValidationAlert","t0","$","_c","selectedRow","validationMessages","__validationResults","allValidationMessages","Array","isArray","length","t1","map","_temp","t2","t3","Symbol","for","marginTop","t4","msg"],"sources":["../../../../src/components/DataGrid/components/ValidationAlert.tsx"],"sourcesContent":["import FullWidthAlert from '../../FullWidthAlert/FullWidthAlert'\nimport { DataGridRow } from '../DataGridTypes'\n\ntype ValidationAlertProps = {\n selectedRowIndex: number | null\n rowValues: DataGridRow[]\n}\n\nexport const ValidationAlert = ({\n selectedRowIndex,\n rowValues,\n}: ValidationAlertProps) => {\n if (selectedRowIndex === null) return null\n\n const selectedRow = rowValues[selectedRowIndex]\n if (!selectedRow) return null\n\n const validationMessages =\n selectedRow.__validationResults?.allValidationMessages\n if (!Array.isArray(validationMessages) || validationMessages.length === 0) {\n return null\n }\n\n return (\n <FullWidthAlert\n variant=\"warning\"\n title=\"Validation Messages For Selected Row:\"\n isGlobal={false}\n description={\n <ul>\n {validationMessages.map((msg: string) => (\n <li key={msg}>{msg}</li>\n ))}\n </ul>\n }\n sx={{\n marginTop: '12px',\n }}\n />\n )\n}\n"],"mappings":";;;;AAQA,IAAaK,KAAkBC,MAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAC,EAAAL,qBAAAC,iBAAAE;AAI9B,KAAIH,MAAqB,KAAI,QAAS;CAEtC,IAAAM,IAAoBL,EAAUD;AAC9B,KAAI,CAACM,EAAW,QAAS;CAEzB,IAAAC,IACED,EAAWE,qBAA2CC;AACxD,KAAI,CAACC,MAAKC,QAASJ,EAAsD,IAA/BA,EAAkBK,WAAY,EAAC,QAChE;CACR,IAAAC;AAAA,CAAAT,EAAA,OAAAG,IAWSM,IAAAT,EAAA,MAFDS,IAAAN,EAAkBO,IAAKC,EAEtB,EAAAX,EAAA,KAAAG,GAAAH,EAAA,KAAAS;CAAA,IAAAG;AAAA,CAAAZ,EAAA,OAAAS,IACCG,IAAAZ,EAAA,MAJLY,IAAA,kBAAA,MAAA,EAAA,UACGH,GAGE,CAAA,EAAAT,EAAA,KAAAS,GAAAT,EAAA,KAAAY;CAAA,IAAAC;AAAA,CAAAb,EAAA,OAAAc,OAAAC,IAAA,4BAAA,IAEHF,IAAA,EAAAG,WACS,QACZ,EAAAhB,EAAA,KAAAa,KAAAA,IAAAb,EAAA;CAAA,IAAAiB;AACD,QADCjB,EAAA,OAAAY,IACDK,IAAAjB,EAAA,MAdFiB,IAAA,kBAAC,GAAD;EACU,SAAA;EACF,OAAA;EACI,UAAA;EAER,aAAAL;EAME,IAAAC;EAGJ,CAAA,EAAAb,EAAA,KAAAY,GAAAZ,EAAA,KAAAiB,IAdFA;;AAhB2B,SAAAN,EAAAO,GAAA;AAAA,QAuBnB,kBAAA,MAAA,EAAA,UAAeA,GAAS,EAAfA,EAAe"}
1
+ {"version":3,"file":"ValidationAlert.js","names":["DataGridRow","Box","Chip","Collapse","Divider","Link","Stack","Tab","Tabs","Typography","Fragment","useMemo","useState","SynapseSpinner","ValidationError","rowIndex","columnName","message","pending","RowEntry","GroupBy","ValidationAlertProps","rowValues","columnNames","columnOrder","onNavigateToCell","colIndex","isLoading","NavProps","getColDisplayIndex","colName","findIndex","i","colLabel","ErrorText","t0","$","_c","rowSuffix","t1","Symbol","for","fontWeight","t2","t3","t4","t5","rowLinkSx","textDecoration","cursor","const","bannerBaseSx","border","borderLeft","borderRadius","mb","tabSx","minHeight","py","groupSectionHeaderSx","display","alignItems","gap","groupSectionItemSx","pl","flexWrap","RowLinks","rows","navCol","j","color","userSelect","opacity","map","ByColumnTab","groups","Array","from","entries","messages","totalCount","values","reduce","_temp","Math","max","msg","rows_0","mr","sum","length","ByMessageTab","columns","_temp2","fontStyle","ValidationAlert","undefined","isExpanded","setIsExpanded","groupBy","setGroupBy","errors","forEach","row","status","__validationStatus","__cellValidationResults","push","allErrors","Map","rowIndex_0","columnName_0","message_0","pending_0","has","set","colGroup","get","byColumn","groups_0","rowIndex_1","columnName_1","message_1","pending_1","msgGroup","byMessage","shouldExpand","firstError","borderColor","borderLeftColor","px","t6","t7","_temp3","flexShrink","t8","t9","t10","textAlign","ml","t11","t12","_","v","t13","t14","t15","t16","t17","borderTop","style","height","t18","t19","maxHeight","overflowY","t20","error","t21","t22","t23","t24","t25","p"],"sources":["../../../../src/components/DataGrid/components/ValidationAlert.tsx"],"sourcesContent":["import { DataGridRow } from '../DataGridTypes'\nimport {\n Box,\n Chip,\n Collapse,\n Divider,\n Link,\n Stack,\n Tab,\n Tabs,\n Typography,\n} from '@mui/material'\nimport { Fragment, useMemo, useState } from 'react'\nimport { SynapseSpinner } from '../../LoadingScreen/LoadingScreen'\n\ntype ValidationError = {\n rowIndex: number\n columnName: string\n message: string\n pending: boolean\n}\n\ntype RowEntry = { rowIndex: number; pending: boolean }\n\ntype GroupBy = 'row' | 'column' | 'message'\n\ntype ValidationAlertProps = {\n rowValues: DataGridRow[]\n columnNames: string[]\n columnOrder: number[]\n onNavigateToCell: (rowIndex: number, colIndex: number) => void\n isLoading?: boolean\n}\n\ntype NavProps = {\n columnNames: string[]\n columnOrder: number[]\n onNavigateToCell: (rowIndex: number, colIndex: number) => void\n}\n\nfunction getColDisplayIndex(\n colName: string,\n columnNames: string[],\n columnOrder: number[],\n): number {\n return columnOrder.findIndex(i => columnNames[i] === colName)\n}\n\n/** Column name for display — '_row' becomes 'Row-level'. */\nfunction colLabel(colName: string): string {\n return colName === '_row' ? 'Row-level' : colName\n}\n\n/** Renders a column name + message pair with distinct styles. */\nfunction ErrorText({\n columnName,\n message,\n rowIndex,\n}: {\n columnName: string\n message: string\n rowIndex: number\n}) {\n const rowSuffix = ` (Row ${rowIndex + 1})`\n if (columnName === '_row') {\n return (\n <>\n <Box component=\"span\" sx={{ fontWeight: 'normal' }}>\n {message}\n {rowSuffix}\n </Box>\n </>\n )\n }\n return (\n <>\n <Box component=\"span\" sx={{ fontWeight: 'bold' }}>\n {columnName}\n </Box>\n <Box component=\"span\" sx={{ fontWeight: 'normal' }}>\n {' — '}\n {message}\n {rowSuffix}\n </Box>\n </>\n )\n}\n\nconst rowLinkSx = {\n textDecoration: 'none',\n cursor: 'pointer',\n '&:hover': { textDecoration: 'underline' },\n} as const\n\nconst bannerBaseSx = {\n border: '1px solid',\n borderLeft: '4px solid',\n borderRadius: 1,\n mb: 1,\n} as const\n\nconst tabSx = { minHeight: 36, py: 0.5 } as const\n\nconst groupSectionHeaderSx = {\n display: 'flex',\n alignItems: 'center',\n gap: 0.5,\n mb: 0.25,\n} as const\n\nconst groupSectionItemSx = {\n pl: 2,\n display: 'flex',\n alignItems: 'baseline',\n flexWrap: 'wrap',\n gap: 0.5,\n py: 0.25,\n} as const\n\n/** Renders a list of row number links. The first shows \"Row N\"; subsequent\n * items show only the number, separated by a middle dot.\n * Pending entries are dimmed to signal unconfirmed validation state. */\nfunction RowLinks({\n rows,\n navCol,\n onNavigateToCell,\n}: {\n rows: RowEntry[]\n navCol: number\n onNavigateToCell: (rowIndex: number, colIndex: number) => void\n}) {\n return (\n <>\n {rows.map(({ rowIndex, pending }, j) => (\n <Fragment key={rowIndex}>\n {j > 0 && (\n <Box\n component=\"span\"\n aria-hidden\n sx={{ color: 'text.disabled', userSelect: 'none' }}\n >\n ·\n </Box>\n )}\n <Link\n component=\"button\"\n variant=\"body1\"\n color=\"text.secondary\"\n onClick={() => onNavigateToCell(rowIndex, navCol)}\n sx={{ ...rowLinkSx, opacity: pending ? 0.5 : 1 }}\n >\n {j === 0 ? `Row ${rowIndex + 1}` : rowIndex + 1}\n </Link>\n </Fragment>\n ))}\n </>\n )\n}\n\nfunction ByColumnTab({\n groups,\n columnNames,\n columnOrder,\n onNavigateToCell,\n}: NavProps & { groups: Map<string, Map<string, RowEntry[]>> }) {\n return (\n <Stack divider={<Divider />} spacing={1}>\n {Array.from(groups.entries()).map(([colName, messages]) => {\n const totalCount = Array.from(messages.values()).reduce(\n (sum, rows) => sum + rows.length,\n 0,\n )\n const navCol = Math.max(\n 0,\n getColDisplayIndex(colName, columnNames, columnOrder),\n )\n return (\n <Box key={colName}>\n <Box sx={groupSectionHeaderSx}>\n <Typography variant=\"body1\" fontWeight=\"bold\">\n {colLabel(colName)}\n </Typography>\n <Chip label={totalCount} color=\"error\" size=\"small\" />\n </Box>\n {Array.from(messages.entries()).map(([msg, rows]) => (\n <Box key={msg} sx={groupSectionItemSx}>\n <Typography\n variant=\"body1\"\n color=\"text.secondary\"\n sx={{ mr: 0.5 }}\n >\n {msg}\n </Typography>\n <RowLinks\n rows={rows}\n navCol={navCol}\n onNavigateToCell={onNavigateToCell}\n />\n </Box>\n ))}\n </Box>\n )\n })}\n </Stack>\n )\n}\n\nfunction ByMessageTab({\n groups,\n columnNames,\n columnOrder,\n onNavigateToCell,\n}: NavProps & { groups: Map<string, Map<string, RowEntry[]>> }) {\n return (\n <Stack divider={<Divider />} spacing={1}>\n {Array.from(groups.entries()).map(([msg, columns]) => {\n const totalCount = Array.from(columns.values()).reduce(\n (sum, rows) => sum + rows.length,\n 0,\n )\n return (\n <Box key={msg}>\n <Box sx={groupSectionHeaderSx}>\n <Typography variant=\"body1\" fontWeight=\"bold\">\n {msg}\n </Typography>\n <Chip label={totalCount} color=\"error\" size=\"small\" />\n </Box>\n {Array.from(columns.entries()).map(([colName, rows]) => {\n const navCol = Math.max(\n 0,\n getColDisplayIndex(colName, columnNames, columnOrder),\n )\n return (\n <Box key={colName} sx={groupSectionItemSx}>\n <Typography\n variant=\"body1\"\n color=\"text.secondary\"\n sx={{ mr: 0.5, fontStyle: 'italic' }}\n >\n {colLabel(colName)}\n </Typography>\n <RowLinks\n rows={rows}\n navCol={navCol}\n onNavigateToCell={onNavigateToCell}\n />\n </Box>\n )\n })}\n </Box>\n )\n })}\n </Stack>\n )\n}\n\nexport const ValidationAlert = ({\n rowValues,\n columnNames,\n columnOrder,\n onNavigateToCell,\n isLoading = false,\n}: ValidationAlertProps) => {\n const [isExpanded, setIsExpanded] = useState(false)\n const [groupBy, setGroupBy] = useState<GroupBy>('row')\n\n const allErrors = useMemo((): ValidationError[] => {\n const errors: ValidationError[] = []\n rowValues.forEach((row, rowIndex) => {\n const status = row.__validationStatus\n if (status !== 'invalid' && status !== 'pending') return\n const pending = status === 'pending'\n row.__cellValidationResults?.forEach((messages, columnName) => {\n messages.forEach(message =>\n errors.push({ rowIndex, columnName, message, pending }),\n )\n })\n })\n return errors\n }, [rowValues])\n\n // columnName → messageText → RowEntry[]\n const byColumn = useMemo(() => {\n const groups = new Map<string, Map<string, RowEntry[]>>()\n allErrors.forEach(({ rowIndex, columnName, message, pending }) => {\n if (!groups.has(columnName)) groups.set(columnName, new Map())\n const colGroup = groups.get(columnName)!\n if (!colGroup.has(message)) colGroup.set(message, [])\n colGroup.get(message)!.push({ rowIndex, pending })\n })\n return groups\n }, [allErrors])\n\n // messageText → columnName → RowEntry[]\n const byMessage = useMemo(() => {\n const groups = new Map<string, Map<string, RowEntry[]>>()\n allErrors.forEach(({ rowIndex, columnName, message, pending }) => {\n if (!groups.has(message)) groups.set(message, new Map())\n const msgGroup = groups.get(message)!\n if (!msgGroup.has(columnName)) msgGroup.set(columnName, [])\n msgGroup.get(columnName)!.push({ rowIndex, pending })\n })\n return groups\n }, [allErrors])\n\n const shouldExpand = isExpanded && allErrors.length > 0\n\n const firstError = allErrors[0]\n\n if (isLoading) {\n return (\n <Box\n sx={{\n ...bannerBaseSx,\n borderColor: 'divider',\n borderLeftColor: 'divider',\n px: 2,\n py: 2,\n display: 'flex',\n alignItems: 'center',\n gap: 1,\n }}\n >\n <SynapseSpinner size={14} margin=\"0\" />\n <Typography variant=\"body1\" color=\"text.secondary\">\n Loading validation errors…\n </Typography>\n </Box>\n )\n }\n\n if (allErrors.length === 0) {\n return (\n <Box\n sx={{\n ...bannerBaseSx,\n borderColor: 'success.main',\n borderLeftColor: 'success.main',\n px: 2,\n py: 2,\n }}\n >\n <Typography variant=\"body1\" color=\"success.main\">\n No validation errors\n </Typography>\n </Box>\n )\n }\n\n return (\n <Box\n sx={{\n ...bannerBaseSx,\n borderColor: 'error.main',\n borderLeftColor: 'error.main',\n }}\n >\n {/* Header */}\n <Box\n sx={{\n display: 'flex',\n alignItems: 'center',\n px: 2,\n py: 2,\n gap: 1,\n }}\n >\n <Typography variant=\"body1\" fontWeight=\"bold\">\n Validation errors\n </Typography>\n <Chip label={allErrors.length} color=\"error\" size=\"small\" />\n <Link\n component=\"button\"\n variant=\"body1\"\n onClick={() => setIsExpanded(p => !p)}\n sx={{ cursor: 'pointer', flexShrink: 0, fontWeight: 'normal' }}\n >\n {shouldExpand ? 'Collapse' : 'Expand'}\n </Link>\n {!shouldExpand && (\n <Link\n component=\"button\"\n variant=\"body1\"\n color=\"text.secondary\"\n onClick={() =>\n onNavigateToCell(\n firstError.rowIndex,\n Math.max(\n 0,\n getColDisplayIndex(\n firstError.columnName,\n columnNames,\n columnOrder,\n ),\n ),\n )\n }\n noWrap\n sx={{\n textAlign: 'left',\n ml: 'auto',\n ...rowLinkSx,\n opacity: firstError.pending ? 0.5 : 1,\n }}\n >\n <ErrorText\n columnName={firstError.columnName}\n message={firstError.message}\n rowIndex={firstError.rowIndex}\n />\n </Link>\n )}\n </Box>\n\n {/* Expanded panel */}\n <Collapse in={shouldExpand}>\n <Tabs\n value={groupBy}\n onChange={(_, v: GroupBy) => setGroupBy(v)}\n textColor=\"inherit\"\n sx={{\n px: 2,\n minHeight: 36,\n borderTop: '1px solid',\n borderColor: 'divider',\n }}\n TabIndicatorProps={{ style: { height: 2 } }}\n >\n <Tab label=\"By row\" value=\"row\" sx={tabSx} />\n <Tab label=\"By column\" value=\"column\" sx={tabSx} />\n <Tab label=\"By message\" value=\"message\" sx={tabSx} />\n </Tabs>\n\n <Box sx={{ px: 2, py: 1, maxHeight: 200, overflowY: 'auto' }}>\n {/* ── By row ─────────────────────────────────────────── */}\n {groupBy === 'row' && (\n <Stack divider={<Divider />}>\n {allErrors.map((error, i) => {\n const navCol = Math.max(\n 0,\n getColDisplayIndex(\n error.columnName,\n columnNames,\n columnOrder,\n ),\n )\n return (\n <Link\n key={i}\n component=\"button\"\n variant=\"body1\"\n color=\"text.secondary\"\n onClick={() => onNavigateToCell(error.rowIndex, navCol)}\n sx={{\n textAlign: 'left',\n py: 0.5,\n ...rowLinkSx,\n opacity: error.pending ? 0.5 : 1,\n }}\n >\n <ErrorText\n columnName={error.columnName}\n message={error.message}\n rowIndex={error.rowIndex}\n />\n </Link>\n )\n })}\n </Stack>\n )}\n\n {/* ── By column ──────────────────────────────────────── */}\n {groupBy === 'column' && (\n <ByColumnTab\n groups={byColumn}\n columnNames={columnNames}\n columnOrder={columnOrder}\n onNavigateToCell={onNavigateToCell}\n />\n )}\n\n {/* ── By message ─────────────────────────────────────── */}\n {groupBy === 'message' && (\n <ByMessageTab\n groups={byMessage}\n columnNames={columnNames}\n columnOrder={columnOrder}\n onNavigateToCell={onNavigateToCell}\n />\n )}\n </Box>\n </Collapse>\n </Box>\n )\n}\n"],"mappings":";;;;;;AAwCA,SAAS6B,EACPC,GACAP,GACAC,GACQ;AACR,QAAOA,EAAYO,WAAUC,MAAKT,EAAYS,OAAOF,EAAQ;;AAI/D,SAASG,EAASH,GAAyB;AACzC,QAAOA,MAAY,SAAS,cAAcA;;AAI5C,SAAAI,GAAAC,GAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAmB,EAAArB,eAAAC,YAAAF,gBAAAoB,GASjBG,IAAkB,SAASvB,IAAW,EAAC;AACvC,KAAIC,MAAe,QAAM;EAAA,IAAAuB;AAAA,EAAAH,EAAA,OAAAI,OAAAC,IAAA,4BAAA,IAGOF,IAAA,EAAAG,YAAc,UAAU,EAAAN,EAAA,KAAAG,KAAAA,IAAAH,EAAA;EAAA,IAAAO;AAIjD,SAJiDP,EAAA,OAAAnB,KAAAmB,EAAA,OAAAE,KADpDK,IAAA,kBAAA,GAAA,EAAA,UACE,kBAAC,GAAD;GAAe,WAAA;GAAW,IAAAJ;aAA1B,CACGtB,GACAqB,EACG;MACL,CAAA,EAAAF,EAAA,KAAAnB,GAAAmB,EAAA,KAAAE,GAAAF,EAAA,KAAAO,KAAAA,IAAAP,EAAA,IALHO;;CAOH,IAAAJ;AAAA,CAAAH,EAAA,OAAAI,OAAAC,IAAA,4BAAA,IAG6BF,IAAA,EAAAG,YAAc,QAAQ,EAAAN,EAAA,KAAAG,KAAAA,IAAAH,EAAA;CAAA,IAAAO;AAAA,CAAAP,EAAA,OAAApB,IAE1C2B,IAAAP,EAAA,MAFNO,IAAA,kBAAC,GAAD;EAAe,WAAA;EAAW,IAAAJ;YACvBvB;EACG,CAAA,EAAAoB,EAAA,KAAApB,GAAAoB,EAAA,KAAAO;CAAA,IAAAC;AAAA,CAAAR,EAAA,OAAAI,OAAAC,IAAA,4BAAA,IACoBG,IAAA,EAAAF,YAAc,UAAU,EAAAN,EAAA,KAAAQ,KAAAA,IAAAR,EAAA;CAAA,IAAAS;AAAA,CAAAT,EAAA,OAAAnB,KAAAmB,EAAA,OAAAE,KAAlDO,IAAA,kBAAC,GAAD;EAAe,WAAA;EAAW,IAAAD;YAA1B;GACG;GACA3B;GACAqB;GACG;KAAAF,EAAA,KAAAnB,GAAAmB,EAAA,KAAAE,GAAAF,EAAA,MAAAS,KAAAA,IAAAT,EAAA;CAAA,IAAAU;AACL,QADKV,EAAA,QAAAO,KAAAP,EAAA,QAAAS,KARRC,IAAA,kBAAA,GAAA,EAAA,UAAA,CACEH,GAGAE,EAKC,EAAA,CAAA,EAAAT,EAAA,MAAAO,GAAAP,EAAA,MAAAS,GAAAT,EAAA,MAAAU,KAAAA,IAAAV,EAAA,KATHU;;AAaJ,IAAMC,KAAY;CAChBC,gBAAgB;CAChBC,QAAQ;CACR,WAAW,EAAED,gBAAgB,aAAY;CAC1C,EAEKG,KAAe;CACnBC,QAAQ;CACRC,YAAY;CACZC,cAAc;CACdC,IAAI;CACL,EAEKC,IAAQ;CAAEC,WAAW;CAAIC,IAAI;CAAK,EAElCC,IAAuB;CAC3BC,SAAS;CACTC,YAAY;CACZC,KAAK;CACLP,IAAI;CACL,EAEKQ,IAAqB;CACzBC,IAAI;CACJJ,SAAS;CACTC,YAAY;CACZI,UAAU;CACVH,KAAK;CACLJ,IAAI;CACL;AAKD,SAAAQ,EAAA/B,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAkB,EAAA8B,SAAAC,WAAA3C,wBAAAU,GAQjBI;AAAA,KAAAH,EAAA,OAAAgC,KAAAhC,EAAA,OAAAX,KAAAW,EAAA,OAAA+B,GAAA;EAAA,IAAAxB;AAwBOP,EAxBPA,EAAA,OAAAgC,KAAAhC,EAAA,OAAAX,KAGekB,KAAAC,GAAAyB,MAAA;GAAC,IAAA,EAAAtD,aAAAG,eAAA0B;AAAqB,UAC9B,kBAAC,GAAD,EAAA,UAAA,CACGyB,IAAI,KACH,kBAAC,GAAD;IACY,WAAA;IACV,eAAA;IACI,IAAA;KAAAC,OAAS;KAAeC,YAAc;KAAO;cAClD;IAGH,CAAA,EACA,kBAAC,GAAD;IACY,WAAA;IACF,SAAA;IACF,OAAA;IACG,eAAM9C,EAAiBV,GAAUqD,EAAM;IAC5C,IAAA;KAAA,GAAKrB;KAASyB,SAAWtD,IAAA,KAAA;KAAkB;cAE9CmD,MAAM,IAAN,OAAiBtD,IAAW,MAAMA,IAAW;IAElD,CAAA,CAAW,EAAA,EAnBIA,EAmBJ;KACZqB,EAAA,KAAAgC,GAAAhC,EAAA,KAAAX,GAAAW,EAAA,KAAAO,KAAAA,IAAAP,EAAA,IArBAG,IAAA4B,EAAIM,IAAK9B,EAqBR,EAAAP,EAAA,KAAAgC,GAAAhC,EAAA,KAAAX,GAAAW,EAAA,KAAA+B,GAAA/B,EAAA,KAAAG;OAAAA,KAAAH,EAAA;CAAA,IAAAO;AACD,QADCP,EAAA,OAAAG,IACDI,IAAAP,EAAA,MAvBHO,IAAA,kBAAA,GAAA,EAAA,UACGJ,GAsBA,CAAA,EAAAH,EAAA,KAAAG,GAAAH,EAAA,KAAAO,IAvBHA;;AA2BJ,SAAA+B,GAAAvC,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAqB,EAAAsC,WAAApD,gBAAAC,gBAAAC,wBAAAU,GAKyCI;AAAA,CAAAH,EAAA,OAAAI,OAAAC,IAAA,4BAAA,IAE1CF,IAAA,kBAAC,GAAD,EAAW,CAAA,EAAAH,EAAA,KAAAG,KAAAA,IAAAH,EAAA;CAAA,IAAAO;AAqCnB,QArCmBP,EAAA,OAAAb,KAAAa,EAAA,OAAAZ,KAAAY,EAAA,OAAAuC,KAAAvC,EAAA,OAAAX,KAA3BkB,IAAA,kBAAC,GAAD;EAAgB,SAAAJ;EAAsB,SAAA;YACnCqC,MAAKC,KAAMF,EAAMG,SAAU,CAAC,CAAAL,KAAK7B,MAAA;GAAC,IAAA,CAAAd,GAAAiD,KAAAnC,GACjCoC,IAAmBJ,MAAKC,KAAME,EAAQE,QAAS,CAAC,CAAAC,OAC9CC,IACA,EACD,EACDf,IAAegB,KAAIC,IACjB,GACAxD,EAAmBC,GAASP,GAAaC,EAC3C,CAAC;AAAA,UAEC,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;IAASmC,IAAAA;cAAT,CACE,kBAAC,GAAD;KAAoB,SAAA;KAAmB,YAAA;eACpC1B,EAASH,EAAO;KAEnB,CAAA,EAAA,kBAAC,GAAD;KAAakD,OAAAA;KAAkB,OAAA;KAAa,MAAA;KAC9C,CAAA,CACC;OAAAJ,MAAKC,KAAME,EAAQD,SAAU,CAAC,CAAAL,KAAK5B,MAAA;IAAC,IAAA,CAAAyC,GAAAC,KAAA1C;AAAW,WAC9C,kBAAC,GAAD;KAAmBkB,IAAAA;eAAnB,CACE,kBAAC,GAAD;MACU,SAAA;MACF,OAAA;MACF,IAAA,EAAAyB,IAAM,IAAI;gBAEbF;MAEH,CAAA,EAAA,kBAAC,GAAD;MACQnB,MAAAA;MACEC;MACU3C;MAEtB,CAAA,CAAM;OAbI6D,EAaJ;KACP,CACG,EAAA,EAvBIxD,EAuBJ;IAET;EACK,CAAA,EAAAM,EAAA,KAAAb,GAAAa,EAAA,KAAAZ,GAAAY,EAAA,KAAAuC,GAAAvC,EAAA,KAAAX,GAAAW,EAAA,KAAAO,KAAAA,IAAAP,EAAA,IArCRO;;AAPJ,SAAAwC,GAAAM,GAAAtB,GAAA;AAAA,QAUyBsB,IAAMtB,EAAIuB;;AAsCnC,SAAAC,GAAAxD,GAAA;CAAA,IAAAC,IAAAC,EAAA,EAAA,EAAsB,EAAAsC,WAAApD,gBAAAC,gBAAAC,wBAAAU,GAKwCI;AAAA,CAAAH,EAAA,OAAAI,OAAAC,IAAA,4BAAA,IAE1CF,IAAA,kBAAC,GAAD,EAAW,CAAA,EAAAH,EAAA,KAAAG,KAAAA,IAAAH,EAAA;CAAA,IAAAO;AAuCnB,QAvCmBP,EAAA,OAAAb,KAAAa,EAAA,OAAAZ,KAAAY,EAAA,OAAAuC,KAAAvC,EAAA,OAAAX,KAA3BkB,IAAA,kBAAC,GAAD;EAAgB,SAAAJ;EAAsB,SAAA;YACnCqC,MAAKC,KAAMF,EAAMG,SAAU,CAAC,CAAAL,KAAK7B,MAAA;GAAC,IAAA,CAAA0C,GAAAM,KAAAhD,GACjCoC,IAAmBJ,MAAKC,KAAMe,EAAOX,QAAS,CAAC,CAAAC,OAC7CW,IACA,EACD;AAAA,UAEC,kBAAC,GAAD,EAAA,UAAA,CACE,kBAAC,GAAD;IAASlC,IAAAA;cAAT,CACE,kBAAC,GAAD;KAAoB,SAAA;KAAmB,YAAA;eACpC2B;KAEH,CAAA,EAAA,kBAAC,GAAD;KAAaN,OAAAA;KAAkB,OAAA;KAAa,MAAA;KAC9C,CAAA,CACC;OAAAJ,MAAKC,KAAMe,EAAOd,SAAU,CAAC,CAAAL,KAAK5B,MAAA;IAAC,IAAA,CAAAf,GAAAyD,KAAA1C,GAClCuB,IAAegB,KAAIC,IACjB,GACAxD,EAAmBC,GAASP,GAAaC,EAC3C,CAAC;AAAA,WAEC,kBAAC,GAAD;KAAuBuC,IAAAA;eAAvB,CACE,kBAAC,GAAD;MACU,SAAA;MACF,OAAA;MACF,IAAA;OAAAyB,IAAM;OAAGM,WAAa;OAAS;gBAElC7D,EAASH,EAAO;MAEnB,CAAA,EAAA,kBAAC,GAAD;MACQqC,MAAAA;MACEC;MACU3C;MAEtB,CAAA,CAAM;OAbIK,EAaJ;KAET,CACG,EAAA,EA7BIwD,EA6BJ;IAET;EACK,CAAA,EAAAlD,EAAA,KAAAb,GAAAa,EAAA,KAAAZ,GAAAY,EAAA,KAAAuC,GAAAvC,EAAA,KAAAX,GAAAW,EAAA,KAAAO,KAAAA,IAAAP,EAAA,IAvCRO;;AAPJ,SAAAkD,GAAAJ,GAAAtB,GAAA;AAAA,QAUyBsB,IAAMtB,EAAIuB;;AAwCnC,IAAaK,MAAkB5D,MAAA;CAAA,IAAAC,IAAAC,EAAA,GAAA,EAAC,EAAAf,cAAAC,gBAAAC,gBAAAC,qBAAAE,WAAAY,OAAAJ,GAK9BR,KAAAY,OAAAyD,KAAAA,IAAA,KAAAzD,IAEA,CAAA0D,IAAAC,MAAoCtF,EAAS,GAAM,EACnD,CAAAuF,GAAAC,MAA8BxF,EAAkB,MAAM,EAAAyF;AAAA,CAAAjE,EAAA,OAAAd,IAalD+E,IAAAjE,EAAA,MAVFiE,IAAkC,EAAE,EACpC/E,EAASgF,SAASC,GAAAxF,MAAA;EAChB,IAAAyF,IAAeD,EAAGE;AAClB,MAAID,MAAW,aAAaA,MAAW,UAAS;EAChD,IAAAtF,IAAgBsF,MAAW;AAC3BD,IAAGG,yBAAiCJ,SAACvB,GAAA/D,MAAA;AACnC+D,KAAQuB,SAASrF,MACfoF,EAAMM,KAAM;IAAA5F;IAAAC;IAAAC;IAAAC;IAA0C,CACxD,CAAC;IACD;GACF,EAAAkB,EAAA,KAAAd,GAAAc,EAAA,KAAAiE;CAXJ,IAAAO,IAYEP,GACa1B;AAAA,CAAAvC,EAAA,OAAAwE,IAUXjC,IAAAvC,EAAA,MANFuC,oBAAe,IAAIkC,KAAsC,EACzDD,EAASN,SAAS3D,MAAA;EAAC,IAAA,EAAA5B,UAAA+F,GAAA9F,YAAA+F,GAAA9F,SAAA+F,GAAA9F,SAAA+F,MAAAtE;AACjB,EAAKgC,EAAMuC,IAAKlG,EAAW,IAAE2D,EAAMwC,IAAKnG,mBAAY,IAAI6F,KAAK,CAAC;EAC9D,IAAAO,IAAiBzC,EAAM0C,IAAKrG,EAAW;AAEvCoG,EADKA,EAAQF,IAAKjG,EAAQ,IAAEmG,EAAQD,IAAKlG,GAAS,EAAE,CAAC,EACrDmG,EAAQC,IAAKpG,EAAQ,CAAA0F,KAAO;GAAA5F,UAAEA;GAAQG,SAAEA;GAAS,CAAC;GAClD,EAAAkB,EAAA,KAAAwE,GAAAxE,EAAA,KAAAuC;CAPJ,IAAA2C,KAQE3C,GACa4C;AAAA,CAAAnF,EAAA,OAAAwE,IAUXW,IAAAnF,EAAA,MANFmF,oBAAe,IAAIV,KAAsC,EACzDD,EAASN,SAAS3D,MAAA;EAAC,IAAA,EAAA5B,UAAAyG,GAAAxG,YAAAyG,GAAAxG,SAAAyG,GAAAxG,SAAAyG,MAAAhF;AACjB,EAAKgC,EAAMuC,IAAKjG,EAAQ,IAAE0D,EAAMwC,IAAKlG,mBAAS,IAAI4F,KAAK,CAAC;EACxD,IAAAe,IAAiBjD,EAAM0C,IAAKpG,EAAQ;AAEpC2G,EADKA,EAAQV,IAAKlG,EAAW,IAAE4G,EAAQT,IAAKnG,GAAY,EAAE,CAAC,EAC3D4G,EAAQP,IAAKrG,EAAW,CAAA2F,KAAO;GAAA5F,UAAEA;GAAQG,SAAEA;GAAS,CAAC;GACrD,EAAAkB,EAAA,KAAAwE,GAAAxE,EAAA,KAAAmF;CAPJ,IAAAM,IAQEN,GAGFO,IAAqB7B,MAAcW,EAASlB,SAAU,GAEtDqC,IAAmBnB,EAAS;AAE5B,KAAIjF,IAAS;EAAA,IAAAgB;AAkBH,SAlBGP,EAAA,OAAAI,OAAAC,IAAA,4BAAA,IAETE,IAAA,kBAAC,GAAD;GACM,IAAA;IAAA,GACCQ;IAAY6E,aACF;IAASC,iBACL;IAASC,IACtB;IAACxE,IACD;IAACE,SACI;IAAMC,YACH;IAAQC,KACf;IACP;aAVF,CAYE,kBAAC,GAAD;IAAsB,MAAA;IAAW,QAAA;IACjC,CAAA,EAAA,kBAAC,GAAD;IAAoB,SAAA;IAAc,OAAA;cAAiB;IAGrD,CAAA,CAAM;MAAA1B,EAAA,KAAAO,KAAAA,IAAAP,EAAA,IAhBNO;;AAoBJ,KAAIiE,EAASlB,WAAY,GAAC;EAAA,IAAA/C;AAchB,SAdgBP,EAAA,OAAAI,OAAAC,IAAA,4BAAA,IAEtBE,IAAA,kBAAC,GAAD;GACM,IAAA;IAAA,GACCQ;IAAY6E,aACF;IAAcC,iBACV;IAAcC,IAC3B;IAACxE,IACD;IACN;aAEA,kBAAC,GAAD;IAAoB,SAAA;IAAc,OAAA;cAAe;IAGnD,CAAA;GAAM,CAAA,EAAAtB,EAAA,KAAAO,KAAAA,IAAAP,EAAA,IAZNO;;CAcH,IAAAA;AAAA,CAAAP,EAAA,OAAAI,OAAAC,IAAA,4BAAA,IAIOE,IAAA;EAAA,GACCQ;EAAY6E,aACF;EAAYC,iBACR;EAClB,EAAA7F,EAAA,KAAAO,KAAAA,IAAAP,EAAA;CAAA,IAAAQ,GAAAC;AAAA,CAAAT,EAAA,OAAAI,OAAAC,IAAA,4BAAA,IAIKG,IAAA;EAAAgB,SACO;EAAMC,YACH;EAAQqE,IAChB;EAACxE,IACD;EAACI,KACA;EACN,EAEDjB,IAAA,kBAAC,GAAD;EAAoB,SAAA;EAAmB,YAAA;YAAO;EAEjC,CAAA,EAAAT,EAAA,KAAAQ,GAAAR,EAAA,MAAAS,MAAAD,IAAAR,EAAA,IAAAS,IAAAT,EAAA;CAAA,IAAAU;AAAA,CAAAV,EAAA,QAAAwE,EAAAlB,SAC+C5C,IAAAV,EAAA,OAA5DU,IAAA,kBAAC,GAAD;EAAa,OAAA8D,EAASlB;EAAe,OAAA;EAAa,MAAA;EAAU,CAAA,EAAAtD,EAAA,MAAAwE,EAAAlB,QAAAtD,EAAA,MAAAU;CAAA,IAAAqF,GAAAC;AAAA,CAAAhG,EAAA,QAAAI,OAAAC,IAAA,4BAAA,IAIjD0F,UAAMjC,GAAcmC,GAAQ,EACjCD,IAAA;EAAAnF,QAAU;EAASqF,YAAc;EAAC5F,YAAc;EAAU,EAAAN,EAAA,MAAA+F,GAAA/F,EAAA,MAAAgG,MAAAD,IAAA/F,EAAA,KAAAgG,IAAAhG,EAAA;CAE7D,IAAAmG,IAAAT,IAAA,aAAA,UAAoCU;AAAA,CAAApG,EAAA,QAAAmG,IAChCC,IAAApG,EAAA,OAPPoG,IAAA,kBAAC,GAAD;EACY,WAAA;EACF,SAAA;EACC,SAAAL;EACL,IAAAC;YAEHG;EACI,CAAA,EAAAnG,EAAA,MAAAmG,GAAAnG,EAAA,MAAAoG;CAAA,IAAAC;AAAA,CAAArG,EAAA,QAAAb,KAAAa,EAAA,QAAAZ,KAAAY,EAAA,QAAA2F,KAAA3F,EAAA,QAAAX,KAAAW,EAAA,QAAA0F,KACNW,IAAA,CAACX,KACA,kBAAC,GAAD;EACY,WAAA;EACF,SAAA;EACF,OAAA;EACG,eACPrG,EACEsG,EAAUhH,UACVqE,KAAIC,IACF,GACAxD,EACEkG,EAAU/G,YACVO,GACAC,EAEJ,CACF,CAAA;EAEF,QAAA;EACI,IAAA;GAAAkH,WACS;GAAMC,IACb;GAAM,GACP5F;GAASyB,SACHuD,EAAU7G,UAAV,KAAA;GACX;YAEA,kBAAC,IAAD;GACc,YAAA6G,EAAU/G;GACb,SAAA+G,EAAU9G;GACT,UAAA8G,EAAUhH;GAExB,CAAA;EACD,CAAA,EAAAqB,EAAA,MAAAb,GAAAa,EAAA,MAAAZ,GAAAY,EAAA,MAAA2F,GAAA3F,EAAA,MAAAX,GAAAW,EAAA,MAAA0F,GAAA1F,EAAA,MAAAqG,KAAAA,IAAArG,EAAA;CAAA,IAAAwG;AAAA,CAAAxG,EAAA,QAAAqG,KAAArG,EAAA,QAAAU,KAAAV,EAAA,QAAAoG,KArDHI,IAAA,kBAAC,GAAD;EACM,IAAAhG;YADN;GASEC;GAGAC;GACA0F;GAQCC;GAiCG;KAAArG,EAAA,MAAAqG,GAAArG,EAAA,MAAAU,GAAAV,EAAA,MAAAoG,GAAApG,EAAA,MAAAwG,KAAAA,IAAAxG,EAAA;CAAA,IAAAyG;AAAA,CAAAzG,EAAA,QAAAI,OAAAC,IAAA,4BAAA,IAMQoG,KAAAC,GAAAC,MAAmB3C,GAAW2C,EAAE,EAAA3G,EAAA,MAAAyG,KAAAA,IAAAzG,EAAA;CAAA,IAAA4G,GAAAC,GAAAC,GAAAC,GAAAC;AAAA,CAAAhH,EAAA,QAAAI,OAAAC,IAAA,4BAAA,IAEtCuG,IAAA;EAAAd,IACE;EAACzE,WACM;EAAE4F,WACF;EAAWrB,aACT;EACd,EACkBiB,IAAA,EAAAK,OAAS,EAAAC,QAAU,GAAE,EAAG,EAE3CL,IAAA,kBAAC,GAAD;EAAW,OAAA;EAAe,OAAA;EAAU1F,IAAAA;EAAS,CAAA,EAC7C2F,IAAA,kBAAC,GAAD;EAAW,OAAA;EAAkB,OAAA;EAAa3F,IAAAA;EAAS,CAAA,EACnD4F,IAAA,kBAAC,GAAD;EAAW,OAAA;EAAmB,OAAA;EAAc5F,IAAAA;EAAS,CAAA,EAAApB,EAAA,MAAA4G,GAAA5G,EAAA,MAAA6G,GAAA7G,EAAA,MAAA8G,GAAA9G,EAAA,MAAA+G,GAAA/G,EAAA,MAAAgH,MAAAJ,IAAA5G,EAAA,KAAA6G,IAAA7G,EAAA,KAAA8G,IAAA9G,EAAA,KAAA+G,IAAA/G,EAAA,KAAAgH,IAAAhH,EAAA;CAAA,IAAAoH;AAAA,CAAApH,EAAA,QAAA+D,IAChDqD,IAAApH,EAAA,OAfPoH,IAAA,kBAAC,GAAD;EACSrD,OAAAA;EACG,UAAA0C;EACA,WAAA;EACN,IAAAG;EAMe,mBAAAC;YAVrB;GAYEC;GACAC;GACAC;GACK;KAAAhH,EAAA,MAAA+D,GAAA/D,EAAA,MAAAoH;CAAA,IAAAC;AAAA,CAAArH,EAAA,QAAAI,OAAAC,IAAA,4BAAA,IAEEgH,IAAA;EAAAvB,IAAM;EAACxE,IAAM;EAACgG,WAAa;EAAGC,WAAa;EAAQ,EAAAvH,EAAA,MAAAqH,KAAAA,IAAArH,EAAA;CAAA,IAAAwH;AAAA,CAAAxH,EAAA,QAAAwE,KAAAxE,EAAA,QAAAb,KAAAa,EAAA,QAAAZ,KAAAY,EAAA,QAAA+D,KAAA/D,EAAA,QAAAX,KAEzDmI,IAAAzD,MAAY,SACX,kBAAC,GAAD;EAAgB,SAAA,kBAAC,GAAD,EAAU,CAAA;YACvBS,EAASnC,KAAKoF,GAAA7H,MAAA;GACb,IAAAoC,IAAegB,KAAIC,IACjB,GACAxD,EACEgI,EAAK7I,YACLO,GACAC,EAEJ,CAAC;AAAA,UAEC,kBAAC,GAAD;IAEY,WAAA;IACF,SAAA;IACF,OAAA;IACG,eAAMC,EAAiBoI,EAAK9I,UAAWqD,EAAM;IAClD,IAAA;KAAAsE,WACS;KAAMhF,IACb;KAAG,GACJX;KAASyB,SACHqF,EAAK3I,UAAL,KAAA;KACX;cAEA,kBAAC,IAAD;KACc,YAAA2I,EAAK7I;KACR,SAAA6I,EAAK5I;KACJ,UAAA4I,EAAK9I;KAEnB,CAAA;IAAO,EAjBAiB,EAiBA;IAEV;EAEJ,CAAA,EAAAI,EAAA,MAAAwE,GAAAxE,EAAA,MAAAb,GAAAa,EAAA,MAAAZ,GAAAY,EAAA,MAAA+D,GAAA/D,EAAA,MAAAX,GAAAW,EAAA,MAAAwH,KAAAA,IAAAxH,EAAA;CAAA,IAAA0H;AAAA,CAAA1H,EAAA,QAAAkF,MAAAlF,EAAA,QAAAb,KAAAa,EAAA,QAAAZ,KAAAY,EAAA,QAAA+D,KAAA/D,EAAA,QAAAX,KAGAqI,IAAA3D,MAAY,YACX,kBAAC,IAAD;EACUmB,QAAAA;EACK/F;EACAC;EACKC;EAErB,CAAA,EAAAW,EAAA,MAAAkF,IAAAlF,EAAA,MAAAb,GAAAa,EAAA,MAAAZ,GAAAY,EAAA,MAAA+D,GAAA/D,EAAA,MAAAX,GAAAW,EAAA,MAAA0H,KAAAA,IAAA1H,EAAA;CAAA,IAAA2H;AAAA,CAAA3H,EAAA,QAAAyF,KAAAzF,EAAA,QAAAb,KAAAa,EAAA,QAAAZ,KAAAY,EAAA,QAAA+D,KAAA/D,EAAA,QAAAX,KAGAsI,IAAA5D,MAAY,aACX,kBAAC,IAAD;EACU0B,QAAAA;EACKtG;EACAC;EACKC;EAErB,CAAA,EAAAW,EAAA,MAAAyF,GAAAzF,EAAA,MAAAb,GAAAa,EAAA,MAAAZ,GAAAY,EAAA,MAAA+D,GAAA/D,EAAA,MAAAX,GAAAW,EAAA,MAAA2H,KAAAA,IAAA3H,EAAA;CAAA,IAAA4H;AAAA,CAAA5H,EAAA,QAAAwH,KAAAxH,EAAA,QAAA0H,KAAA1H,EAAA,QAAA2H,KAxDHC,IAAA,kBAAC,GAAD;EAAS,IAAAP;YAAT;GAEGG;GAqCAE;GAUAC;GAQG;KAAA3H,EAAA,MAAAwH,GAAAxH,EAAA,MAAA0H,GAAA1H,EAAA,MAAA2H,GAAA3H,EAAA,MAAA4H,KAAAA,IAAA5H,EAAA;CAAA,IAAA6H;AAAA,CAAA7H,EAAA,QAAA0F,KAAA1F,EAAA,QAAAoH,KAAApH,EAAA,QAAA4H,KA3ERC,IAAA,kBAAC,GAAD;EAAcnC,IAAAA;YAAd,CACE0B,GAiBAQ,EA0DS;KAAA5H,EAAA,MAAA0F,GAAA1F,EAAA,MAAAoH,GAAApH,EAAA,MAAA4H,GAAA5H,EAAA,MAAA6H,KAAAA,IAAA7H,EAAA;CAAA,IAAA8H;AACP,QADO9H,EAAA,QAAAwG,KAAAxG,EAAA,QAAA6H,KA7IbC,IAAA,kBAAC,GAAD;EACM,IAAAvH;YADN,CAQEiG,GAyDAqB,EA6EI;KAAA7H,EAAA,MAAAwG,GAAAxG,EAAA,MAAA6H,GAAA7H,EAAA,MAAA8H,KAAAA,IAAA9H,EAAA,KA9IN8H;;AA9F2B,SAAA7B,GAAA8B,GAAA;AAAA,QAsHa,CAACA"}
@@ -1 +1 @@
1
- {"version":3,"file":"useColumnResizeHandles.js","names":["useEffect","useRef","Column","useResizeObserver","ResizeHandleElement","HTMLDivElement","__cellElement","HTMLElement","__columnName","UseColumnResizeHandlesProps","wrapperRef","React","RefObject","colValues","onColumnResize","columnName","newWidth","ResizeState","startX","startWidth","handle","initialLeft","ColumnResizeManager","COLUMN_MIN_WIDTH_PX","handlesMap","Map","cleanupFunctions","Array","activeResize","gridContainer","headerRow","Element","observer","MutationObserver","constructor","name","width","updateColumns","syncHandles","initialize","querySelector","setupEventListeners","createNewHandle","Error","document","createElement","className","dataset","style","position","top","cursor","pointerEvents","zIndex","onMouseDown","e","MouseEvent","handleMouseDown","addEventListener","push","removeEventListener","appendChild","set","createOrUpdateHandle","cellElement","columnIndex","id","get","updateHandlePosition","gridHeight","scrollHeight","left","offsetLeft","offsetWidth","height","display","preventDefault","stopPropagation","currentColumnName","currentCellElement","currentLeft","parseFloat","clientX","classList","add","body","handleMouseMove","deltaX","handleMouseUp","Math","max","remove","headerCells","querySelectorAll","length","visibleColumns","Set","forEach","cell","index","cellText","textContent","trim","actualColumnIndex","findIndex","col","has","requestAnimationFrame","observe","childList","subtree","disconnect","cleanup","item","clear","useColumnResizeHandles","t0","$","_c","managerRef","t1","entry","current","contentRect","manager","success","t2","t3","t4","t5","Symbol","for"],"sources":["../../../../src/components/DataGrid/hooks/useColumnResizeHandles.ts"],"sourcesContent":["import { useEffect, useRef } from 'react'\nimport { Column } from '@sage-bionetworks/react-datasheet-grid'\nimport { useResizeObserver } from '@react-hookz/web'\n\n// Extended HTMLDivElement with custom properties for resize handles\ninterface ResizeHandleElement extends HTMLDivElement {\n __cellElement?: HTMLElement\n __columnName?: string\n}\n\ntype UseColumnResizeHandlesProps = {\n wrapperRef: React.RefObject<HTMLDivElement | null>\n colValues: Column[]\n onColumnResize: (columnName: string, newWidth: number) => void\n}\n\ninterface ResizeState {\n columnName: string\n startX: number\n startWidth: number\n handle: HTMLDivElement\n initialLeft: number\n}\n\n/**\n * Encapsulates all column resize handle logic and state management.\n * Manages handle creation, positioning, mouse interactions, and cleanup.\n */\nclass ColumnResizeManager {\n private static readonly COLUMN_MIN_WIDTH_PX = 50\n\n private handlesMap = new Map<string, ResizeHandleElement>()\n private cleanupFunctions: Array<(() => void) | HTMLDivElement> = []\n private activeResize: ResizeState | null = null\n private gridContainer: HTMLElement | null = null\n private headerRow: Element | null = null\n private observer: MutationObserver | null = null\n\n constructor(\n private colValues: Column[],\n private onColumnResize: (name: string, width: number) => void,\n ) {}\n\n /**\n * Update the column values and callback without reinitializing.\n */\n updateColumns(\n colValues: Column[],\n onColumnResize: (name: string, width: number) => void,\n ): void {\n this.colValues = colValues\n this.onColumnResize = onColumnResize\n // Resync handles with new column data\n this.syncHandles()\n }\n\n /**\n * Initialize the manager by finding grid elements and setting up event listeners.\n * Returns true if initialization was successful, false otherwise.\n */\n initialize(wrapperRef: HTMLDivElement): boolean {\n const gridContainer = wrapperRef.querySelector(\n '.dsg-container',\n ) as HTMLElement\n\n if (!gridContainer) {\n return false\n }\n\n const headerRow = gridContainer.querySelector('.dsg-row.dsg-row-header')\n\n if (!headerRow) {\n return false\n }\n\n this.gridContainer = gridContainer\n this.headerRow = headerRow\n\n this.setupEventListeners()\n this.syncHandles()\n\n return true\n }\n\n /**\n * Creates a new resize handle element with mousedown listener.\n */\n private createNewHandle(columnName: string): ResizeHandleElement {\n if (!this.gridContainer) {\n throw new Error('Cannot create handle without grid container')\n }\n\n const handle = document.createElement('div') as ResizeHandleElement\n handle.className = 'column-resize-handle'\n handle.dataset.columnName = columnName\n handle.style.position = 'absolute'\n handle.style.top = '0'\n handle.style.width = '8px'\n handle.style.cursor = 'col-resize'\n handle.style.pointerEvents = 'auto'\n handle.style.zIndex = '1000'\n\n const onMouseDown = (e: MouseEvent) => this.handleMouseDown(e, handle)\n handle.addEventListener('mousedown', onMouseDown)\n\n this.cleanupFunctions.push(() =>\n handle.removeEventListener('mousedown', onMouseDown),\n )\n\n this.gridContainer.appendChild(handle)\n this.cleanupFunctions.push(handle)\n this.handlesMap.set(columnName, handle)\n\n return handle\n }\n\n /**\n * Creates or updates a handle for a given cell element.\n */\n private createOrUpdateHandle(\n cellElement: HTMLElement,\n columnIndex: number,\n ): void {\n const columnName = this.colValues[columnIndex]?.id as string\n if (!columnName || !this.gridContainer) return\n\n let handle = this.handlesMap.get(columnName)\n\n if (!handle) {\n handle = this.createNewHandle(columnName)\n }\n\n this.updateHandlePosition(handle, cellElement)\n }\n\n /**\n * Updates the position and size of a handle based on its cell element.\n */\n private updateHandlePosition(\n handle: ResizeHandleElement,\n cellElement: HTMLElement,\n ): void {\n if (!this.gridContainer) return\n\n const gridHeight = this.gridContainer.scrollHeight\n const left = cellElement.offsetLeft + cellElement.offsetWidth - 3\n\n handle.__cellElement = cellElement\n handle.__columnName = handle.dataset.columnName\n handle.style.left = `${left}px`\n handle.style.height = `${gridHeight}px`\n handle.style.display = '' // Ensure visible\n }\n\n /**\n * Handles mousedown event on a resize handle to initiate dragging.\n */\n private handleMouseDown(e: MouseEvent, handle: ResizeHandleElement): void {\n e.preventDefault()\n e.stopPropagation()\n\n // Read the column info fresh at mousedown time\n const currentColumnName = handle.__columnName\n const currentCellElement = handle.__cellElement\n\n if (!currentColumnName || !currentCellElement) return\n\n // Get current width and position at the time of mousedown\n const currentLeft = parseFloat(handle.style.left)\n\n this.activeResize = {\n columnName: currentColumnName,\n startX: e.clientX,\n startWidth: currentCellElement.offsetWidth,\n handle,\n initialLeft: currentLeft,\n }\n\n handle.classList.add('is-resizing')\n document.body.classList.add('col-resizing')\n }\n\n /**\n * Handles mousemove event to update handle position during drag.\n */\n private handleMouseMove = (e: MouseEvent): void => {\n if (!this.activeResize) return\n\n const { startX, handle, initialLeft } = this.activeResize\n const deltaX = e.clientX - startX\n handle.style.left = `${initialLeft + deltaX}px`\n }\n\n /**\n * Handles mouseup/mouseleave to finalize the resize operation.\n */\n private handleMouseUp = (e: MouseEvent): void => {\n if (!this.activeResize) return\n\n const { columnName, startX, startWidth, handle } = this.activeResize\n const deltaX = e.clientX - startX\n const newWidth = Math.max(\n ColumnResizeManager.COLUMN_MIN_WIDTH_PX,\n startWidth + deltaX,\n )\n\n handle.classList.remove('is-resizing')\n document.body.classList.remove('col-resizing')\n this.activeResize = null\n\n // Only update state when drag is complete\n this.onColumnResize(columnName, newWidth)\n }\n\n /**\n * Synchronizes handles with currently visible columns in the header.\n * Handles virtualization by showing/hiding handles as columns appear/disappear.\n */\n private syncHandles = (): void => {\n if (this.activeResize || !this.headerRow) return // Don't sync during resize\n\n const headerCells = this.headerRow.querySelectorAll('.dsg-cell')\n if (headerCells.length <= 1) return\n\n // Track which columns are currently visible\n const visibleColumns = new Set<string>()\n\n // Update or create handles for visible columns\n headerCells.forEach((cell: Element, index: number) => {\n if (index === 0) return // Skip gutter column\n\n const cellElement = cell as HTMLElement\n\n // Get the column name from the cell's text content\n // This is more reliable than using DOM index with virtualization\n const cellText = cellElement.textContent?.trim() || ''\n\n // Find the actual column index in colValues by matching the id (column name)\n // Note: col.title may be a React element (e.g. ColumnHeaderWithTooltip), so we use col.id\n const actualColumnIndex = this.colValues.findIndex(\n col => col.id === cellText,\n )\n\n if (actualColumnIndex !== -1) {\n const columnName = this.colValues[actualColumnIndex]?.id as string\n visibleColumns.add(columnName)\n this.createOrUpdateHandle(cellElement, actualColumnIndex)\n }\n })\n\n // Hide handles for columns that are no longer visible (virtualized out)\n this.handlesMap.forEach((handle, columnName) => {\n if (!visibleColumns.has(columnName)) {\n handle.style.display = 'none'\n }\n })\n }\n\n /**\n * Sets up all event listeners for mouse interactions, scroll, and virtualization.\n */\n private setupEventListeners(): void {\n if (!this.gridContainer || !this.headerRow) return\n\n // Global mouse event listeners\n document.addEventListener('mousemove', this.handleMouseMove)\n document.addEventListener('mouseup', this.handleMouseUp)\n document.addEventListener('mouseleave', this.handleMouseUp)\n\n // Scroll listener for updating handle positions\n this.gridContainer.addEventListener('scroll', this.syncHandles)\n\n // MutationObserver to detect when columns are added/removed due to virtualization\n this.observer = new MutationObserver(() => {\n // Debounce mutations to avoid excessive syncs\n requestAnimationFrame(() => {\n this.syncHandles()\n })\n })\n\n this.observer.observe(this.headerRow, {\n childList: true, // Watch for added/removed columns\n subtree: true,\n })\n\n // Register cleanup functions\n this.cleanupFunctions.push(() => {\n document.removeEventListener('mousemove', this.handleMouseMove)\n document.removeEventListener('mouseup', this.handleMouseUp)\n document.removeEventListener('mouseleave', this.handleMouseUp)\n this.gridContainer?.removeEventListener('scroll', this.syncHandles)\n this.observer?.disconnect()\n })\n }\n\n /**\n * Cleans up all handles, event listeners, and resets state.\n */\n cleanup(): void {\n // Ensure cursor class is removed\n document.body.classList.remove('col-resizing')\n\n // Reset active resize state\n if (this.activeResize) {\n this.activeResize.handle?.classList.remove('is-resizing')\n this.activeResize = null\n }\n\n // Run all cleanup functions and remove handles\n this.cleanupFunctions.forEach(item => {\n if (typeof item === 'function') {\n item()\n } else {\n // It's a handle element, remove it\n item.remove()\n }\n })\n\n this.cleanupFunctions = []\n this.handlesMap.clear()\n this.gridContainer = null\n this.headerRow = null\n this.observer = null\n }\n}\n\n/**\n * Custom hook that manages interactive column resize handles for a data grid.\n * Creates, positions, and updates resize handles that allow users to drag column borders.\n * Handles virtualization, scrolling, and proper cleanup.\n */\nexport function useColumnResizeHandles({\n wrapperRef,\n colValues,\n onColumnResize,\n}: UseColumnResizeHandlesProps) {\n const managerRef = useRef<ColumnResizeManager | null>(null)\n\n // Use react-hookz useResizeObserver to detect when wrapper is rendered and sized\n useResizeObserver(wrapperRef, entry => {\n if (!wrapperRef.current || !entry || entry.contentRect.height === 0) {\n return\n }\n\n // Initialize manager if not already done\n if (!managerRef.current) {\n const manager = new ColumnResizeManager(colValues, onColumnResize)\n const success = manager.initialize(wrapperRef.current)\n if (success) {\n managerRef.current = manager\n }\n }\n })\n\n useEffect(() => {\n // Update columns when they change instead of full reinitialization\n if (managerRef.current) {\n managerRef.current.updateColumns(colValues, onColumnResize)\n }\n }, [colValues, onColumnResize])\n\n useEffect(() => {\n // Cleanup on unmount\n return () => {\n managerRef.current?.cleanup()\n managerRef.current = null\n }\n }, [])\n}\n"],"mappings":"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"}
1
+ {"version":3,"file":"useColumnResizeHandles.js","names":["useEffect","useRef","Column","useResizeObserver","ResizeHandleElement","HTMLDivElement","__cellElement","HTMLElement","__columnName","UseColumnResizeHandlesProps","wrapperRef","React","RefObject","colValues","onColumnResize","columnName","newWidth","ResizeState","startX","startWidth","handle","initialLeft","ColumnResizeManager","COLUMN_MIN_WIDTH_PX","handlesMap","Map","cleanupFunctions","Array","activeResize","gridContainer","headerRow","Element","observer","MutationObserver","constructor","name","width","updateColumns","syncHandles","initialize","querySelector","setupEventListeners","createNewHandle","Error","document","createElement","className","dataset","style","position","top","cursor","pointerEvents","zIndex","onMouseDown","e","MouseEvent","handleMouseDown","addEventListener","push","removeEventListener","appendChild","set","createOrUpdateHandle","cellElement","columnIndex","id","get","updateHandlePosition","gridHeight","scrollHeight","left","offsetLeft","offsetWidth","height","display","preventDefault","stopPropagation","currentColumnName","currentCellElement","currentLeft","parseFloat","clientX","classList","add","body","handleMouseMove","deltaX","handleMouseUp","Math","max","remove","headerCells","querySelectorAll","length","visibleColumns","Set","forEach","cell","index","cellText","textContent","trim","actualColumnIndex","findIndex","col","has","requestAnimationFrame","observe","childList","subtree","disconnect","cleanup","item","clear","useColumnResizeHandles","t0","$","_c","managerRef","t1","entry","current","contentRect","manager","success","t2","t3","t4","t5","Symbol","for"],"sources":["../../../../src/components/DataGrid/hooks/useColumnResizeHandles.ts"],"sourcesContent":["import { useEffect, useRef } from 'react'\nimport { Column } from '@sage-bionetworks/react-datasheet-grid'\nimport { useResizeObserver } from '@react-hookz/web'\n\n// Extended HTMLDivElement with custom properties for resize handles\ninterface ResizeHandleElement extends HTMLDivElement {\n __cellElement?: HTMLElement\n __columnName?: string\n}\n\ntype UseColumnResizeHandlesProps = {\n wrapperRef: React.RefObject<HTMLDivElement | null>\n colValues: Column[]\n onColumnResize: (columnName: string, newWidth: number) => void\n}\n\ninterface ResizeState {\n columnName: string\n startX: number\n startWidth: number\n handle: HTMLDivElement\n initialLeft: number\n}\n\n/**\n * Encapsulates all column resize handle logic and state management.\n * Manages handle creation, positioning, mouse interactions, and cleanup.\n */\nclass ColumnResizeManager {\n private static readonly COLUMN_MIN_WIDTH_PX = 50\n\n private handlesMap = new Map<string, ResizeHandleElement>()\n private cleanupFunctions: Array<(() => void) | HTMLDivElement> = []\n private activeResize: ResizeState | null = null\n private gridContainer: HTMLElement | null = null\n private headerRow: Element | null = null\n private observer: MutationObserver | null = null\n\n constructor(\n private colValues: Column[],\n private onColumnResize: (name: string, width: number) => void,\n ) {}\n\n /**\n * Update the column values and callback without reinitializing.\n */\n updateColumns(\n colValues: Column[],\n onColumnResize: (name: string, width: number) => void,\n ): void {\n this.colValues = colValues\n this.onColumnResize = onColumnResize\n // Resync handles with new column data\n this.syncHandles()\n }\n\n /**\n * Initialize the manager by finding grid elements and setting up event listeners.\n * Returns true if initialization was successful, false otherwise.\n */\n initialize(wrapperRef: HTMLDivElement): boolean {\n const gridContainer = wrapperRef.querySelector(\n '.dsg-container',\n ) as HTMLElement\n\n if (!gridContainer) {\n return false\n }\n\n const headerRow = gridContainer.querySelector('.dsg-row.dsg-row-header')\n\n if (!headerRow) {\n return false\n }\n\n this.gridContainer = gridContainer\n this.headerRow = headerRow\n\n this.setupEventListeners()\n this.syncHandles()\n\n return true\n }\n\n /**\n * Creates a new resize handle element with mousedown listener.\n */\n private createNewHandle(columnName: string): ResizeHandleElement {\n if (!this.gridContainer) {\n throw new Error('Cannot create handle without grid container')\n }\n\n const handle = document.createElement('div') as ResizeHandleElement\n handle.className = 'column-resize-handle'\n handle.dataset.columnName = columnName\n handle.style.position = 'absolute'\n handle.style.top = '0'\n handle.style.width = '8px'\n handle.style.cursor = 'col-resize'\n handle.style.pointerEvents = 'auto'\n handle.style.zIndex = '1000'\n\n const onMouseDown = (e: MouseEvent) => this.handleMouseDown(e, handle)\n handle.addEventListener('mousedown', onMouseDown)\n\n this.cleanupFunctions.push(() =>\n handle.removeEventListener('mousedown', onMouseDown),\n )\n\n this.gridContainer.appendChild(handle)\n this.cleanupFunctions.push(handle)\n this.handlesMap.set(columnName, handle)\n\n return handle\n }\n\n /**\n * Creates or updates a handle for a given cell element.\n */\n private createOrUpdateHandle(\n cellElement: HTMLElement,\n columnIndex: number,\n ): void {\n const columnName = this.colValues[columnIndex]?.id as string\n if (!columnName || !this.gridContainer) return\n\n let handle = this.handlesMap.get(columnName)\n\n if (!handle) {\n handle = this.createNewHandle(columnName)\n }\n\n this.updateHandlePosition(handle, cellElement)\n }\n\n /**\n * Updates the position and size of a handle based on its cell element.\n */\n private updateHandlePosition(\n handle: ResizeHandleElement,\n cellElement: HTMLElement,\n ): void {\n if (!this.gridContainer) return\n\n const gridHeight = this.gridContainer.scrollHeight\n const left = cellElement.offsetLeft + cellElement.offsetWidth - 3\n\n handle.__cellElement = cellElement\n handle.__columnName = handle.dataset.columnName\n handle.style.left = `${left}px`\n handle.style.height = `${gridHeight}px`\n handle.style.display = '' // Ensure visible\n }\n\n /**\n * Handles mousedown event on a resize handle to initiate dragging.\n */\n private handleMouseDown(e: MouseEvent, handle: ResizeHandleElement): void {\n e.preventDefault()\n e.stopPropagation()\n\n // Read the column info fresh at mousedown time\n const currentColumnName = handle.__columnName\n const currentCellElement = handle.__cellElement\n\n if (!currentColumnName || !currentCellElement) return\n\n // Get current width and position at the time of mousedown\n const currentLeft = parseFloat(handle.style.left)\n\n this.activeResize = {\n columnName: currentColumnName,\n startX: e.clientX,\n startWidth: currentCellElement.offsetWidth,\n handle,\n initialLeft: currentLeft,\n }\n\n handle.classList.add('is-resizing')\n document.body.classList.add('col-resizing')\n }\n\n /**\n * Handles mousemove event to update handle position during drag.\n */\n private handleMouseMove = (e: MouseEvent): void => {\n if (!this.activeResize) return\n\n const { startX, handle, initialLeft } = this.activeResize\n const deltaX = e.clientX - startX\n handle.style.left = `${initialLeft + deltaX}px`\n }\n\n /**\n * Handles mouseup/mouseleave to finalize the resize operation.\n */\n private handleMouseUp = (e: MouseEvent): void => {\n if (!this.activeResize) return\n\n const { columnName, startX, startWidth, handle } = this.activeResize\n const deltaX = e.clientX - startX\n const newWidth = Math.max(\n ColumnResizeManager.COLUMN_MIN_WIDTH_PX,\n startWidth + deltaX,\n )\n\n handle.classList.remove('is-resizing')\n document.body.classList.remove('col-resizing')\n this.activeResize = null\n\n // Only update state when drag is complete\n this.onColumnResize(columnName, newWidth)\n }\n\n /**\n * Synchronizes handles with currently visible columns in the header.\n * Handles virtualization by showing/hiding handles as columns appear/disappear.\n */\n private syncHandles = (): void => {\n if (this.activeResize || !this.headerRow) return // Don't sync during resize\n\n const headerCells = this.headerRow.querySelectorAll('.dsg-cell')\n if (headerCells.length <= 1) return\n\n // Track which columns are currently visible\n const visibleColumns = new Set<string>()\n\n // Update or create handles for visible columns\n headerCells.forEach((cell: Element, index: number) => {\n if (index === 0) return // Skip gutter column\n\n const cellElement = cell as HTMLElement\n\n // Get the column name from the cell's text content\n // This is more reliable than using DOM index with virtualization\n const cellText = cellElement.textContent?.trim() || ''\n\n // Find the actual column index in colValues by matching the id (column name)\n // Note: col.title may be a React element (e.g. ColumnHeaderWithTooltip), so we use col.id\n const actualColumnIndex = this.colValues.findIndex(\n col => col.id === cellText,\n )\n\n if (actualColumnIndex !== -1) {\n const columnName = this.colValues[actualColumnIndex]?.id as string\n visibleColumns.add(columnName)\n this.createOrUpdateHandle(cellElement, actualColumnIndex)\n }\n })\n\n // Hide handles for columns that are no longer visible (virtualized out)\n this.handlesMap.forEach((handle, columnName) => {\n if (!visibleColumns.has(columnName)) {\n handle.style.display = 'none'\n }\n })\n }\n\n /**\n * Sets up all event listeners for mouse interactions, scroll, and virtualization.\n */\n private setupEventListeners(): void {\n if (!this.gridContainer || !this.headerRow) return\n\n // Global mouse event listeners\n document.addEventListener('mousemove', this.handleMouseMove)\n document.addEventListener('mouseup', this.handleMouseUp)\n document.addEventListener('mouseleave', this.handleMouseUp)\n\n // Scroll listener for updating handle positions\n this.gridContainer.addEventListener('scroll', this.syncHandles)\n\n // MutationObserver to detect when columns are added/removed due to virtualization\n this.observer = new MutationObserver(() => {\n // Debounce mutations to avoid excessive syncs\n requestAnimationFrame(() => {\n this.syncHandles()\n })\n })\n\n this.observer.observe(this.headerRow, {\n childList: true, // Watch for added/removed columns\n subtree: true,\n })\n\n // Register cleanup functions\n this.cleanupFunctions.push(() => {\n document.removeEventListener('mousemove', this.handleMouseMove)\n document.removeEventListener('mouseup', this.handleMouseUp)\n document.removeEventListener('mouseleave', this.handleMouseUp)\n this.gridContainer?.removeEventListener('scroll', this.syncHandles)\n this.observer?.disconnect()\n })\n }\n\n /**\n * Cleans up all handles, event listeners, and resets state.\n */\n cleanup(): void {\n // Ensure cursor class is removed\n document.body.classList.remove('col-resizing')\n\n // Reset active resize state\n if (this.activeResize) {\n this.activeResize.handle?.classList.remove('is-resizing')\n this.activeResize = null\n }\n\n // Run all cleanup functions and remove handles\n this.cleanupFunctions.forEach(item => {\n if (typeof item === 'function') {\n item()\n } else {\n // It's a handle element, remove it\n item.remove()\n }\n })\n\n this.cleanupFunctions = []\n this.handlesMap.clear()\n this.gridContainer = null\n this.headerRow = null\n this.observer = null\n }\n}\n\n/**\n * Custom hook that manages interactive column resize handles for a data grid.\n * Creates, positions, and updates resize handles that allow users to drag column borders.\n * Handles virtualization, scrolling, and proper cleanup.\n */\nexport function useColumnResizeHandles({\n wrapperRef,\n colValues,\n onColumnResize,\n}: UseColumnResizeHandlesProps) {\n const managerRef = useRef<ColumnResizeManager | null>(null)\n\n // Use react-hookz useResizeObserver to detect when wrapper is rendered and sized\n useResizeObserver(wrapperRef, entry => {\n if (!wrapperRef.current || !entry || entry.contentRect.height === 0) {\n return\n }\n\n // Initialize manager if not already done\n if (!managerRef.current) {\n const manager = new ColumnResizeManager(colValues, onColumnResize)\n const success = manager.initialize(wrapperRef.current)\n if (success) {\n managerRef.current = manager\n }\n }\n })\n\n useEffect(() => {\n // Update columns when they change instead of full reinitialization\n if (managerRef.current) {\n managerRef.current.updateColumns(colValues, onColumnResize)\n }\n }, [colValues, onColumnResize])\n\n useEffect(() => {\n // Cleanup on unmount\n return () => {\n managerRef.current?.cleanup()\n managerRef.current = null\n }\n }, [])\n}\n"],"mappings":"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"}