synapse-react-client 4.0.5 → 4.0.7

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 (212) hide show
  1. package/dist/SWC.index.d.ts +2 -0
  2. package/dist/SWC.index.d.ts.map +1 -1
  3. package/dist/SWC.index.js +47 -41
  4. package/dist/SWC.index.js.map +1 -1
  5. package/dist/assets/DefaultColorfulPortalCardBackground.svg +50 -12
  6. package/dist/assets/DefaultColorfulPortalCardBackground.svg.js +4 -4
  7. package/dist/assets/DefaultColorfulPortalCardBackground.svg.js.map +1 -1
  8. package/dist/components/CardDeck/TableQueryCardDeck.js +3 -4
  9. package/dist/components/CardDeck/TableQueryCardDeck.js.map +1 -1
  10. package/dist/components/ChangePassword/useChangePasswordFormState.js +2 -3
  11. package/dist/components/ChangePassword/useChangePasswordFormState.js.map +1 -1
  12. package/dist/components/ColoredBulletListItem/ColoredBulletListItem.css +1 -0
  13. package/dist/components/ColoredBulletListItem/ColoredBulletListItem.d.ts +8 -0
  14. package/dist/components/ColoredBulletListItem/ColoredBulletListItem.d.ts.map +1 -0
  15. package/dist/components/ColoredBulletListItem/ColoredBulletListItem.js +21 -0
  16. package/dist/components/ColoredBulletListItem/ColoredBulletListItem.js.map +1 -0
  17. package/dist/components/ColoredBulletListItem/ColoredBulletListItem.module.scss +32 -0
  18. package/dist/components/ColoredBulletListItem/ColoredBulletListItem.module.scss.js +14 -0
  19. package/dist/components/ColoredBulletListItem/ColoredBulletListItem.module.scss.js.map +1 -0
  20. package/dist/components/ColoredBulletListItem/index.d.ts +5 -0
  21. package/dist/components/ColoredBulletListItem/index.d.ts.map +1 -0
  22. package/dist/components/ColoredBulletListItem/index.js +6 -0
  23. package/dist/components/ColoredBulletListItem/index.js.map +1 -0
  24. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js +3 -4
  25. package/dist/components/CreateOrUpdateAccessRequirementWizard/CreateOrUpdateAccessRequirementWizard.js.map +1 -1
  26. package/dist/components/CreateProjectModal/CreateProjectModal.d.ts +2 -1
  27. package/dist/components/CreateProjectModal/CreateProjectModal.d.ts.map +1 -1
  28. package/dist/components/CreateProjectModal/CreateProjectModal.js +122 -43
  29. package/dist/components/CreateProjectModal/CreateProjectModal.js.map +1 -1
  30. package/dist/components/CreateProjectModal/ProjectVisibilityRadioGroup.d.ts +7 -0
  31. package/dist/components/CreateProjectModal/ProjectVisibilityRadioGroup.d.ts.map +1 -0
  32. package/dist/components/CreateProjectModal/ProjectVisibilityRadioGroup.js +132 -0
  33. package/dist/components/CreateProjectModal/ProjectVisibilityRadioGroup.js.map +1 -0
  34. package/dist/components/DataGrid/DataGrid.d.ts +2 -0
  35. package/dist/components/DataGrid/DataGrid.d.ts.map +1 -1
  36. package/dist/components/DataGrid/DataGrid.js +69 -67
  37. package/dist/components/DataGrid/DataGrid.js.map +1 -1
  38. package/dist/components/DataGrid/DataGridWebSocket.d.ts +4 -0
  39. package/dist/components/DataGrid/DataGridWebSocket.d.ts.map +1 -1
  40. package/dist/components/DataGrid/DataGridWebSocket.js +47 -37
  41. package/dist/components/DataGrid/DataGridWebSocket.js.map +1 -1
  42. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js +2 -3
  43. package/dist/components/DataGrid/MergeGridWithSourceTableButton.js.map +1 -1
  44. package/dist/components/DataGrid/SynapseGrid.d.ts.map +1 -1
  45. package/dist/components/DataGrid/SynapseGrid.js +209 -162
  46. package/dist/components/DataGrid/SynapseGrid.js.map +1 -1
  47. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js +2 -3
  48. package/dist/components/DataGrid/components/UploadCsvToGridDialog.js.map +1 -1
  49. package/dist/components/DataGrid/hooks/useRemoteSelections.d.ts +16 -0
  50. package/dist/components/DataGrid/hooks/useRemoteSelections.d.ts.map +1 -0
  51. package/dist/components/DataGrid/hooks/useRemoteSelections.js +30 -0
  52. package/dist/components/DataGrid/hooks/useRemoteSelections.js.map +1 -0
  53. package/dist/components/DataGrid/useDataGridWebsocket.d.ts +6 -1
  54. package/dist/components/DataGrid/useDataGridWebsocket.d.ts.map +1 -1
  55. package/dist/components/DataGrid/useDataGridWebsocket.js +78 -69
  56. package/dist/components/DataGrid/useDataGridWebsocket.js.map +1 -1
  57. package/dist/components/DataGrid/utils/getCellClassName.d.ts +3 -0
  58. package/dist/components/DataGrid/utils/getCellClassName.d.ts.map +1 -1
  59. package/dist/components/DataGrid/utils/getCellClassName.js +21 -12
  60. package/dist/components/DataGrid/utils/getCellClassName.js.map +1 -1
  61. package/dist/components/DataGrid/utils/replicaSelectionToGridSelection.d.ts +15 -0
  62. package/dist/components/DataGrid/utils/replicaSelectionToGridSelection.d.ts.map +1 -0
  63. package/dist/components/DataGrid/utils/replicaSelectionToGridSelection.js +43 -0
  64. package/dist/components/DataGrid/utils/replicaSelectionToGridSelection.js.map +1 -0
  65. package/dist/components/DialogBase.d.ts +3 -1
  66. package/dist/components/DialogBase.d.ts.map +1 -1
  67. package/dist/components/DialogBase.js +75 -56
  68. package/dist/components/DialogBase.js.map +1 -1
  69. package/dist/components/Ecosystem/EcosystemSkeleton.js +2 -3
  70. package/dist/components/Ecosystem/EcosystemSkeleton.js.map +1 -1
  71. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js +2 -3
  72. package/dist/components/FeaturedDataTabs/FacetPlotsCard.js.map +1 -1
  73. package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js +2 -3
  74. package/dist/components/FeaturedDataTabs/FeaturedDataTabs.js.map +1 -1
  75. package/dist/components/GenericCard/GenericCard.js +3 -4
  76. package/dist/components/GenericCard/GenericCard.js.map +1 -1
  77. package/dist/components/HeaderCard.js +2 -3
  78. package/dist/components/HeaderCard.js.map +1 -1
  79. package/dist/components/IconSvg/IconSvg.d.ts +1 -1
  80. package/dist/components/IconSvg/IconSvg.d.ts.map +1 -1
  81. package/dist/components/IconSvg/IconSvg.js +168 -165
  82. package/dist/components/IconSvg/IconSvg.js.map +1 -1
  83. package/dist/components/StorybookComponentWrapper.js +3 -4
  84. package/dist/components/StorybookComponentWrapper.js.map +1 -1
  85. package/dist/components/SynapseForm/SynapseFormSubmissionGrid.d.ts +1 -0
  86. package/dist/components/SynapseForm/SynapseFormSubmissionGrid.d.ts.map +1 -1
  87. package/dist/components/SynapseForm/SynapseFormSubmissionGrid.js +23 -16
  88. package/dist/components/SynapseForm/SynapseFormSubmissionGrid.js.map +1 -1
  89. package/dist/components/SynapseTable/SynapseTable.d.ts +6 -1
  90. package/dist/components/SynapseTable/SynapseTable.d.ts.map +1 -1
  91. package/dist/components/SynapseTable/SynapseTable.js +123 -93
  92. package/dist/components/SynapseTable/SynapseTable.js.map +1 -1
  93. package/dist/components/TextField/TextField.css +1 -0
  94. package/dist/components/TextField/TextField.d.ts +2 -1
  95. package/dist/components/TextField/TextField.d.ts.map +1 -1
  96. package/dist/components/TextField/TextField.js +42 -28
  97. package/dist/components/TextField/TextField.js.map +1 -1
  98. package/dist/components/TextField/TextField.module.scss +25 -0
  99. package/dist/components/TextField/TextField.module.scss.js +14 -0
  100. package/dist/components/TextField/TextField.module.scss.js.map +1 -0
  101. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js +2 -3
  102. package/dist/components/download_list/AddToDownloadListConfirmationAlert/AddToDownloadListConfirmationAlert.js.map +1 -1
  103. package/dist/components/index.d.ts +1 -0
  104. package/dist/components/index.d.ts.map +1 -1
  105. package/dist/components/index.js +242 -240
  106. package/dist/components/index.js.map +1 -1
  107. package/dist/components/styled/HoverPopover.css +1 -1
  108. package/dist/components/styled/HoverPopover.d.ts.map +1 -1
  109. package/dist/components/styled/HoverPopover.js +6 -5
  110. package/dist/components/styled/HoverPopover.js.map +1 -1
  111. package/dist/components/styled/HoverPopover.module.scss +2 -1
  112. package/dist/components/styled/HoverPopover.module.scss.js +1 -1
  113. package/dist/components/styled/StyledFormControl.js +1 -1
  114. package/dist/components/styled/StyledFormControl.js.map +1 -1
  115. package/dist/components/table/CsvPreview/CsvPreview.js +2 -3
  116. package/dist/components/table/CsvPreview/CsvPreview.js.map +1 -1
  117. package/dist/components/table/CsvPreview/CsvPreviewDialog.js +2 -3
  118. package/dist/components/table/CsvPreview/CsvPreviewDialog.js.map +1 -1
  119. package/dist/features/curator/GridPage/GridPage.js +2 -3
  120. package/dist/features/curator/GridPage/GridPage.js.map +1 -1
  121. package/dist/features/curator/GridPage/components/GridPageTitle.js +2 -3
  122. package/dist/features/curator/GridPage/components/GridPageTitle.js.map +1 -1
  123. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts +5 -2
  124. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.d.ts.map +1 -1
  125. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js +46 -33
  126. package/dist/features/entity/metadata-task/components/MetadataTaskTableActionCell.js.map +1 -1
  127. package/dist/features/entity/metadata-task/components/MetadataTasksPage.d.ts.map +1 -1
  128. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js +52 -27
  129. package/dist/features/entity/metadata-task/components/MetadataTasksPage.js.map +1 -1
  130. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.d.ts +7 -0
  131. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.d.ts.map +1 -0
  132. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js +322 -0
  133. package/dist/features/entity/metadata-task/components/MetadataTasksTableAssigneeCell.js.map +1 -0
  134. package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.d.ts +7 -1
  135. package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.d.ts.map +1 -1
  136. package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.js +7 -7
  137. package/dist/features/entity/metadata-task/hooks/useGetOrCreateGridSessionForSource.js.map +1 -1
  138. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.d.ts +9 -5
  139. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.d.ts.map +1 -1
  140. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js +79 -16
  141. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask.js.map +1 -1
  142. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.d.ts +12 -0
  143. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.d.ts.map +1 -0
  144. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js +20 -0
  145. package/dist/features/entity/metadata-task/hooks/useGridSessionForCurationTask_legacy.js.map +1 -0
  146. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.d.ts +3 -3
  147. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.d.ts.map +1 -1
  148. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js +54 -41
  149. package/dist/features/entity/metadata-task/hooks/useMetadataTaskTable.js.map +1 -1
  150. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.d.ts +2 -2
  151. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.d.ts.map +1 -1
  152. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.js +11 -4
  153. package/dist/features/entity/metadata-task/utils/getCreateGridRequestForMetadataTask.js.map +1 -1
  154. package/dist/features/entity/metadata-task/utils/taskHasAssignee.d.ts +3 -0
  155. package/dist/features/entity/metadata-task/utils/taskHasAssignee.d.ts.map +1 -0
  156. package/dist/features/entity/metadata-task/utils/taskHasAssignee.js +7 -0
  157. package/dist/features/entity/metadata-task/utils/taskHasAssignee.js.map +1 -0
  158. package/dist/index.js +306 -304
  159. package/dist/index.js.map +1 -1
  160. package/dist/mocks/curation/mockCurationTask.d.ts +10 -0
  161. package/dist/mocks/curation/mockCurationTask.d.ts.map +1 -0
  162. package/dist/mocks/curation/mockCurationTask.js +24 -0
  163. package/dist/mocks/curation/mockCurationTask.js.map +1 -0
  164. package/dist/style/components/_data-grid-extra.css +1 -1
  165. package/dist/style/components/_data-grid-extra.scss +16 -0
  166. package/dist/synapse-client/SynapseClient.d.ts +1 -1
  167. package/dist/synapse-client/SynapseClient.d.ts.map +1 -1
  168. package/dist/synapse-client/SynapseClient.js +3 -2
  169. package/dist/synapse-client/SynapseClient.js.map +1 -1
  170. package/dist/synapse-queries/KeyFactory.d.ts +8 -3
  171. package/dist/synapse-queries/KeyFactory.d.ts.map +1 -1
  172. package/dist/synapse-queries/KeyFactory.js +22 -7
  173. package/dist/synapse-queries/KeyFactory.js.map +1 -1
  174. package/dist/synapse-queries/curation/task/useCurationTask.d.ts +6 -3
  175. package/dist/synapse-queries/curation/task/useCurationTask.d.ts.map +1 -1
  176. package/dist/synapse-queries/curation/task/useCurationTask.js +62 -18
  177. package/dist/synapse-queries/curation/task/useCurationTask.js.map +1 -1
  178. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.d.ts +2 -0
  179. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.d.ts.map +1 -1
  180. package/dist/synapse-queries/grid/useEstablishWebsocketConnection.js.map +1 -1
  181. package/dist/synapse-queries/grid/useGridSession.d.ts +17 -2
  182. package/dist/synapse-queries/grid/useGridSession.d.ts.map +1 -1
  183. package/dist/synapse-queries/grid/useGridSession.js +63 -30
  184. package/dist/synapse-queries/grid/useGridSession.js.map +1 -1
  185. package/dist/synapse-queries/index.js +103 -99
  186. package/dist/synapse-queries/team/index.js +18 -15
  187. package/dist/synapse-queries/team/useTeamMembers.d.ts +34 -0
  188. package/dist/synapse-queries/team/useTeamMembers.d.ts.map +1 -1
  189. package/dist/synapse-queries/team/useTeamMembers.js +110 -69
  190. package/dist/synapse-queries/team/useTeamMembers.js.map +1 -1
  191. package/dist/synapse-queries/types.d.ts +13 -0
  192. package/dist/synapse-queries/types.d.ts.map +1 -0
  193. package/dist/synapse-queries/types.js +2 -0
  194. package/dist/synapse-queries/types.js.map +1 -0
  195. package/dist/synapse-queries/user/index.js +12 -11
  196. package/dist/synapse-queries/user/useUserGroupHeader.d.ts +5 -0
  197. package/dist/synapse-queries/user/useUserGroupHeader.d.ts.map +1 -1
  198. package/dist/synapse-queries/user/useUserGroupHeader.js +28 -21
  199. package/dist/synapse-queries/user/useUserGroupHeader.js.map +1 -1
  200. package/dist/theme/palette/Palettes.d.ts +2 -0
  201. package/dist/theme/palette/Palettes.d.ts.map +1 -1
  202. package/dist/theme/palette/Palettes.js +46 -40
  203. package/dist/theme/palette/Palettes.js.map +1 -1
  204. package/dist/tsconfig.build.tsbuildinfo +1 -1
  205. package/dist/utils/hooks/useOverlay.d.ts +2 -2
  206. package/dist/utils/hooks/useOverlay.d.ts.map +1 -1
  207. package/dist/utils/hooks/useOverlay.js +41 -41
  208. package/dist/utils/hooks/useOverlay.js.map +1 -1
  209. package/package.json +4 -4
  210. package/dist/assets/ArcusBioIcon.svg +0 -1
  211. package/dist/assets/ArcusBioIcon.svg.js +0 -7
  212. package/dist/assets/ArcusBioIcon.svg.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"IconSvg.js","sources":["../../../src/components/IconSvg/IconSvg.tsx"],"sourcesContent":["import { ReactComponent as ArcusBioIcon } from '@/assets/ArcusBioIcon.svg'\nimport { GoogleIcon24 } from '@/assets/GoogleIcon24'\nimport { ReactComponent as AccessPending } from '@/assets/icons/AccessPending.svg'\nimport { ReactComponent as AccessPendingCloud } from '@/assets/icons/AccessPendingCloud.svg'\nimport AwardScroll from '@/assets/icons/AwardScroll'\nimport Baseline from '@/assets/icons/Baseline'\nimport ClappingHands from '@/assets/icons/ClappingHands'\nimport CreateVersion from '@/assets/icons/CreateVersion'\nimport FileWithShield from '@/assets/icons/FileWithShield'\nimport MultiFile from '@/assets/icons/MultiFile'\nimport UnpackagableFile from '@/assets/icons/UnpackagableFile'\nimport HandWithMoney from '@/assets/icons/HandWithMoney'\nimport { ORCIDIcon } from '@/assets/icons/ORCIDIcon'\nimport OpenBook from '@/assets/icons/OpenBook'\nimport Podium from '@/assets/icons/Podium'\nimport RosetteRibbon from '@/assets/icons/RosetteRibbon'\nimport StarTrophy from '@/assets/icons/StarTrophy'\nimport { TasksIcon } from '@/assets/icons/TasksIcon'\nimport ThreeStars from '@/assets/icons/ThreeStars'\nimport AccessManagement from '@/assets/mui_components/AccessManagement'\nimport AccountCertified from '@/assets/mui_components/AccountCertified'\nimport AccountRegistered from '@/assets/mui_components/AccountRegistered'\nimport AccountValidated from '@/assets/mui_components/AccountValidated'\nimport ActionKey from '@/assets/mui_components/ActionKey'\nimport BioChemicalPhysical from '@/assets/mui_components/BioChemicalPhysical'\nimport Chromatin from '@/assets/mui_components/Chromatin'\nimport Clinical from '@/assets/mui_components/Clinical'\nimport ComputationalTool from '@/assets/mui_components/ComputationalTool'\nimport Data from '@/assets/mui_components/Data'\nimport DataLocked from '@/assets/mui_components/DataLocked'\nimport DataReuse from '@/assets/mui_components/DataReuse'\nimport Dataset from '@/assets/mui_components/Dataset'\nimport DatasetCollection from '@/assets/mui_components/DatasetCollection'\nimport Docker from '@/assets/mui_components/Docker'\nimport GeneExpression from '@/assets/mui_components/GeneExpression'\nimport GeneVariants from '@/assets/mui_components/GeneVariants'\nimport HelpChatBubble from '@/assets/mui_components/HelpChatBubble'\nimport Imaging from '@/assets/mui_components/Imaging'\nimport InSilicoModel from '@/assets/mui_components/InSilicoModel'\nimport Kinomics from '@/assets/mui_components/Kinomics'\nimport LineGraph from '@/assets/mui_components/LineGraph'\nimport ModelSystem from '@/assets/mui_components/ModelSystem'\nimport Other from '@/assets/mui_components/Other'\nimport PackagableFile from '@/assets/mui_components/PackagableFile'\nimport Proteomics from '@/assets/mui_components/Proteomics'\nimport Rat from '@/assets/mui_components/Rat'\nimport SpatialProfiling from '@/assets/mui_components/SpatialProfiling'\nimport {\n AccessTimeTwoTone,\n AddBoxOutlined,\n AddCircleOutline,\n AddCircleTwoTone,\n AddShoppingCart,\n AddTwoTone,\n AlternateEmail,\n ArrowBack,\n ArrowDropDownTwoTone,\n ArrowDropUpTwoTone,\n ArrowForward,\n ArticleTwoTone,\n AssessmentTwoTone,\n AssignmentOutlined,\n AssignmentTurnedInTwoTone,\n Block,\n Cached,\n ChatTwoTone,\n Check,\n CheckCircleTwoTone,\n ChevronLeft,\n ChevronRight,\n Clear,\n CloseTwoTone,\n Code,\n ContentCopyTwoTone,\n CreateNewFolderTwoTone,\n DashboardTwoTone,\n DeleteSweepTwoTone,\n DeleteTwoTone,\n EditTwoTone,\n ErrorOutlined,\n ExpandLess,\n ExpandMore,\n FactCheckTwoTone,\n FilterAltTwoTone,\n FlagTwoTone,\n FolderTwoTone,\n FormatBold,\n FormatItalic,\n GetAppTwoTone,\n GitHub,\n Group,\n HelpOutlined,\n HelpOutlineTwoTone,\n HistoryTwoTone,\n Image,\n IndeterminateCheckBoxOutlined,\n InfoOutlined,\n InsertDriveFileOutlined,\n InsertDriveFileTwoTone,\n LabelTwoTone,\n LanguageTwoTone,\n LayersTwoTone,\n LinkOffTwoTone,\n LinkTwoTone,\n ListTwoTone,\n LockOpenTwoTone,\n Login,\n MailOutlineTwoTone,\n MoreVertTwoTone,\n OpenInFull,\n OpenInNewTwoTone,\n PeopleTwoTone,\n PhoneTwoTone,\n PhotoCameraOutlined,\n PublicTwoTone,\n PushPinTwoTone,\n QuestionAnswerTwoTone,\n RadioButtonUncheckedTwoTone,\n RemoveCircleTwoTone,\n ReplyTwoTone,\n ReportProblemOutlined,\n RestoreFromTrashTwoTone,\n SearchOutlined,\n SearchTwoTone,\n ShareTwoTone,\n ShoppingCartOutlined,\n Sort,\n Star,\n StarOutline,\n StarTwoTone,\n StrikethroughS,\n Subscript,\n Superscript,\n SyncTwoTone,\n TableChartTwoTone,\n TableRows,\n TableViewTwoTone,\n Title,\n UploadTwoTone,\n ViewAgendaTwoTone,\n ViewColumnTwoTone,\n VisibilityOffTwoTone,\n VisibilityTwoTone,\n VpnKeyTwoTone,\n WarningTwoTone,\n WatchLater,\n} from '@mui/icons-material'\nimport { Tooltip } from '@mui/material'\nimport { SvgIconProps } from '@mui/material/SvgIcon'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport { ReactNode } from 'react'\n\nexport const IconStrings = [\n 'accessOpen',\n 'accessPending',\n 'accessPendingCloud',\n 'accessClosed',\n 'actionKey',\n 'arrowBack',\n 'arrowForward',\n 'arrowDropUp',\n 'arrowDropDown',\n 'article',\n 'cards',\n 'check',\n 'clear',\n 'cart',\n 'clock',\n 'code',\n 'columns',\n 'openInNewWindow',\n 'dashboard',\n 'delete',\n 'deleteSweep',\n 'filter',\n 'addToCart',\n 'addCircleOutline',\n 'addCircleTwoTone',\n 'reload',\n 'team',\n 'photoCamera',\n 'info',\n 'favTwoTone',\n 'favOutline',\n 'fav',\n 'peopleTwoTone',\n 'challengesTwoTone',\n 'download',\n 'searchOutlined',\n 'search',\n 'history',\n 'time',\n 'login',\n 'helpChatBubble',\n 'helpOutlined',\n 'helpOutlineTwoTone',\n 'expandLess',\n 'expandMore',\n 'rat',\n 'chromatin',\n 'clinical',\n 'contentCopy',\n 'data',\n 'dataLocked',\n 'geneExpression',\n 'geneVariants',\n 'github',\n 'imaging',\n 'inSilicoModel',\n 'modelSystem',\n 'bioChemicalPhysical',\n 'computationalTool',\n 'spatialProfiling',\n 'dataReuse',\n 'lineGraph',\n 'kinomics',\n 'proteomics',\n 'packagableFile',\n 'unpackagableFile',\n 'other',\n 'wiki',\n 'file',\n 'fileOutlined',\n 'folder',\n 'link',\n 'linkOff',\n 'table',\n 'tableRows',\n 'share',\n 'public',\n 'people',\n 'entityview',\n 'submissionview',\n 'challenge',\n 'discussion',\n 'dataset',\n 'datasetcollection',\n 'docker',\n 'accountCertified',\n 'accountRegistered',\n 'accountValidated',\n 'warningOutlined',\n 'removeCircle',\n 'replyTwoTone',\n 'chatTwoTone',\n 'accessManagement',\n 'chevronRight',\n 'chevronLeft',\n 'database',\n 'close',\n 'cross',\n 'verticalEllipsis',\n 'sync',\n 'clipboard',\n 'clipboardCheck',\n 'add',\n 'warning',\n 'circle',\n 'block',\n 'checkCircle',\n 'errorOutlined',\n 'phone',\n 'pushpin',\n 'addBoxOutline',\n 'minusBoxOutline',\n 'italic',\n 'bold',\n 'title',\n 'visibility',\n 'visibilityOff',\n 'strikethrough',\n 'subscript',\n 'superscript',\n 'latex',\n 'image',\n 'edit',\n 'tag',\n 'restore',\n 'label',\n 'upload',\n 'flag',\n 'newFolder',\n 'createVersion',\n 'email',\n 'addConditions',\n 'sortUp',\n 'sortDown',\n 'orcid',\n 'tasks',\n 'google24',\n 'arcusbio',\n 'openInFull',\n 'tableview',\n 'fileWithShield',\n 'baseline',\n 'rosetteRibbon',\n 'starTrophy',\n 'awardScroll',\n 'clappingHands',\n 'podium',\n 'openBook',\n 'handWithMoney',\n 'threeStars',\n 'multiFile',\n] as const\n\nexport type IconName = (typeof IconStrings)[number]\n\nexport type IconSvgProps = {\n icon: IconName\n // If provided, will be shown in tooltip\n onClick?: () => void\n label?: string\n wrap?: boolean\n} & SvgIconProps\n\nfunction IconMapping(props: { icon: string } & SvgIconProps) {\n const { icon, ...otherProps } = props\n const color = undefined\n\n otherProps.sx = {\n verticalAlign: 'middle',\n ...otherProps.sx,\n }\n\n switch (icon) {\n case 'accessOpen':\n return <LockOpenTwoTone {...otherProps} />\n case 'accessClosed':\n return <VpnKeyTwoTone {...otherProps} />\n case 'accessPending':\n return <AccessPending {...otherProps} />\n case 'accessPendingCloud':\n return <AccessPendingCloud {...otherProps} />\n case 'add':\n return <AddTwoTone {...otherProps} />\n case 'addConditions':\n return <FactCheckTwoTone {...otherProps} />\n case 'actionKey':\n return <ActionKey {...otherProps} />\n case 'arrowBack':\n return <ArrowBack {...otherProps} />\n case 'arrowForward':\n return <ArrowForward {...otherProps} />\n case 'arrowDropUp':\n return <ArrowDropUpTwoTone {...otherProps} />\n case 'arrowDropDown':\n return <ArrowDropDownTwoTone {...otherProps} />\n case 'article':\n return <ArticleTwoTone {...otherProps} />\n case 'block':\n return <Block {...otherProps} />\n case 'check':\n return <Check {...otherProps} />\n case 'clear':\n return <Clear {...otherProps} />\n case 'cart':\n return <ShoppingCartOutlined {...otherProps} />\n case 'cards':\n return <ViewAgendaTwoTone {...otherProps} />\n case 'clock':\n return <AccessTimeTwoTone {...otherProps} />\n case 'code':\n return <Code {...otherProps} />\n case 'columns':\n return <ViewColumnTwoTone {...otherProps} />\n case 'circle':\n return <RadioButtonUncheckedTwoTone {...otherProps} />\n case 'checkCircle':\n return <CheckCircleTwoTone {...otherProps} />\n case 'createVersion':\n return <CreateVersion {...otherProps} />\n case 'dashboard':\n return <DashboardTwoTone {...otherProps} />\n case 'delete':\n return <DeleteTwoTone {...otherProps} />\n case 'deleteSweep':\n return <DeleteSweepTwoTone {...otherProps} />\n case 'openInNewWindow':\n return <OpenInNewTwoTone {...otherProps} />\n case 'phone':\n return <PhoneTwoTone {...otherProps} />\n case 'people':\n return <PeopleTwoTone {...otherProps} />\n case 'addToCart':\n return <AddShoppingCart {...otherProps} />\n case 'addCircleOutline':\n return <AddCircleOutline {...otherProps} />\n case 'addCircleTwoTone':\n return <AddCircleTwoTone {...otherProps} />\n case 'reload':\n return <Cached {...otherProps} />\n case 'team':\n return <Group {...otherProps} />\n case 'photoCamera':\n return <PhotoCameraOutlined {...otherProps} />\n case 'verticalEllipsis':\n return <MoreVertTwoTone {...otherProps} />\n case 'sync':\n return <SyncTwoTone {...otherProps} />\n case 'tableRows':\n return <TableRows {...otherProps} />\n case 'share':\n return <ShareTwoTone {...otherProps} />\n case 'public':\n return <PublicTwoTone {...otherProps} />\n case 'clipboard':\n return <AssignmentOutlined {...otherProps} />\n case 'clipboardCheck':\n return <AssignmentTurnedInTwoTone {...otherProps} />\n case 'info':\n return <InfoOutlined {...otherProps} />\n case 'favTwoTone':\n return <StarTwoTone {...otherProps} />\n case 'favOutline':\n return <StarOutline {...otherProps} />\n case 'fav':\n return <Star {...otherProps} />\n case 'github':\n return <GitHub {...otherProps} />\n case 'peopleTwoTone':\n return <PeopleTwoTone {...otherProps} />\n case 'challengesTwoTone':\n return <AssessmentTwoTone {...otherProps} />\n case 'download':\n return <GetAppTwoTone {...otherProps} />\n case 'errorOutlined':\n return <ErrorOutlined {...otherProps} />\n case 'searchOutlined':\n return <SearchOutlined {...otherProps} />\n case 'search':\n return <SearchTwoTone {...otherProps} />\n case 'history':\n return <HistoryTwoTone {...otherProps} />\n case 'time':\n return <WatchLater {...otherProps} />\n case 'login':\n return <Login {...otherProps} />\n case 'helpChatBubble':\n return <HelpChatBubble {...otherProps} />\n case 'helpOutlineTwoTone':\n return <HelpOutlineTwoTone {...otherProps} />\n case 'helpOutlined':\n return <HelpOutlined {...otherProps} />\n case 'close':\n case 'cross':\n return <CloseTwoTone {...otherProps} />\n case 'expandLess':\n return <ExpandLess {...otherProps} />\n case 'expandMore':\n return <ExpandMore {...otherProps} />\n case 'rat':\n return <Rat {...otherProps} />\n case 'chromatin':\n return <Chromatin {...otherProps} />\n case 'clinical':\n return <Clinical {...otherProps} />\n case 'contentCopy':\n return <ContentCopyTwoTone {...otherProps} />\n case 'data':\n return <Data {...otherProps} />\n case 'dataLocked':\n return <DataLocked {...otherProps} />\n case 'geneExpression':\n return <GeneExpression {...otherProps} />\n case 'geneVariants':\n return <GeneVariants {...otherProps} />\n case 'imaging':\n return <Imaging {...otherProps} />\n case 'inSilicoModel':\n return <InSilicoModel {...otherProps} />\n case 'modelSystem':\n return <ModelSystem {...otherProps} />\n case 'bioChemicalPhysical':\n return <BioChemicalPhysical {...otherProps} />\n case 'computationalTool':\n return <ComputationalTool {...otherProps} />\n case 'spatialProfiling':\n return <SpatialProfiling {...otherProps} />\n case 'dataReuse':\n return <DataReuse {...otherProps} />\n case 'lineGraph':\n return <LineGraph {...otherProps} />\n case 'kinomics':\n return <Kinomics {...otherProps} />\n case 'proteomics':\n return <Proteomics {...otherProps} />\n case 'packagableFile':\n return <PackagableFile {...otherProps} />\n case 'unpackagableFile':\n return <UnpackagableFile {...otherProps} />\n case 'other':\n return <Other fill={color} {...otherProps} />\n case 'wiki':\n return <LanguageTwoTone {...otherProps} />\n case 'file':\n return <InsertDriveFileTwoTone {...otherProps} />\n case 'fileOutlined':\n return <InsertDriveFileOutlined {...otherProps} />\n case 'folder':\n return <FolderTwoTone {...otherProps} />\n case 'newFolder':\n return <CreateNewFolderTwoTone {...otherProps} />\n case 'link':\n return <LinkTwoTone {...otherProps} />\n case 'linkOff':\n return <LinkOffTwoTone {...otherProps} />\n case 'table':\n return <TableChartTwoTone {...otherProps} />\n case 'tableview':\n return <TableViewTwoTone {...otherProps} />\n case 'entityview':\n return <ListTwoTone {...otherProps} />\n case 'submissionview':\n return <ArticleTwoTone {...otherProps} />\n case 'challenge':\n return <AssessmentTwoTone {...otherProps} />\n case 'discussion':\n return <QuestionAnswerTwoTone {...otherProps} />\n case 'dataset':\n return <Dataset {...otherProps} />\n case 'datasetcollection':\n return <DatasetCollection {...otherProps} />\n case 'database':\n return <LayersTwoTone {...otherProps} />\n case 'docker':\n return <Docker {...otherProps} />\n case 'accountCertified':\n return <AccountCertified {...otherProps} />\n case 'accountRegistered':\n return <AccountRegistered {...otherProps} />\n case 'accountValidated':\n return <AccountValidated {...otherProps} />\n case 'warningOutlined':\n return <ReportProblemOutlined {...otherProps} />\n case 'warning':\n return <WarningTwoTone {...otherProps} />\n case 'removeCircle':\n return <RemoveCircleTwoTone {...otherProps} />\n case 'replyTwoTone':\n return <ReplyTwoTone {...otherProps} />\n case 'chatTwoTone':\n return <ChatTwoTone {...otherProps} />\n case 'accessManagement':\n return <AccessManagement {...otherProps} />\n case 'chevronRight':\n return <ChevronRight {...otherProps} />\n case 'chevronLeft':\n return <ChevronLeft {...otherProps} />\n case 'pushpin':\n return <PushPinTwoTone {...otherProps} />\n case 'addBoxOutline':\n return <AddBoxOutlined {...otherProps} />\n case 'minusBoxOutline':\n return <IndeterminateCheckBoxOutlined {...otherProps} />\n case 'italic':\n return <FormatItalic {...otherProps} />\n case 'bold':\n return <FormatBold {...otherProps} />\n case 'title':\n return <Title {...otherProps} />\n case 'visibility':\n return <VisibilityTwoTone {...otherProps} />\n case 'visibilityOff':\n return <VisibilityOffTwoTone {...otherProps} />\n case 'strikethrough':\n return <StrikethroughS {...otherProps} />\n case 'latex':\n return <span>TeX</span>\n case 'image':\n return <Image {...otherProps} />\n case 'superscript':\n return <Superscript {...otherProps} />\n case 'subscript':\n return <Subscript {...otherProps} />\n case 'edit':\n return <EditTwoTone {...otherProps} />\n case 'tag':\n return <AlternateEmail {...otherProps} />\n case 'restore':\n return <RestoreFromTrashTwoTone {...otherProps} />\n case 'label':\n return <LabelTwoTone {...otherProps} />\n case 'upload':\n return <UploadTwoTone {...otherProps} />\n case 'flag':\n return <FlagTwoTone {...otherProps} />\n case 'email':\n return <MailOutlineTwoTone {...otherProps} />\n case 'sortUp':\n return (\n <Sort\n {...otherProps}\n sx={{\n transform: 'scale(1, -1)',\n ...otherProps.sx,\n }}\n />\n )\n case 'sortDown':\n return <Sort {...otherProps} />\n case 'google24':\n return <GoogleIcon24 {...otherProps} />\n case 'arcusbio':\n return <ArcusBioIcon {...otherProps} />\n case 'orcid':\n return <ORCIDIcon {...otherProps} />\n case 'tasks':\n return <TasksIcon {...otherProps} />\n case 'filter':\n return <FilterAltTwoTone {...otherProps} />\n case 'openInFull':\n return <OpenInFull {...otherProps} />\n case 'fileWithShield':\n return <FileWithShield {...otherProps} />\n case 'baseline':\n return <Baseline {...otherProps} />\n case 'rosetteRibbon':\n return <RosetteRibbon {...otherProps} />\n case 'starTrophy':\n return <StarTrophy {...otherProps} />\n case 'awardScroll':\n return <AwardScroll {...otherProps} />\n case 'clappingHands':\n return <ClappingHands {...otherProps} />\n case 'podium':\n return <Podium {...otherProps} />\n case 'openBook':\n return <OpenBook {...otherProps} />\n case 'handWithMoney':\n return <HandWithMoney {...otherProps} />\n case 'threeStars':\n return <ThreeStars {...otherProps} />\n case 'multiFile':\n return <MultiFile {...otherProps} />\n\n default:\n return <></>\n }\n}\n\nfunction IconSvg(props: IconSvgProps) {\n const { icon, label = '', onClick, wrap = true, ...svgIconProps } = props\n\n const id = `icon-${icon}`\n const role = onClick ? 'button' : 'img'\n const style = onClick ? { cursor: 'pointer' } : {}\n\n const wrapperProps = wrap\n ? {\n 'data-svg': icon,\n className: 'styled-svg-wrapper',\n id,\n role,\n onClick,\n style,\n }\n : {}\n\n let iconNode: ReactNode\n if (wrap) {\n iconNode = (\n <span {...wrapperProps}>\n <IconMapping icon={icon} {...svgIconProps} />\n </span>\n )\n } else {\n iconNode = (\n <IconMapping\n icon={icon}\n id={id}\n role={role}\n onClick={onClick}\n style={style}\n {...svgIconProps}\n />\n )\n }\n\n return (\n <Tooltip placement=\"top\" title={label}>\n {iconNode}\n </Tooltip>\n )\n}\n\n/**\n * Map entity type values to appropriate icon values supported by IconSvg.\n */\nexport const type2SvgIconName: Record<EntityType, IconName> = {\n file: 'file',\n project: 'dashboard',\n folder: 'folder',\n table: 'table',\n link: 'link',\n entityview: 'actionKey',\n materializedview: 'tableview',\n virtualtable: 'columns',\n dockerrepo: 'docker',\n submissionview: 'submissionview',\n dataset: 'dataset',\n datasetcollection: 'datasetcollection',\n recordset: 'fileWithShield',\n}\n\nexport default IconSvg\n"],"names":["IconStrings","IconMapping","props","icon","otherProps","color","jsx","LockOpenTwoTone","VpnKeyTwoTone","AccessPending","AccessPendingCloud","AddTwoTone","FactCheckTwoTone","ActionKey","ArrowBack","ArrowForward","ArrowDropUpTwoTone","ArrowDropDownTwoTone","ArticleTwoTone","Block","Check","Clear","ShoppingCartOutlined","ViewAgendaTwoTone","AccessTimeTwoTone","Code","ViewColumnTwoTone","RadioButtonUncheckedTwoTone","CheckCircleTwoTone","CreateVersion","DashboardTwoTone","DeleteTwoTone","DeleteSweepTwoTone","OpenInNewTwoTone","PhoneTwoTone","PeopleTwoTone","AddShoppingCart","AddCircleOutline","AddCircleTwoTone","Cached","Group","PhotoCameraOutlined","MoreVertTwoTone","SyncTwoTone","TableRows","ShareTwoTone","PublicTwoTone","AssignmentOutlined","AssignmentTurnedInTwoTone","InfoOutlined","StarTwoTone","StarOutline","Star","GitHub","AssessmentTwoTone","GetAppTwoTone","ErrorOutlined","SearchOutlined","SearchTwoTone","HistoryTwoTone","WatchLater","Login","HelpChatBubble","HelpOutlineTwoTone","HelpOutlined","CloseTwoTone","ExpandLess","ExpandMore","Rat","Chromatin","Clinical","ContentCopyTwoTone","Data","DataLocked","GeneExpression","GeneVariants","Imaging","InSilicoModel","ModelSystem","BioChemicalPhysical","ComputationalTool","SpatialProfiling","DataReuse","LineGraph","Kinomics","Proteomics","PackagableFile","UnpackagableFile","Other","LanguageTwoTone","InsertDriveFileTwoTone","InsertDriveFileOutlined","FolderTwoTone","CreateNewFolderTwoTone","LinkTwoTone","LinkOffTwoTone","TableChartTwoTone","TableViewTwoTone","ListTwoTone","QuestionAnswerTwoTone","Dataset","DatasetCollection","LayersTwoTone","Docker","AccountCertified","AccountRegistered","AccountValidated","ReportProblemOutlined","WarningTwoTone","RemoveCircleTwoTone","ReplyTwoTone","ChatTwoTone","AccessManagement","ChevronRight","ChevronLeft","PushPinTwoTone","AddBoxOutlined","IndeterminateCheckBoxOutlined","FormatItalic","FormatBold","Title","VisibilityTwoTone","VisibilityOffTwoTone","StrikethroughS","Image","Superscript","Subscript","EditTwoTone","AlternateEmail","RestoreFromTrashTwoTone","LabelTwoTone","UploadTwoTone","FlagTwoTone","MailOutlineTwoTone","Sort","GoogleIcon24","ArcusBioIcon","ORCIDIcon","TasksIcon","FilterAltTwoTone","OpenInFull","FileWithShield","Baseline","RosetteRibbon","StarTrophy","AwardScroll","ClappingHands","Podium","OpenBook","HandWithMoney","ThreeStars","MultiFile","Fragment","IconSvg","label","onClick","wrap","svgIconProps","id","role","style","wrapperProps","iconNode","Tooltip","type2SvgIconName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwJO,MAAMA,KAAc;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AA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"}
1
+ {"version":3,"file":"IconSvg.js","sources":["../../../src/components/IconSvg/IconSvg.tsx"],"sourcesContent":["import { GoogleIcon24 } from '@/assets/GoogleIcon24'\nimport { ReactComponent as AccessPending } from '@/assets/icons/AccessPending.svg'\nimport { ReactComponent as AccessPendingCloud } from '@/assets/icons/AccessPendingCloud.svg'\nimport AwardScroll from '@/assets/icons/AwardScroll'\nimport Baseline from '@/assets/icons/Baseline'\nimport ClappingHands from '@/assets/icons/ClappingHands'\nimport CreateVersion from '@/assets/icons/CreateVersion'\nimport FileWithShield from '@/assets/icons/FileWithShield'\nimport MultiFile from '@/assets/icons/MultiFile'\nimport UnpackagableFile from '@/assets/icons/UnpackagableFile'\nimport HandWithMoney from '@/assets/icons/HandWithMoney'\nimport { ORCIDIcon } from '@/assets/icons/ORCIDIcon'\nimport OpenBook from '@/assets/icons/OpenBook'\nimport Podium from '@/assets/icons/Podium'\nimport RosetteRibbon from '@/assets/icons/RosetteRibbon'\nimport StarTrophy from '@/assets/icons/StarTrophy'\nimport { TasksIcon } from '@/assets/icons/TasksIcon'\nimport ThreeStars from '@/assets/icons/ThreeStars'\nimport AccessManagement from '@/assets/mui_components/AccessManagement'\nimport AccountCertified from '@/assets/mui_components/AccountCertified'\nimport AccountRegistered from '@/assets/mui_components/AccountRegistered'\nimport AccountValidated from '@/assets/mui_components/AccountValidated'\nimport ActionKey from '@/assets/mui_components/ActionKey'\nimport BioChemicalPhysical from '@/assets/mui_components/BioChemicalPhysical'\nimport Chromatin from '@/assets/mui_components/Chromatin'\nimport Clinical from '@/assets/mui_components/Clinical'\nimport ComputationalTool from '@/assets/mui_components/ComputationalTool'\nimport Data from '@/assets/mui_components/Data'\nimport DataLocked from '@/assets/mui_components/DataLocked'\nimport DataReuse from '@/assets/mui_components/DataReuse'\nimport Dataset from '@/assets/mui_components/Dataset'\nimport DatasetCollection from '@/assets/mui_components/DatasetCollection'\nimport Docker from '@/assets/mui_components/Docker'\nimport GeneExpression from '@/assets/mui_components/GeneExpression'\nimport GeneVariants from '@/assets/mui_components/GeneVariants'\nimport HelpChatBubble from '@/assets/mui_components/HelpChatBubble'\nimport Imaging from '@/assets/mui_components/Imaging'\nimport InSilicoModel from '@/assets/mui_components/InSilicoModel'\nimport Kinomics from '@/assets/mui_components/Kinomics'\nimport LineGraph from '@/assets/mui_components/LineGraph'\nimport ModelSystem from '@/assets/mui_components/ModelSystem'\nimport Other from '@/assets/mui_components/Other'\nimport PackagableFile from '@/assets/mui_components/PackagableFile'\nimport Proteomics from '@/assets/mui_components/Proteomics'\nimport Rat from '@/assets/mui_components/Rat'\nimport SpatialProfiling from '@/assets/mui_components/SpatialProfiling'\nimport {\n AccessTimeTwoTone,\n AddBoxOutlined,\n AddCircleOutline,\n AddCircleTwoTone,\n AddShoppingCart,\n AddTwoTone,\n AlternateEmail,\n ArrowBack,\n ArrowDropDownTwoTone,\n ArrowDropUpTwoTone,\n ArrowForward,\n ArticleTwoTone,\n AssessmentTwoTone,\n AssignmentOutlined,\n AssignmentTurnedInTwoTone,\n Block,\n Cached,\n ChatTwoTone,\n Check,\n CheckCircleTwoTone,\n ChevronLeft,\n ChevronRight,\n Clear,\n CloseTwoTone,\n Code,\n ContentCopyTwoTone,\n CreateNewFolderTwoTone,\n DashboardTwoTone,\n DeleteSweepTwoTone,\n DeleteTwoTone,\n EditTwoTone,\n ErrorOutlined,\n ExpandLess,\n ExpandMore,\n FactCheckTwoTone,\n FilterAltTwoTone,\n FlagTwoTone,\n FolderTwoTone,\n FormatBold,\n FormatItalic,\n GetAppTwoTone,\n GitHub,\n Group,\n HelpOutlined,\n HelpOutlineTwoTone,\n HistoryTwoTone,\n Image,\n IndeterminateCheckBoxOutlined,\n InfoOutlined,\n InsertDriveFileOutlined,\n InsertDriveFileTwoTone,\n LabelTwoTone,\n LanguageTwoTone,\n LayersTwoTone,\n LinkOffTwoTone,\n LinkTwoTone,\n ListTwoTone,\n LockOpenTwoTone,\n LockTwoTone,\n Login,\n MailOutlineTwoTone,\n MoreVertTwoTone,\n OpenInFull,\n OpenInNewTwoTone,\n PeopleTwoTone,\n PhoneTwoTone,\n PhotoCameraOutlined,\n PublicTwoTone,\n PushPinTwoTone,\n QuestionAnswerTwoTone,\n RadioButtonUncheckedTwoTone,\n RemoveCircleTwoTone,\n ReplyTwoTone,\n ReportProblemOutlined,\n RestoreFromTrashTwoTone,\n SearchOutlined,\n SearchTwoTone,\n ShareTwoTone,\n ShoppingCartOutlined,\n Sort,\n Star,\n StarOutline,\n StarTwoTone,\n StrikethroughS,\n Subscript,\n Superscript,\n SyncTwoTone,\n TableChartTwoTone,\n TableRows,\n TableViewTwoTone,\n Title,\n UploadTwoTone,\n ViewAgendaTwoTone,\n ViewColumnTwoTone,\n VisibilityOffTwoTone,\n VisibilityTwoTone,\n VpnKeyTwoTone,\n WarningTwoTone,\n WatchLater,\n} from '@mui/icons-material'\nimport { Tooltip } from '@mui/material'\nimport { SvgIconProps } from '@mui/material/SvgIcon'\nimport { EntityType } from '@sage-bionetworks/synapse-client'\nimport { ReactNode } from 'react'\n\nexport const IconStrings = [\n 'accessOpen',\n 'accessPending',\n 'accessPendingCloud',\n 'accessClosed',\n 'actionKey',\n 'arrowBack',\n 'arrowForward',\n 'arrowDropUp',\n 'arrowDropDown',\n 'article',\n 'cards',\n 'check',\n 'clear',\n 'cart',\n 'clock',\n 'code',\n 'columns',\n 'openInNewWindow',\n 'dashboard',\n 'delete',\n 'deleteSweep',\n 'filter',\n 'addToCart',\n 'addCircleOutline',\n 'addCircleTwoTone',\n 'reload',\n 'team',\n 'photoCamera',\n 'info',\n 'favTwoTone',\n 'favOutline',\n 'fav',\n 'peopleTwoTone',\n 'challengesTwoTone',\n 'download',\n 'searchOutlined',\n 'search',\n 'history',\n 'time',\n 'login',\n 'helpChatBubble',\n 'helpOutlined',\n 'helpOutlineTwoTone',\n 'expandLess',\n 'expandMore',\n 'rat',\n 'chromatin',\n 'clinical',\n 'contentCopy',\n 'data',\n 'dataLocked',\n 'geneExpression',\n 'geneVariants',\n 'github',\n 'imaging',\n 'inSilicoModel',\n 'modelSystem',\n 'bioChemicalPhysical',\n 'computationalTool',\n 'spatialProfiling',\n 'dataReuse',\n 'lineGraph',\n 'kinomics',\n 'proteomics',\n 'packagableFile',\n 'unpackagableFile',\n 'other',\n 'wiki',\n 'file',\n 'fileOutlined',\n 'folder',\n 'link',\n 'linkOff',\n 'table',\n 'tableRows',\n 'share',\n 'public',\n 'people',\n 'entityview',\n 'submissionview',\n 'challenge',\n 'discussion',\n 'dataset',\n 'datasetcollection',\n 'docker',\n 'accountCertified',\n 'accountRegistered',\n 'accountValidated',\n 'warningOutlined',\n 'removeCircle',\n 'replyTwoTone',\n 'chatTwoTone',\n 'accessManagement',\n 'chevronRight',\n 'chevronLeft',\n 'database',\n 'close',\n 'cross',\n 'verticalEllipsis',\n 'sync',\n 'clipboard',\n 'clipboardCheck',\n 'add',\n 'warning',\n 'circle',\n 'block',\n 'checkCircle',\n 'errorOutlined',\n 'phone',\n 'pushpin',\n 'addBoxOutline',\n 'minusBoxOutline',\n 'italic',\n 'bold',\n 'title',\n 'visibility',\n 'visibilityOff',\n 'strikethrough',\n 'subscript',\n 'superscript',\n 'latex',\n 'image',\n 'edit',\n 'tag',\n 'restore',\n 'label',\n 'upload',\n 'flag',\n 'newFolder',\n 'createVersion',\n 'email',\n 'addConditions',\n 'sortUp',\n 'sortDown',\n 'orcid',\n 'tasks',\n 'google24',\n 'openInFull',\n 'tableview',\n 'fileWithShield',\n 'baseline',\n 'rosetteRibbon',\n 'starTrophy',\n 'awardScroll',\n 'clappingHands',\n 'podium',\n 'openBook',\n 'handWithMoney',\n 'threeStars',\n 'multiFile',\n 'publicVisibility',\n 'openVisibility',\n 'privateVisibility',\n] as const\n\nexport type IconName = (typeof IconStrings)[number]\n\nexport type IconSvgProps = {\n icon: IconName\n // If provided, will be shown in tooltip\n onClick?: () => void\n label?: string\n wrap?: boolean\n} & SvgIconProps\n\nfunction IconMapping(props: { icon: string } & SvgIconProps) {\n const { icon, ...otherProps } = props\n const color = undefined\n\n otherProps.sx = {\n verticalAlign: 'middle',\n ...otherProps.sx,\n }\n\n switch (icon) {\n case 'accessOpen':\n return <LockOpenTwoTone {...otherProps} />\n case 'accessClosed':\n return <VpnKeyTwoTone {...otherProps} />\n case 'accessPending':\n return <AccessPending {...otherProps} />\n case 'accessPendingCloud':\n return <AccessPendingCloud {...otherProps} />\n case 'add':\n return <AddTwoTone {...otherProps} />\n case 'addConditions':\n return <FactCheckTwoTone {...otherProps} />\n case 'actionKey':\n return <ActionKey {...otherProps} />\n case 'arrowBack':\n return <ArrowBack {...otherProps} />\n case 'arrowForward':\n return <ArrowForward {...otherProps} />\n case 'arrowDropUp':\n return <ArrowDropUpTwoTone {...otherProps} />\n case 'arrowDropDown':\n return <ArrowDropDownTwoTone {...otherProps} />\n case 'article':\n return <ArticleTwoTone {...otherProps} />\n case 'block':\n return <Block {...otherProps} />\n case 'check':\n return <Check {...otherProps} />\n case 'clear':\n return <Clear {...otherProps} />\n case 'cart':\n return <ShoppingCartOutlined {...otherProps} />\n case 'cards':\n return <ViewAgendaTwoTone {...otherProps} />\n case 'clock':\n return <AccessTimeTwoTone {...otherProps} />\n case 'code':\n return <Code {...otherProps} />\n case 'columns':\n return <ViewColumnTwoTone {...otherProps} />\n case 'circle':\n return <RadioButtonUncheckedTwoTone {...otherProps} />\n case 'checkCircle':\n return <CheckCircleTwoTone {...otherProps} />\n case 'createVersion':\n return <CreateVersion {...otherProps} />\n case 'dashboard':\n return <DashboardTwoTone {...otherProps} />\n case 'delete':\n return <DeleteTwoTone {...otherProps} />\n case 'deleteSweep':\n return <DeleteSweepTwoTone {...otherProps} />\n case 'openInNewWindow':\n return <OpenInNewTwoTone {...otherProps} />\n case 'phone':\n return <PhoneTwoTone {...otherProps} />\n case 'people':\n return <PeopleTwoTone {...otherProps} />\n case 'addToCart':\n return <AddShoppingCart {...otherProps} />\n case 'addCircleOutline':\n return <AddCircleOutline {...otherProps} />\n case 'addCircleTwoTone':\n return <AddCircleTwoTone {...otherProps} />\n case 'reload':\n return <Cached {...otherProps} />\n case 'team':\n return <Group {...otherProps} />\n case 'photoCamera':\n return <PhotoCameraOutlined {...otherProps} />\n case 'verticalEllipsis':\n return <MoreVertTwoTone {...otherProps} />\n case 'sync':\n return <SyncTwoTone {...otherProps} />\n case 'tableRows':\n return <TableRows {...otherProps} />\n case 'share':\n return <ShareTwoTone {...otherProps} />\n case 'public':\n case 'openVisibility':\n return <PublicTwoTone {...otherProps} />\n case 'privateVisibility':\n return <LockTwoTone {...otherProps} />\n case 'clipboard':\n return <AssignmentOutlined {...otherProps} />\n case 'clipboardCheck':\n return <AssignmentTurnedInTwoTone {...otherProps} />\n case 'info':\n return <InfoOutlined {...otherProps} />\n case 'favTwoTone':\n return <StarTwoTone {...otherProps} />\n case 'favOutline':\n return <StarOutline {...otherProps} />\n case 'fav':\n return <Star {...otherProps} />\n case 'github':\n return <GitHub {...otherProps} />\n case 'peopleTwoTone':\n return <PeopleTwoTone {...otherProps} />\n case 'challengesTwoTone':\n return <AssessmentTwoTone {...otherProps} />\n case 'download':\n return <GetAppTwoTone {...otherProps} />\n case 'errorOutlined':\n return <ErrorOutlined {...otherProps} />\n case 'searchOutlined':\n return <SearchOutlined {...otherProps} />\n case 'search':\n return <SearchTwoTone {...otherProps} />\n case 'history':\n return <HistoryTwoTone {...otherProps} />\n case 'time':\n return <WatchLater {...otherProps} />\n case 'login':\n return <Login {...otherProps} />\n case 'helpChatBubble':\n return <HelpChatBubble {...otherProps} />\n case 'helpOutlineTwoTone':\n return <HelpOutlineTwoTone {...otherProps} />\n case 'helpOutlined':\n return <HelpOutlined {...otherProps} />\n case 'close':\n case 'cross':\n return <CloseTwoTone {...otherProps} />\n case 'expandLess':\n return <ExpandLess {...otherProps} />\n case 'expandMore':\n return <ExpandMore {...otherProps} />\n case 'rat':\n return <Rat {...otherProps} />\n case 'chromatin':\n return <Chromatin {...otherProps} />\n case 'clinical':\n return <Clinical {...otherProps} />\n case 'contentCopy':\n return <ContentCopyTwoTone {...otherProps} />\n case 'data':\n return <Data {...otherProps} />\n case 'dataLocked':\n return <DataLocked {...otherProps} />\n case 'geneExpression':\n return <GeneExpression {...otherProps} />\n case 'geneVariants':\n return <GeneVariants {...otherProps} />\n case 'imaging':\n return <Imaging {...otherProps} />\n case 'inSilicoModel':\n return <InSilicoModel {...otherProps} />\n case 'modelSystem':\n return <ModelSystem {...otherProps} />\n case 'bioChemicalPhysical':\n return <BioChemicalPhysical {...otherProps} />\n case 'computationalTool':\n return <ComputationalTool {...otherProps} />\n case 'spatialProfiling':\n return <SpatialProfiling {...otherProps} />\n case 'dataReuse':\n return <DataReuse {...otherProps} />\n case 'lineGraph':\n return <LineGraph {...otherProps} />\n case 'kinomics':\n return <Kinomics {...otherProps} />\n case 'proteomics':\n return <Proteomics {...otherProps} />\n case 'packagableFile':\n return <PackagableFile {...otherProps} />\n case 'unpackagableFile':\n return <UnpackagableFile {...otherProps} />\n case 'other':\n return <Other fill={color} {...otherProps} />\n case 'wiki':\n case 'publicVisibility':\n return <LanguageTwoTone {...otherProps} />\n case 'file':\n return <InsertDriveFileTwoTone {...otherProps} />\n case 'fileOutlined':\n return <InsertDriveFileOutlined {...otherProps} />\n case 'folder':\n return <FolderTwoTone {...otherProps} />\n case 'newFolder':\n return <CreateNewFolderTwoTone {...otherProps} />\n case 'link':\n return <LinkTwoTone {...otherProps} />\n case 'linkOff':\n return <LinkOffTwoTone {...otherProps} />\n case 'table':\n return <TableChartTwoTone {...otherProps} />\n case 'tableview':\n return <TableViewTwoTone {...otherProps} />\n case 'entityview':\n return <ListTwoTone {...otherProps} />\n case 'submissionview':\n return <ArticleTwoTone {...otherProps} />\n case 'challenge':\n return <AssessmentTwoTone {...otherProps} />\n case 'discussion':\n return <QuestionAnswerTwoTone {...otherProps} />\n case 'dataset':\n return <Dataset {...otherProps} />\n case 'datasetcollection':\n return <DatasetCollection {...otherProps} />\n case 'database':\n return <LayersTwoTone {...otherProps} />\n case 'docker':\n return <Docker {...otherProps} />\n case 'accountCertified':\n return <AccountCertified {...otherProps} />\n case 'accountRegistered':\n return <AccountRegistered {...otherProps} />\n case 'accountValidated':\n return <AccountValidated {...otherProps} />\n case 'warningOutlined':\n return <ReportProblemOutlined {...otherProps} />\n case 'warning':\n return <WarningTwoTone {...otherProps} />\n case 'removeCircle':\n return <RemoveCircleTwoTone {...otherProps} />\n case 'replyTwoTone':\n return <ReplyTwoTone {...otherProps} />\n case 'chatTwoTone':\n return <ChatTwoTone {...otherProps} />\n case 'accessManagement':\n return <AccessManagement {...otherProps} />\n case 'chevronRight':\n return <ChevronRight {...otherProps} />\n case 'chevronLeft':\n return <ChevronLeft {...otherProps} />\n case 'pushpin':\n return <PushPinTwoTone {...otherProps} />\n case 'addBoxOutline':\n return <AddBoxOutlined {...otherProps} />\n case 'minusBoxOutline':\n return <IndeterminateCheckBoxOutlined {...otherProps} />\n case 'italic':\n return <FormatItalic {...otherProps} />\n case 'bold':\n return <FormatBold {...otherProps} />\n case 'title':\n return <Title {...otherProps} />\n case 'visibility':\n return <VisibilityTwoTone {...otherProps} />\n case 'visibilityOff':\n return <VisibilityOffTwoTone {...otherProps} />\n case 'strikethrough':\n return <StrikethroughS {...otherProps} />\n case 'latex':\n return <span>TeX</span>\n case 'image':\n return <Image {...otherProps} />\n case 'superscript':\n return <Superscript {...otherProps} />\n case 'subscript':\n return <Subscript {...otherProps} />\n case 'edit':\n return <EditTwoTone {...otherProps} />\n case 'tag':\n return <AlternateEmail {...otherProps} />\n case 'restore':\n return <RestoreFromTrashTwoTone {...otherProps} />\n case 'label':\n return <LabelTwoTone {...otherProps} />\n case 'upload':\n return <UploadTwoTone {...otherProps} />\n case 'flag':\n return <FlagTwoTone {...otherProps} />\n case 'email':\n return <MailOutlineTwoTone {...otherProps} />\n case 'sortUp':\n return (\n <Sort\n {...otherProps}\n sx={{\n transform: 'scale(1, -1)',\n ...otherProps.sx,\n }}\n />\n )\n case 'sortDown':\n return <Sort {...otherProps} />\n case 'google24':\n return <GoogleIcon24 {...otherProps} />\n case 'orcid':\n return <ORCIDIcon {...otherProps} />\n case 'tasks':\n return <TasksIcon {...otherProps} />\n case 'filter':\n return <FilterAltTwoTone {...otherProps} />\n case 'openInFull':\n return <OpenInFull {...otherProps} />\n case 'fileWithShield':\n return <FileWithShield {...otherProps} />\n case 'baseline':\n return <Baseline {...otherProps} />\n case 'rosetteRibbon':\n return <RosetteRibbon {...otherProps} />\n case 'starTrophy':\n return <StarTrophy {...otherProps} />\n case 'awardScroll':\n return <AwardScroll {...otherProps} />\n case 'clappingHands':\n return <ClappingHands {...otherProps} />\n case 'podium':\n return <Podium {...otherProps} />\n case 'openBook':\n return <OpenBook {...otherProps} />\n case 'handWithMoney':\n return <HandWithMoney {...otherProps} />\n case 'threeStars':\n return <ThreeStars {...otherProps} />\n case 'multiFile':\n return <MultiFile {...otherProps} />\n\n default:\n return <></>\n }\n}\n\nfunction IconSvg(props: IconSvgProps) {\n const { icon, label = '', onClick, wrap = true, ...svgIconProps } = props\n\n const id = `icon-${icon}`\n const role = onClick ? 'button' : 'img'\n const style = onClick ? { cursor: 'pointer' } : {}\n\n const wrapperProps = wrap\n ? {\n 'data-svg': icon,\n className: 'styled-svg-wrapper',\n id,\n role,\n onClick,\n style,\n }\n : {}\n\n let iconNode: ReactNode\n if (wrap) {\n iconNode = (\n <span {...wrapperProps}>\n <IconMapping icon={icon} {...svgIconProps} />\n </span>\n )\n } else {\n iconNode = (\n <IconMapping\n icon={icon}\n id={id}\n role={role}\n onClick={onClick}\n style={style}\n {...svgIconProps}\n />\n )\n }\n\n return (\n <Tooltip placement=\"top\" title={label}>\n {iconNode}\n </Tooltip>\n )\n}\n\n/**\n * Map entity type values to appropriate icon values supported by IconSvg.\n */\nexport const type2SvgIconName: Record<EntityType, IconName> = {\n file: 'file',\n project: 'dashboard',\n folder: 'folder',\n table: 'table',\n link: 'link',\n entityview: 'actionKey',\n materializedview: 'tableview',\n virtualtable: 'columns',\n dockerrepo: 'docker',\n submissionview: 'submissionview',\n dataset: 'dataset',\n datasetcollection: 'datasetcollection',\n recordset: 'fileWithShield',\n}\n\nexport default IconSvg\n"],"names":["IconStrings","IconMapping","props","icon","otherProps","color","jsx","LockOpenTwoTone","VpnKeyTwoTone","AccessPending","AccessPendingCloud","AddTwoTone","FactCheckTwoTone","ActionKey","ArrowBack","ArrowForward","ArrowDropUpTwoTone","ArrowDropDownTwoTone","ArticleTwoTone","Block","Check","Clear","ShoppingCartOutlined","ViewAgendaTwoTone","AccessTimeTwoTone","Code","ViewColumnTwoTone","RadioButtonUncheckedTwoTone","CheckCircleTwoTone","CreateVersion","DashboardTwoTone","DeleteTwoTone","DeleteSweepTwoTone","OpenInNewTwoTone","PhoneTwoTone","PeopleTwoTone","AddShoppingCart","AddCircleOutline","AddCircleTwoTone","Cached","Group","PhotoCameraOutlined","MoreVertTwoTone","SyncTwoTone","TableRows","ShareTwoTone","PublicTwoTone","LockTwoTone","AssignmentOutlined","AssignmentTurnedInTwoTone","InfoOutlined","StarTwoTone","StarOutline","Star","GitHub","AssessmentTwoTone","GetAppTwoTone","ErrorOutlined","SearchOutlined","SearchTwoTone","HistoryTwoTone","WatchLater","Login","HelpChatBubble","HelpOutlineTwoTone","HelpOutlined","CloseTwoTone","ExpandLess","ExpandMore","Rat","Chromatin","Clinical","ContentCopyTwoTone","Data","DataLocked","GeneExpression","GeneVariants","Imaging","InSilicoModel","ModelSystem","BioChemicalPhysical","ComputationalTool","SpatialProfiling","DataReuse","LineGraph","Kinomics","Proteomics","PackagableFile","UnpackagableFile","Other","LanguageTwoTone","InsertDriveFileTwoTone","InsertDriveFileOutlined","FolderTwoTone","CreateNewFolderTwoTone","LinkTwoTone","LinkOffTwoTone","TableChartTwoTone","TableViewTwoTone","ListTwoTone","QuestionAnswerTwoTone","Dataset","DatasetCollection","LayersTwoTone","Docker","AccountCertified","AccountRegistered","AccountValidated","ReportProblemOutlined","WarningTwoTone","RemoveCircleTwoTone","ReplyTwoTone","ChatTwoTone","AccessManagement","ChevronRight","ChevronLeft","PushPinTwoTone","AddBoxOutlined","IndeterminateCheckBoxOutlined","FormatItalic","FormatBold","Title","VisibilityTwoTone","VisibilityOffTwoTone","StrikethroughS","Image","Superscript","Subscript","EditTwoTone","AlternateEmail","RestoreFromTrashTwoTone","LabelTwoTone","UploadTwoTone","FlagTwoTone","MailOutlineTwoTone","Sort","GoogleIcon24","ORCIDIcon","TasksIcon","FilterAltTwoTone","OpenInFull","FileWithShield","Baseline","RosetteRibbon","StarTrophy","AwardScroll","ClappingHands","Podium","OpenBook","HandWithMoney","ThreeStars","MultiFile","Fragment","IconSvg","label","onClick","wrap","svgIconProps","id","role","style","wrapperProps","iconNode","Tooltip","type2SvgIconName"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwJO,MAAMA,KAAc;AAAA,EACzB;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAA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"}
@@ -13,7 +13,6 @@ import "./styled/LeftRightPanel.js";
13
13
  import * as y from "../synapse-client/SynapseClient.js";
14
14
  import { SynapseContextProvider as R } from "../utils/context/SynapseContext.js";
15
15
  import { QueryClient as O, QueryClientProvider as P } from "@tanstack/react-query";
16
- import "../assets/ArcusBioIcon.svg.js";
17
16
  import "@mui/material/SvgIcon";
18
17
  import "../assets/icons/AccessPending.svg.js";
19
18
  import "../assets/icons/AccessPendingCloud.svg.js";
@@ -67,7 +66,7 @@ function U(n) {
67
66
  const e = M[n];
68
67
  window.SRC_OVERRIDE_ENDPOINT_CONFIG = e;
69
68
  }
70
- function Vt(n) {
69
+ function Kt(n) {
71
70
  const { storybookContext: e } = n, r = e.globals.stack || e.parameters.stack;
72
71
  p(() => {
73
72
  U(r);
@@ -171,7 +170,7 @@ function Vt(n) {
171
170
  return /* @__PURE__ */ i(N, { router: v });
172
171
  }
173
172
  export {
174
- Vt as StorybookComponentWrapper,
175
- Vt as default
173
+ Kt as StorybookComponentWrapper,
174
+ Kt as default
176
175
  };
177
176
  //# sourceMappingURL=StorybookComponentWrapper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"StorybookComponentWrapper.js","sources":["../../src/components/StorybookComponentWrapper.tsx"],"sourcesContent":["import { StandaloneLoginForm } from '@/components/Authentication/index'\nimport SynapseClient from '@/synapse-client'\nimport {\n defaultQueryClientConfig,\n SynapseContextProvider,\n SynapseContextType,\n} from '@/utils'\nimport { ApplicationSessionContextProvider } from '@/utils/AppUtils/session/ApplicationSessionContext'\nimport {\n SynapseSessionManager,\n type SessionState,\n} from '@/utils/AppUtils/session/SynapseSessionManager'\nimport { STACK_MAP, SynapseStack } from '@/utils/functions/getEndpoint'\nimport useDetectSSOCode from '@/utils/hooks/useDetectSSOCode'\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query'\nimport { ReactQueryDevtools } from '@tanstack/react-query-devtools'\nimport {\n ReactNode,\n Suspense,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useSyncExternalStore,\n} from 'react'\nimport { createMemoryRouter } from 'react-router'\nimport { RouterProvider } from 'react-router/dom'\nimport { SynapseToastContainer } from './ToastMessage'\n\nconst storybookQueryClient = new QueryClient(defaultQueryClientConfig)\n\n// Module-level session manager instance, stable across story switches (like the QueryClient above)\nconst sessionManager = new SynapseSessionManager({\n onSessionInvalid: () => {\n // In Storybook, just refresh the session instead of reloading the page\n sessionManager.refreshSession()\n },\n})\n\nfunction overrideEndpoint(stack: SynapseStack) {\n const endpointConfig = STACK_MAP[stack]\n ;(window as any)['SRC_OVERRIDE_ENDPOINT_CONFIG'] = endpointConfig\n}\n\n/**\n * Wraps storybook story components to ensure that all components receive required context.\n * @param props\n * @returns\n */\nexport function StorybookComponentWrapper(props: {\n children: ReactNode\n /* This will match the `globalTypes` object in preview.tsx. */\n storybookContext: {\n args: {\n isAuthenticated?: boolean\n }\n globals: {\n stack?: SynapseStack\n showReactQueryDevtools?: boolean\n }\n parameters: {\n stack?: SynapseStack\n withRouter?: boolean\n requireLogin?: boolean\n }\n }\n}) {\n const { storybookContext } = props\n\n const currentStack: SynapseStack = (storybookContext.globals.stack ||\n storybookContext.parameters.stack) as SynapseStack\n\n useEffect(() => {\n overrideEndpoint(currentStack)\n }, [currentStack])\n\n // Subscribe to the framework-agnostic SynapseSessionManager for token/auth state\n // These methods are bound in the SynapseSessionManager constructor, so they are safe to pass directly.\n const sessionState: SessionState = useSyncExternalStore(\n // eslint-disable-next-line @typescript-eslint/unbound-method\n sessionManager.subscribe,\n // eslint-disable-next-line @typescript-eslint/unbound-method\n sessionManager.getSnapshot,\n )\n\n // Track whether we've started the manager so we only start once (module-level instance persists across renders)\n const managerStartedRef = useRef(false)\n\n useEffect(() => {\n if (!managerStartedRef.current) {\n sessionManager.start()\n managerStartedRef.current = true\n }\n return () => {\n sessionManager.dispose()\n managerStartedRef.current = false\n }\n }, [])\n\n // When the stack changes, restart the session manager to pick up the new endpoint\n useEffect(() => {\n if (managerStartedRef.current) {\n sessionManager.dispose()\n sessionManager.start()\n }\n }, [currentStack])\n\n const shouldPromptForLogin =\n storybookContext.parameters.requireLogin &&\n currentStack !== 'mock' &&\n sessionState.hasInitializedSession &&\n !sessionState.isAuthenticated\n\n const { isLoading: isLoadingSSO } = useDetectSSOCode({\n onSignInComplete: () => {\n void sessionManager.refreshSession()\n },\n onError: (err: unknown) => {\n console.error('SSO error in Storybook:', err)\n },\n isInitializingSession: !sessionState.hasInitializedSession,\n isAuthenticated: sessionState.isAuthenticated,\n })\n\n useEffect(() => {\n async function resetCache() {\n await storybookQueryClient.cancelQueries()\n await storybookQueryClient.resetQueries()\n }\n\n void resetCache()\n }, [sessionState.token, currentStack])\n\n const effectiveToken = useMemo(() => {\n if (currentStack === 'mock') {\n return storybookContext.args.isAuthenticated ? 'fake token' : undefined\n }\n return sessionState.token\n }, [sessionState.token, currentStack, storybookContext.args.isAuthenticated])\n\n const effectiveIsAuthenticated = useMemo(() => {\n if (currentStack === 'mock') {\n return !!storybookContext.args.isAuthenticated\n }\n return sessionState.isAuthenticated\n }, [\n sessionState.isAuthenticated,\n currentStack,\n storybookContext.args.isAuthenticated,\n ])\n\n const refreshSession = useCallback(async () => {\n await sessionManager.refreshSession()\n }, [])\n\n const clearSession = useCallback(async () => {\n await sessionManager.clearSession()\n }, [])\n\n const applicationSessionContext = useMemo(\n () => ({\n token: effectiveToken,\n realmId: sessionState.realmId,\n userId: sessionState.userId,\n isAuthenticated: effectiveIsAuthenticated,\n hasInitializedSession: sessionState.hasInitializedSession,\n refreshSession,\n clearSession,\n isLoadingSSO,\n twoFactorAuthSSOErrorResponse: undefined,\n termsOfServiceStatus: undefined,\n twoFactorStatus: undefined,\n }),\n [\n effectiveToken,\n effectiveIsAuthenticated,\n sessionState.realmId,\n sessionState.userId,\n sessionState.hasInitializedSession,\n refreshSession,\n clearSession,\n isLoadingSSO,\n ],\n )\n\n const synapseContext: Partial<SynapseContextType> = useMemo(\n () => ({\n accessToken: effectiveToken,\n isAuthenticated: effectiveIsAuthenticated,\n isInExperimentalMode: SynapseClient.isInSynapseExperimentalMode(),\n utcTime: SynapseClient.getUseUtcTimeFromCookie(),\n withErrorBoundary: true,\n downloadCartPageUrl: '/?path=/story/download-downloadcartpage--demo',\n }),\n [effectiveToken, effectiveIsAuthenticated],\n )\n\n const wrappedStory = (\n <Suspense fallback={'global suspense loading...'}>\n <QueryClientProvider client={storybookQueryClient}>\n <ApplicationSessionContextProvider context={applicationSessionContext}>\n <SynapseContextProvider\n key={currentStack}\n synapseContext={synapseContext}\n >\n {storybookContext.globals.showReactQueryDevtools && (\n <ReactQueryDevtools />\n )}\n <SynapseToastContainer />\n <main>\n {shouldPromptForLogin ? (\n <StandaloneLoginForm\n sessionCallback={() => {\n void sessionManager.refreshSession()\n }}\n />\n ) : (\n props.children\n )}\n </main>\n </SynapseContextProvider>\n </ApplicationSessionContextProvider>\n </QueryClientProvider>\n </Suspense>\n )\n\n if (!storybookContext.parameters.withRouter) {\n return wrappedStory\n }\n\n const router = createMemoryRouter([\n {\n path: '/',\n element: wrappedStory,\n },\n ])\n\n return <RouterProvider router={router} />\n}\n\nexport default StorybookComponentWrapper\n"],"names":["storybookQueryClient","QueryClient","defaultQueryClientConfig","sessionManager","SynapseSessionManager","overrideEndpoint","stack","endpointConfig","STACK_MAP","StorybookComponentWrapper","props","storybookContext","currentStack","useEffect","sessionState","useSyncExternalStore","managerStartedRef","useRef","shouldPromptForLogin","isLoadingSSO","useDetectSSOCode","err","resetCache","effectiveToken","useMemo","effectiveIsAuthenticated","refreshSession","useCallback","clearSession","applicationSessionContext","synapseContext","SynapseClient","wrappedStory","jsx","Suspense","QueryClientProvider","ApplicationSessionContextProvider","jsxs","SynapseContextProvider","ReactQueryDevtools","SynapseToastContainer","StandaloneLoginForm","router","createMemoryRouter","RouterProvider"],"mappings":"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"}
1
+ {"version":3,"file":"StorybookComponentWrapper.js","sources":["../../src/components/StorybookComponentWrapper.tsx"],"sourcesContent":["import { StandaloneLoginForm } from '@/components/Authentication/index'\nimport SynapseClient from '@/synapse-client'\nimport {\n defaultQueryClientConfig,\n SynapseContextProvider,\n SynapseContextType,\n} from '@/utils'\nimport { ApplicationSessionContextProvider } from '@/utils/AppUtils/session/ApplicationSessionContext'\nimport {\n SynapseSessionManager,\n type SessionState,\n} from '@/utils/AppUtils/session/SynapseSessionManager'\nimport { STACK_MAP, SynapseStack } from '@/utils/functions/getEndpoint'\nimport useDetectSSOCode from '@/utils/hooks/useDetectSSOCode'\nimport { QueryClient, QueryClientProvider } from '@tanstack/react-query'\nimport { ReactQueryDevtools } from '@tanstack/react-query-devtools'\nimport {\n ReactNode,\n Suspense,\n useCallback,\n useEffect,\n useMemo,\n useRef,\n useSyncExternalStore,\n} from 'react'\nimport { createMemoryRouter } from 'react-router'\nimport { RouterProvider } from 'react-router/dom'\nimport { SynapseToastContainer } from './ToastMessage'\n\nconst storybookQueryClient = new QueryClient(defaultQueryClientConfig)\n\n// Module-level session manager instance, stable across story switches (like the QueryClient above)\nconst sessionManager = new SynapseSessionManager({\n onSessionInvalid: () => {\n // In Storybook, just refresh the session instead of reloading the page\n sessionManager.refreshSession()\n },\n})\n\nfunction overrideEndpoint(stack: SynapseStack) {\n const endpointConfig = STACK_MAP[stack]\n ;(window as any)['SRC_OVERRIDE_ENDPOINT_CONFIG'] = endpointConfig\n}\n\n/**\n * Wraps storybook story components to ensure that all components receive required context.\n * @param props\n * @returns\n */\nexport function StorybookComponentWrapper(props: {\n children: ReactNode\n /* This will match the `globalTypes` object in preview.tsx. */\n storybookContext: {\n args: {\n isAuthenticated?: boolean\n }\n globals: {\n stack?: SynapseStack\n showReactQueryDevtools?: boolean\n }\n parameters: {\n stack?: SynapseStack\n withRouter?: boolean\n requireLogin?: boolean\n }\n }\n}) {\n const { storybookContext } = props\n\n const currentStack: SynapseStack = (storybookContext.globals.stack ||\n storybookContext.parameters.stack) as SynapseStack\n\n useEffect(() => {\n overrideEndpoint(currentStack)\n }, [currentStack])\n\n // Subscribe to the framework-agnostic SynapseSessionManager for token/auth state\n // These methods are bound in the SynapseSessionManager constructor, so they are safe to pass directly.\n const sessionState: SessionState = useSyncExternalStore(\n // eslint-disable-next-line @typescript-eslint/unbound-method\n sessionManager.subscribe,\n // eslint-disable-next-line @typescript-eslint/unbound-method\n sessionManager.getSnapshot,\n )\n\n // Track whether we've started the manager so we only start once (module-level instance persists across renders)\n const managerStartedRef = useRef(false)\n\n useEffect(() => {\n if (!managerStartedRef.current) {\n sessionManager.start()\n managerStartedRef.current = true\n }\n return () => {\n sessionManager.dispose()\n managerStartedRef.current = false\n }\n }, [])\n\n // When the stack changes, restart the session manager to pick up the new endpoint\n useEffect(() => {\n if (managerStartedRef.current) {\n sessionManager.dispose()\n sessionManager.start()\n }\n }, [currentStack])\n\n const shouldPromptForLogin =\n storybookContext.parameters.requireLogin &&\n currentStack !== 'mock' &&\n sessionState.hasInitializedSession &&\n !sessionState.isAuthenticated\n\n const { isLoading: isLoadingSSO } = useDetectSSOCode({\n onSignInComplete: () => {\n void sessionManager.refreshSession()\n },\n onError: (err: unknown) => {\n console.error('SSO error in Storybook:', err)\n },\n isInitializingSession: !sessionState.hasInitializedSession,\n isAuthenticated: sessionState.isAuthenticated,\n })\n\n useEffect(() => {\n async function resetCache() {\n await storybookQueryClient.cancelQueries()\n await storybookQueryClient.resetQueries()\n }\n\n void resetCache()\n }, [sessionState.token, currentStack])\n\n const effectiveToken = useMemo(() => {\n if (currentStack === 'mock') {\n return storybookContext.args.isAuthenticated ? 'fake token' : undefined\n }\n return sessionState.token\n }, [sessionState.token, currentStack, storybookContext.args.isAuthenticated])\n\n const effectiveIsAuthenticated = useMemo(() => {\n if (currentStack === 'mock') {\n return !!storybookContext.args.isAuthenticated\n }\n return sessionState.isAuthenticated\n }, [\n sessionState.isAuthenticated,\n currentStack,\n storybookContext.args.isAuthenticated,\n ])\n\n const refreshSession = useCallback(async () => {\n await sessionManager.refreshSession()\n }, [])\n\n const clearSession = useCallback(async () => {\n await sessionManager.clearSession()\n }, [])\n\n const applicationSessionContext = useMemo(\n () => ({\n token: effectiveToken,\n realmId: sessionState.realmId,\n userId: sessionState.userId,\n isAuthenticated: effectiveIsAuthenticated,\n hasInitializedSession: sessionState.hasInitializedSession,\n refreshSession,\n clearSession,\n isLoadingSSO,\n twoFactorAuthSSOErrorResponse: undefined,\n termsOfServiceStatus: undefined,\n twoFactorStatus: undefined,\n }),\n [\n effectiveToken,\n effectiveIsAuthenticated,\n sessionState.realmId,\n sessionState.userId,\n sessionState.hasInitializedSession,\n refreshSession,\n clearSession,\n isLoadingSSO,\n ],\n )\n\n const synapseContext: Partial<SynapseContextType> = useMemo(\n () => ({\n accessToken: effectiveToken,\n isAuthenticated: effectiveIsAuthenticated,\n isInExperimentalMode: SynapseClient.isInSynapseExperimentalMode(),\n utcTime: SynapseClient.getUseUtcTimeFromCookie(),\n withErrorBoundary: true,\n downloadCartPageUrl: '/?path=/story/download-downloadcartpage--demo',\n }),\n [effectiveToken, effectiveIsAuthenticated],\n )\n\n const wrappedStory = (\n <Suspense fallback={'global suspense loading...'}>\n <QueryClientProvider client={storybookQueryClient}>\n <ApplicationSessionContextProvider context={applicationSessionContext}>\n <SynapseContextProvider\n key={currentStack}\n synapseContext={synapseContext}\n >\n {storybookContext.globals.showReactQueryDevtools && (\n <ReactQueryDevtools />\n )}\n <SynapseToastContainer />\n <main>\n {shouldPromptForLogin ? (\n <StandaloneLoginForm\n sessionCallback={() => {\n void sessionManager.refreshSession()\n }}\n />\n ) : (\n props.children\n )}\n </main>\n </SynapseContextProvider>\n </ApplicationSessionContextProvider>\n </QueryClientProvider>\n </Suspense>\n )\n\n if (!storybookContext.parameters.withRouter) {\n return wrappedStory\n }\n\n const router = createMemoryRouter([\n {\n path: '/',\n element: wrappedStory,\n },\n ])\n\n return <RouterProvider router={router} />\n}\n\nexport default StorybookComponentWrapper\n"],"names":["storybookQueryClient","QueryClient","defaultQueryClientConfig","sessionManager","SynapseSessionManager","overrideEndpoint","stack","endpointConfig","STACK_MAP","StorybookComponentWrapper","props","storybookContext","currentStack","useEffect","sessionState","useSyncExternalStore","managerStartedRef","useRef","shouldPromptForLogin","isLoadingSSO","useDetectSSOCode","err","resetCache","effectiveToken","useMemo","effectiveIsAuthenticated","refreshSession","useCallback","clearSession","applicationSessionContext","synapseContext","SynapseClient","wrappedStory","jsx","Suspense","QueryClientProvider","ApplicationSessionContextProvider","jsxs","SynapseContextProvider","ReactQueryDevtools","SynapseToastContainer","StandaloneLoginForm","router","createMemoryRouter","RouterProvider"],"mappings":"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"}
@@ -10,6 +10,7 @@
10
10
  */
11
11
  export type SynapseFormSubmissionGridProps = {
12
12
  token?: string;
13
+ isAuthenticated?: boolean;
13
14
  formGroupId: string;
14
15
  pathpart: string;
15
16
  formClass?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"SynapseFormSubmissionGrid.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseForm/SynapseFormSubmissionGrid.tsx"],"names":[],"mappings":"AAsBA;;;;;;;;;GASG;AAEH,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAmeD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,8BAA8B,2CAMtC;AAED,eAAe,yBAAyB,CAAA"}
1
+ {"version":3,"file":"SynapseFormSubmissionGrid.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseForm/SynapseFormSubmissionGrid.tsx"],"names":[],"mappings":"AAsBA;;;;;;;;;GASG;AAEH,MAAM,MAAM,8BAA8B,GAAG;IAC3C,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,eAAe,CAAC,EAAE,OAAO,CAAA;IACzB,WAAW,EAAE,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,QAAQ,EAAE,MAAM,CAAA;CACjB,CAAA;AAseD,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,8BAA8B,2CAUtC;AAED,eAAe,yBAAyB,CAAA"}
@@ -7,12 +7,12 @@ import "@sage-bionetworks/synapse-client/generated/models/TwoFactorAuthErrorResp
7
7
  import "@sage-bionetworks/synapse-client/util/SynapseClientError";
8
8
  import { StatusEnum as p } from "@sage-bionetworks/synapse-types";
9
9
  import "../../utils/functions/EntityTypeUtils.js";
10
- import { SRC_SIGN_IN_CLASS as k } from "../../utils/SynapseConstants.js";
10
+ import { SRC_SIGN_IN_CLASS as E } from "../../utils/SynapseConstants.js";
11
11
  import "lodash-es";
12
12
  import "@sage-bionetworks/synapse-client/util/synapseClientFetch";
13
13
  import "../../utils/PermissionLevelToAccessType.js";
14
- import { Component as E } from "react";
15
- import { useSynapseContext as D } from "../../utils/context/SynapseContext.js";
14
+ import { Component as D } from "react";
15
+ import { useSynapseContext as k } from "../../utils/context/SynapseContext.js";
16
16
  import "use-deep-compare-effect";
17
17
  import "@tanstack/react-query";
18
18
  import "@tanstack/query-core";
@@ -34,10 +34,10 @@ import v from "@mui/icons-material/DeleteTwoTone";
34
34
  import w from "@mui/icons-material/PhoneTwoTone";
35
35
  import f from "dayjs";
36
36
  import $ from "dayjs/plugin/calendar";
37
- import { ConfirmationDialog as B } from "../ConfirmationDialog/ConfirmationDialog.js";
38
- import { WarningDialog as U } from "./WarningDialog.js";
37
+ import { ConfirmationDialog as A } from "../ConfirmationDialog/ConfirmationDialog.js";
38
+ import { WarningDialog as B } from "./WarningDialog.js";
39
39
  f.extend($);
40
- class m extends E {
40
+ class m extends D {
41
41
  modalTitle = "Trash Submission?";
42
42
  listingText = {
43
43
  inProgress: {
@@ -74,10 +74,10 @@ class m extends E {
74
74
  };
75
75
  }
76
76
  componentDidMount() {
77
- this.refresh(this.props.token);
77
+ this.refresh(this.props.isAuthenticated);
78
78
  }
79
79
  componentDidUpdate(e) {
80
- this.props.token !== e.token && this.refresh(this.props.token);
80
+ this.props.token !== e.token && this.refresh(this.props.isAuthenticated);
81
81
  }
82
82
  async refresh(e) {
83
83
  e && await this.getUserFileListing().catch((i) => {
@@ -184,7 +184,7 @@ class m extends E {
184
184
  /* @__PURE__ */ t(
185
185
  I,
186
186
  {
187
- className: `${k}`,
187
+ className: `${E}`,
188
188
  variant: "contained",
189
189
  color: "primary",
190
190
  size: "large",
@@ -298,9 +298,9 @@ class m extends E {
298
298
  ];
299
299
  render() {
300
300
  return /* @__PURE__ */ t("div", { className: `theme-${this.props.formClass}`, children: /* @__PURE__ */ n("div", { className: "SRC-ReactJsonForm", children: [
301
- this.renderLoading(this.props.token, this.state.isLoading),
302
- this.renderUnauthenticatedView(this.props.token),
303
- this.props.token && !this.state.isLoading && /* @__PURE__ */ n("div", { className: "file-grid ", children: [
301
+ this.renderLoading(this.props.isAuthenticated, this.state.isLoading),
302
+ this.renderUnauthenticatedView(this.props.isAuthenticated),
303
+ this.props.isAuthenticated && !this.state.isLoading && /* @__PURE__ */ n("div", { className: "file-grid ", children: [
304
304
  /* @__PURE__ */ t(x, { variant: "h3", children: "Your Submissions" }),
305
305
  /* @__PURE__ */ n("div", { className: "panel panel-default padding-full", children: [
306
306
  this.renderSubmissionsTables(
@@ -335,7 +335,7 @@ class m extends E {
335
335
  ] })
336
336
  ] }),
337
337
  this.state.modalContext && /* @__PURE__ */ t(
338
- U,
338
+ B,
339
339
  {
340
340
  className: `theme-${this.props.formClass}`,
341
341
  open: typeof this.state.modalContext < "u",
@@ -347,7 +347,7 @@ class m extends E {
347
347
  }
348
348
  ),
349
349
  /* @__PURE__ */ t(
350
- B,
350
+ A,
351
351
  {
352
352
  open: this.state.isShowInfoModal,
353
353
  title: "More Information",
@@ -370,8 +370,15 @@ class m extends E {
370
370
  }
371
371
  }
372
372
  function It(P) {
373
- const e = D();
374
- return /* @__PURE__ */ t(m, { ...P, token: e.accessToken });
373
+ const { accessToken: e, isAuthenticated: i } = k();
374
+ return /* @__PURE__ */ t(
375
+ m,
376
+ {
377
+ ...P,
378
+ token: e,
379
+ isAuthenticated: i
380
+ }
381
+ );
375
382
  }
376
383
  export {
377
384
  It as SynapseFormSubmissionGrid,
@@ -1 +1 @@
1
- {"version":3,"file":"SynapseFormSubmissionGrid.js","sources":["../../../src/components/SynapseForm/SynapseFormSubmissionGrid.tsx"],"sourcesContent":["import { ReactComponent as NoSubmissionsIcon } from '@/assets/icons/json-form-tool-no-submissions.svg'\nimport WideButton from '@/components/styled/WideButton'\n\nimport SynapseClient from '@/synapse-client'\nimport { useSynapseContext } from '@/utils'\nimport { SRC_SIGN_IN_CLASS } from '@/utils/SynapseConstants'\nimport DeleteTwoToneIcon from '@mui/icons-material/DeleteTwoTone'\nimport PhoneTwoToneIcon from '@mui/icons-material/PhoneTwoTone'\nimport { Box, Button, IconButton, Link, Typography } from '@mui/material'\nimport {\n FormData,\n ListRequest,\n ListResponse,\n StatusEnum,\n} from '@sage-bionetworks/synapse-types'\nimport dayjs from 'dayjs'\nimport calendar from 'dayjs/plugin/calendar'\nimport { Component } from 'react'\nimport { ConfirmationDialog } from '../ConfirmationDialog/ConfirmationDialog'\nimport WarningDialog from './WarningDialog'\n\ndayjs.extend(calendar)\n/**\n * TODO: SWC-5612 - Replace token prop with SynapseContext.accessToken\n *\n * This wasn't done because Enzyme's shallow renderer is not currently\n * compatible with the `contextType` field in the React 16+ context API.\n *\n * This can be fixed by rewriting tests to not rely on the shallow renderer.\n *\n * See here: https://github.com/enzymejs/enzyme/issues/1553\n */\n\nexport type SynapseFormSubmissionGridProps = {\n token?: string\n formGroupId: string\n pathpart: string\n formClass?: string\n itemNoun: string\n}\n\ntype FileListType = 'IN_PROGRESS' | 'SUBMITTED'\n\ntype SynapseFormSubmissionGridState = {\n inProgress: {\n fileList: FormData[]\n nextPageToken?: string\n }\n submitted: {\n fileList: FormData[]\n nextPageToken?: string\n }\n isLoading: boolean\n isShowInfoModal: boolean\n modalContext?: { action: (...args: any[]) => void; arguments: any[] }\n}\n\nclass _SynapseFormSubmissionGrid extends Component<\n SynapseFormSubmissionGridProps,\n SynapseFormSubmissionGridState\n> {\n modalTitle = 'Trash Submission?'\n listingText = {\n inProgress: {\n subhead: 'In Progress',\n noRecords: `You don't have submissions in progress`,\n },\n submitted: {\n subhead: 'Submitted',\n noRecords: `You don't have anything submitted`,\n },\n }\n modalCopy = (\n <>\n <p>\n This submission is currently incomplete and has not been submitted. If\n you trash this submission, you won&apos;t be able to recover the data.\n </p>\n <p>Are you sure you want to trash this submission?</p>\n </>\n )\n static requestFilter = {\n IN_PROGRESS: [StatusEnum.WAITING_FOR_SUBMISSION],\n SUBMITTED: [\n StatusEnum.SUBMITTED_WAITING_FOR_REVIEW,\n StatusEnum.ACCEPTED,\n StatusEnum.REJECTED,\n ],\n }\n\n constructor(props: SynapseFormSubmissionGridProps) {\n super(props)\n this.state = {\n isLoading: true,\n isShowInfoModal: false,\n inProgress: {\n fileList: [],\n },\n submitted: {\n fileList: [],\n },\n }\n }\n\n componentDidMount() {\n this.refresh(this.props.token)\n }\n\n componentDidUpdate(prevProps: SynapseFormSubmissionGridProps) {\n const shouldUpdate = this.props.token !== prevProps.token\n if (shouldUpdate) {\n this.refresh(this.props.token)\n }\n }\n\n async refresh(token?: string) {\n if (token) {\n await this.getUserFileListing().catch(error => {\n this.onError(error)\n })\n }\n }\n\n getTypeFileListing = async (\n filter: StatusEnum[],\n nextPageToken?: string,\n ): Promise<{ fileList: FormData[]; nextPageToken?: string }> => {\n this.setState({\n isLoading: true,\n })\n const token = this.props.token\n const groupId = this.props.formGroupId\n try {\n const cleanUpName = (item: FormData): FormData => {\n item = { ...item, ...{ name: item.name.replace('.json', '') } }\n return item\n }\n const request: ListRequest = {\n filterByState: filter,\n groupId,\n nextPageToken: nextPageToken,\n }\n\n const response: ListResponse = await SynapseClient.listFormData(\n request,\n token,\n )\n const fileList = response.page\n ? response.page.map(item => cleanUpName(item))\n : []\n\n return {\n fileList,\n nextPageToken: response.nextPageToken,\n }\n } catch (error) {\n this.onError(error)\n return Promise.reject(error as Error)\n } finally {\n this.setState({\n isLoading: false,\n })\n }\n }\n\n getMore = async (fileListType: FileListType, nextPageToken: string) => {\n const statusList =\n fileListType === 'SUBMITTED'\n ? _SynapseFormSubmissionGrid.requestFilter.SUBMITTED\n : _SynapseFormSubmissionGrid.requestFilter.IN_PROGRESS\n const result = await this.getTypeFileListing(statusList, nextPageToken)\n if (fileListType === 'SUBMITTED') {\n this.setState(prevState => ({\n submitted: {\n fileList: [...prevState.submitted.fileList, ...result.fileList],\n nextPageToken: result.nextPageToken,\n },\n }))\n } else {\n this.setState(prevState => ({\n inProgress: {\n fileList: [...prevState.inProgress.fileList, ...result.fileList],\n nextPageToken: result.nextPageToken,\n },\n }))\n }\n }\n\n getUserFileListing = async (): Promise<void> => {\n const inProgress = await this.getTypeFileListing(\n _SynapseFormSubmissionGrid.requestFilter.IN_PROGRESS,\n this.state.inProgress.nextPageToken,\n )\n const submitted = await this.getTypeFileListing(\n _SynapseFormSubmissionGrid.requestFilter.SUBMITTED,\n this.state.submitted.nextPageToken,\n )\n\n this.setState({\n inProgress: inProgress,\n submitted: submitted,\n })\n\n return\n }\n onError = (args: any) => {\n console.log(args)\n }\n\n deleteFile = async (token: string, formDataId: string): Promise<any> => {\n this.setState({\n isLoading: true,\n modalContext: undefined,\n })\n try {\n await SynapseClient.deleteFormData(formDataId, token)\n //await this.getUserFileListing(token, this.props.formGroupId)\n this.setState((prevState, props) => ({\n inProgress: {\n fileList: prevState.inProgress.fileList.filter(\n item => item.formDataId !== formDataId,\n ),\n nextPageToken: prevState.inProgress.nextPageToken,\n },\n }))\n } catch (error) {\n this.onError(error)\n return []\n } finally {\n this.setState({\n isLoading: false,\n })\n }\n }\n\n setModalConfirmationState = (token: string, formDataId: string) => {\n this.setState({\n modalContext: {\n action: (...args) => {\n this.deleteFile(args[0], args[1])\n },\n arguments: [token, formDataId],\n },\n })\n }\n /* ------------------------------------------ rendering fns ------------------------------------------------*/\n\n renderLoading = (token: string | undefined, isLoading: boolean) => {\n if (token && isLoading) {\n return (\n <div className=\"text-center\">\n <span>Loading&hellip;</span>\n <span style={{ marginLeft: '2px' }} className={'spinner'} />\n </div>\n )\n } else {\n return <></>\n }\n }\n\n renderUnauthenticatedView = (token: string | undefined) => {\n if (token) {\n return <></>\n } else {\n return (\n <div className=\"file-grid\">\n <Typography variant=\"h3\">Your Submissions</Typography>\n <div className=\"panel padding-full unauthenticated text-center\">\n <p className=\"padding-full\">\n Please sign in or register to initiate or continue your submission\n </p>\n <WideButton\n className={`${SRC_SIGN_IN_CLASS}`}\n variant=\"contained\"\n color=\"primary\"\n size=\"large\"\n >\n Sign In\n </WideButton>\n </div>\n </div>\n )\n }\n }\n\n renderSubmissionsTable = (\n fileList: FormData[],\n pathpart: string,\n formGroupId: string,\n fileListType: FileListType,\n nextPageToken?: string,\n ) => {\n if (!formGroupId) {\n this.onError('Form Group ID is undefined')\n return <></>\n }\n const isInProgress = fileListType === 'IN_PROGRESS'\n const textSource = isInProgress\n ? this.listingText.inProgress\n : this.listingText.submitted\n\n const subhead = <h4>{textSource.subhead}</h4>\n const tableTitleRow = isInProgress ? (\n <tr>\n <th>Submission Name</th>\n <th>Edited On</th>\n <th></th>\n <th></th>\n </tr>\n ) : (\n <tr>\n <th>Submission Name</th>\n <th>Submitted On</th>\n <th>Status</th>\n <th></th>\n </tr>\n )\n\n let content = (\n <h5 className=\"text-center no-submissions padding-full\">\n {textSource.noRecords}\n </h5>\n )\n const viewMore = nextPageToken ? (\n <Box sx={{ textAlign: 'right', paddingTop: '5px' }}>\n <Button\n variant=\"text\"\n onClick={() => {\n this.getMore(fileListType, nextPageToken)\n }}\n >\n More...\n </Button>\n </Box>\n ) : (\n <></>\n )\n if (fileList.length > 0) {\n content = (\n <div className=\"file-table\" key={`table${fileListType}`}>\n <table className=\"table\">\n <thead>{tableTitleRow}</thead>\n <tbody>\n {fileList.map((dataFileRecord, key) => {\n if (isInProgress) {\n return (\n <tr\n key={`${dataFileRecord.formDataId}-${key}-${fileListType}`}\n >\n <td>\n <Link\n href={`${pathpart}?formGroupId=${formGroupId}&formDataId=${dataFileRecord.formDataId}&dataFileHandleId=${dataFileRecord.dataFileHandleId}`}\n >\n {dataFileRecord.name}\n </Link>\n </td>\n <td>{dayjs(dataFileRecord.modifiedOn).calendar()}</td>\n <td>&nbsp;</td>\n <td className=\"text-right\">\n <IconButton\n aria-label=\"delete\"\n color=\"primary\"\n onClick={() =>\n this.setModalConfirmationState(\n this.props.token!,\n dataFileRecord.formDataId,\n )\n }\n >\n <DeleteTwoToneIcon />\n </IconButton>\n </td>\n </tr>\n )\n } else {\n return (\n <tr key={`${dataFileRecord.formDataId}-${key}`}>\n <td>\n <Link\n href={`${pathpart}?formGroupId=${formGroupId}&formDataId=${dataFileRecord.formDataId}&dataFileHandleId=${dataFileRecord.dataFileHandleId}&submitted=1`}\n >\n {dataFileRecord.name}\n </Link>\n </td>\n <td>{dayjs(dataFileRecord.modifiedOn).calendar()}</td>\n <td>{dataFileRecord.submissionStatus.state}</td>\n <td className=\"text-right\">\n <IconButton\n color=\"primary\"\n aria-label=\"information\"\n onClick={() =>\n this.setState({ isShowInfoModal: true })\n }\n >\n <PhoneTwoToneIcon />\n </IconButton>\n </td>\n </tr>\n )\n }\n })}\n </tbody>\n </table>\n {viewMore}\n </div>\n )\n }\n return (\n <div key={`grid-${fileListType}`}>\n {subhead} {content}\n </div>\n )\n }\n\n renderSubmissionsTables = (\n inProgress: { fileList: FormData[]; nextPageToken?: string },\n submitted: { fileList: FormData[]; nextPageToken?: string },\n pathpart: string,\n formGroupId: string,\n ) => {\n if (inProgress.fileList.length === 0 && submitted.fileList.length === 0) {\n return (\n <div className=\"text-center\">\n <NoSubmissionsIcon title=\"no submissions\" />\n <p className=\"padding-full\">You have no submissions</p>\n </div>\n )\n } else {\n return [\n this.renderSubmissionsTable(\n inProgress.fileList,\n pathpart,\n formGroupId,\n 'IN_PROGRESS',\n inProgress.nextPageToken,\n ),\n\n this.renderSubmissionsTable(\n submitted.fileList,\n pathpart,\n formGroupId,\n 'SUBMITTED',\n submitted.nextPageToken,\n ),\n ]\n }\n }\n\n render() {\n return (\n <div className={`theme-${this.props.formClass}`}>\n <div className=\"SRC-ReactJsonForm\">\n {this.renderLoading(this.props.token, this.state.isLoading)}\n {this.renderUnauthenticatedView(this.props.token)}\n\n {this.props.token && !this.state.isLoading && (\n <div className=\"file-grid \">\n <Typography variant=\"h3\">Your Submissions</Typography>\n <div className=\"panel panel-default padding-full\">\n {this.renderSubmissionsTables(\n this.state.inProgress,\n this.state.submitted,\n this.props.pathpart,\n this.props.formGroupId,\n )}\n\n <Box\n sx={{\n textAlign: 'center',\n }}\n >\n <WideButton\n variant=\"contained\"\n color=\"primary\"\n sx={{\n padding: '0.75rem 1.5rem',\n }}\n href={`${this.props.pathpart}?formGroupId=${this.props.formGroupId}`}\n >\n Add new {this.props.itemNoun}\n </WideButton>\n </Box>\n </div>\n </div>\n )}\n {this.state.modalContext && (\n <WarningDialog\n className={`theme-${this.props.formClass}`}\n open={typeof this.state.modalContext !== 'undefined'}\n title={this.modalTitle}\n content={this.modalCopy}\n onConfirmCallbackArgs={this.state.modalContext.arguments}\n onCancel={() => this.setState({ modalContext: undefined })}\n onConfirm={(token: string, formDataId: string) =>\n this.deleteFile(token, formDataId)\n }\n />\n )}\n <ConfirmationDialog\n open={this.state.isShowInfoModal}\n title=\"More Information\"\n content={\n <>\n Please <Link href=\"mailto:ModelAD@iu.edu\">contact us</Link> for\n more information about your submission\n </>\n }\n className={`theme-${this.props.formClass}`}\n hasCloseButton={false}\n hasCancelButton={false}\n confirmButtonProps={{\n color: 'success',\n }}\n onCancel={() => this.setState({ isShowInfoModal: false })}\n onConfirm={() => this.setState({ isShowInfoModal: false })}\n />\n </div>\n </div>\n )\n }\n}\n\nexport function SynapseFormSubmissionGrid(\n props: SynapseFormSubmissionGridProps,\n) {\n const synapseContext = useSynapseContext()\n return (\n <_SynapseFormSubmissionGrid {...props} token={synapseContext.accessToken} />\n )\n}\n\nexport default SynapseFormSubmissionGrid\n"],"names":["dayjs","calendar","_SynapseFormSubmissionGrid","Component","jsxs","Fragment","jsx","StatusEnum","props","prevProps","token","error","filter","nextPageToken","groupId","cleanUpName","item","request","response","SynapseClient","fileListType","statusList","result","prevState","inProgress","submitted","args","formDataId","isLoading","Typography","WideButton","SRC_SIGN_IN_CLASS","fileList","pathpart","formGroupId","isInProgress","textSource","subhead","tableTitleRow","content","viewMore","Box","Button","dataFileRecord","key","Link","IconButton","DeleteTwoToneIcon","PhoneTwoToneIcon","NoSubmissionsIcon","WarningDialog","ConfirmationDialog","SynapseFormSubmissionGrid","synapseContext","useSynapseContext"],"mappings":"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"}
1
+ {"version":3,"file":"SynapseFormSubmissionGrid.js","sources":["../../../src/components/SynapseForm/SynapseFormSubmissionGrid.tsx"],"sourcesContent":["import { ReactComponent as NoSubmissionsIcon } from '@/assets/icons/json-form-tool-no-submissions.svg'\nimport WideButton from '@/components/styled/WideButton'\n\nimport SynapseClient from '@/synapse-client'\nimport { useSynapseContext } from '@/utils'\nimport { SRC_SIGN_IN_CLASS } from '@/utils/SynapseConstants'\nimport DeleteTwoToneIcon from '@mui/icons-material/DeleteTwoTone'\nimport PhoneTwoToneIcon from '@mui/icons-material/PhoneTwoTone'\nimport { Box, Button, IconButton, Link, Typography } from '@mui/material'\nimport {\n FormData,\n ListRequest,\n ListResponse,\n StatusEnum,\n} from '@sage-bionetworks/synapse-types'\nimport dayjs from 'dayjs'\nimport calendar from 'dayjs/plugin/calendar'\nimport { Component } from 'react'\nimport { ConfirmationDialog } from '../ConfirmationDialog/ConfirmationDialog'\nimport WarningDialog from './WarningDialog'\n\ndayjs.extend(calendar)\n/**\n * TODO: SWC-5612 - Replace token prop with SynapseContext.accessToken\n *\n * This wasn't done because Enzyme's shallow renderer is not currently\n * compatible with the `contextType` field in the React 16+ context API.\n *\n * This can be fixed by rewriting tests to not rely on the shallow renderer.\n *\n * See here: https://github.com/enzymejs/enzyme/issues/1553\n */\n\nexport type SynapseFormSubmissionGridProps = {\n token?: string\n isAuthenticated?: boolean\n formGroupId: string\n pathpart: string\n formClass?: string\n itemNoun: string\n}\n\ntype FileListType = 'IN_PROGRESS' | 'SUBMITTED'\n\ntype SynapseFormSubmissionGridState = {\n inProgress: {\n fileList: FormData[]\n nextPageToken?: string\n }\n submitted: {\n fileList: FormData[]\n nextPageToken?: string\n }\n isLoading: boolean\n isShowInfoModal: boolean\n modalContext?: { action: (...args: any[]) => void; arguments: any[] }\n}\n\nclass _SynapseFormSubmissionGrid extends Component<\n SynapseFormSubmissionGridProps,\n SynapseFormSubmissionGridState\n> {\n modalTitle = 'Trash Submission?'\n listingText = {\n inProgress: {\n subhead: 'In Progress',\n noRecords: `You don't have submissions in progress`,\n },\n submitted: {\n subhead: 'Submitted',\n noRecords: `You don't have anything submitted`,\n },\n }\n modalCopy = (\n <>\n <p>\n This submission is currently incomplete and has not been submitted. If\n you trash this submission, you won&apos;t be able to recover the data.\n </p>\n <p>Are you sure you want to trash this submission?</p>\n </>\n )\n static requestFilter = {\n IN_PROGRESS: [StatusEnum.WAITING_FOR_SUBMISSION],\n SUBMITTED: [\n StatusEnum.SUBMITTED_WAITING_FOR_REVIEW,\n StatusEnum.ACCEPTED,\n StatusEnum.REJECTED,\n ],\n }\n\n constructor(props: SynapseFormSubmissionGridProps) {\n super(props)\n this.state = {\n isLoading: true,\n isShowInfoModal: false,\n inProgress: {\n fileList: [],\n },\n submitted: {\n fileList: [],\n },\n }\n }\n\n componentDidMount() {\n this.refresh(this.props.isAuthenticated)\n }\n\n componentDidUpdate(prevProps: SynapseFormSubmissionGridProps) {\n const shouldUpdate = this.props.token !== prevProps.token\n if (shouldUpdate) {\n this.refresh(this.props.isAuthenticated)\n }\n }\n\n async refresh(isAuthenticated?: boolean) {\n if (isAuthenticated) {\n await this.getUserFileListing().catch(error => {\n this.onError(error)\n })\n }\n }\n\n getTypeFileListing = async (\n filter: StatusEnum[],\n nextPageToken?: string,\n ): Promise<{ fileList: FormData[]; nextPageToken?: string }> => {\n this.setState({\n isLoading: true,\n })\n const token = this.props.token\n const groupId = this.props.formGroupId\n try {\n const cleanUpName = (item: FormData): FormData => {\n item = { ...item, ...{ name: item.name.replace('.json', '') } }\n return item\n }\n const request: ListRequest = {\n filterByState: filter,\n groupId,\n nextPageToken: nextPageToken,\n }\n\n const response: ListResponse = await SynapseClient.listFormData(\n request,\n token,\n )\n const fileList = response.page\n ? response.page.map(item => cleanUpName(item))\n : []\n\n return {\n fileList,\n nextPageToken: response.nextPageToken,\n }\n } catch (error) {\n this.onError(error)\n return Promise.reject(error as Error)\n } finally {\n this.setState({\n isLoading: false,\n })\n }\n }\n\n getMore = async (fileListType: FileListType, nextPageToken: string) => {\n const statusList =\n fileListType === 'SUBMITTED'\n ? _SynapseFormSubmissionGrid.requestFilter.SUBMITTED\n : _SynapseFormSubmissionGrid.requestFilter.IN_PROGRESS\n const result = await this.getTypeFileListing(statusList, nextPageToken)\n if (fileListType === 'SUBMITTED') {\n this.setState(prevState => ({\n submitted: {\n fileList: [...prevState.submitted.fileList, ...result.fileList],\n nextPageToken: result.nextPageToken,\n },\n }))\n } else {\n this.setState(prevState => ({\n inProgress: {\n fileList: [...prevState.inProgress.fileList, ...result.fileList],\n nextPageToken: result.nextPageToken,\n },\n }))\n }\n }\n\n getUserFileListing = async (): Promise<void> => {\n const inProgress = await this.getTypeFileListing(\n _SynapseFormSubmissionGrid.requestFilter.IN_PROGRESS,\n this.state.inProgress.nextPageToken,\n )\n const submitted = await this.getTypeFileListing(\n _SynapseFormSubmissionGrid.requestFilter.SUBMITTED,\n this.state.submitted.nextPageToken,\n )\n\n this.setState({\n inProgress: inProgress,\n submitted: submitted,\n })\n\n return\n }\n onError = (args: any) => {\n console.log(args)\n }\n\n deleteFile = async (token: string, formDataId: string): Promise<any> => {\n this.setState({\n isLoading: true,\n modalContext: undefined,\n })\n try {\n await SynapseClient.deleteFormData(formDataId, token)\n //await this.getUserFileListing(token, this.props.formGroupId)\n this.setState((prevState, props) => ({\n inProgress: {\n fileList: prevState.inProgress.fileList.filter(\n item => item.formDataId !== formDataId,\n ),\n nextPageToken: prevState.inProgress.nextPageToken,\n },\n }))\n } catch (error) {\n this.onError(error)\n return []\n } finally {\n this.setState({\n isLoading: false,\n })\n }\n }\n\n setModalConfirmationState = (token: string, formDataId: string) => {\n this.setState({\n modalContext: {\n action: (...args) => {\n this.deleteFile(args[0], args[1])\n },\n arguments: [token, formDataId],\n },\n })\n }\n /* ------------------------------------------ rendering fns ------------------------------------------------*/\n\n renderLoading = (\n isAuthenticated: boolean | undefined,\n isLoading: boolean,\n ) => {\n if (isAuthenticated && isLoading) {\n return (\n <div className=\"text-center\">\n <span>Loading&hellip;</span>\n <span style={{ marginLeft: '2px' }} className={'spinner'} />\n </div>\n )\n } else {\n return <></>\n }\n }\n\n renderUnauthenticatedView = (isAuthenticated: boolean | undefined) => {\n if (isAuthenticated) {\n return <></>\n } else {\n return (\n <div className=\"file-grid\">\n <Typography variant=\"h3\">Your Submissions</Typography>\n <div className=\"panel padding-full unauthenticated text-center\">\n <p className=\"padding-full\">\n Please sign in or register to initiate or continue your submission\n </p>\n <WideButton\n className={`${SRC_SIGN_IN_CLASS}`}\n variant=\"contained\"\n color=\"primary\"\n size=\"large\"\n >\n Sign In\n </WideButton>\n </div>\n </div>\n )\n }\n }\n\n renderSubmissionsTable = (\n fileList: FormData[],\n pathpart: string,\n formGroupId: string,\n fileListType: FileListType,\n nextPageToken?: string,\n ) => {\n if (!formGroupId) {\n this.onError('Form Group ID is undefined')\n return <></>\n }\n const isInProgress = fileListType === 'IN_PROGRESS'\n const textSource = isInProgress\n ? this.listingText.inProgress\n : this.listingText.submitted\n\n const subhead = <h4>{textSource.subhead}</h4>\n const tableTitleRow = isInProgress ? (\n <tr>\n <th>Submission Name</th>\n <th>Edited On</th>\n <th></th>\n <th></th>\n </tr>\n ) : (\n <tr>\n <th>Submission Name</th>\n <th>Submitted On</th>\n <th>Status</th>\n <th></th>\n </tr>\n )\n\n let content = (\n <h5 className=\"text-center no-submissions padding-full\">\n {textSource.noRecords}\n </h5>\n )\n const viewMore = nextPageToken ? (\n <Box sx={{ textAlign: 'right', paddingTop: '5px' }}>\n <Button\n variant=\"text\"\n onClick={() => {\n this.getMore(fileListType, nextPageToken)\n }}\n >\n More...\n </Button>\n </Box>\n ) : (\n <></>\n )\n if (fileList.length > 0) {\n content = (\n <div className=\"file-table\" key={`table${fileListType}`}>\n <table className=\"table\">\n <thead>{tableTitleRow}</thead>\n <tbody>\n {fileList.map((dataFileRecord, key) => {\n if (isInProgress) {\n return (\n <tr\n key={`${dataFileRecord.formDataId}-${key}-${fileListType}`}\n >\n <td>\n <Link\n href={`${pathpart}?formGroupId=${formGroupId}&formDataId=${dataFileRecord.formDataId}&dataFileHandleId=${dataFileRecord.dataFileHandleId}`}\n >\n {dataFileRecord.name}\n </Link>\n </td>\n <td>{dayjs(dataFileRecord.modifiedOn).calendar()}</td>\n <td>&nbsp;</td>\n <td className=\"text-right\">\n <IconButton\n aria-label=\"delete\"\n color=\"primary\"\n onClick={() =>\n this.setModalConfirmationState(\n this.props.token!,\n dataFileRecord.formDataId,\n )\n }\n >\n <DeleteTwoToneIcon />\n </IconButton>\n </td>\n </tr>\n )\n } else {\n return (\n <tr key={`${dataFileRecord.formDataId}-${key}`}>\n <td>\n <Link\n href={`${pathpart}?formGroupId=${formGroupId}&formDataId=${dataFileRecord.formDataId}&dataFileHandleId=${dataFileRecord.dataFileHandleId}&submitted=1`}\n >\n {dataFileRecord.name}\n </Link>\n </td>\n <td>{dayjs(dataFileRecord.modifiedOn).calendar()}</td>\n <td>{dataFileRecord.submissionStatus.state}</td>\n <td className=\"text-right\">\n <IconButton\n color=\"primary\"\n aria-label=\"information\"\n onClick={() =>\n this.setState({ isShowInfoModal: true })\n }\n >\n <PhoneTwoToneIcon />\n </IconButton>\n </td>\n </tr>\n )\n }\n })}\n </tbody>\n </table>\n {viewMore}\n </div>\n )\n }\n return (\n <div key={`grid-${fileListType}`}>\n {subhead} {content}\n </div>\n )\n }\n\n renderSubmissionsTables = (\n inProgress: { fileList: FormData[]; nextPageToken?: string },\n submitted: { fileList: FormData[]; nextPageToken?: string },\n pathpart: string,\n formGroupId: string,\n ) => {\n if (inProgress.fileList.length === 0 && submitted.fileList.length === 0) {\n return (\n <div className=\"text-center\">\n <NoSubmissionsIcon title=\"no submissions\" />\n <p className=\"padding-full\">You have no submissions</p>\n </div>\n )\n } else {\n return [\n this.renderSubmissionsTable(\n inProgress.fileList,\n pathpart,\n formGroupId,\n 'IN_PROGRESS',\n inProgress.nextPageToken,\n ),\n\n this.renderSubmissionsTable(\n submitted.fileList,\n pathpart,\n formGroupId,\n 'SUBMITTED',\n submitted.nextPageToken,\n ),\n ]\n }\n }\n\n render() {\n return (\n <div className={`theme-${this.props.formClass}`}>\n <div className=\"SRC-ReactJsonForm\">\n {this.renderLoading(this.props.isAuthenticated, this.state.isLoading)}\n {this.renderUnauthenticatedView(this.props.isAuthenticated)}\n\n {this.props.isAuthenticated && !this.state.isLoading && (\n <div className=\"file-grid \">\n <Typography variant=\"h3\">Your Submissions</Typography>\n <div className=\"panel panel-default padding-full\">\n {this.renderSubmissionsTables(\n this.state.inProgress,\n this.state.submitted,\n this.props.pathpart,\n this.props.formGroupId,\n )}\n\n <Box\n sx={{\n textAlign: 'center',\n }}\n >\n <WideButton\n variant=\"contained\"\n color=\"primary\"\n sx={{\n padding: '0.75rem 1.5rem',\n }}\n href={`${this.props.pathpart}?formGroupId=${this.props.formGroupId}`}\n >\n Add new {this.props.itemNoun}\n </WideButton>\n </Box>\n </div>\n </div>\n )}\n {this.state.modalContext && (\n <WarningDialog\n className={`theme-${this.props.formClass}`}\n open={typeof this.state.modalContext !== 'undefined'}\n title={this.modalTitle}\n content={this.modalCopy}\n onConfirmCallbackArgs={this.state.modalContext.arguments}\n onCancel={() => this.setState({ modalContext: undefined })}\n onConfirm={(token: string, formDataId: string) =>\n this.deleteFile(token, formDataId)\n }\n />\n )}\n <ConfirmationDialog\n open={this.state.isShowInfoModal}\n title=\"More Information\"\n content={\n <>\n Please <Link href=\"mailto:ModelAD@iu.edu\">contact us</Link> for\n more information about your submission\n </>\n }\n className={`theme-${this.props.formClass}`}\n hasCloseButton={false}\n hasCancelButton={false}\n confirmButtonProps={{\n color: 'success',\n }}\n onCancel={() => this.setState({ isShowInfoModal: false })}\n onConfirm={() => this.setState({ isShowInfoModal: false })}\n />\n </div>\n </div>\n )\n }\n}\n\nexport function SynapseFormSubmissionGrid(\n props: SynapseFormSubmissionGridProps,\n) {\n const { accessToken, isAuthenticated } = useSynapseContext()\n return (\n <_SynapseFormSubmissionGrid\n {...props}\n token={accessToken}\n isAuthenticated={isAuthenticated}\n />\n )\n}\n\nexport default SynapseFormSubmissionGrid\n"],"names":["dayjs","calendar","_SynapseFormSubmissionGrid","Component","jsxs","Fragment","jsx","StatusEnum","props","prevProps","isAuthenticated","error","filter","nextPageToken","token","groupId","cleanUpName","item","request","response","SynapseClient","fileListType","statusList","result","prevState","inProgress","submitted","args","formDataId","isLoading","Typography","WideButton","SRC_SIGN_IN_CLASS","fileList","pathpart","formGroupId","isInProgress","textSource","subhead","tableTitleRow","content","viewMore","Box","Button","dataFileRecord","key","Link","IconButton","DeleteTwoToneIcon","PhoneTwoToneIcon","NoSubmissionsIcon","WarningDialog","ConfirmationDialog","SynapseFormSubmissionGrid","accessToken","useSynapseContext"],"mappings":"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"}
@@ -1,6 +1,11 @@
1
- import { Row, RowSet } from '@sage-bionetworks/synapse-types';
1
+ import { ColumnTypeEnum, Row, RowSet } from '@sage-bionetworks/synapse-types';
2
2
  import { ColumnDef } from '@tanstack/react-table';
3
3
  import { LabelLinkConfig } from '../CardContainerLogic';
4
+ /**
5
+ * Returns the minimum column width (in px) for a Synapse table column
6
+ * based on its type and name.
7
+ */
8
+ export declare function getColumnMinSize(columnName: string, columnType: ColumnTypeEnum): number;
4
9
  export type SynapseTableConfiguration = Pick<SynapseTableProps, 'showAccessColumn' | 'showExternalAccessIcon' | 'showAccessColumnHeader' | 'showDownloadColumn' | 'hideDownload' | 'showDirectDownloadColumn' | 'hideAddToDownloadListColumn' | 'columnLinks' | 'customColumns'>;
5
10
  export type SynapseTableProps = {
6
11
  /** The row data shown in the table. */
@@ -1 +1 @@
1
- {"version":3,"file":"SynapseTable.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseTable/SynapseTable.tsx"],"names":[],"mappings":"AAEA,OAAO,EAEL,GAAG,EACH,MAAM,EAEP,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAEL,SAAS,EAKV,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAyBvD,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,iBAAiB,EACf,kBAAkB,GAClB,wBAAwB,GACxB,wBAAwB,GACxB,oBAAoB,GACpB,cAAc,GACd,0BAA0B,GAC1B,6BAA6B,GAC7B,aAAa,GACb,eAAe,CAClB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,gBAAgB,EAAE,OAAO,CAAA;IACzB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAA;IACrC,2JAA2J;IAC3J,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;;;;OAOG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,+CAA+C;IAC/C,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,kDAAkD;IAClD,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,2JAA2J;IAC3J,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,8DAA8D;IAC9D,2BAA2B,CAAC,EAAE,OAAO,CAAA;IACrC,yFAAyF;IACzF,WAAW,CAAC,EAAE,eAAe,CAAA;CAC9B,CAAA;AAID,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CAsMpD"}
1
+ {"version":3,"file":"SynapseTable.d.ts","sourceRoot":"","sources":["../../../src/components/SynapseTable/SynapseTable.tsx"],"names":[],"mappings":"AAEA,OAAO,EACL,cAAc,EACd,GAAG,EACH,MAAM,EAEP,MAAM,iCAAiC,CAAA;AACxC,OAAO,EAEL,SAAS,EAKV,MAAM,uBAAuB,CAAA;AAG9B,OAAO,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAyBvD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,cAAc,GACzB,MAAM,CAuBR;AAED,MAAM,MAAM,yBAAyB,GAAG,IAAI,CAC1C,iBAAiB,EACf,kBAAkB,GAClB,wBAAwB,GACxB,wBAAwB,GACxB,oBAAoB,GACpB,cAAc,GACd,0BAA0B,GAC1B,6BAA6B,GAC7B,aAAa,GACb,eAAe,CAClB,CAAA;AAED,MAAM,MAAM,iBAAiB,GAAG;IAC9B,uCAAuC;IACvC,MAAM,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,gBAAgB,EAAE,OAAO,CAAA;IACzB,4CAA4C;IAC5C,aAAa,CAAC,EAAE,SAAS,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,CAAA;IACrC,2JAA2J;IAC3J,gBAAgB,CAAC,EAAE,OAAO,CAAA;IAC1B;;;;;;;OAOG;IACH,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,sBAAsB,CAAC,EAAE,OAAO,CAAA;IAChC,+CAA+C;IAC/C,kBAAkB,CAAC,EAAE,OAAO,CAAA;IAC5B,kDAAkD;IAClD,YAAY,CAAC,EAAE,OAAO,CAAA;IACtB,2JAA2J;IAC3J,wBAAwB,CAAC,EAAE,OAAO,CAAA;IAClC,8DAA8D;IAC9D,2BAA2B,CAAC,EAAE,OAAO,CAAA;IACrC,yFAAyF;IACzF,WAAW,CAAC,EAAE,eAAe,CAAA;CAC9B,CAAA;AAID,wBAAgB,YAAY,CAAC,KAAK,EAAE,iBAAiB,2CA2MpD"}